利用net-snmp的pass来动态管理节点

看man snmpd.conf的PASS-THROUGH CONTROL一节,里面说明了用pass MIBOID EXEC的语法可以动态管理节点的值,MIBOID会作为一个参数传给脚本,脚本的输出只要按照规定格式,在三行里分别打印MIBOID(传给它的那个),TYPE,VALUE就可以了。

附上例子:
在snmpd.conf添加第一二行  修改第三行为all
pass  .1.3.6.1.4.1.2021.255 /bin/sh /root/count.sh 
view    systemview    included   .1.3.6.1.4.1.2021
access  notConfigGroup ""      any       noauth    exact  all none none

脚本
[root@master ~]# cat count.sh
#!/bin/sh
num=`cd /root/ && ls -rtl | wc -l`
echo  .1.3.6.1.4.1.2021.255
echo integer
echo $num


结果输出:
[root@master ~]# ls -rtl | wc -l
9
[root@master ~]# snmpwalk -v2c -c public localhost  .1.3.6.1.4.1.2021.255
UCD-SNMP-MIB::ucdavis.255 = INTEGER: 9
Error: OID not increasing: UCD-SNMP-MIB::ucdavis.255
 >= UCD-SNMP-MIB::ucdavis.255


你可能感兴趣的:(打印,管理,动态,snmpd)