将 SNMP 陷阱数据包传递给 Ubuntu 上的 php 守护进程

将 SNMP 陷阱数据包传递给 Ubuntu 上的 php 守护进程

我有一个 Ubuntu 服务器,它正在收集传入的 SNMP 陷阱。目前,这些陷阱是使用 PHP 脚本处理和记录的。

文件/etc/snmp/snmptrapd.conf

traphandle default /home/svr/00-VHOSTS/nagios/scripts/snmpTrap.php

这个脚本比较长,包含很多数据库操作。通常,服务器每天会收到数千个陷阱,因此该脚本会占用过多的 CPU 时间。我的理解是,这是由于每次收到陷阱时 php 脚本的启动成本很高。

我收到重写此脚本的请求,我正在考虑将此脚本作为守护进程运行。我可以创建一个 Ubuntu 守护进程。我的问题是如何使用snmptrapd.conf文件将陷阱处理程序传递给该守护进程?

先感谢您。

答案1

虽然你的问题实际上让我感到困惑,但我相信你应该不再使用 php 脚本来处理 snmptrapd 服务。

该文件(/etc/snmp/snmptrapd.conf) 被SNMP陷阱该服务可以在您希望的任何运行级别(3、4、5)启用,并且可以配置为将陷阱记录到 MySQL,因此无需创建单独的守护程序。

另一方面,也许一个小的 shell 脚本比尝试通过初始化 PHP 解释器、加载 SNMP、MySQL 和其他扩展来处理陷阱更有效。这里有一个简单的例子,尽管您肯定需要添加数据库处理(您可以使用我的例子去完成)。

话虽如此,如果您仍然希望使用 PHP 实现解决方案,您可能应该研究可用的解决方案PHP 的 SNMP 扩展

相关内容