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