linux-cacti使用snmp自定义OID进行制图-yc

上一篇 / 下一篇  2012-06-27 10:00:34 / 个人分类:linux



样例:使用cacti进行邮件队列监控:


在被监控服务器上,增加脚本:

/usr/local/luly/MonitorMailq.sh

#!/bin/bash 
# check postfix mail for snmpd

mailq=$(mailq | grep 'Request')

if [ $? -eq 1 ]; then
        echo '0'
        exit 0
fi
               
mail_sum=$(echo $mailq | awk '{print $5}')
echo $mail_sum

授权:chmod +x /usr/local/luly/MonitorMailq.sh 

/usr/local/etc/snmp/snmpd.conf最后增加一行:
extend .1.3.6.1.4.1.2021.53 mailq /usr/local/luly/MonitorMailq.sh

其中mailq是命令的名称,后面是命令以及参数。命令的名称可以随便起。

重启snmpd

[root@localhost ~]# snmpwalk -v 2c localhost -c public .1.3.6.1.4.1.2021.53

UCD-SNMP-MIB::ucdavis.53.1.0 = INTEGER: 1

UCD-SNMP-MIB::ucdavis.53.2.1.2.12.77.111.110.105.116.111.114.77.97.105.108.113 = STRING: "/usr/local/luly/MonitorMailq.sh"

UCD-SNMP-MIB::ucdavis.53.2.1.3.12.77.111.110.105.116.111.114.77.97.105.108.113 = ""

UCD-SNMP-MIB::ucdavis.53.2.1.4.12.77.111.110.105.116.111.114.77.97.105.108.113 = ""

UCD-SNMP-MIB::ucdavis.53.2.1.5.12.77.111.110.105.116.111.114.77.97.105.108.113 = INTEGER: 5

UCD-SNMP-MIB::ucdavis.53.2.1.6.12.77.111.110.105.116.111.114.77.97.105.108.113 = INTEGER: 1

UCD-SNMP-MIB::ucdavis.53.2.1.7.12.77.111.110.105.116.111.114.77.97.105.108.113 = INTEGER: 1

UCD-SNMP-MIB::ucdavis.53.2.1.20.12.77.111.110.105.116.111.114.77.97.105.108.113 = INTEGER: 4

UCD-SNMP-MIB::ucdavis.53.2.1.21.12.77.111.110.105.116.111.114.77.97.105.108.113 = INTEGER: 1

UCD-SNMP-MIB::ucdavis.53.3.1.1.12.77.111.110.105.116.111.114.77.97.105.108.113 = STRING: "4"

UCD-SNMP-MIB::ucdavis.53.3.1.2.12.77.111.110.105.116.111.114.77.97.105.108.113 = STRING: "4"

UCD-SNMP-MIB::ucdavis.53.3.1.3.12.77.111.110.105.116.111.114.77.97.105.108.113 = INTEGER: 1

UCD-SNMP-MIB::ucdavis.53.3.1.4.12.77.111.110.105.116.111.114.77.97.105.108.113 = INTEGER: 0

UCD-SNMP-MIB::ucdavis.53.4.1.2.12.77.111.110.105.116.111.114.77.97.105.108.113.1 = STRING: "4"

确认mailq中的个数可知,

UCD-SNMP-MIB::ucdavis.53.4.1.2.12.77.111.110.105.116.111.114.77.97.105.108.113.1 = STRING: "4"这个即为我们想要的值;

[root@localhost ~]# snmpwalk -v 2c localhost -c public .1.3.6.1.4.1.2021.53.4.1.2.12.77.111.110.105.116.111.114.77.97.105.108.113.1

UCD-SNMP-MIB::ucdavis.53.4.1.2.12.77.111.110.105.116.111.114.77.97.105.108.113.1 = STRING: "4"

生成数据源

cacti界面中console->Templates->Data Templates,然后点击右上角的Add,如下图


Templates 中的name是给这个数据模板的命名,Data Source中的name将来显示在Data Sources中,我这里添加“|host_description|-MonitorMailq”,选get snmp dataInternal Data Source Name也可以随便添,这个用来给rrd文件命名,设置完之后点击create,然后下面会多出一些选项,我们只需填写一项就可以,就是OID那一项,把 我们上面记下来的OID填写进去:


添加模板制图

cacti界面中console->Templates->Graph Templates,然后点击右上角的Add,如下图


Graph Template中的name是将来显示在图片上面中间的内容,我这里添加"|host_description|-MonitorMailq",然后create,上面会多出一些选项,Graph Template Items 这里就是让我们添加数据源

这里增加Graph Item TypeAVEA区域显示类型;


然后分别增加:average/last/max这几个类型的数据源;




添加完后如下图:


把模板添加进去被监控机里

New Graphs中选择主机然后在Graph Templates中的下拉表拉选我们添加的模板,点击create


Console->Management->Graph Tress->Default Tree->Tree Items->对应IP旁边的Add



这时在Graphs->Tree Mode->IP中,应该可以看到监控的数据了;




TAG: cacti Linux linux SNMP snmp 自定义 OID 制图

 

评分:0

我来说两句

Open Toolbar