Ubuntu 配置SNMP服务
2013-05-06 by dongnan
开始之前
监控离不开数据采集,经常使用的Zabbix
等监控软件,除了使用agent
还可以通过snmp
协议进行数据采集。
什么是SNMP协议?
简单网络管理协议(SNMP,Simple Network Management Protocol
)构成了互联网工程工作小组(IETF
)定义的internet
协议簇的一部分。
该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。 它由一组网络管理的标准组成,包含一个应用层协议、数据库模型、和一组资料物件。
SNMP协议的端口
协议使用 tcp/udp 161
端口:
grep 'Simple Net Mgmt Proto' /etc/services
snmp 161/tcp # Simple Net Mgmt Proto
snmp 161/udp # Simple Net Mgmt Proto
操作步骤
示例中的操作系统为: Ubuntu 12.04
。
安装SNMP
apt-get install snmp snmpd
# 关闭SNMP服务
/etc/init.d/snmpd stop
SNMPV3
与V2
有所不同,需要单独配置。
SNMP V3
编辑 snmpd.conf
配置文件:
vim /etc/snmp/snmpd.conf
修改 snmpd
监听地址:
agentAddress udp:127.0.0.1:161
变更为:
agentAddress udp:161
启用 MIBs
在ubuntu 12.04
下默认snmp
是没有启用,你需要安装mibs
:
apt-get install snmp-mibs-downloader -y
编辑 /etc/snmp/snmp.conf
配置文件:
# 注释
# mibs :
添加用户
添加一个名为:snmpuser
、密码为:public@localhost
的帐户,使用v3
协议的帐户:
net-snmp-config --create-snmpv3-user -ro -A "public@localhost" -a MD5 snmpuser
adding the following line to /var/lib/snmp/snmpd.conf:
createUser snmpuser MD5 "public@localhost" DES # 这里
adding the following line to /usr/share/snmp/snmpd.conf:
rouser snmpuser # 这里
按照提示信息,将上面的两行字符产添加到 /var/lib/snmp/snmpd.conf
文件
启动Snmpd服务
/etc/init.d/snmpd start
使用 snmpwalk
测试通信是否正常:
snmpwalk -v 3 -u snmpuser -a MD5 -A "public@localhost" -l authNoPriv 127.0.0.1 sysDescr
# 返回的信息
SNMPv3-MIB::sysDescr.0 = STRING: xxxx
SNMP V2
编辑 snmpd.conf
配置文件:
vim /etc/snmp/snmpd.conf
修改 snmpd
监听地址:
agentAddress udp:127.0.0.1:161
变更为:
agentAddress udp:161
添加以下两行:
access notConfigGroup "" any noauth exact all none none
# 认证字符串
rocommunity public 172.27.236.13
注意,172.27.236.13
为SNMP客户端的IP地址,如果不想指定客户端可以将IP地址变更为 default
。
使用 snmpwalk
测试通信是否正常:
# -v是指版本 -c 是指密钥
snmpwalk -v 1 -c dongnan 192.168.57.82 snmpwalk -v 2c -c dongnan 192.168.57.71
# 返回的信息
SNMPv2-MIB::sysDescr.0 = STRING:xxx
获取到系统信息则正常。