Redis+Logstash+Elasticsearch+Kibana多Redis日誌資料流

來源:互聯網
上載者:User

標籤:

本文描述了一個簡單的case,講解怎麼在logstash進行配置,將多個日誌資料流,通過redis緩衝接收,再匯出到elasticsearch多個索引,即一類日誌資料對應一類索引。

假設有兩組日誌資料由日誌端寫入redis緩衝,兩組日誌標記其類型為redis-data-A和redis-data-B,則編寫logstash設定檔如下

input { 

redis { 

host => "127.0.0.1"

type => "redis-data-A"

data_type => "list"

key => "listA"

redis { 

host => "127.0.0.1"

type => "redis-data-B"

data_type => "list"

key => "listB"

}


output {

if [type] == "redis-data-A"{

elasticsearch { 

host => localhost 

index => "logstash_event_a-%{+YYYY.MM.dd}"

}

stdout { codec => rubydebug }

}

if [type] == "redis-data-B"{

elasticsearch { 

host => localhost 

index => "logstash_event_b-%{+YYYY.MM.dd}"

}

stdout { codec => rubydebug }

}

}


以上logstash的設定檔中,重點是:

1、在input處,設定兩組redis輸入資料,通過type指定兩組資料的類型

2、在output處,通過if [type] == "",設定條件輸出。當滿足type == redis-data-A,將資料匯出到elasticsearch,索引格式為"logstash_event_a-%{+YYYY.MM.dd}"。如果type == redis-data-B,則匯出索引格式為"logstash_event_b-%{+YYYY.MM.dd}"。注意,索引格式不能有大寫字元,否則elasticsearch會報錯。


測試,使用redis-cli命令串連redis服務,嘗試在兩個隊列listA和listB寫入資料。listA只輸入英文字元,listB只輸入數字。這裡只是為了示範,實際開發中使用Java或者Python串連redis-server,然後寫入JSON格式的字串即可。Logstash會拆解JSON字串,將資料正確地寫入elasticsearch索引。非常方便。


開啟 kibana,進入其首頁,點擊紅框所示的標準介面


點擊最右上方的齒輪按鈕,配置dashborad讀取redis-data-A日誌資料的索引,即以logstash_event_a-開頭的索引資料(同樣的方法可以設定logstash_event_b-開頭的):


點擊儲存後,dashboard頁面重新整理,可以看到顯示的message內容,還有type裡記錄的redis-data-A,表示我們成功擷取到了此類日誌的資料,全是英文字元,且type為redis-data-A。


為了避免關閉瀏覽器後,下次重複以上配置,點擊介面右上方的儲存按鈕,將這個配置儲存下來。以後,只要點擊開啟表徵圖,就可以找到這個配置了。


使用同樣的方法查看日誌資料redis-data-B,全是數字,且type為redis-data-B:


注意事項:如果出現kibana無法顯示資料。請做如下配置調整:

1、在logstash的目錄logstash-1.4.2/vendor/kibana中,編輯config.js檔案,設定elasticsearch: "http://192.168.1.100:9200",這是我實驗用的伺服器位址

2、在elasticsearch的config目錄,設定elasticsearch.yml,在最後面增加http.cors.enabled: true和http.cors.allow-origin: "*"

Redis+Logstash+Elasticsearch+Kibana多Redis日誌資料流

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.