我正在考虑构建一个(实验)系统,该系统依赖于来自 Linux 机器上的“标准”ISC DHCP 服务器的实时信息。我想记录(和处理)与尝试获取地址和引导信息的 PXE 客户端相关的事件。因此,我的日志记录中需要几个附加属性(即 GUID 等)。因此,当系统获得新租约时,我希望我的软件立即知道它(让我们说 < 5 秒后)。
现在我有一些东西可以将所需的值放在 /var/log/messages 中,所以我可以在以下行中做一些事情:
tail -f /var/log/messages | xargs processdhcpevents.sh
有更好的解决方案吗?我一直在 dhcpd 中寻找某种“挂钩”来“立即”处理事件,但我还没有找到。这样的事情存在吗?还是我的“tail -f”解决方案是唯一的方法?
尼尔斯·巴斯耶斯
为什么不配置 syslog 以通过命名管道将适当的日志消息发送到您的程序?
我对这些任务的解决方案是使用 OSSEC 并在所需事件触发时配置主动响应。它与您的想法部分相似(使用日志),但具有更强大的框架并且易于扩展......
链接:http ://www.ossec.net
与 womble 类似——您可以安装 syslog-ng,然后让 syslog-ng 在适当的 syslog 行上运行您的进程。