簡體   English   中英

PHP / Linux中的SNMP陷阱

[英]SNMP Trap In PHP/Linux

有沒有人知道如何使用php發送SNMP陷阱? 或如何在Linx中發送SNMP陷阱? 我使用Net-SNMP從終端發送陷阱。 但是它並不能告訴您MIB到底需要放置在哪里,而且我無法使用'snmptrap'命令發送陷阱。 我需要在RedHat Linux服務器中使用它。

MIB搜索路徑:/home/user/.snmp/mibs:/usr/local/share/snmp/mibs找不到模塊(MY-MIB):在(無)MY-MIB :: clientrap中的第1行:未知對象標識符

這是我得到的錯誤。 我確信我已按照NET-SNMP的建議將MIB文件放在/home/user/.snmp/mibs/ usr / local / share / snmp / mibs中。 然后我不知道錯誤是怎么來的。 還有其他MIB搜索路徑嗎? 我不知道。

似乎PHP中沒有直接方法發送SNMP陷阱,答案也是如此。 所以最后我想出自己的方式,依靠Net-Snmp本身。 我真正想要的是從php程序發送Snmp陷阱。 我終於可以通過Linux終端在Net-Snmp庫的幫助下做到這一點。 以下是步驟。

  1. 安裝Net-Snmp:有兩種方法可以在Linux機器上安裝net-Snmp軟件包。

    1)如http://www.net-snmp.org/wiki/index.php/Net-Snmp_on_Ubuntu中所述,從sourceforge.net下載Net-Snmp軟件包。

    2)通過安裝pysnmp模塊-這種方法似乎更簡單。 同樣,您可以通過兩種不同的方式來實現。

    • 通過手動下載該庫並通過運行python腳本進行提取以成功安裝
    • 假設您已經安裝了pip,只需使用命令sudo pip install pysnmp即可。

    這兩種方法都在這里介紹-https: //pynet.twb-tech.com/blog/snmp/python-snmp-intro.html

    我們安裝pysnmp的原因是pysnmp軟件包會自動安裝NET-SNMP的基本庫,即使它是為python程序制作的。

  2. 通過鍵入命令snmpd --versionsnmpgetsnmptrap等來確認NET-SNMP的安裝。

  3. 使用命令snmpget -Dparse-mibs 2>&1 | grep directory查找MIB搜索路徑snmpget -Dparse-mibs 2>&1 | grep directory snmpget -Dparse-mibs 2>&1 | grep directory 它將顯示Net-Snmp在其中查找MIB文件的路徑。 通常結果是:

    parse-mibs:掃描目錄/var/www/html/User/.snmp/mibs parse-mibs:無法打開MIB目錄/var/www/html/User/.snmp/mibs parse-mibs:掃描目錄/ usr / local / share / snmp / mibs

  4. “ .txt”格式的MIB文件復制(上傳)到可用的MIB搜索路徑之一。 通常是

    / usr / local / share / snmp / mibs

  5. 使用命令發送陷阱

    snmptrap -v 2c -c public 192.168.1.1:162 “” MIBNAME-MIB :: trapname MIBNAME-MIB :: message1 s“嗨” MIBNAME-MIB :: message2 s“有效”

    現在我們有了shell命令。 我們可以使用exec()函數在php中運行它。 `

      exec("snmptrap -v 2c -c public *192.168.1.1:162* '' MIBNAME-MIB::trapname MIBNAME-MIB::message1 s 'Hi' MIBNAME-MIB::message2 s 'It works'", $output, $result); 

請注意,“ 192.168.1.1:162”是管理器IP和端口號。 MIBNAME是MIB文件中給定的MIB模塊名稱,trapname是MIB文件中的陷阱名稱。

假定在給定IP中有一台工作的SNMP Manger計算機,以SNMP Manager中MIB文件中給定的格式接收Snmp陷阱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM