PHP 利用snmp协议,[自动化实战]如何通过snmp协议来实现定义OID信息获取

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"

AAffA0nNPuCLAAAAAElFTkSuQmCC

课程介绍:

课程问答区:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值