(SNMP基本都是监控网络设备,本文介绍点理论知识)

概述

如果我们需要监控打印机、路由器、UPS等设备,肯定不能使用zabbix agentd,因为他们不能安装软件的,还好他们一般都支持SNMP协议,这样我可以使用SNMP来监控他们.如果你希望使用SNMP agent来获取这些设备的信息,那么在安装zabbix server的时候你需要增加snmp的支持. 
备注:SNMP检查基于UDP协议

配置SNMP监控 
使用SNMP来监视设备,需要完成以下步骤

  1. 创建主机 
    创建一个使用SNMP接口的主机,创建主机过程中你可以选择相应的模板,路由器、交换机这些设备的监控itme,zabbix已经默认自带了

  2. 找出你想监控的SNMP字符串(或者OID) 
    如果你想获取SNMP字符串,你可以使用命令snmpwalk来实现,当然在安装zabbix的时候你需要增加snmp的支持

# snmpwalk -v 2c -c public .

yum安装snmp

[root@localhost ~]# yum install net-snmp* -y

snmp配置

[root@localhost ~]# vim /etc/snmp/snmpd.conf
view systemview included .1.3.6.1.2.1.25.1.1 //找到这行,增加下面配置
view systemview included .1 // 这个是新增加的
proc mountd // 找到这些配置,把注释去掉
proc ntalkd 4
proc sendmail 10 1
disk / 10000
load 12 14 14

启动snmpd

[root@localhost ~]# service snmpd start

通过snmp获取数据

需要通过snmp获取到数据,首先我们需要对应的OID 
获取主机名

[root@localhost ~]# snmpwalk -c public -v 2c 10.1.252.241 sysName
SNMPv2-MIB::sysName.0 = STRING: localhost.localdomain
[root@localhost ~]# snmpwalk -c public -v 2c 10.1.252.241 .1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: localhost.localdomain

获取服务器剩余内存

[root@localhost ~]# snmpwalk -c public -v 2c 10.1.252.241 .1.3.6.1.4.1.2021.4.11.0
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 2222572 kB
[root@localhost ~]# snmpwalk -c public -v 2c 10.1.252.241 memTotalFree
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 2222572 kB