监控离不开数据采集,经常使用的Mrtg ,Cacti,Zabbix,等等监控软件都是通过snmp 协议进行数据采集的!
1 什么是snmp 协议?
简单网络管理协议(SNMP,Simple Network Management Protocol)构成了互联网工程工作小组(IETF,Internet Engineering Task Force)定义的internet协议簇的一部分。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。它由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema),和一组资料物件。
2 linux 系统下 snmp 服务配置
2.1 snmpd 服务安装
- yum install net-snmp*
2.2 编辑snmpd.conf 配置文档
- vim /etc/snmp/snmpd.conf
- 41行 1将default 改为监控服务器ip;2 将public 改成复杂些的识别的字符串
- com2sec notConfigUser 10.0.100.70 dongnan
- 62行 1将systemview 改为all,供所有snmp 访问权限
- access notConfigGroup "" any noauth exact all none none
- 85行 将#注释符号去掉
- view all included .1 80
2.3 启动 snmpd 服务
- /etc/init.d/snmpd start
2.4 验证snmpd 服务
//snmpd 使用 tcp/udp 161 端口
- grep 'Simple Net Mgmt Proto' /etc/services
- snmp 161/tcp # Simple Net Mgmt Proto
- snmp 161/udp # Simple Net Mgmt Proto
- lsof -i :161
- COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
- snmpd 3734 root 11u IPv4 13174 UDP *:snmp
- ps -ef | grep 'snmpd'
- root 3734 1 0 09:34 ? 00:00:00 /usr/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd.pid -a
2.5 修改snmpd 日志级别
//以上操作能够满足snmpd 服务正常使用,不过snmpd 默认日志级别将会在/var/log/message 写入大量snmp 信息,这样会影响我们察看系统日志,所以我们需要更改下!
- Mar 1 09:55:01 monitor snmpd[3734]: Connection from UDP: [127.0.0.1]:37535
- Mar 1 09:55:01 monitor snmpd[3734]: Received SNMP packet(s) from UDP: [127.0.0.1]:37535
- Mar 1 09:55:01 monitor snmpd[3734]: Connection from UDP: [127.0.0.1]:47836
- Mar 1 09:55:01 monitor snmpd[3734]: Received SNMP packet(s) from UDP: [127.0.0.1]:47836
//注释原有的OPTINOS,添加下面的一行,重启snmpd 服务即可。
- vim /etc/init.d/snmpd
- #OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a"
- OPTIONS="-LS 4 d -p /var/run/snmpd.pid -a"
- /etc/init.d/snmpd restart
- Stopping snmpd: [ OK ]
- Starting snmpd: [ OK ]
2.6 使用snmpwalk 命令验证
- snmpwalk -v 1 -c dongnan 192.168.57.82
- snmpwalk -v 2c -c dongnan 192.168.57.71
- -v是指版本,-c 是指密钥,获取到系统信息则正常!
注意:以上操作在 RHEL5/Centos5 系统使用rpm 包方式安装的SNMP
结束
更多欢迎到此讨论
37275208 (已满)
71921660
本文转自 dongnan 51CTO博客,原文链接:http://blog.51cto.com/dngood/793299