为什么要自定义OID?
标准库里没有OID,我们该怎么做呢?接下来就用这个实力来讲解自定义OID
确认SNMP OID是否存在
首先我们需要找一个oid是否被系统暂用,比如.1.3.6.1.4.1.2021.5000
snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.5000
iso.3.6.1.4.1.2021.5000 = No Such Object available on this agent at this OID
如上说明不存在
增加自定SNMP OID
编写脚本
# cat /root/check_ceph.sh
#!/bin/bash
cephstat=`ceph -s|grep health`
echo $cephstat
修改配置
# vim /etc/snmp/snmpd.conf
extend .1.3.6.1.4.1.2021.5000 check_ceph /root/scripts/check_ceph.sh // 增加这一
获取snmp信息
以下获取自定义的oid的所有数据,第最后一行便是我们需要获取的数据,那么在zabbix中写oid .1.3.6.1.4.1.2021.5000.4.1.2.2.115.104.1
snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.5000
iso.3.6.1.4.1.2021.5000.1.0 = INTEGER: 1
iso.3.6.1.4.1.2021.5000.2.1.2.2.115.104 = STRING: "/tmp/check-ceph.sh"
iso.3.6.1.4.1.2021.5000.2.1.3.2.115.104 = ""
iso.3.6.1.4.1.2021.5000.2.1.4.2.115.104 = ""
iso.3.6.1.4.1.2021.5000.2.1.5.2.115.104 = INTEGER: 5
iso.3.6.1.4.1.2021.5000.2.1.6.2.115.104 = INTEGER: 1
iso.3.6.1.4.1.2021.5000.2.1.7.2.115.104 = INTEGER: 1
iso.3.6.1.4.1.2021.5000.2.1.20.2.115.104 = INTEGER: 4
iso.3.6.1.4.1.2021.5000.2.1.21.2.115.104 = INTEGER: 1
iso.3.6.1.4.1.2021.5000.3.1.1.2.115.104 = STRING: "health HEALTH_WARN"
iso.3.6.1.4.1.2021.5000.3.1.2.2.115.104 = STRING: "health HEALTH_WARN"
iso.3.6.1.4.1.2021.5000.3.1.3.2.115.104 = INTEGER: 1
iso.3.6.1.4.1.2021.5000.3.1.4.2.115.104 = INTEGER: 0
iso.3.6.1.4.1.2021.5000.4.1.2.2.115.104.1 = STRING: "health HEALTH_WARN"
网友评论