我正在使用ELK堆棧來聚合我的日誌。現在我想顯示指標並創建警報,就像當前CPU使用率,處理請求數量,數據庫查詢數量等使用ELK Stack可視化Telegraf或StatsD的指標
我可以使用Telegraf或StatsD收集指標,但是如何將它們插入到Logstash中?這兩個都沒有Logstash輸入。
這種方法是否有意義,還是應該在不同系統中彙總時間序列數據?我想把所有的東西放在一個罩子下。
我正在使用ELK堆棧來聚合我的日誌。現在我想顯示指標並創建警報,就像當前CPU使用率,處理請求數量,數據庫查詢數量等使用ELK Stack可視化Telegraf或StatsD的指標
我可以使用Telegraf或StatsD收集指標,但是如何將它們插入到Logstash中?這兩個都沒有Logstash輸入。
這種方法是否有意義,還是應該在不同系統中彙總時間序列數據?我想把所有的東西放在一個罩子下。
我可以給你如何與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中是一件完全合理的事情。 :)
讓我知道這是否有幫助。