簡介
zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案;
zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題;
監控平臺的組成
數據採集 --> 數據存儲 --> 數據展示和分析 --> 報警
常見監控實現方案對比
cacti
優點:利用rrdtool繪圖,圖形美觀;
缺點:報警功能薄弱,不適合大規模監控場景;
nagios
優點:報警功能強大;
缺點:只關心正常與否的狀態,數據採集展示功能薄弱,不適合大規模監控場景;
zabbix
優點:
兼具cacti和nagios的優點,集數據採集、數據存儲、數據展示及報警功能爲一體;
數據存儲使用RDBMS,如MySQL等,可存儲大量歷史數據;
可以分佈式部署,適合大規模監控場景;
缺點:中文資料少,這點是可以克服的嘛;
借用網絡上的一張圖,對比各監控工具所支持的功能:
Zabbix基本功能
數據採集方式:zabbix agent,agent(active),SNMP,SSH等;
數據存儲方式:RDBMS,如MySQL,Pgsql等;
數據展示方式:php,web,gui;
報警功能:支持報警升級;
zabbix組件及基礎架構
Zabbix主要由zabbix server和zabbix agent組成;
server端負責從agent端收集監控數據,並存儲在數據庫中,同時對數據進行分析展示,並觸發相關報警;
agent端負責監控數據的採集,併發送給server端;
數據採集方式除了在被監控主機上部署agent程序外,還可通過ICMP/IPMI/SNMP等協議對網絡設備進行監控,同時配置web監控方式可以監控web頁面的下載速率和響應時間等重要參數,很有參考價值哦;
Zabbix proxy是在大規模分佈式監控場景中,採用的一種用以分擔server端壓力的分層結構,Proxy只負責一定區域內的數據採集工作,然後定期將數據一次性發送給server,極大的減輕了server的負載壓力,使得可以支持更大規模的監控需求;
一個完整的zabbix監控組成
主要術語:
Host主機:要監控的網絡設備;
Host Group主機組:主機的邏輯容器,可包含主機和模板;通常用於給用戶或用戶組指派監控權限時使用;
Item監控項:一個特定監控指標的相關數據,是數據採集的核心,每個item都由key進行唯一標識;
Trigger觸發器:用於爲監控項item所收集的數據定義閾值,觸發器的狀態在OK和PROBLEM間不斷切換;
Event事件:觸發器的狀態轉變,新的agent或重新上線的agent的自動註冊等,都會產生event;
Action動作:指對於特定event實現定義的處理方法,由通知內容、條件、操作這3部分組成;
Escalation報警升級:發送警報或執行遠程命令的自定義方案;
Media Type媒介:發送通知的手段或通道,如Email,Jabber或SMS等;
Notification通知:通過選定的media向用戶發送的有關某event的信息;
其它術語:
Remote Command遠程命令:預定義的命令,可在被監控主機處於某特定條件下自動執行;
Template模板:用於快速定義被監控主機的預設條目集合,通常包含了item、trigger、graph、screen、application等;
Application應用:一組item的集合;
Web scennaria web場景:用於檢測web站點可用性的一個或多個HTTP請求;
Frontend前端:Zabbix的web接口;
其它概念
UserParameter用戶參數:可在被監控端通過設置UserParameter的方式,獲得Zabbix預定義的key無法收集到的監控數據
語法格式:UserParameter=<key>,<command>
如:UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c alive
server端的調用的key爲:mysql.ping ,可獲得被監控主機上mysql程序的存活狀況
如:UserParameter=memory.usage[*],/bin/cat /proc/meminfo | awk '/^$1:/{print $$2}' ,帶參數的UserParameter可批量監控多個同類監控項
server端的調用的key爲memory.usage[MemFree] ,獲得被監控主機剩餘內存的數值
server端的調用的key爲memory.usage[MemTotal} ,獲得被監控主機總內存的數值
Macros宏:zabbix基於宏保存預設的文本模式,並在調用時將其替換爲其中的文本,可理解爲全局變量;
宏的名稱只能使用大寫字母、數字及下劃線;
分爲zabbix內置宏和用戶自定義宏;
內置的宏,有{HOST.NAME},{HOST.IP},{TRIGGER.NAME},{TRIGGER.DESCRIPTION}等;
用戶自定義的宏要使用{$MACRO}這種特殊的格式引用,以區別於zabbix內置的宏;
更加詳細的安裝配置操作見博客:CentOS 6.5 Zabbix監.控系統功能及基本使用