1. 程式人生 > >Linux下安裝與配置snmp服務

Linux下安裝與配置snmp服務

一、安裝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

使用命令:$ 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,檢查是否已經安裝成功。

 

YUM 安裝

1  yum install -y net-snmp net-snmp-utils

3、啟動snmp服務

若安裝成功,則可使用命令:

$ service snmpd start

提示:Starting snmpd: [  OK  ],則啟動snmp服務成功。

 

你可以將snmp服務設定為開機自啟動,這樣免去手動啟動的麻煩。

使用命令:$ chkconfig snmpd on,將snmpd服務設為開機自啟動。

 

然後使用命令:$ chkconfig --list | grep snmpd,檢視是否已經設定成功。

 

4、驗證snmp服務

(1)使用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%。