分类: 系统运维
2010-06-09 09:53:53
现在行业内流行使用Cacti网络资源和相关服务性能进行监控。Cacti除了自身的模板套用外,还支持一些SNMP扩展的性能图实现。具体工作原 理如下:
其实在zenoss环境中,也很容易实现Cacti的这一功能,我们尝试的监测数据库的用户连接情况。具体操作如下:
首先,我们先来分析一下这个需求,一般 Linux环境查看Mysql端口情况的命令为:
netstat -an |grep 3306
在显示信息中,我们 发现ESTABLISHED代表已经确认的连接。我们就以这些数据统计,具体命令为:
netstat -an |grep 3306 |grep ESTABLISHED |wc -l
通过这条命令,我们可以得到Mysql现行确认连接数。
现在,我 们在Mysql服务器上,创建一个脚本,以便于让SNMP方便的调用。
vi mysqlconn.sh
脚本中键入如 下信息:
#!/bin/sh
netstat -an|grep 3306|grep ESTABLISHED|wc -l
保存脚本后,我们可以直接运行该脚本进行测试
[root@monitor ~]# ./mysqlconn.sh
14
输出显示,现在有14个ESTABLISHED的连接
然后, 我们在编辑snmpd.conf文件,将这个脚本通过SNMP扩展功能加入到设备的MIB信息库中。
echo "exec .1.3.6.1.4.1.2021.18 mysqlconn /usr/local/mysqlconn.sh" >> /etc/snmp/snmpd.conf
配置完成之后重启SNMP服务
snmpd restart
我 们通过Snmpwalk来查看OID为.1.3.6.1.4.1.2021.18的信息值
root@monitor ~]# snmpwalk -c public -v1 192..168.0.3 .1.3.6.1.4.1.2021.18
UCD-SNMP-MIB::ucdavis.18.1.1 = INTEGER: 1
UCD-SNMP-MIB::ucdavis.18.2.1 = STRING: "mysqlconn"
UCD-SNMP-MIB::ucdavis.18.3.1 = STRING: "/usr/local/mysqlconn.sh"
UCD-SNMP-MIB::ucdavis.18.100.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.18.101.1 = STRING: "14"
UCD-SNMP-MIB::ucdavis.18.102.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.18.103.1 = ""
这里可以看到我们刚刚添加的有关信息,在第五行中显 示STRING: "14",这个行就是我们运行脚本产品的Mysql连接数值,因此在zenoss中我们需要调整到这一行的数据,该行OID表示 为:.1.3.6.1.4.1.2021.18.101.1
1.导航至/Devices/Server/Linux,点 击Templage模板
2.在Available Performance Templates表菜单中 选择Add Templates
3.在Add Template对话框中建入模板名称, 如:mysqlconn,点击OK保存模板。
4.点击mysqlconn连接,进入mysqlconn模板编辑界面
5.创建一个数据源,在Data Sources表菜单中选择Add Data Source。在Add Data Source对话框中建入数据源名称,如mysqlconn,Type类型中选择SNMP,点击OK保 存。
6.进入数据源编辑界面,在OID栏中添加OID编号:.1.3.6.1.4.1.2021.18.101.1。点 击Save保存添加。
7.测试数据源:在Test Against Device栏中输入已经配好 SNMP连接Mysql服务器地址。点击后面的Test按钮,进行测试,输出结果如下:
Executing command against mysqlserver
UCD-SNMP-MIB::ucdavis.18.101.1 = STRING: "14"
DONE in 0 seconds
8.添加数据点,退回到mysqlconn数据源编 辑界面,在DataPoints表菜单中选择Add DataPoint。在Add a New DataPoint对话框中,输入数据源名称,如ESTABLISHED。进入Data Point编辑界面,不用做任何调整,点击Save,保存数据源。
9.添加一个阀值,设定ESTABLISHED连接数超过30,触发 Warning黄色报告。退回到mysqlconn模板编辑界面,在Thresholds表菜单中选择Add Threshold在Add a New Threshold对话框中输入阀值名称,如connmore30,Type默认选择MinMaxThreshold。点 击OK,保存阀值。进入阀值编辑界面,在Data Points栏中选择mysqlcoon_ESTABLISHED在Max value栏中填写30,安全级别中默认为Warning,其它值不用修改,点击Save保存阀值修改。
10.添加图像:退 回mysqlconn模板编辑界面,通过Graph Definitions表菜单中的Add Graph添 加名叫mysql conn的图像。进入Graph Definition编辑界面,在Graph Points表菜单中选 择Add DataPoint。在对话框中选择mysqlconn_ESTABLISHED数据点,点击OK。 系统会自动添加与数据点有关的阀值。其它信息不用修改,点击Save,保存添加图像的定义。
11.绑定模板。导航到配置 有SNMP扩展的Mysql服务器上,在设备状态界面菜单中选择More > Templates,在模板表菜单中选择Bind Templates,在Bind Performance Templates对话框中复选择Device[/Devices/Server]和mysqlconn[/Devices/Server/Linux], 点击OK完成模板绑定工作。
12.验证图像:在设备界面下点击Perf标签中,原性能数据图像下面,我们看到新添加的 mysql conn图像。等待约10分钟后,可以看到性能图像输出数据。见下图