docker中的rsyslog:将接收到的sylog(UDP)路由到远程syslog服务器,将本地日志路由到stdout,以收集Docker日志API?

时间:2019-10-18 13:45:18

标签: rsyslog

是否可以将rsyslog输入路由到特定输出(标记,规则)?

我正在尝试在Docker中构建系统日志转发器设备,该设备会将UDP 514上收到的系统日志数据包转发到远程系统日志目标。我还想监视rsyslog容器,并希望仅将容器syslog发送到stdout,以便可以通过“ docker logs” API进行收集/查看。

我既不希望将本地syslog转发到远程服务器,也不希望将接收到的UDP syslog写入stdout。

我引用了https://github.com/jabenninghoff/rsyslog-forwarder,这是仅使用supervisor和rsyslogd进行的最低配置。

rsyslog.conf:

# local system logging, commented out for now as want to write to stdout, not remote syslog server
#module(load="imuxsock")
#input(type="imuxsock" Socket="/var/run/rsyslog/dev/log" CreatePath="on")

# run UDP syslog on syslog port 514
module(load="imudp")
input(type="imudp" port="514")

# configure outputs

#forward to remote syslog server
*.*  action(type="omfwd" target="my-remote-server.com" port="514" protocol="udp")

# default is to send all output to stdout, but want only localfiles - not sure how to do this
#$ModLoad omstdout.so
#*.* :omstdout:

我可以将所有输入路由到stdout,或者将所有输入路由到远程syslog服务器,但是我不能将每个输入路由到特定的输出。

我已经参考了数据并花了很多时间进行谷歌搜索,但是我不知道如何使用配置规则(模板/标签)将rsyslog输入与输出绑定。

0 个答案:

没有答案
相关问题