2013-05-01 244 views
3

我有一些我想用logstash整理的日誌。它將作爲源服務器上的託運人登錄到中央日誌記錄服務器的logstash代理。我想從發貨人使用UDP到中央日誌,所以如果記錄器失敗(我不希望70奇怪的生產服務器受到任何影響),我可以完全隔離。我可以看到使用udp傳輸的唯一方法是使用syslog格式輸出。有誰知道我可以從logstash本地輸出UDP的方式嗎? (文檔暗示,但我必須丟失TCP端的東西?)從Logstash輸出UDP

回答

0

可以輸出UDP本地使用UDP輸出插件

通過設置編解碼器字段,你可以選擇你喜歡的任何輸出格式(例如JSON)

+0

這可能看起來很明顯,但是確保你在託運人和服務器端都設置了相同的編解碼器 - 在我想出來之前,花了一段時間才弄清楚事件沒有發生。 – 2014-08-29 00:41:23

1

我的理解是,典型的方法是使用一些更輕量級(rsyslog,甚至Lumberjack)運行在遠程機器上,即將數據發送到您的中央logstash服務器。

聽起來你希望logstash代理(轉發器)在每臺服務器上運行並將數據發送給代理。這個博客post(以下面的鏈接爲例)給出了一個很好的解釋,說明他們爲什麼選擇不在遠程服務器上使用logstash轉發器 - 它們吃的太多了RAM

我使用rsyslog發送UDP數據到logstash直。我還使用了rsyslog作爲接收日誌服務器的設置,並將日誌聚合到單獨的日誌文件(基於服務器主機名),然後從這些文件中讀取logstash。

對於一些示例CONFIGS看到以下內容:

我建議rsyslog現在的做法,因爲這rsyslog現在是已經在你的服務器上運行的機率比伐木工人高。另外rsyslog上的文檔比伐木人還多。如果你覺得有必要,從簡單開始,稍後增加更多複雜性。