使用 SNMPv2-MIB监控VMWARE ESXi 5.5 的设备

使用 SNMPv2-MIB监控ESXi的设备
VMware MIB 文件为 SNMP 管理软件定义 ESXi 主机和 vCenter Server 提供的信息。

SNMPv2-MIB
[root@cacti ~]# snmpwalk -v 2c -c public 122.122.122.122 .1 | more #查看所有信息

SNMPv2-MIB::sysDescr.0 = STRING: VMware ESXi 5.5.0 build-2143827 VMware, Inc. x86_64
SNMPv2-MIB::sysName.0 = STRING: QVPS101101109
HOST-RESOURCES-MIB::hrDeviceDescr.1 = STRING: CPU Pkg/ID/Node: 0/0/0 Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GH
HOST-RESOURCES-MIB::hrDeviceDescr.33 = STRING: LUN DELL PERC H730P Adp 4.25 naa.614187706c5cdf001e8d753c1209da
HOST-RESOURCES-MIB::hrDeviceDescr.34 = STRING: LUN DELL PERC H730P Adp 4.25 naa.614187706c5cdf001e8d747105f3ff
HOST-RESOURCES-MIB::hrSWInstalledDate.1 = STRING: 2016-3-29,0:0:0.0
SNMPv2-SMI::mib-2.47.1.1.1.1.2.1 = STRING: "Dell Inc. DSS1500"
SNMPv2-SMI::mib-2.47.1.2.1.1.2.1 = STRING: "VMware vCenter Server"
SNMPv2-SMI::enterprises.6876.1.1.0 = STRING: "VMware ESXi"
SNMPv2-SMI::enterprises.6876.1.2.0 = STRING: "5.5.0"
SNMPv2-SMI::enterprises.6876.3.5.2.1.5.1 = STRING: "LSI Logic / Symbios Logic PERC H730P Adapter"
SNMPv2-SMI::enterprises.6876.3.5.2.1.5.2 = STRING: "Intel Corporation Haswell-E DMI2"
SNMPv2-SMI::enterprises.6876.4.20.102.0 = Timeticks: (247129720) 28 days, 14:28:17.20
......
.....

OID具体数值
snmpwalk -v 2c -c public 122.122.122.122 sysDescr.0

snmpwalk -v 2c -c public 122.122.122.122 hrDeviceDescr.1

snmpwalk -v 2c -c public 122.122.122.122 mib-2.47.1.1.1.1.2.1

snmpwalk -v 2c -c public 122.122.122.122 enterprises.6876.3.5.2.1.5.1

ESXi 的snmp默认配置
/etc/vmware/snmp.xml

# cat /etc/vmware/snmp.xml

esxi-snmp

已经把真正ESXi主机的IP地址修改为122.122.122.122

CentOS6.x配置静态路由和配置永久静态路由

Centos6.xConfiguring Static Routes
CentOS6.x配置静态路由(重启服务器或者网络服务会失效)
CentOS6.x配置永久静态路由(重启服务器或者网络服务不会失效)

在使用多网卡多网段的情况下只能给其中一个配置default gate way(如果配置多个default gate way,会造成无法上网),其他的网段就需要配置静态路由。

浪潮SA5112M4一共四个网卡接口,接口配置信息如下

网卡1:
116.255.166.188
255.255.255.0
116.255.166.1

网卡2:
10.68.44.44
255.255.0.0
10.68.0.1

CentOS6.x配置静态路由(重启服务器或者网络服务会失效)
ip route add 10.0.0.0/8 via 10.68.0.1 dev eth1

CentOS6.x配置永久静态路由(重启服务器或者网络服务不会失效)单网卡多网段
vi /etc/sysconfig/network-scripts/route-eth0

default 192.168.0.1 dev eth0
10.10.10.0/24 via 192.168.0.1 dev eth0
172.16.1.0/24 via 192.168.0.1 dev eth0

CentOS6.x配置永久静态路由(重启服务器或者网络服务不会失效)

vi /etc/sysconfig/network-scripts/route-eth1
10.0.0.0/8 via 10.68.0.1 dev eth1

参考资料
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-static-routes.html
https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-networkscripts-static-routes.html

CentOS6.x SNMPv2 详细配置与获取SNMP数据

CentOS6.x SNMPv2 详细配置与获取SNMP数据
简单网络管理协议(SNMP) Simple Network Manage Protocol 使用UDP协议,端口号161、162
snmpd 占用161号端口
snmptrapd 占用162号端口

SNMP共有三个版本
SNMPv1
SNMPv2c ,community (SNMPv2u ,user)
SNMPv3

MIB数据库http://a.hiphotos.baidu.com/baike/c0%3Dbaike116%2C5%2C5%2C116%2C38/sign=e53d3b44f1deb48fef64a98c9176514c/810a19d8bc3eb1352b3d169ea41ea8d3fd1f4418.jpg
SNMP协议使用MIB数据库保存数据信息
MIB使用树状结构组织管理数据
MIB使用OID定位数据

OID:.1.3.6.1.2.1.1 #从上到下,.0代表所包含的元素


GET 获取数据
GET NEXT 获取下一个
GET BULK 获取大量数据
SET 设置数据信息,可以修改主机名等待

监控设备 被监控设备

TRAPS 反馈给监控设备
INFORM 反馈给监控设备,监控设备会发送接收完毕的反馈信息
RESPONSE

安装 net-snmp
yum -y install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils
或者
yum install -y net-snmp*

cd /etc/snmp/
[root@vultr snmp]# ls
snmpd.conf snmptrapd.conf snmptt.conf snmptt.ini
161端口 162端口

service snmpd restart #启动net-snmp
netstat -tulpn TCP、UDP、programs、listenin、numeric #查看snmpd运行状态已经占有的端口号

udp 0 0 0.0.0.0:161 0.0.0.0:* 30021/snmpd

添加开机启动
chkconfig --list | grep snmp
snmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
snmptrapd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
chkconfig snmpd on

/etc/snmp/snmpd.conf #配置文件
community = password

cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bck
vi /etc/snmp/snmpd.conf

# sec.name source community
com2sec yonghuming default mima

# groupName securityModel securityName
group yonghuzu v2c yonghuming

# Finally, grant the group read-only access to the systemview view.

# group context sec.model sec.level prefix read write notif 指定组的权限到一个权限视图
access yonghuzu "" any noauth exact systemview none none

# Make at least snmpwalk -v 1 localhost -c public system fast again. 设置systemview能访问那些权限
# name incl/excl subtree mask(optional)
view systemview included .1.3.6.1.2.1.1
view systemview included .1 #所有都能访问

service snmpd restart #重启snmp服务

-----------

如果需要获取更多的数据,可以把系统视图权限修改为所有权限

access yonghuzu "" any noauth exact systemview none none
修改为
access yonghuzu "" any noauth exact all none none

修改对all的定义
## incl/excl subtree mask
view all included .1 80

service snmpd restart #重启snmp服务

snmpget获取一个指定OID的数据
snmpget -v 2c -c mima 108.61.247.227 1.3.6.1.2.1.1.1.0

snmpwalk获取从一个OID开始后所有的数值
snmpwalk -v 2c -c mima 108.61.247.227 .1

SNMP错误提示
Timeout: No Response from 108.61.247.227.
解决办法:
1 查看密码是否设置正确
2 配置防火墙允许SNMP数据通过
iptables -I INPUT -p udp --dport 161 -j ACCEPT
service iptables save;service iptables restart;