我已经按照这个Digital Ocean tutorial通过rsyslog将日志发送到logstash .

但我没有在logstash中获取日志 . 我将日志发送到集中式rsyslog-server,然后进行logstash . 此rsyslog-server和logstash位于同一台计算机上 .

这是rsyslog-client上的/etc/rsyslog.d/50-default.conf文件: -

*.*                         @xx.xx.xx.xx:514

我在顶部添加了这一行,其余部分是相同的

这是rsyslog-server上的/etc/rsyslog.conf文件,

# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")

# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")

我启用了这些模块,其余与默认相同 . 下面是文件/etc/rsyslog.d/01-json-template.conf

template(name="json-template" type="list") {
constant(value="{")
  constant(value="\"@timestamp\":\"")     property(name="timereported" dateFormat="rfc3339")
  constant(value="\",\"@version\":\"1")
  constant(value="\",\"message\":\"")     property(name="msg" format="json")
  constant(value="\",\"sysloghost\":\"")  property(name="hostname")
  constant(value="\",\"severity\":\"")    property(name="syslogseverity-text")
  constant(value="\",\"facility\":\"")    property(name="syslogfacility-text")
  constant(value="\",\"programname\":\"") property(name="programname")
  constant(value="\",\"procid\":\"")      property(name="procid")
constant(value="\"}\n")
}

最后一个是我的输出文件配置,它将数据发送到logstash,它也在rsyslog-server机器上,

*.*                         @127.0.0.1:5044;json-template

以下是我的logstash配置,

input {
udp {
    host => "127.0.0.1"
    port => "5044"
    codec => "json"
    type => "rsyslog"
}
}

output {
  elasticsearch {
    hosts => [ "localhost:9200" ]
    user => xxxxxxxx
    password => xxxxxxx
    index => "%{type}_index"
}
}

尽管如此,在所有这些配置中,我都没有在elasticsearch中看到我的rsyslog_index . 所有端口都已启动并运行,也没有防火墙问题 .

问题是什么,在哪里?