cacti,zabbix,nagios各自原理及區別
cacti原理:
1,構件(步驟):
net_snmp:負責數據采集
rrdtool:數據存儲以及繪圖
mysql:保存模板和主機對應的信息
數據采集:cacti使用poller(輪詢器)收集數據,主要使用snmp協議從遠端的設備上收集數據。
數據存儲:cacti使用rrdtool(環形數據庫)存儲收集到的數據(時間序列數據)。rrd會將原始數據與整合到的數據進行合並,以使得歷史數據的存儲節省空間。
數據展示:rrdtool繪圖功能。
2,工作原理:
net_snmp協議定時采集數據,保存到rrd,當用戶需要查看某個主機對應的監控信息的時候可以在MySQL中尋找對應的主機ip等信息,然後在命令rrd繪制出圖形
3,監控對象:
網絡流量,cpu使用率,硬盤使用率等
zabbix原理:
1,構造:
agent:被監控對象
server:負責數據收集
proxy:代理
2,原理:
主被動模式:
主被動模式是相對於客戶端來說的,主動就是客戶端主動將采集的數據發送給server端,而被動模式是server過來告訴agent自己需要什麽東西,agent采集。
zabbix和nagios的報警機制一樣,通過插件模板來實現
3,監控對象:
網絡狀態
自帶監控項比較多
nagios原理:
1,構件:
主程序(Nagios Daemon):Nagios的主部件,實現了監控,性能,通知,事件處理功能。這些功能都是抽象的邏輯和調度,並沒有實際的與設備交互的監控實現,與設備的交互都是在下面一層的
Web Interface: Nagios的Web頁面,Nagios的Web容器是Apache HTTPD,Nagios開發了一個HTTPD模塊,並提供Web頁面。Web Interface與Nagios Daemon之間通過文件接口交互,Web邏輯讀取Nagios的狀態文件(status.dat),展示其監控信息。
插件程序(nagios-plugins)
四個可選的附件(NRPE,NSCA,NSClient++,NDOUtils)
NDOUtils:用來將Nagios的配置信息和各event產生的數據存入數據庫,以實現這些數據的減速和快速處理 (服務端)
NRPE NSClient:工作在客戶端
NSCA:被動(讓被監控的主機主動將監控信息發送給服務器)
需要同時安裝在服務端和客戶端NSCA ---send-nsca
2,原理:
基於狀態的改變來實現報警,當狀態改變之後會先不警告(軟狀態),當兩次采集之後狀態都改變了再通知(硬狀態)
3,監控對象:註重主機和服務的監控
自帶監控項比較少
cacti,zabbix,nagios各自原理及區別