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;