Ubuntu
將 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
文件將陷阱處理程序傳遞給這個守護程序?先感謝您。
雖然您的問題實際上讓我感到困惑,但我相信您應該遠離使用 php 腳本來處理 snmptrapd 服務。
該文件(/etc/snmp/snmptrapd.conf)由snmptrapd服務使用,可以在您希望的任何執行級別(3、4、5)啟用,並且可以配置為將陷阱記錄到 MySQL,因此沒有需要創建一個單獨的守護程序。
另一方面,也許一個小的 shell 腳本會比嘗試通過初始化 PHP 解釋器、載入 SNMP、MySQL 和其他擴展來處理陷阱更有效。這是一個簡單的範例,儘管您肯定需要添加數據庫處理(您可以使用我的範例來完成)。
話雖如此,如果您仍然希望使用 PHP 實現解決方案,您可能應該研究 PHP 的可用SNMP 擴展