如下是安装snmp服务须要的rpm包: 前端
libsensors3-2.10.6-55.el5.i386.rpm 服务器
lm_sensors-2.10.6-55.el5.i386.rpm oracle
net-snmp-libs-5.3.2.2-5.el5.i386.rpm dom
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 spa
检查是否安装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包 .net
使用命令:$ rpm -qa|grep libsen pwa
检查是否安装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包,但注意版本要一致,在安装的时候也会提示,哪一个版本的包是必须的,你能够根据提示下载须要的包。
若系统中没有安装以上包,则先安装。
使用命令:rpm –ivh 包名
安装完后,使用命令:$ rpm -qa|grep snmp,检查是否已经安装成功。
YUM 安装
$ yum install -y net-snmp net-snmp-utils
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,可以从指定的服务器自动下载RPM包而且安装,能够自动处理依赖性关系,而且一次安装全部依赖的软件包,无须繁琐地一次次下载、安装。
若安装成功,则可以使用命令:
$ service snmpd start
提示:Starting snmpd: [ OK ],则启动snmp服务成功。
你能够将snmp服务设置为开机自启动,这样免去手动启动的麻烦。
使用命令:$ chkconfig snmpd on,将snmpd服务设为开机自启动。
而后使用命令:$ chkconfig --list | grep snmpd,查看是否已经设置成功。
(1)使用snmpwalk命令,查看本机localhost的主机名:
如上,获取到本机主机名为oracle.domain.com,则表示snmp服务已经能够正常使用。
(2)使用snmptranslate命令,检查snmp工具是否可使用:
如上,查出了部分oid,则表示snmp工具能够正常使用。
(3)测试远端主机是否能够获取数据。
我这里登录了另一台Linux主机,该主机也按照上面的步骤安装好snmp服务及snmp工具。经过这台主机,获取远端主机的数据,这时需指定远端主机的IP地址:
如上,能够看到经过远端主机获取到的主机名,与在本机获取到的主机名是一致的。
以上安装完成后,使用的是snmp的默认配置,经过这些默认配置,咱们只能获取主机的部分信息。但一些其余的重要信息,没法获取。如主机的CPU使用状况,内存使用状况等。
如上,没法获取CPU的空闲率(注:1.3.6.1.4.1.2021.11.11.0是主机CPU空闲率的oid)。
这时候,若要获取主机的一些重要信息,则要修改snmp的默认配置。
配置方法:修改/etc/snmp/snmpd.conf文件
在该文件中,找到以下位置:
view:定义了能够查看哪些节点设备的信息。
snmp默认配置只能查看.1.3.6.1.2.1.1和.1.3.6.1.2.1.25.1.1节点下的设备信息,而主机CPU和内存等设备都不在这些节点下,因此没法获取这些数据。
所以,能够修改这个配置,以下:
在此处添加了一行:
view systemview included .1
表示能够查看.1节点下的全部设备信息。
找到以下位置:
将
# proc mountd
# proc ntalkd 4
# proc sendmail 10 1
三行前的“#”号去掉,取消注释,结果为:
找到以下位置:
将
#exec echotest /bin/echo hello world
一行前的“#”号去掉,取消注释。
找到以下位置:
将
#disk / 10000
一行前的“#”号去掉,取消注释。
找到以下位置:
将 #load 12 14 14
一行前的“#”号去掉,取消注释。
如上,经过本机localhost获取到CPU的空闲率为97%。
如上,经过远端主机获取到CPU的空闲率为93%。