我设置了一个 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
& ~