1. 程式人生 > >使用容器和Elasticsearch集群對Twitter進行監控

使用容器和Elasticsearch集群對Twitter進行監控

docker rancher 集群 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進行監控