使用 SNMP 和 Cacti 監控 Linux 伺服器

Sarmed Rahman發表於2015-07-03

SNMP(簡單網路管理協議)用於收集裝置內部發生的資料,如負載、磁碟狀態、頻寬之類。像Cacti這樣的網路監控工具用這些資料來生成圖示以達到監控的目的。

在一個典型的Cacti和SNMP部署中,會有一臺或多臺啟用了SNMP的裝置,以及一臺獨立的用來從那些裝置收集SNMP回饋的監控伺服器。請記住,所有需要監控的裝置必須啟用SNMP。在本教程中,出於演示目的,我們將在同一臺Linux伺服器上配置Cacti和SNMP。

在Debian或Ubuntu上配置SNMP

要在基於Debian的系統上安裝SNMP代理(snmpd),請執行以下命令:

root@server:~# apt-get install snmpd

然後,如下編輯配置檔案。

root@server:~# vim /etc/snmp/snmpd.conf

# 使snmpd 監聽再所有介面上
agentAddress  udp:161

# 定義一個只讀的 community 'myCommunity' 和源網路
rocommunity myCommunity 172.17.1.0/24

sysLocation    Earth
sysContact     email@domain.tld

在編輯完配置檔案後,重啟snmpd。

root@server:~# service snmpd restart

在CentOS或RHEL上配置SNMP

要安裝SNMP工具和庫,請執行以下命令。

root@server:~# sudo yum install net-snmp

然後,如下編輯SNMP配置檔案。

root@server:~# vim /etc/snmp/snmpd.conf

# 定義一個使用 community 'myCommunity' 和源網路 172.17.1.0/24 的使用者 'myUser'
com2sec myUser 172.17.1.0/24 myCommunity

# 將 myUser 加到 'myGroup' 組,定義組許可權
group    myGroup    v1        myUser
group    myGroup    v2c        myUser
view all included .1
access myGroup    ""    any    noauth     exact    all    all    none

root@server:~# service snmpd restart
root@server:~# chkconfig snmpd on

重啟snmpd服務,然後新增到啟動服務列表。

測試SNMP

SNMP可以透過執行snmpwalk命令進行測試。如果SNMP已經配置成功,該命令會生成大量輸出。

root@server:~# snmpwalk -c myCommunity 172.17.1.44 -v1

iso.3.6.1.2.1.1.1.0 = STRING: "Linux mrtg 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (2097) 0:00:20.97

~~ 輸出截斷 ~~

iso.3.6.1.2.1.92.1.1.2.0 = Gauge32: 1440
iso.3.6.1.2.1.92.1.2.1.0 = Counter32: 1
iso.3.6.1.2.1.92.1.2.2.0 = Counter32: 0
iso.3.6.1.2.1.92.1.3.1.1.2.7.100.101.102.97.117.108.116.1 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.92.1.3.1.1.3.7.100.101.102.97.117.108.116.1 = Hex-STRING: 07 DD 0B 12 00 39 27 00 2B 06 00 

配置帶有SNMP的Cacti

在本教程中,我們將在同一臺Linux伺服器上設定Cacti和SNMP。所以,到剛剛配置SNMP的Linux伺服器上去[安裝Cacti][2]吧。

安裝完後,Cacti網頁介面可以透過“http://172.17.1.44/cacti ”來訪問,當然,在你的環境中,請將IP地址換成你的伺服器的地址。

安裝過程中Cacti的路徑一般都是正確的,但是如有必要,請再次檢查以下。

在首次安裝過程中,Cacti預設的使用者名稱和密碼是“admin”和“admin”。在首次登入後會強制你修改密碼。

新增裝置到Cacti並管理

Cacti將根據先前配置的SNMP字串註冊裝置。在本教程中,我們將只新增啟用了SNMP的本地伺服器。

要新增裝置,我們必須以管理員登入,然後轉到Cacti管理員皮膚中的控制檯。點選 控制檯 > 裝置。

那裡可能已經有一個名為‘localhost’的裝置。我們不需要它,因為我們要建立全新的圖表。我們可以將該裝置從列表中刪除,使用“新增”按鈕來新增新裝置。

接下來,我們設定裝置引數。

現在裝置已經新增,我們來指定想要建立的圖表模板。你可以在該頁面的最後部分中找到這塊內容。

然後,我們繼續來建立圖表。

這裡,我們建立用於平均負載、RAM和硬碟、處理器的圖表。

介面的圖表和64位計數器

預設情況下,Cacti在SNMP查詢中使用32位計數器。32位計數器對於大多數頻寬圖表而言已經足夠了,但是對於超過100Mbps的頻寬,它就無能為力了。如果已經知道頻寬會超過100Mbps,建議你使用64位計數器。使用64位計數器一點也不麻煩。

注意: Cacti會花費大約15分鐘來產生新圖表,除了耐心等待,你別無選擇。

建立圖表樹

這些截圖展示瞭如何建立圖表樹,以及如何新增圖表到這些樹中。

我們可以驗證圖表樹中的圖表。

使用者管理

最後,我們建立一個只具有檢視我們剛建立的圖表許可權的使用者。Cacti內建了使用者管理系統,而且是高度可定製的。

在完成這些步驟後,我們可以使用‘user1’來登入進去,並驗證只有該使用者可以檢視該圖表。

至此,我們在網路監控系統中部署了一臺Cacti伺服器。Cacti伺服器比較穩定,可以處理大量圖表而不會出問題。

希望本文對你有所幫助。


via: http://xmodulo.com/monitor-linux-servers-snmp-cacti.html

作者:Sarmed Rahman 譯者:GOLinux 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章