MRTG、Cacti、Rrdtool、Nagios、Zabbix大比拼
MRTG、Cacti、Rrdtool、Nagios、Zabbix比較
Cacti Nagios Squid的區(qū)別
cacti 是一個用 rrdtool 來畫圖的網(wǎng)絡(luò)監(jiān)控系統(tǒng), 通常一說到網(wǎng)絡(luò)管理, 大家首先想到的經(jīng)常是 mrtg, 但是 mrtg 畫的圖簡單且難看, rrdtool 雖然畫圖本領(lǐng)一流, 畫出來的圖也漂亮, 但是他也就是一個畫圖工具, 不像 mrtg 那樣本身還集成了數(shù)據(jù)收集功能. cacti 則是集成了各種數(shù)據(jù)收集功能,然后用 rrdtool 畫出監(jiān)控圖形. 其本身界面比起同類系統(tǒng)要漂亮不少. 推薦所有有監(jiān)控需求的人都去研究一下.
cacti 和 nagios 是不同功用的系統(tǒng), nagios 適合監(jiān)視大量服務(wù)器上面的大批服務(wù)是否正常, 重點并不在圖形化的監(jiān)控, 其集成的很多功能例如報警,都是 cacti 沒有或者很弱的. cacti 主要用途還是用來收集歷史數(shù)據(jù)和畫圖, 所以界面比 nagios 漂亮很多.
net-snmp 是一套廣泛使用在類 unix 系統(tǒng)上的 snmp 軟件, 包含一套 snmp agent 框架 ,一個 snmpd 和 一堆 snmp 工具 , 其前身為 ucd-snmp. 關(guān)于 snmp 是什么, 以及如何配置的文章,網(wǎng)上搜一下有一堆一堆的. 在這里就不重復(fù)了.
squid 是一個 web 緩存加速程序, 本來跟監(jiān)控沒有太大關(guān)系, 只是因為他支持 snmp 查詢,而我要用 cacti 監(jiān)控他, 然后遇到了他的缺陷被折騰了一陣子,所以也拉進(jìn)今天的討論.
我跟這三個東西斗爭的過程如下…
首先先把 cacti 架起來, 在架的過程中我沒有遇到問題,但是把 czz 搞了一下, 因為 cacti 要調(diào)用外部程序, 不能開 safe_mode, 如果開了就會出奇怪問題.
接下來配置 squid 的查詢, squid 的查詢數(shù)據(jù)比較多且復(fù)雜,自己做模版的話很麻煩,于是 google 了一下,找了一個 SquidStats (見附件) 的模版, 按照他的 readme 一步一步來, 就可以正常安裝. 于是我就遇到了第一個坎…
設(shè)置完成以后執(zhí)行 poller 的時候總是無法產(chǎn)生 rrd 數(shù)據(jù), 給 php 里面加 log 也沒有看出來什么, google 換了很多關(guān)鍵詞, 總算發(fā)現(xiàn)了原因: cacti 在進(jìn)行 snmp 查詢之前會先確定對方是否在運(yùn)行, 他用的方法是查詢 .1.3.6.1.2.1.1.3.0 這個 oid, 但是 squid 不支持這個 oid , 于是 cacti 就以為 squid down 了,不去真正查詢. 臨時解決方法是在 cacti 的 settings 里面, poller 頁的 Downed Host Detection 選擇 Ping, 不要選擇帶有 snmp 字樣的.
然后在弄 64 位機(jī)的時候遇到了第二個坎, 發(fā)現(xiàn) 64 位 linux 機(jī)器的流量圖總是不正確. 大部分時候沒有結(jié)果,有時候又特大, 其實這個應(yīng)該很容易想到是 counter 回繞不正確的問題, 但是我第一次 google 出來的結(jié)果是一個說和 tunnel 設(shè)備有關(guān)的 bug, 這兩臺 x64 機(jī)器上面確實有 tunnel ,于是我就一直以為是 tunnel 的問題. 折騰了好久. 最后才發(fā)現(xiàn)原來就是簡單的 counter 回繞不正確的問題. 從 Fedora Core 5 的開發(fā)目錄里面下一個 net-snmp 5.3 的 srpm 在 centos 4.2 上 build 一下, 就搞定了. 注意 FC4 里面的 net-snmp 5.2.x 也是有 bug 的,一定要 5.3 的.
最后推薦所有研究 cacti 的人,一定不要放過 cacti 的官方論壇擴(kuò)展腳本版面 . 里面有很多的第三方的模版和腳本, 支持很多的網(wǎng)絡(luò)設(shè)備.
#p#
Cacti Nagios比較
cacti 和 nagios 是不同功用的系統(tǒng), nagios 適合監(jiān)視大量服務(wù)器上面的大批服務(wù)是否正常, 重點并不在圖形化的監(jiān)控, 其集成的很多功能例如報警,都是 cacti 沒有或者很弱的. cacti 主要用途還是用來收集歷史數(shù)據(jù)和畫圖, 所以界面比 nagios 漂亮很多
1. 主要對流量及主機(jī)在線狀態(tài)監(jiān)控軟件,如最初的MRTG,PRGT,CACTI,Hobbit,
2. 能對服務(wù)器的關(guān)鍵服務(wù)及進(jìn)程進(jìn)行監(jiān)控的軟件,如Big Brother,Nagios,
zabbix
zabbix是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案。 zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運(yùn)營;并提供柔軟的通知機(jī)制以讓系統(tǒng)管理員快速定位/解決存在的各種問題。
zabbix由2部分構(gòu)成,zabbix server與可選組件zabbix agent。
zabbix server可以通過SNMP,zabbix agent,ping,端口監(jiān)視等方法提供對遠(yuǎn)程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運(yùn)行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平臺之上。
zabbix agent需要安裝在被監(jiān)視的目標(biāo)服務(wù)器上,它主要完成對硬件信息或與操作系統(tǒng)有關(guān)的內(nèi)存,CPU等信息的收集。zabbix agent可以運(yùn)行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系統(tǒng)之上。
zabbix server可以單獨監(jiān)視遠(yuǎn)程服務(wù)器的服務(wù)狀態(tài);同時也可以與zabbix agent配合,可以輪詢zabbix agent主動接收監(jiān)視數(shù)據(jù)(trapping方式),同時還可被動接收zabbix agent發(fā)送的數(shù)據(jù)(trapping方式)。
另外zabbix server還支持SNMP (v1,v2),可以與SNMP軟件(例如:net-snmp)等配合使用。
zabbix的主要特點:
- 安裝與配置簡單,學(xué)習(xí)成本低
- 支持多語言(包括中文)
- 免費(fèi)開源
- 自動發(fā)現(xiàn)服務(wù)器與網(wǎng)絡(luò)設(shè)備
- 分布式監(jiān)視以及WEB集中管理功能
- 可以無agent監(jiān)視
- 用戶安全認(rèn)證和柔軟的授權(quán)方式
- 通過WEB界面設(shè)置或查看監(jiān)視結(jié)果
- email等通知功能
等等
Zabbix主要功能:
- CPU負(fù)荷
- 內(nèi)存使用
- 磁盤使用
- 網(wǎng)絡(luò)狀況
- 端口監(jiān)視
- 日志監(jiān)視
【編輯推薦】