我想将rsyslog消息发送到我的ELK堆栈,但它不起作用 rsyslog conf
*.* @@127.0.0.1:10514
local6.* /tmp/grenard.log
&~
logstash conf
input {
syslog {
port => 10514
type => "syslog"
}
stdin {}
}
output {
stdout { codec => rubydebug }
}
logstash真的在10514上侦听(telnet localhost 10514 )(使用localhost telent 10514进行测试,我可以在我的stdout中看到它
root @ VM-GUILLAUME /etc/logstash/conf.d#/ opt / logstash / bin / logstash -f /etc/logstash/conf.d设置:默认过滤器工作人员:4 Logstash startup completed { "消息" => "的Bonjour \ r \ n&#34 ;, " @版本" => " 1&#34 ;, " @时间戳" => " 2016-03-01T10:55:41.488Z&#34 ;, "类型" => "系统日志&#34 ;, "主机" => " 0:0:0:0:0:0:0:1&#34 ;, "标记" => [ [0]" _grokparsefailure_sysloginput"
此外,日志文件已完成,因此我知道我的rsyslog conf正常
logger -t apache -i -p local6.info $(date)
日志文件
3月1日12:06:04 localhost apache [13700]:mar。火星1 12:06:04 CET 2016
答案 0 :(得分:0)
问题是由于tcp(@@)造成的。使用udp(@)问题解决了。这是我的rsyslod.d / grenard.conf
*.* @127.0.0.1:10514
local6.* /tmp/grenard.log
&~