Jos*_*sto 9 syslog systemd docker journald
我想将日志日志记录到一个文件中,以便稍后可以获取它并将其发送到 Logstash。我考虑过运行 syslog-ng 并使其成为 Journald 的客户端,这样我就可以获得 syslog 文件。我在 CoreOS 机器上使用 Docker 容器,因此我尝试将 syslog-ng 作为 CoreOS docker 主机中的容器运行,创建一个执行该容器的 systemd 单元。我按照此页面在 systemd 中获取 syslog,但是如果我尝试使 syslog-ng 容器直接从主机中的 syslog 套接字读取(通过使用 docker 卷安装它),它会抱怨“地址已在使用中”。所以我有日志记录,一个运行 syslog-ng 的容器,但我不知道如何在 syslog-ng 内获取日志日志。
我在文件中获取日志日志的替代解决方案是运行一个执行 的 systemd 单元journalctl -f --json | tee -a /var/log/systemd,但我不确定该解决方案的可靠性。这是一个足够好的解决方案吗?
小智 12
我确实意识到这个问题有点过时了,但它是谷歌上最早的搜索结果之一。该选项和 --json 选项似乎对我不起作用,并且没有显示在手册页中。
我查看了journalctl的手册页,有一个名为:--no-tail的选项,它将直接将日期输出到std,在那里它可以通过管道传输到另一个应用程序或文件中。
就我而言,我想要今天的 ssh 日志,因此执行以下命令
journalctl -u sshd -S today --no-tail > main.log:
技术说明:获取今天起本机的所有日志sshd;然后>将其输出到文件中。
就您而言,我相信这就是您想要的:journalctl --no-tail > test.log。
这是在 Arch Linux 中测试的。
| 归档时间: |
|
| 查看次数: |
23171 次 |
| 最近记录: |