赞
踩
前面的文章我们已经讲过zabbix如何使用snmp监控服务器,但是他有一个很明显的局限性:只能监控定义好的OID项目,假如我们想知道nginx进程是否在运行?在没有zabbix agent的情况下,我们该怎么做呢?接下来就用这个实力来讲解自定义OID
OID内容可以回顾参考《zabbix SNMP OID列表 监控需要用到的OID》
首先我们需要找一个oid是否被系统暂用,比如.1.3.6.1.2.1.25.2.2.0 获取内存大小的一个OID
[root@aliserver ~]# snmpwalk -v 2c -c public 115.29.249.51 .1.3.6.1.2.1.25.2.2.0 HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 500472 KBytes
很不幸,已经被占用了,我们在测试另外一个比如.1.3.6.1.4.1.2021.5000
[root@aliserver ~]# snmpwalk -v 2c -c public 115.29.249.51 .1.3.6.1.4.1.2021.5000 UCD-SNMP-MIB::ucdavis.5000 = No Such Object available on this agent at this OID
这个没有占用,那可拿来做自定义了。
3,增加自定SNMP OID
3.1 设置脚本
# vim /root/scripts/check_nginx.sh #!/bin/bash nginxNum=`/bin/ps aux | /bin/grep nginx | wc -l` echo $nginxNum 设置完以后 chmod a+x /root/scripts/check_nginx.sh 赋予执行权限,否则执行报错。考虑下为什么命令使用绝对路径?!
3.2 编辑配置
echo "extend .1.3.6.1.4.1.2021.5000 check_nginx /root/scripts/check_nginx.sh " >> /etc/snmp/snmpd.conf // 增加这一行
3.3 获取snmp信息
以下获取自定义的oid的所有数据,第一行便是我们需要获取的数据,那么在zabbix中写oid .1.3.6.1.4.1.2021.5000.4.1.2.11.99.104.101.99.107.95.110.103.105.110.120.1
[root@aliserver ~]# snmpwalk -v 1 -c public 115.29.249.51 .1.3.6.1.4.1.2021.5000 UCD-SNMP-MIB::ucdavis.5000.1.0 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.5000.2.1.2.11.99.104.101.99.107.95.110.103.105.110.120 = STRING: "/root/scripts/check_nginx.sh" UCD-SNMP-MIB::ucdavis.5000.2.1.3.11.99.104.101.99.107.95.110.103.105.110.120 = "" UCD-SNMP-MIB::ucdavis.5000.2.1.4.11.99.104.101.99.107.95.110.103.105.110.120 = "" UCD-SNMP-MIB::ucdavis.5000.2.1.5.11.99.104.101.99.107.95.110.103.105.110.120 = INTEGER: 5 UCD-SNMP-MIB::ucdavis.5000.2.1.6.11.99.104.101.99.107.95.110.103.105.110.120 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.5000.2.1.7.11.99.104.101.99.107.95.110.103.105.110.120 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.5000.2.1.20.11.99.104.101.99.107.95.110.103.105.110.120 = INTEGER: 4 UCD-SNMP-MIB::ucdavis.5000.2.1.21.11.99.104.101.99.107.95.110.103.105.110.120 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.5000.3.1.1.11.99.104.101.99.107.95.110.103.105.110.120 = STRING: "5" UCD-SNMP-MIB::ucdavis.5000.3.1.2.11.99.104.101.99.107.95.110.103.105.110.120 = STRING: "5" UCD-SNMP-MIB::ucdavis.5000.3.1.3.11.99.104.101.99.107.95.110.103.105.110.120 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.5000.3.1.4.11.99.104.101.99.107.95.110.103.105.110.120 = INTEGER: 0 UCD-SNMP-MIB::ucdavis.5000.4.1.2.11.99.104.101.99.107.95.110.103.105.110.120.1 = STRING: "5"
4,创建通过snmp类型监控项
4.1 创建snmp item
4.2 获取最新数据
接下来创建触发器以及报警,我就不多说了,大家可以参考《zabbix触发器trigger概述和如何创建》
参考资料:http://www.ttlsa.com/zabbix/snmp-custom-oid/ 并根据自己的服务器实际部署情况做了内容改动和一些补充。
转载请注明:云速博客www.ysidc.top» zabbix snmp自定义OID监控– nginx监控实例(53)
https://www.ysidc.top 云速博客,数据库,云速,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。