snmp协议,想必很多同学都了解,这个作为一个监控系统或者硬件的通用行协议是广泛被很多监控场景所使用。
前段时间有同学在我的课程里问我,如何实现自定义的snmp监控,他的问题如下:
“不理解如何获取到自定制的某一项的信息如何操作, iso.3.6.1.2.1.1.1.0 是如何得到的,能变吗"
那么,正式进入到今天的Jeson老师所想分享的主题,如何通过snmp来实现自定义监控。
一、安装前工作
1、关闭服务端防火墙
/etc/init.d/iptables stop
2、关闭服务端selinux
setenforce 0
二、snmp服务端搭建
1、安装snmpd
yum install -y net-snmp
2、修改配置文件
3、启动服务
/etc/init.d/snmpd start
4、测试
执行客户端命令snmpwalk
snmpwalk -v 2c -c public 127.0.0.1
看看是否有数值返回
二、创建自定义脚本
脚本需要可执行权限,可以为shell、py、php等等
这里我简单写一个,统计进程数:
/tmp/process_num.sh
#!/bin/sh
#Jeson@imoocc.com
process_num=$(ps -ef|wc -l)
三、添加snmpd自定义监控
1、备份默认配置
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf_bak
2、修改配置文件如下
1)可以把系统视图权限修改为所有权限
修改如下,让用户可以访问"all"视图的权限
2 ) 将all视图的定义注视打开
意思all 可以取到.1这个old下的数值
## incl/excl subtree mask
view all included .1 80
3) 添加如下配置
.1.3.6.1.4.1.2021.5000 是自定义的OID的数值,如果已经使用了 则会覆盖掉原有的。
注意:保证/tmp/test.sh可以执行
extend .1.3.6.1.4.1.2021.5000 check_process /tmp/test.sh
3、重启snmpd服务
/etc/init.d/snmpd restart
4、测试
通过如下命令,测试结果:
snmpwalk -v 1 -c public 127.0.0.1 .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.13.99.104.101.99.107.95.112.114.111.99.101.115.115 = STRING: "/tmp/test.sh"
UCD-SNMP-MIB::ucdavis.5000.2.1.3.13.99.104.101.99.107.95.112.114.111.99.101.115.115 = ""
UCD-SNMP-MIB::ucdavis.5000.2.1.4.13.99.104.101.99.107.95.112.114.111.99.101.115.115 = ""
UCD-SNMP-MIB::ucdavis.5000.2.1.5.13.99.104.101.99.107.95.112.114.111.99.101.115.115 = INTEGER: 5
UCD-SNMP-MIB::ucdavis.5000.2.1.6.13.99.104.101.99.107.95.112.114.111.99.101.115.115 = INTEGER: 1
UCD-SNMP-MIB::ucdavis.5000.2.1.7.13.99.104.101.99.107.95.112.114.111.99.101.115.115 = INTEGER: 1
UCD-SNMP-MIB::ucdavis.5000.2.1.20.13.99.104.101.99.107.95.112.114.111.99.101.115.115 = INTEGER: 4
UCD-SNMP-MIB::ucdavis.5000.2.1.21.13.99.104.101.99.107.95.112.114.111.99.101.115.115 = INTEGER: 1
UCD-SNMP-MIB::ucdavis.5000.3.1.1.13.99.104.101.99.107.95.112.114.111.99.101.115.115 = STRING: "205"
UCD-SNMP-MIB::ucdavis.5000.3.1.2.13.99.104.101.99.107.95.112.114.111.99.101.115.115 = STRING: "205"
UCD-SNMP-MIB::ucdavis.5000.3.1.3.13.99.104.101.99.107.95.112.114.111.99.101.115.115 = INTEGER: 1
UCD-SNMP-MIB::ucdavis.5000.3.1.4.13.99.104.101.99.107.95.112.114.111.99.101.115.115 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.5000.4.1.2.13.99.104.101.99.107.95.112.114.111.99.101.115.115.1 = STRING: "205"
课程介绍:
课程问答区:
共同学习,写下你的评论
评论加载中...
作者其他优质文章