1、Php安装snmp扩展
1.基础环境准备
Php7.2版本
yum -y install php72w-snmp
Php7.4版本
yum install net-snmp php-snmp net-snmp-devel
重启php服务
通过php -m看到php扩展库里有snmp,此时安装成功。
1、写入snmp设备改变单个值案例
snmp写入
$session = new SNMP(SNMP::VERSION_2C, "DEVICE_IP", "REQUEST_TYPE";
$session->set('SNMP OID', 'MIB types', "value";
注释:
DEVICE_IP : snmp设备IP地址
REQUEST_TYPE:有两种类型public(读),private(写)
SNMP OID:snmp设备监控项的oid
MIB types:数据类型,参考下方types表格
value:要修改的值
types |
|
= |
|
i |
|
u |
|
s |
|
x |
|
d |
|
n |
|
o |
|
t |
|
a |
|
b |
$session = new SNMP(SNMP::VERSION_2C, "DEVICE_IP", "REQUEST_TYPE"; $session->get('SNMP OID';
注释:
DEVICE_IP : snmp设备IP地址
REQUEST_TYPE:有两种类型public(读),private(写)
SNMP OID:snmp设备监控项的oid。oid可以是单个也可以是多个oid的一维数组
snmp写入案例
$session = new \SNMP(\SNMP::VERSION_2C, '127.0.0.1', "private";
$session->set('.1.3.6.1.4.1.398.2.1.0', 'i', '2';
$session->close(;
snmp读取单个监控项案例
$session = new \SNMP(\SNMP::VERSION_2C, '127.0.0.1', "public";
$res = $session->get('.1.3.6.1.4.1.398.2.1.0';
print_r($res;
snmp读取多个监控项案例
$session = new \SNMP(\SNMP::VERSION_2C, '127.0.0.1', "public"; $res = $session->get(['.1.3.6.1.4.1.398.2.1.0','.1.3.6.1.4.1.398.2.1.0']; $res_arr = array_values($res; //只获取数组值 $con = array(; foreach ($res_arr as $k => $v { $con[$k]=explode(':',$v; //类型和值分开 }
https://www.php.net/manual/en/snmp.set.php