分类: LINUX
2011-08-17 09:03:57
首先,我们先来分析一下这个需求,一般Linux环境查看apache端口情况的命令为:
netstat -an |grep 80
在显示信息中,我们发现ESTABLISHED代表已经确认的连接。我们就以这些数据统计,具体命令为:
netstat -an |grep 80 |grep ESTABLISHED |wc -l
通过这条命令,我们可以得到apache现行确认连接数。
现在,我们在apache服务器上,创建一个脚本,以便于让SNMP方便的调用。
#vim /home/webadm/httpconn.sh
脚本中键入如下信息:
#!/bin/sh
netstat -an|grep 80|grep ESTABLISHED|wc -l
保存脚本后,我们可以直接运行该脚本进行测试
#chmod 755 httpconn.sh
# ./httpconn.sh
14
输出显示,现在有14个ESTABLISHED的连接
然后,我们在编辑snmpd.conf文件,将这个脚本通过SNMP扩展功能加入到设备的MIB信息库中。
echo "exec .1.3.6.1.4.1.2021.18 httpconn /usr/local/httpconn.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.1.34 .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: "httpconn"
UCD-SNMP-MIB::ucdavis.18.3.1 = STRING: " /home/webadm/httpconn.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对话框中建入模板名称,如:httpconn,点击OK保存模板。
4.点击httpconn连接,进入httpconn模板编辑界面
5.创建一个数据源,在Data Sources表菜单中选择Add Data Source。在Add Data Source对话框中建入数据源名称,如httpconn,Type类型中选择SNMP,点击OK保存。
6.进入数据源编辑界面,在OID栏中添加OID编号:.1.3.6.1.4.1.2021.18.101.1。点击Save保存添加。
7.测试数据源:在Test Against Device栏中输入已经配好SNMP连接http服务器地址。点击后面的Test按钮,进行测试,输出结果如下:
Preparing Command...
Executing command snmpwalk -cpublic -v2c 192.168.1.34 .1.3.6.1.4.1.2021.18.101.1 against 192.168.1.34
UCD-SNMP-MIB::ucdavis.18.101.1 = STRING: "7"
DONE in 0 seconds
8.添加数据点,退回到httpconn数据源编辑界面,在DataPoints表菜单中选择Add DataPoint。在Add a New DataPoint对话框中,输入数据源名称,如ESTABLISHED。进入Data Point编辑界面,不用做任何调整,点击Save,保存数据源。
9.添加一个阀值,设定ESTABLISHED连接数超过30,触发Warning黄色报告。退回到httpconn模板编辑界面,在Thresholds表菜单中选择Add Threshold在Add a New Threshold对话框中输入阀值名称,如connmore30,Type默认选择MinMaxThreshold。点击OK,保存阀值。进入阀值编辑界面,在Data Points栏中选择httpcoon_ESTABLISHED在Max value栏中填写30,安全级别中默认为Warning,其它值不用修改,点击Save保存阀值修改。
10.添加图像:退回httpconn模板编辑界面,通过Graph Definitions表菜单中的Add Graph添加名叫http conn的图像。进入Graph Definition编辑界面,在Graph Points表菜单中选择Add DataPoint。在对话框中选择httpconn_ESTABLISHED数据点,点击OK。系统会自动添加与数据点有关的阀值。其它信息不用修改,点击Save,保存添加图像的定义。
11.绑定模板。导航到配置有SNMP扩展的Mysql服务器上,在设备状态界面菜单中选择More > Templates,在模板表菜单中选择Bind Templates,在Bind Performance Templates对话框中复选择Device[/Devices/Server]和httpconn[/Devices/Server/Linux],点击OK完成模板绑定工作。
12.验证图像:在设备界面下点击Perf标签中,原性能数据图像下面,我们看到新添加的http conn图像。等待约10分钟后,可以看到性能图像输出数据。见下图