cacti 从搭建到现在也有一年多了,以前的需求大多可以通过自带的模板解决,近来想监控数据库中的在线人数,没有现在的模板可用,只有自定义脚本实现了,其实很简单,记录一下过程:
1,在被监控端的snmp.conf里添加上自定义的脚本,但在添加前要确认自定义的脚本能够抓取到数据.如下所示
 
[root@youxigu shell]# snmpwalk   -v 2c 211.164.185.101 -c public .1.3.6.1.4.1.2021.50     
UCD-SNMP-MIB::ucdavis.50.1.1 = INTEGER: 1
UCD-SNMP-MIB::ucdavis.50.2.1 = STRING: "mysqlcheckconn"
UCD-SNMP-MIB::ucdavis.50.3.1 = STRING: "/usr/local/shell/mysqlcheckconn.sh"
UCD-SNMP-MIB::ucdavis.50.100.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.50.101.1 = STRING: "180.1415"
UCD-SNMP-MIB::ucdavis.50.102.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.50.103.1 = ""
[   
 
注:mysqlcheckconn.sh脚本内容如下:
#!/bin/sh
LinuxOnline=`mysql -utaobao -padmin  word  -e "select  avg(num) from Online where type = 'MIN' and createDttm like CONCAT(ifnull(CURDATE(),''),'%');"|awk '/[0-9]+/{print $1}';`
echo $LinuxOnline
 
 
2,在监控端添加数据模板及图形模板,绘图细节由rrdtool自动完成.