Chinaunix首页 | 论坛 | 博客
  • 博客访问: 513172
  • 博文数量: 173
  • 博客积分: 4112
  • 博客等级: 上校
  • 技术积分: 1577
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-26 10:12
文章分类

全部博文(173)

文章存档

2012年(1)

2010年(172)

我的朋友

分类: 系统运维

2010-06-09 09:53:53

现在行业内流行使用Cacti网络资源和相关服务性能进行监控。Cacti除了自身的模板套用外,还支持一些SNMP扩展的性能图实现。具体工作原 理如下:

其实在zenoss环境中,也很容易实现Cacti的这一功能,我们尝试的监测数据库的用户连接情况。具体操作如下:

SNMP扩展功能

首先,我们先来分析一下这个需求,一般 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

添加Zenoss模板

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 ThresholdAdd a New Threshold对话框中输入阀值名称,如connmore30,Type默认选择MinMaxThreshold点 击OK,保存阀值。进入阀值编辑界面,在Data Points栏中选mysqlcoon_ESTABLISHEDMax 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分钟后,可以看到性能图像输出数据。见下图

阅读(619) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~