我知道这是一个很遥远的事情。我从我能找到的手册页中遗漏了一些东西。
我已将远程事件/系统日志记录设置到日志服务器(syslog-ng)。效果很好。
它有自己的日志目录,每个主机都会创建自己的日志文件,并标有其 IP(如下)
注意:我发现了一些更改journalctl配置或syslog-ng配置的示例。我认为这会扰乱日志记录。对于系统更改来说很好,但不仅仅是运行一些脚本来查看数据。
他们位于:
/var/log/远程:
远程系统日志_192.168.0.163.log 远程系统日志_192.168.0.223.日志 远程系统日志_192.168.0.17.日志 远程系统日志_192.168.0.3.日志 远程系统日志_192.168.0.18.日志 远程系统日志
_192.168.0.200.log
这一切都很好。 IE :
2 月 23 日 09:54:41 192.168.0.4 smartd[840]: 设备:/dev/sdc [SAT],SMART 使用属性:194 温度_摄氏度从 64 更改为 65
ip 192.168.0.4 是我运行journalctl 的本地电脑,也是日志服务器。
现在我需要处理它们。
Journalctl 似乎是一个不错的选择,我可以编写脚本来提取感兴趣的记录。
IE
Journalctl -o json-pretty -u smartd
都好
现在我缺少一点
journalctl 读取 /var/log/syslog
我找不到一种方法来告诉它使用不同的日志文件。
我尝试了 -D/var/log/remote 选项以及 --root 和 --file。但它只读取 /var/log/syslog - 这是本地电脑而不是从远程电脑发送的数据。
请有人给我一些指示,因为 Journalctl 看起来非常适合从日志文件中提取数据,并且它比我能想到的其他选项(例如 awk 或 grep 、 cut 等)容易得多。
感谢您提供有关从系统日志文件中提取记录的好方法的任何建议。