cacti原理:mysql
1,構件(步驟):ios
net_snmp:負責數據採集sql
rrdtool:數據存儲以及繪圖數據庫
mysql:保存模板和主機對應的信息服務器
數據採集:cacti使用poller(輪詢器)收集數據,主要使用snmp協議從遠端的設備上收集數據。網絡
數據存儲:cacti使用rrdtool(環形數據庫)存儲收集到的數據(時間序列數據)。rrd會將原始數據與整合到的數據進行合併,以使得歷史數據的存儲節省空間。ide
數據展現:rrdtool繪圖功能。性能
2,工做原理:spa
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的主部件,實現了監控,性能,通知,事件處理功能。這些功能都是抽象的邏輯和調度,並無實際的與設備交互的監控實現,與設備的交互都是在下面一層的Plugin種實現的,這些就是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,監控對象:注重主機和服務的監控
自帶監控項比較少