一、安装snmp服务
1、检查系统是否已经安装snmp的rpm包
以下是安装 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-utils-5.3.2.2-5.el5.i386.rpm
推荐到http://rpm.pbone.net/下载这些rpm包,该网站比较全面,包含各种版本的包。使用命令:$ rpm -qa|grep snmp
检查是否安装 net-snmp-utils-5.3.2.2-5.el5,net-snmp-libs-5.3.2.2-5.el5,net-snmp-5.3.2.2-5.el5
三个 rpm 包
使用命令:$ rpm -qa|grep libsen
检查是否安装 libsensors3-2.10.6-55.el5
使用命令:$ rpm -qa|grep lm
检查是否安装 lm_sensors-2.10.6-55.el5
说明:
(1) 这几个包的安装有一定顺序,在安装的时候,会有提示。比如安装
net-snmp-5.3.2.2-5.el5.i386.rpm 时,会提示必须先安装 net-snmp-libs-5.3.2.2-5.el5.i386.rpm。
(2) net-snmp-utils-5.3.2.2-5.el5.i386.rpm 并不是必须安装的包,但安装它会带来不少帮助, 它提供了很多工具,例如可以使用 snmptranslate 命令查看 oid,可以使用 snmpget、snmpwalk 命令等。
(3)net-snmp-libs-5.3.2.2-5.el5.i386.rpm、net-snmp-5.3.2.2-5.el5.i386.rpm、
net-snmp-utils-5.3.2.2-5.el5.i386.rpm 这三个包有一定的版本要求,必须版本一致,否则安装无法成功。我这里都使用的 5.3.2.2-5.el5 版本,也可以下载其他版本的 rpm 包,但注意版本要一致,在安装的时候也会提示,哪个版本的包是必须的,你可以根据提示下载需要的包。
2、安装以上的几个rpm包
若系统中没有安装以上包,则先安装。使用命令:rpm –ivh 包名
安装完后,使用命令:$ rpm -qa|grep snmp,检查是否已经安装成功。
3、启动snmp服务
若安装成功,则可使用命令:
$ service snmpd start
提示:Starting snmpd: [ OK ],则启动 snmp 服务成功。
你可以将 snmp 服务设置为开机自启动,这样免去手动启动的麻烦。使用命令:$ chkconfig snmpd on,将 snmpd 服务设为开机自启动。
然后使用命令:$ chkconfig --list | grep snmpd,查看是否已经设置成功。
4、验证snmp服务
使用 snmpwalk 命令,查看本机 localhost 的主机名:
如上,获取到本机主机名为 oracle.domain.com,则表示 snmp 服务已经可以正常使用。
(2) 使用 snmptranslate 命令,检查 snmp 工具是否可以使用:
如上,查出了部分 oid,则表示 snmp 工具可以正常使用。
(3) 测试远端主机是否可以获取数据。
我这里登陆了另外一台 Linux 主机,该主机也按照上面的步骤安装好 snmp 服务及 snmp 工具。通过这台主机,获取远端主机的数据,这时需指定远端主机的 IP 地址:
如上,可以看到通过远端主机获取到的主机名,与在本机获取到的主机名是一致的。
二、配置snmp服务
以上安装完成后,使用的是 snmp 的默认配置,通过这些默认配置,我们只能获取主机的部分信息。但一些其他的重要信息,无法获取。如主机的 CPU 使用情况,内存使用情况等。
如上,无法获取 CPU 的空闲率(注:1.3.6.1.4.1.2021.11.11.0 是主机 CPU 空闲率的
oid)。
这时候,若要获取主机的一些重要信息,则要修改 snmp 的默认配置。配置方法:修改/etc/snmp/snmpd.conf 文件
1、修改查看设备节点的权限
在该文件中,找到如下位置:
view:定义了可以查看哪些节点设备的信息。
snmp 默认配置只能查看.1.3.6.1.2.1.1 和.1.3.6.1.2.1.25.1.1 节点下的设备信息,而主机 CPU 和内存等设备都不在这些节点下,所以无法获取这些数据。
因此,可以修改这个配置,如下:
在此处添加了一行:
view systemview included .1
表示可以查看.1 节点下的所有设备信息。
2、修改Process checks的配置
找到如下位置:
将
# proc mountd # proc ntalkd 4
# proc sendmail 10 1
三行前的“#”号去掉,取消注释,结果为:
3、修改Executables/scripts配置
找到如下位置:
将
#exec echotest /bin/echo hello world
一行前的“#”号去掉,取消注释。
4、修改 disk checks 配置
找到如下位置:
将
#disk / 10000
一行前的“#”号去掉,取消注释。
5、修改 load average checks
找到如下位置:
将 #load 12 14 14
一行前的“#”号去掉,取消注释。
6、保存修改,重启snmp服务
7、验证修改配置后的snmp服务
如上,通过本机 localhost 获取到 CPU 的空闲率为 97%。
如上,通过远端主机获取到 CPU 的空闲率为 93%。
如果系统中安装了mysql,但是报错:
Error: Package: 1:net-snmp-agent-libs-5.7.2-43.el7.x86_64 (/net-snmp-agent-libs-5.7.2-43.el7.x86_64)
Requires: libmysqlclient.so.18()(64bit)
解决:安装 MySQL-shared
Error: Package: 1:net-snmp-5.7.2-43.el7.x86_64 (/net-snmp-5.7.2-43.el7.x86_64)
Requires: mysql-libs
解决:安装 MySQL-shared-compat
Comments (0)