簡體   English   中英

Logstash udp輸入不起作用

[英]Logstash udp input not working

我對Logstash相當陌生,但是我花了很多時間試圖使此正確,但沒有成功。 我正在通過udp從不同服務器上的多個應用程序發送日志,以進行記錄。 這是logstash配置:

input{
  udp{
    port => 5960
    type => "log4net"
  }
}
filter {
  grok {
    match => ["message", "(?m)%{TIMESTAMP_ISO8601:sourceTimestamp}\s*%{WORD:System}\s*%{LOGLEVEL:logLevel}\s*-\s*%{WORD:logger}\s*-\s*%{NOTSPACE:source}\s*%{NOTSPACE:action}\s*%{UUID:transactionId}\s*%{GREEDYDATA:message}"]
  }
}
output {
  elasticsearch {
    protocol => "http"
    host => "[mylocalip]"
    port => "9200"
   }
  stdout { codec => rubydebug }
}

不幸的是,沒有消息記錄。 我檢查並確保啟動Logstash時端口可用。 我還正確配置了防火牆,以允許通過此端口的udp消息。 當我tcpdump時,我可以看到udp消息到達。 另外,我嘗試了另一種輸入方法(來自nginx的日志),並且工作正常。 我究竟做錯了什么?
ElasticSearch 1.4版
Logstash版本-1.5(最初在1.4中也嘗試過)
操作系統-CentOs 6.5
Java-OpenJDK運行時環境(rhel-2.5.5.1.el6_6-x86_64 u79-b14)

您很可能會錯過去往發件人的路線。 如果是這種情況,將發生以下情況:

  1. 您收到發送到logstash IP /端口的數據包。
  2. 您可以在tcpdump中看到它,因為它是網絡層。
  3. 然后內核嘗試到達發送者(甚至對於UDP)。
  4. 如果沒有路由,它將失敗,因此會丟棄UDP數據包,而您在應用程序級別看不到它。
  1. 檢查logstash日志以查看打開端口的主機。 默認值為0.0.0.0。 不會達到。 在udp定義中添加“主機”參數。
  2. 使用端口檢查工具(如Windows上的qryport )檢查端口是否被實際偵聽。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM