根据源将 rsyslog 消息拆分为文件(heroku drip)

根据源将 rsyslog 消息拆分为文件(heroku drip)

我设置了一个 heroku 日志排水管,它将消息发送到我的日志实例上的端口 514。但是,日志服务器发送消息 /var/log/syslog,我希望它将它们发送到 /var/log/appname.log 或其他地方,以便将它们隔离。

我该怎么做?我读了一些关于基于主机名进行拆分的内容,但我不确定如何确定 heroku 将发送哪个主机名。

答案1

Heroku 将“Drain id”绑定到您设置的每个日志排水管,并将其作为主机名发送。它会保持不变,直到您移除排水管。

您可以使用以下方式获取排水 ID:

heroku drains
> syslog://your-url (drain-id)

然后只需配置即可/etc/rsyslog.conf。这个主机名过滤器对我有用

if $hostname isequal 'drain-id' then /var/log/app-name.log
& ~

相关内容