有没有办法在 Linux 中以编程方式嗅探\检查系统日志消息流?

Is there a way to programmatically sniff\inspect system log message flow in Linux?

提问人:Barvinok 提问时间:6/28/2023 更新时间:6/28/2023 访问量:37

问:

我正在编写一个程序,该程序会在系统日志消息出现时对其进行检查并执行某些操作。它目前仅通过 journald API 与 journald/systemd 一起使用,但用户要求它完全与 syslog 无关。 这意味着无论哪种系统日志守护程序正在工作,它都必须工作,甚至在需要时根本没有它。

我了解系统日志如何工作的方式,有 /dev/log 套接字,syslog 守护程序侦听它并写入其他所有内容。有没有办法窥视该套接字上的流量?

我也知道我可以配置,例如,syslog-ng 将消息转发到我的程序,但这是我宁愿不要求我的用户做的事情。

Linux 系统日志 嗅探

评论

0赞 bazsi77 7/11/2023
作为 syslog-ng 的创始人,我当然希望看到它被部署得更多,但撇开笑话不谈:如果你有 root 权限,你可以编写一个 eBPF 跟踪工具来捕获对 send() 或 write() 系统调用的调用 ebpf.io

答: 暂无答案