使用容器和Elasticsearch集群對Twitter進行監控
介紹
Elasticsearch是ELK(Elasticsearch/Logstash/Kibana)的基石。在這篇文章中,我們將使用Rancher Catalog來部署stack,並將它用於追蹤Twitter上的tag和brand。
追蹤Twitter上的hashtag對於衡量基於Twitter的營銷活動的影響力是非常有用的。你可以從中提取出諸如您的推文被轉發的次數,你的營銷活動為你帶來了多少位新的關註者等有效信息。
安裝ELK stack
Elasticsearch
若你已經有了一個正在工作中的Elasticsearch集群,現在只需要調整一些集群中的配置即可。我們將使用JSON創建一個索引模板,來調整相關配置。
在GitHub上獲取JSON模板
在你的瀏覽器中輸入http://[你的kopf在rancher主機上的路徑]
在kopf中,點擊“more”,然後在下拉菜單中選擇“index templates”
現在我們給我們的索引模板起個名字,並且推動其配置。
使用twitter_elk_example作為模板名稱
粘貼你之前下載的JSON文件中的內容
點擊“save”按鈕
Elasticsearch集群的配置就到這裏。現在讓我們接著往下走。
Logstash
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 }
註意:在關鍵字數組中,[email protected]#”符號,否則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
Kibana能幫助你根據Elasticsearch集群中的數據創建一個強大的dashboard。要部署Kibana,你只需要做兩件事情:選擇正確的Rancher Catalog版本,然後將它連接到elasticsearch-clients容器中。
這樣,一個配置正確的Kibana已經準備好被使用了!後續我們還將會對它進行一些配置。
現在,整個ELK棧就部署好了。雖然Elasticsearch和Logstash已經部署好了,我們還是需要對Kibana進行一些操作。
在這個例子中,我們只需要在Kibana中導入一個JSON儀表盤即可。
點擊這裏獲取JSON文件
進入Settings –> Object,然後點擊“import”,接下來選擇剛剛下載好的文件。你應該會看到類似於下圖的界面。
剩下的就是在Kibana中創建一個適當的索引設置了。
前往“Indices”頁面,然後點擊“New”按鈕。你應該能看到被創建好的索[email protected](時間戳)。
到目前位置,你已經有了一個幫助你監控Twitter上的hashtag和brand的Kibana dashboard。要加載被導入的dashboard,你只需要在這裏點擊它的名字即可。
幾分鐘後,重新查看dashboard,你會看到類似下圖的界面:
至此,你就能成功監測Twitter上的tag和brand的情況啦!
本文出自 “12452495” 博客,請務必保留此出處http://12462495.blog.51cto.com/12452495/1924347
使用容器和Elasticsearch集群對Twitter進行監控