这篇文章主要介绍了在Linux系统上配置SNMP的方法,SNMP用于收集设备内部发生的数据,如负载、磁盘状态、带宽之类,需要的朋友可以参考下
在Debian或Ubuntu上配置SNMP
要在基于Debian的系统上安装SNMP代理(snmpd),请运行以下命令:
代码如下:<a></a>root@server:~# apt-get install snmpd
然后,如下编辑配置文件。
代码如下:<a></a>root@server:~# vim /etc/snmp/snmpd.conf</p> <p> # 使snmpd 监听再所有接口上
agentAddress udp:161
# 定义一个只读的 community 'myCommunity' 和源网络
rocommunity myCommunity 172.17.1.0/24
sysLocation Earth
sysContact email@domain.tld
在编辑完配置文件后,重启snmpd。
代码如下:root@server:~# service snmpd restart
在CentOS或RHEL上配置SNMP
要安装SNMP工具和库,请运行以下命令。
代码如下:<a></a>root@server:~# sudo yum install net-snmp
然后,如下编辑SNMP配置文件。
代码如下:<a></a>root@server:~# vim /etc/snmp/snmpd.conf</p> <p> # 定义一个使用 community 'myCommunity' 和源网络 172.17.1.0/24 的用户 'myUser'
com2sec myUser 172.17.1.0/24 myCommunity
# 将 myUser 加到 'myGroup' 组,定义组权限
group myGroup v1 myUser
group myGroup v2c myUser
view all included .1
access myGroup "" any noauth exact all all none</p> <p> root@server:~# service snmpd restart
root@server:~# chkconfig snmpd on
重启snmpd服务,然后添加到启动服务列表。
测试SNMP
SNMP可以通过运行snmpwalk命令进行测试。如果SNMP已经配置成功,该命令会生成大量输出。
代码如下:<a></a>root@server:~# snmpwalk -c myCommunity 172.17.1.44 -v1</p> <p> iso.3.6.1.2.1.1.1.0 = STRING: "Linux mrtg 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (2097) 0:00:20.97
~~ 输出截断 ~~
iso.3.6.1.2.1.92.1.1.2.0 = Gauge32: 1440
iso.3.6.1.2.1.92.1.2.1.0 = Counter32: 1
iso.3.6.1.2.1.92.1.2.2.0 = Counter32: 0
iso.3.6.1.2.1.92.1.3.1.1.2.7.100.101.102.97.117.108.116.1 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.92.1.3.1.1.3.7.100.101.102.97.117.108.116.1 = Hex-STRING: 07 DD 0B 12 00 39 27 00 2B 06 00