我是新手,但我已经花了相当多的时间试图做到这一点并没有成功。我通过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)
答案 0 :(得分:0)
很可能您错过了发件人的路线。如果是这种情况,会发生什么:
答案 1 :(得分:0)