2017-06-12 63 views
1

我正在使用ELK堆棧來聚合我的日誌。現在我想顯示指標並創建警報,就像當前CPU使用率,處理請求數量,數據庫查詢數量等使用ELK Stack可視化Telegraf或StatsD的指標

我可以使用Telegraf或StatsD收集指標,但是如何將它們插入到Logstash中?這兩個都沒有Logstash輸入。

這種方法是否有意義,還是應該在不同系統中彙總時間序列數據?我想把所有的東西放在一個罩子下。

回答

3

我可以給你如何與Telegraf做到這一點一些見解:

選項1: Telegraf output TCP到Logstash。這就是我親自做的,因爲我喜歡讓我的所有數據都通過Logstash進行標記和突變。

Telegraf輸出配置:

[[outputs.socket_writer]] 
    ## URL to connect to 
    address = "tcp://$LOGSTASH_IP:8094" 

Logstash輸入配置:

tcp { 
    port => 8094 
} 

選項2: Telegraf directly to Elasticsearch。這個文檔很好,應該告訴你該怎麼做!

從意識形態的角度來看,將度量標準插入ELK堆棧可能會也可能不是正確的做法 - 這取決於您的使用案例。我轉而使用Telegraf/InfluxDB,因爲我有很多指標,而且我的客戶更喜歡時間序列數據的Influx查詢語法和一些其他Influx功能,例如彙總。

但是,通過讓所有數據「一攬子」降低複雜性,還有一點值得一提。彈性也正在推動更適合時間序列數據與Timelion和Elasticon在Elasticsearch存儲時間序列數據有幾個談判。 Here's one。我會說,將你的指標存儲在ELK中是一件完全合理的事情。 :)

讓我知道這是否有幫助。