我们使用 rsyslog 设置了一个中央日志服务器。我只是想知道是否可以将 IP 地址与来自客户端的系统日志消息一起发送。我正在使用模板发送消息并尝试使用%fromhost-ip%
.正如预期的那样,它显示127.0.0.1
在远程服务器上。所以我想知道是否有任何方法可以在 rsyslog.conf 中嵌入 bash 变量。我看到的唯一的其他选择是对 ip 进行硬编码,这看起来不太好。
我目前正在使用以下模板。
$template linux_err,"<%PRI%>%TIMESTAMP% %source% %syslogtag% %smg%"
%fromhost-ip%
猜测在接收服务器上使用是唯一的选择。
答案1
文档中明确写道,如果您从本地系统接收消息,那么您将获得 127.0.0.1 作为 ip。
这里,http://www.rsyslog.com/doc/master/configuration/properties.html
尝试从其他系统发送它。这个对我有用。
否则,如果 IP 对您来说并不重要,而您只想区分主机,请使用 %hostname% 属性。