環境搭建:
官網下載net-snmp並解壓.本文使用的是net-snmp 5.7.3
安裝配置
進入net-snmp解壓的根目錄,可以找到configure文件,通過此文件,我們配置net-snmp的安裝參數:
./configure參數 | 含義 |
---|---|
–prefix=/usr/local/net-snmp | net snmp的安裝路徑 |
–enable-mfd-rewrites | 允許新的mfd重寫可用的mid模塊 |
–with-default-snmp-version=”3” | 默認的snmp版本 |
–with-sys-contact=”name,E_mail:maileaddress “ | 該設備的聯繫人 |
–with-sys-location=”China” | 該設備的位置 |
–with-logfile=”/var/log/snmpd.log” | 日誌文件路徑 |
–with-persistent-directory=”/var/net-snmp” | 不變數據存儲目錄 |
此處我們只配置net-snmp的安裝目錄,在根目錄執行命令:
./configure –prefix=/usr/local/snmp
其他選項直接回車選用默認值,配置完成如下:
Net-SNMP configuration summary:
---------------------------------------------------------
SNMP Versions Supported: 1 2c 3
Building for: linux
Net-SNMP Version: 5.7.3
Network transport support: Callback Unix Alias TCP UDP IPv4Base SocketBase TCPBase UDPIPv4Base UDPBase
SNMPv3 Security Modules: usm
Agent MIB code: default_modules => snmpv3mibs mibII ucd_snmp notification notification-log-mib target agent_mibs agentx disman/event disman/schedule utilities host
MYSQL Trap Logging: unavailable
Embedded Perl support: enabled
SNMP Perl modules: building -- embeddable
SNMP Python modules: disabled
Crypto support from: crypto
Authentication support: MD5 SHA1
Encryption support: DES AES
Local DNSSEC validation: disabled
---------------------------------------------------------
編譯安裝
根目錄直接執行命令make,編譯完成後使用make install安裝,會安裝到我們上文配置的路徑.後續若想要刪除使用make uninstall命令.
在make時候,可能會遇到cannot find -lperl問題,直接apt-get安裝即可:
sudo apt-get install libperl-dev
加入環境變量
export SNMP_HOME=/usr/local/snmp
export PATH=$SNMP_HOME/bin:$SNMP_HOME/sbin:$PATH
加入開機啓動
/etc/rc.local添加下面一行:
/usr/local/snmp/sbin/snmpd -c /usr/local/snmp/share/snmp/snmpd.conf &
snmpd.conf配置
給出一個寫好的配置文件,此配置文件通過extend方式來擴展Agent.
####### 添加一個名爲all的可以訪問.1入口下所有MIB庫的組
# name incl/excl subtree mask(optional)
view all included .1
####### 添加一個對於組all具有讀寫權限的用戶名test
rwcommunity test default -V all
#extend OID 標識符 命令或者腳本 鍵值
extend tauu /bin/echo HelloTAU
extend ps /bin/ps
extend .1.3.6.1.4.1.8072.1.3.2.36 ps /bin/ps
### add to NET-SNMP-EXTEND_MIB
###snmpwalk -v2c -c test localhost nsExtendOutputFull
###snmpwalk -v2c -c test localhost nsExtendOutputFull.\"NAME\"
###snmpwalk -v2c -c test localhost nsExtendObjects.36
新添加的擴展都會被添加到NET-SNMP-EXTEND-MIB(1.3.6.1.4.1.8072.1.3.2)這個入口之下