Elasticsearch是ELK(Elasticsearch/Logstash/Kibana)的基石。在這篇文章中,咱們將使用Rancher Catalog來部署stack,並將它用於追蹤Twitter上的tag和brand。git
追蹤Twitter上的hashtag對於衡量基於Twitter的營銷活動的影響力是很是有用的。你能夠從中提取出諸如您的推文被轉發的次數,你的營銷活動爲你帶來了多少位新的關注者等有效信息。github
若你已經有了一個正在工做中的Elasticsearch集羣,如今只須要調整一些集羣中的配置便可。咱們將使用JSON建立一個索引模板,來調整相關配置。docker
在GitHub上獲取JSON模板json
在你的瀏覽器中輸入http://[你的kopf在rancher主機上的路徑]數組
在kopf中,點擊「more」,而後在下拉菜單中選擇「index templates」瀏覽器
如今咱們給咱們的索引模板起個名字,而且推進其配置。elasticsearch
使用twitter_elk_example做爲模板名稱spa
粘貼你以前下載的JSON文件中的內容日誌
點擊「save」按鈕code
Elasticsearch集羣的配置就到這裏。如今讓咱們接着往下走。
Logstash讓你可以分析所得到的數據而且將數據傳輸至你的Elasticsearch集羣中。它原生支持不少數據源(如Twitter APIs、collectd、Apache日誌等)。
在處理你的數據時,Logstash能夠幫助你解壓或格式化你數據中的正確部分。這樣,你就沒必要推送一些沒必要要的或者(更糟的)錯誤數據,這些髒數據會使你的Kibana dashboard與實際狀況不相符。
在咱們開始以前,須要建立Twitter應用密鑰
須要特別關注如下內容:
Consumer Key
Consumer Secret
Access Token
Access Token Secret
注意:確保你全部的Rancher主機的時鐘均已同步,不然你將沒法正確地使用Twitter證書。
如今跳轉到目錄頁並選擇Logstash(最好是最新的版本)。你須要在「Logstash inputs*」輸入框中加入如下內容(用你本身的APIs認證密鑰替換CAP文本):
twitter { consumer_key => "INSERT YOUR CONSUMER KEY" consumer_secret => "INSERT YOUR CONSUMER SECRET" oauth_token => "INSERT YOUR ACCESS TOKEN" oauth_token_secret => "INSERT YOUR ACCESS TOKEN SECRET" keywords => [ "docker", "rancher_labs", "rancher", "kubernetes" ] full_tweet => true }
注意:在關鍵字數組中,不要使用「@」或者「#」符號,不然Logstash將運行失敗並報「unauthorized message」錯誤。
在「Logstash output*」這個輸入框中,你須要加入如下內容
output { elasticsearch { host => "elasticsearch:9200" protocol => "http" cluster_name => "NAME OF YOUR ELASTICSEARCH CLUSTER" index => "twitter_elk_example" document_type => "tweets" }
最後,選擇「elasticsearch-clients as the Elasticsearch stack/service」,點擊「launch」按鈕便可!
接下來的事情Rancher將會幫你作完,包括部署一個徹底配置好的Logstash。若是一切順利,在幾分鐘以內,你應該能看到數據已經被加入到了你的Elasticsearch主頁中。你能夠在http://[你的ElasticSearch主機地址]/#kopt 中查看。
Kibana能幫助你根據Elasticsearch集羣中的數據建立一個強大的dashboard。要部署Kibana,你只須要作兩件事情:選擇正確的Rancher Catalog版本,而後將它鏈接到elasticsearch-clients容器中。
這樣,一個配置正確的Kibana已經準備好被使用了!後續咱們還將會對它進行一些配置。
如今,整個ELK棧就部署好了。雖然Elasticsearch和Logstash已經部署好了,咱們仍是須要對Kibana進行一些操做。
在這個例子中,咱們只須要在Kibana中導入一個JSON儀表盤便可。
點擊這裏獲取JSON文件
進入Settings –> Object,而後點擊「import」,接下來選擇剛剛下載好的文件。你應該會看到相似於下圖的界面。
剩下的就是在Kibana中建立一個適當的索引設置了。
前往「Indices」頁面,而後點擊「New」按鈕。你應該能看到被建立好的索引和被選擇了的@timestamp(時間戳)。
到目前位置,你已經有了一個幫助你監控Twitter上的hashtag和brand的Kibana dashboard。要加載被導入的dashboard,你只須要在這裏點擊它的名字便可。
幾分鐘後,從新查看dashboard,你會看到相似下圖的界面:
至此,你就能成功監測Twitter上的tag和brand的狀況啦!