如下是安裝snmp服務須要的rpm包:oracle
libsensors3-2.10.6-55.el5.i386.rpmdom
lm_sensors-2.10.6-55.el5.i386.rpmide
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包,該網站比較全面,包含各類版本的包。spa
使用命令:$ rpm -qa|grep snmp.net
檢查是否安裝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包pwa
使用命令:$ rpm -qa|grep libsenblog
檢查是否安裝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 安裝
1 yum install -y net-snmp net-snmp-utils
若安裝成功,則可以使用命令:
$ 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%。
http://blog.csdn.net/jacky0922/article/details/6952152 從這裏轉載