是否可以在 rsyslog 消息中嵌入 bash 变量?

是否可以在 rsyslog 消息中嵌入 bash 变量?

我们使用 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% 属性。

相关内容