分类: 系统运维
2009-08-04 14:02:39
现在行业内流行使用
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 . |
配置完成之后重启SNMP服务
snmpd restart |
我们通过Snmpwalk来查看OID为.
root@monitor ~]# snmpwalk -c public -v1 192..168.0. UCD-SNMP-MIB::ucdavis. UCD-SNMP-MIB::ucdavis. UCD-SNMP-MIB::ucdavis. 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.导航至/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编号:.
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分钟后,可以看到性能图像输出数据。见下图
chinaunix网友2011-07-06 08:51:24
哥建议你表达式要这样写才对: netstat -an |grep -w 3306 |grep ESTABLISHED |wc -l ==== 哥淡淡笑笑