![rsyslog:如何将所有远程机器的消息发送到一个文件?](https://linux22.com/image/582689/rsyslog%EF%BC%9A%E5%A6%82%E4%BD%95%E5%B0%86%E6%89%80%E6%9C%89%E8%BF%9C%E7%A8%8B%E6%9C%BA%E5%99%A8%E7%9A%84%E6%B6%88%E6%81%AF%E5%8F%91%E9%80%81%E5%88%B0%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我们有一个系统日志服务器,所有服务器都将其记录到该服务器中。
我们希望针对所有尚未配置规则的远程消息制定一种“包罗万象”的滴灌规则。
有人知道如何做到这一点吗?
答案1
这就是我如何配置它rsyslog.conf
:
# Log remote hosts to separate log file
$template PerHostLog,"/var/log/remote-hosts/%HOSTNAME%.log"
$template RemoteHostFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogfacility-text% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::space-cc,drop-last-lf%\n"
:inputname, isequal, "imudp" ?PerHostLog;RemoteHostFileFormat
& ~
这将捕获通过 UDP ( imudp
) 接收的所有日志消息并将其放入一个文件中,该文件的文件名与日志消息来源的主机名相对应。
答案2
我找到了非常好的“如何做”来帮助你有一个良好的开端......