CentOS 下的 SNMP 及 PHP如何连接

本文详细介绍如何使用YUM安装并启动SNMP服务,通过多种命令验证服务的有效性,并逐步指导如何修改配置文件来增强SNMP功能,实现对主机CPU、内存等关键信息的监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

YUM 安装

1  yum install -y net-snmp net-snmp-utils

3、启动snmp服务

若安装成功,则可使用命令:

$ service snmpd start

提示:Starting snmpd: [  OK  ],则启动snmp服务成功。

 

你可以将snmp服务设置为开机自启动,这样免去手动启动的麻烦。

使用命令:$ chkconfig snmpd on,将snmpd服务设为开机自启动。

 

然后使用命令:$ chkconfig –list | grep snmpd,查看是否已经设置成功。

 

 

4、验证snmp服务

(1)使用snmpwalk命令,查看本机localhost的主机名:

 

如上,获取到本机主机名为Oracle.domain.com,则表示snmp服务已经可以正常使用。

(2)使用snmptranslate命令,检查snmp工具是否可以使用:

 

如上,查出了部分oid,则表示snmp工具可以正常使用。

(3)测试远端主机是否可以获取数据。

我这里登陆了另外一台Linux主机,该主机也按照上面的步骤安装好snmp服务及snmp工具。通过这台主机,获取远端主机的数据,这时需指定远端主机的IP地址:

 

如上,可以看到通过远端主机获取到的主机名,与在本机获取到的主机名是一致的。

 

二、配置snmp服务

以上安装完成后,使用的是snmp的默认配置,通过这些默认配置,我们只能获取主机的部分信息。但一些其他的重要信息,无法获取。如主机的CPU使用情况,内存使用情况等。

 

如上,无法获取CPU的空闲率(注:1.3.6.1.4.1.2021.11.11.0是主机CPU空闲率的oid)。

这时候,若要获取主机的一些重要信息,则要修改snmp的默认配置。

配置方法:修改/etc/snmp/snmpd.conf文件

 

 

1、修改查看设备节点的权限 

在该文件中,找到如下位置:

 

view:定义了可以查看哪些节点设备的信息。

snmp默认配置只能查看.1.3.6.1.2.1.1和.1.3.6.1.2.1.25.1.1节点下的设备信息,而主机CPU和内存等设备都不在这些节点下,所以无法获取这些数据。

因此,可以修改这个配置,如下:

 

在此处添加了一行:

view    systemview    included   .1

表示可以查看.1节点下的所有设备信息。 

 

2、修改Process checks的配置

找到如下位置:

 

# proc mountd

# proc ntalkd 4

# proc sendmail 10 1

三行前的“#”号去掉,取消注释,结果为:

 

 

  

3、修改Executables/scripts配置

找到如下位置:

 

#exec echotest /bin/echo hello world

一行前的“#”号去掉,取消注释。

 

4、修改disk checks配置

找到如下位置:

 

#disk / 10000

一行前的“#”号去掉,取消注释。

 

5、修改load average checks配置

找到如下位置:

 

将 #load 12 14 14

一行前的“#”号去掉,取消注释。

6、保存修改,重启snmp服务

 

7、验证修改配置后的snmp服务

 

如上,通过本机localhost获取到CPU的空闲率为97%。

 

如上,通过远端主机获取到CPU的空闲率为93%。

 

PHP代码如下

<?php
function get_server_info( host, community, objectid) {<br /> $a = snmpget($host, $community, $objectid);<br /> $tmp = explode(":", $a);<br /> if (count($tmp) &gt; 1) {<br /> $a = trim($tmp[1]);<br /> }<br /> return $a;<br />}<br />host=”172.19.66.32”;
community="public";<br/>// host服务器的1分钟平均负载
load1=getserverinfo( host, community,"1.3.6.1.4.1.2021.11.11.0");<br/>echo host.”当前CPU空闲率为”.$load1.”%”;
?>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值