一,snmp介绍
1,监控网络I/O
2,管理计算机上运行的设备
3,在被监控的服务器A上运行代理,那么在snmp server的主机B上就可以监控主机A,
4,应用层协议,可以在不同的平台上安装,占用的带宽很少,四步过程
5,v1版是明文传输,v3版加密传输
二,MIB
监控的数据用对象表示,每个对象都可以用一个值来表示,那么就用OID来表示唯一的一个监控对象(这里用图来表示更清晰)
![](/e/u/themes/default/p_w_picpaths/spacer.gif)
三,安装配置
1,安装,
这里用的是net-snmp-5.4.3.tar编译安装
--prefix 指定安装的目录
--with-persistent-directory 不变的数据存放地址
make && make install
cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf
snmp的启动 /usr/local/net-snmp/sbin/snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf
加入开机启动 /etc/rc.local
2,配置
snmp有一个工具在/usr/local/net-snmp/bin/snmpconfig,可以通过这个工具来配置snmpd.conf 产生的community 是example
agentAddress udp:0.0.0.0:161
rwcommunity example 0.0.0.0/0
rocommunity public 只读的密码
rwcommunity 123456 读写密码
# com2sec 设置可访问的IP地址,访问的口令以及分组
# sec.name source community
com2sec local (ip address of target device) public
# group 设置安全用户名的组
#sec.model sec.name
group MyRWGroup v2c local
# view 可以对哪些MIB子树进行访问
#incl/excl subtreemask
view all included .1 表示监控所有
# access 指定各个组对MIB子数的读写权限
#context sec.model sec.level match read write notif
access MyRWGroup "" any noauth exact all all none
[root@test1 net-snmp]# netstat -antup|grep 161
udp 0 0 0.0.0.0:161 0.0.0.0:* 4135/snmpd
设置环境变量
在/etc/profile 末尾加一下代码
PATH=/usr/local/net/-snmp/bin:/usr/local/net-snmp/sbin: $PATH
设环境变量生效
source /etc/profile
启动snmp
/usr/local/net-snmp/sbin/snmpd -d
三,测试
[root@test1 ~]# /usr/local/net-snmp/bin/snmpwalk -v 1 -c example localhost
Timeout: No Response from localhost
这个时候最好是重新配置。用snmpconf这个工具