安装snmp:
安装snmp服务需要的rpm包:
libsensors3-2.10.6-55.el5.i386.rpm
lm_sensors-2.10.6-55.el5.i386.rpm
以下这三个包有一定的版本要求,必须版本一致,否则安装无法成功
net-snmp-libs-5.3.2.2-5.el5.i386.rpm
net-snmp-5.3.2.2-5.el5.i386.rpm 必须先安装net-snmp-libs-5.3.2.2-5.el5.i386.rpm
net-snmp-utils-5.3.2.2-5.el5.i386.rpm 不是必须安装的包,但安装它会带来不少帮助,它提供了很多工具,例如可以使用snmptranslate命令查看oid,可以使用snmpget、snmpwalk命令等。
这几个包的安装有一定顺序,在安装的时候,会有提示
安装snmp服务:
[root@localhost src]# rpm -ivh net-snmp-libs-5.5-44.el6.i686.rpm |
或者yum装
[root@localhost ~]#yum -y installnet-snmp-libsnet-snmpnet-snmp-utils or [root@localhost ~]#yum -y installnet-snmp* |
启动并加入开机启动
[root@localhost src]# service snmpd start [root@localhost src]# chkconfig snmpd on |
配置SNMP:
snmp的配置文件为snmpd.conf
将public修改为你才知道的字符串
将“default”改为你想哪台机器可以看到你的snmp信息,比如SUM所在IP为:10.10.10.10,就改成这个IP。不改表示所有机器充许。
#号去掉
启用全部功能可以使用如下一行(如果没有可以加入一行,这里去掉#)
systemview改成all
重启snmpd
[root@localhost ~]# service snmpd restart |
防火墙开启161端口:
[root@localhost ~]# vim /etc/sysconfig/iptables |
SNMP服务验证:
1)使用snmpwalk命令,查看本机localhost的主机名:snmpwalk -v 2c -c public localhost sysName.0
获取到本机主机名为localhost.localdomain,则表示snmp服务已经可以正常使用
2)使用snmptranslate命令,检查snmp工具是否可以使用:snmptranslate -To | head
查出了部分oid,则表示snmp工具可以正常使用
3)测试远端主机是否可以获取数据:snmpwalk -v 2c -c public 10.15.72.136
登陆另外一台Linux主机,该主机也按照上面的步骤安装好snmp服务及snmp工具。通过这台主机,获取远端主机的数据,这时需指定远端主机的IP地址:
不加sysName.0会刷出大量信息
启动时发生错误:
snmpd: error while loading shared libraries: libnetsnmpagent.so.25:
cannot open shared object file: No such file or directory
解决办法:#export LD_LIBRARY_PATH=/usr/local/lib
但这样只能使用一次,最好是:vi /etc/profile 在最后一行加入:export
LD_LIBRARY_PATH=/usr/local/lib
补充:编译安装SNMP
安装之前确认libtool,openssl,zlib软件已经安装
[root@localhost ~]mkdir -p /usr/local/net-snmp [root@localhost src]tar zxvf net-snmp-5.7.2.tar.gz [root@localhost src]cd net-snmp-5.7.2 |
prefix:net-snmp将要安装的路径
enable-mfd-rewrites:允许用新的MFD重写可用的mid模块
with-default-snmp-version:默认的SNMP版本
with-sys-contact:可以配置该设备的联系人
with-sys-location:该设备的位置
with-logfile:日志文件路径
with-persistent-directory:不变数据存储目录
不加这些参数执行过程会提示如下,输入相应信息或者直接回车
-Press return to continue-
Default version of SNMP to use (3):
System Contact Information (@@no.where):
System Location (Unknown):
Location to write logfile (/var/log/snmpd.log):
Location to write persistent information (/var/net-snmp):
[root@localhost net-snmp-5.7.2] make && make install |
设置net-snmp自启动
在/etc/rc.local文件末尾加入以下代码
/usr/local/net-snmp/sbin/snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf &
设置环境变量
在/etc/profile末尾加入以下代码 :
[root@localhost ~]vim /etc/profile
PATH=/usr/local/net-snmp/bin:/usr/local/net-snmp/sbin:$PATH
使环境变量设置生效
[root@localhost ~]source /etc/profile
启动snmp
[root@localhost ~]/usr/local/net-snmp/sbin/snmpd -d
查看服务是否启动
[root@localhost ~]Netstat -nuptl | grep snmp(snmp使用的端口)