在 CoreOS 中转发到远程系统日志

在 CoreOS 中转发到远程系统日志

我想将 CoreOS 日志聚合到 Papertrail 服务,该服务基本上为聚合日志记录提供了一个 syslog 端点。

常见建议这个设置似乎正在启动一个执行如下操作的服务:

journalctl -f | ncat --ssl <host>.papertrailapp.com <port>

但它并不理想,因为它不能很好地处理重启和远程端点停机,因为它没有类似rsyslogd池的东西,所以我会得到重复的日志和/或删除日志。

鉴于 CoreOS 没有包管理,是否有常规方法可以轻松解决这个问题?

答案1

尝试创建这样的服务,启用它并启动

[Unit]
Description=Papertrail
After=systemd-journald.service
Requires=systemd-journald.service

[Service]
ExecStart=/bin/sh -c "journalctl -f | ncat --ssl logsN.papertrailapp.com XXXXX"
TimeoutStartSec=0
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

相关内容