因此,我尝试使用 rsyslog 在端口 514 上接受 udp 流量,应用 json 模板,然后通过 udp 将其发送到端口 10514(这样我的 logstash 安装就可以接收它)。我正在运行 Ubuntu 19.04,这是我的 rsyslog.conf 文件(没有默认注释):
module(load="imuxsock") # provides support for local system logging
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
module(load="imklog" permitnonkernelfacility="on")
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$RepeatedMsgReduction on
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog
$WorkDirectory /var/spool/rsyslog
$IncludeConfig /etc/rsyslog.d/*.conf
############
# APPENDED #
############
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")
}
*.* action(type="omfwd" target="localhost" port="10514" protocol="udp" template="json-template")
我没有弄乱 /etc/rsyslog.d/20-ufw.conf 中的默认规则文件,并且我已经确认流量确实从 514 进入,尽管端口 10514 上没有任何内容通过。有什么建议吗?