Python 调用snmp自定义OID实现监控
1.安装netsnmp
yum install net-snmp net-snmp-devel net-snmp-utils net-snmp-python -y
其中 net-snmp-python 是snmp支持python的模块
启动snmp服务
/etc/init.d/snmpd restart
加入开机启动
Chkconfig snmpd on 35
首先查看snmp配置文件,实现自定义OID捕获linux系统信息。
打开系统自带监控硬盘 负载 内存等的OID 还可以自己编写脚本通过定义oid来执行监控
使用方法
snmpwalk -v2c -c public 192.168.120.131 .1.3.6.1.4.1.2021.50 红色是oid
python 使用方法
import netsnmp
print netsnmp.snmpwalk(netsnmp.VarList(netsnmp.Varbind('.1.3.6.1.4.1.2021.10')),Version = 1,DestHost='localhost',Community='public')
排错
1、[root@JR-ZR01-TEST ~]# snmpwalk -v1 -c public 192.168.76.250 .1.3.6.1.4.1.4413.4.1
End of MIB
参考:这个错误一般是在 snmp.conf 里view 里面没有允许该OID ,甚至做了显式拒绝,解决办法是允许该 OID.
加入: view systemview included .1
2. exec .1.3.6.1.4.1.2021.51 ps /bin/ps
进行snmpwalk查询:
# snmpwalk -v2c -cpublic 192.168.1.21 .1.3.6.1.4.1.2021.51
UCD-SNMP-MIB::ucdavis.51 = No Such Object available on this agent at this OID
可以发现是找不到.1.3.6.1.4.1.2021.51这个OID的。
这是什么原因呢?
如果出现这种情况,请先查看一下snmpd的版本。
# snmpd -v
NET-SNMP version: 5.5
上面的配置方式是旧版的配置,新版本已经不用此格式了。新的格式是:
extend .1.3.6.1.4.1.2021.51 ps /bin/ps
- <--!
- 参考文献:
- http://hi.baidu.com/tmdniqusi/item/7d2879ffa2eef96e3d1485ce
- http://blog.csdn.net/tin591/article/details/8702577
- http://ilexes.blog.51cto.com/705330/243937
- http://itnihao.blog.51cto.com/1741976/791772
- !-->
最后附上一付修改过的完整配置
转载于:https://blog.51cto.com/kkkkkk/1172726