Liunx 下的 SNMP 及 PHP如何连接

摘要:
我登录到另一个Linux主机,该主机也按照上述步骤安装snmp服务和snmp工具。snmp的默认配置只能查看节点1.3.6.1.2.1.1和1.3.6.1.2.1.25.15.1.1下的设备信息。主机CPU和内存不在这些节点下,因此无法获取这些数据。

YUM 安装

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

3、启动snmp服务

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

$ service snmpd start

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

Liunx 下的 SNMP 及 PHP如何连接第1张 

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

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

Liunx 下的 SNMP 及 PHP如何连接第2张 

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

Liunx 下的 SNMP 及 PHP如何连接第3张 

4、验证snmp服务

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

 Liunx 下的 SNMP 及 PHP如何连接第4张

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

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

Liunx 下的 SNMP 及 PHP如何连接第5张 

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

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

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

Liunx 下的 SNMP 及 PHP如何连接第6张 

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

二、配置snmp服务

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

Liunx 下的 SNMP 及 PHP如何连接第7张 

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

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

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

Liunx 下的 SNMP 及 PHP如何连接第8张 

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

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

Liunx 下的 SNMP 及 PHP如何连接第9张 

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

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

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

Liunx 下的 SNMP 及 PHP如何连接第10张 

在此处添加了一行:

view    systemview    included   .1

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

2、修改Process checks的配置

找到如下位置:

Liunx 下的 SNMP 及 PHP如何连接第11张 

# proc mountd

# proc ntalkd 4

# proc sendmail 10 1

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

Liunx 下的 SNMP 及 PHP如何连接第12张 

  

3、修改Executables/scripts配置

找到如下位置:

Liunx 下的 SNMP 及 PHP如何连接第13张 

#exec echotest /bin/echo hello world

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

4、修改disk checks配置

找到如下位置:

Liunx 下的 SNMP 及 PHP如何连接第14张 

#disk / 10000

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

5、修改load average checks配置

找到如下位置:

Liunx 下的 SNMP 及 PHP如何连接第15张 

将 #load 12 14 14

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

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

Liunx 下的 SNMP 及 PHP如何连接第16张 

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

Liunx 下的 SNMP 及 PHP如何连接第17张 

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

Liunx 下的 SNMP 及 PHP如何连接第18张 

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

PHP代码如下

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

免责声明:文章转载自《Liunx 下的 SNMP 及 PHP如何连接》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇浅析AnyCast网络技术Mongodb 笔记03 查询、索引下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

zabbix企业级监控dell硬件服务状态

 监控dell服务的硬件状态,一般有两种方式 第一,在操作熊上安装OMSA,编写脚本调用omreport命令进行监控 第二、使用IDRAC,只需开启在IARAC上的SNMP,zabbix通过snmp进行监控即可 【IDRAC配置】 开启SNMP服务 进入IDRAC的web配置界面,一般 情况下都是打开“网络”---->“服务”----->“SN...

网络管理snmp实验

一、实验目的: 1)学习教材“8.1Windows管理命令”,熟练掌握操作系统自带的基本网络测试工具,课外完成。 2)学习并掌握snmputil命令的格式及基本使用。 二、实验要求提示: 1)分别使用Snmputil, SnmpUtilG试验(相关软件和资料见“资料/其他 ”)。 2)先对自己使用的计算机,再两人一组、对同学的计算机进行网管实验。 1)查看...

snmp学习笔记

snmp5.5 client 包含头文件 #include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-includes.h> 用到的函数有:初始化snmp库:void init_snmp(const char *); 用于初始化snmp库 netsnmp_ses...

25 Zabbix系统数据表结构介绍

点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 25 Zabbix系统数据表结构介绍自学Zabbix之路15.1 Zabbix数据库表结构简单解析-Hosts表、Hosts_groups表、Interface表自学Zabbix之路15.2 Zabbix数据库表结构简单解析-Items表自学Zabbix之...

Linux snmp导入MIB库

Linux 中所使用的net-snmp自带了一些标准的MIB,但是世界上支持snmp的设备有无数种,各厂家都有自己的定义,这些定义不可能都包含在net-snmp自带的MIB中,因此,想要正确轮询一个这样的设备,必须载入厂家自己的MIB文件。 一般我们下载回来的MIB文件可能后缀名为.mib,为了清晰起见,一般改成 MIB_NAME.txt这样的形式,当然不...

自学Zabbix11.3 Zabbix SNMP 常用OID列表

点击返回:自学Zabbix之路点击返回:自学Zabbix4.0之路点击返回:自学zabbix集锦 自学Zabbix11.3 ZabbixSNMP 常用OID列表点击获取CISCO设备OID 系统参数(1.3.6.1.2.1.1) OID 描述 备注 请求方式 .1.3.6.1.2.1.1.1.0 获取系统基本信息 SysDesc GET .1....