1. zabbix簡介
Zabbix是一個企業(yè)級的高度集成的開源監(jiān)控軟件弊予,提供了分布式監(jiān)控解決方案祥楣,可以用來監(jiān)控設(shè)備、服務(wù)等的可用性和性能块促。其產(chǎn)品不分企業(yè)版和社區(qū)版荣堰,是一個真正的源碼開放產(chǎn)品,用戶可以自由下載并使用該軟件竭翠。
Zabbix SIA是Zabbix技術(shù)團隊的公司載體振坚,其運作模式是商業(yè)軟件開源,即軟件完全開源斋扰,供用戶免費使用渡八,但若需要官方提供技術(shù)服務(wù),則通過收費的商業(yè)模式传货。其提供的服務(wù)范圍包括咨詢屎鳍、技術(shù)支持、定制開發(fā)问裕、解決方案逮壁、培訓(xùn)認(rèn)證等。
- Zabbix官網(wǎng):http://www.zabbix.com粮宛。
- 官方論壇:http://www.zabbix.com/forum/窥淆。
- 代碼托管平臺:http://sourceforge.net/projects/zabbix/files/卖宠。
- Wiki:https://www.zabbix.com/wiki。
- Zabbix體驗:https://zabbix.org/zabbix/dashboard.php忧饭。
2. 為何選擇Zabbix作為監(jiān)控系統(tǒng)
對比同類監(jiān)控產(chǎn)品扛伍,有以下理由選擇使用Zabbix。
(1)Zabbix是一個自由開放源碼的產(chǎn)品词裤,用戶可以對源碼進行任意修改和二次開發(fā)刺洒。Zabbix采用GNU General Public License (GPL)version 2開源協(xié)議。
(2)安裝和配置簡單吼砂,用戶僅需要一些簡單的學(xué)習(xí)逆航,即可完成監(jiān)控系統(tǒng)的搭建工作。
(3)搭建環(huán)境簡單帅刊,基于開源軟件構(gòu)建平臺纸泡,只需要Linux漂问、Apache/Nginx赖瞒、MySQL/PostgreSQL/Oracle、PHP即可蚤假,無需專用操作系統(tǒng)的支持栏饮,也無需專用硬件。
(4)Zabbix-Agent完全支持Linux磷仰、UNIX袍嬉、Windows、AIX灶平、BSD和Solaris的監(jiān)控伺通,Zabbix-Server和Zabbix-Agent采用C語言編寫,對系統(tǒng)資源的占用非常少逢享,數(shù)據(jù)采集的性能非常好罐监,速度非常快瞒爬。
(5)可將采集到的數(shù)據(jù)持久地存儲到數(shù)據(jù)庫中弓柱,便于對監(jiān)控數(shù)據(jù)的二次分析。
(6)具有非常強的擴展能力侧但,可以很輕松地自定義監(jiān)控項和實現(xiàn)數(shù)據(jù)采集矢空,幾乎能監(jiān)控所有的數(shù)據(jù)。例如禀横,可以監(jiān)控網(wǎng)站的訪問次數(shù)屁药、UPS和天氣溫度等。毫不夸張地說柏锄,在Zabbix的世界里酿箭,只有想不到的事情立莉,沒有辦不到的事情。
(7)采用開源社區(qū)的運作模式七问,有各種論壇蜓耻、郵件列表、IM及時溝通渠道等械巡。
(8)由Zabbix授權(quán)的公司提供商業(yè)服務(wù)支持刹淌。
3. zabbix版本
http://repo.zabbix.com/zabbix/
我們來看一看Zabbix官方對各版本的支持策略,如圖所示讥耗。我們看到有勾,非LTS的版本均為實驗版本,每6個月發(fā)布一個新版本古程。因此蔼卡,對于生產(chǎn)環(huán)境版本的選擇,我們盡量選擇LTS版本挣磨,可享受長期更新支持服務(wù)雇逞。
對于版本的命名,每6個月會在LTS版本的基礎(chǔ)上增加一個X.2的版本茁裙,18個月后塘砸,新的LTS版本發(fā)布如圖所示。
4. Zabbix優(yōu)點
優(yōu)點
1晤锥、開源掉蔬,無軟件成本投入
2、Server 對設(shè)備性能要求低
3矾瘾、支持設(shè)備多女轿,自帶多種監(jiān)控模板
4、支持分布式集中管理壕翩,有自動發(fā)現(xiàn)功能蛉迹,可以實現(xiàn)自動化監(jiān)控
5、開放式接口戈泼,擴展性強婿禽,插件編寫容易
6、當(dāng)監(jiān)控的item 比較多服務(wù)器隊列比較大時可以采用被動狀態(tài)大猛,被監(jiān)控客戶端主動從 server 端去下載需要監(jiān)控的item 然后取數(shù)據(jù)上傳到server 端扭倾。這種方式對服務(wù)器的負(fù)載比較小。
7挽绩、Api 的支持膛壹,方便與其他系統(tǒng)結(jié)合
5. Zabbix 監(jiān)控原理
Zabbix 通過C/S 模式采集數(shù)據(jù),通過B/S模式在web 端展示和配置。
被監(jiān)控端:主機通過安裝agent 方式采集數(shù)據(jù)模聋,網(wǎng)絡(luò)設(shè)備通過SNMP 方式采集數(shù)據(jù)
Server 端:通過收集SNMP 和agent 發(fā)送的數(shù)據(jù)肩民,寫入數(shù)據(jù)庫(MySQL,ORACLE 等)链方,再通過php+apache 在web 前端展示持痰。
Zabbix監(jiān)控過程邏輯圖
6. Zabbix 監(jiān)控類型
硬件監(jiān)控 適用于物理機、遠(yuǎn)程管理卡(iDRAC)祟蚀,IPMI(只能平臺管理接口)
ipmitools:工窍,MegaCli(查看Raid磁盤)
系統(tǒng)監(jiān)控: 監(jiān)控cpu:lscpu、uptime前酿、top患雏、vmstat 1 、mpstat 1罢维、htop
監(jiān)控內(nèi)存: free -m淹仑、
監(jiān)控硬盤:df -h、iotop
監(jiān)控網(wǎng)絡(luò):iftop肺孵、netstat匀借、ss
應(yīng)用服務(wù)監(jiān)控:nfs、MySQL悬槽、nginx怀吻、apache瞬浓、php初婆、rsync
所有監(jiān)控范疇,都可以整合到Zabbix中
硬件監(jiān)控:Zabbix猿棉、IPMI磅叛、lnterface
系統(tǒng)監(jiān)控:Zabbix、Agent萨赁、Interface
Java監(jiān)控:Zabbix弊琴、JMX、lnterface
網(wǎng)絡(luò)設(shè)備監(jiān)控:Zabbix杖爽、SNMP敲董、lnterface
應(yīng)用服務(wù)監(jiān)控:Zabbix、Agent慰安、UserParameter
MySQL數(shù)據(jù)庫監(jiān)控:percona-monitoring-plulgins
URL監(jiān)控:Zabbix Web監(jiān)控
7. ## Zabbix 相關(guān)術(shù)語
1腋寨、主機(host):要監(jiān)控的網(wǎng)絡(luò)設(shè)備,可由IP或DNS名稱指定化焕;
2萄窜、主機組(host group):主機的邏輯容器,可以包含主機和模板,但同一個組織內(nèi)的主機和模板不能互相鏈接查刻;主機組通常在給用戶或用戶組指派監(jiān)控權(quán)限時使用键兜;
3、監(jiān)控項(item):一個特定監(jiān)控指標(biāo)的相關(guān)的數(shù)據(jù)穗泵;這些數(shù)據(jù)來自于被監(jiān)控對象普气;item是zabbix進行數(shù)據(jù)收集的核心,相對某個監(jiān)控對象佃延,每個item都由"key"標(biāo)識棋电;
4、觸發(fā)器(trigger):一個表達式苇侵,用于評估某監(jiān)控對象的特定item內(nèi)接收到的數(shù)據(jù)是否在合理范圍內(nèi)赶盔,也就是閾值;接收的數(shù)據(jù)量大于閾值時榆浓,觸發(fā)器狀態(tài)將從"OK"轉(zhuǎn)變?yōu)?Problem"于未,當(dāng)數(shù)據(jù)再次恢復(fù)到合理范圍,又轉(zhuǎn)變?yōu)?OK"陡鹃;
5烘浦、事件(event):觸發(fā)一個值得關(guān)注的事情,比如觸發(fā)器狀態(tài)轉(zhuǎn)變萍鲸,新的agent或重新上線的agent的自動注冊等闷叉;
6、動作(action):指對于特定事件事先定義的處理方法脊阴,如發(fā)送通知握侧,何時執(zhí)行操作;
7嘿期、報警升級(escalation):發(fā)送警報或者執(zhí)行遠(yuǎn)程命令的自定義方案品擎,如每隔5分鐘發(fā)送一次警報,共發(fā)送5次等备徐;
8萄传、媒介(media):發(fā)送通知的手段或者通道,如Email蜜猾、Jabber或者SMS等秀菱;
9、通知(notification):通過選定的媒介向用戶發(fā)送的有關(guān)某事件的信息蹭睡;
10衍菱、遠(yuǎn)程命令(remote command):預(yù)定義的命令,可在被監(jiān)控主機處于某特定條件下時自動執(zhí)行棠笑;
11梦碗、模板(template):用于快速定義被監(jiān)控主機的預(yù)設(shè)條目集合,通常包含了item、trigger洪规、graph印屁、screen、application以及l(fā)ow-level discovery rule斩例;模板可以直接鏈接至某個主機雄人;
12、應(yīng)用(application):一組item的集合念赶;
13础钠、web場景(web scennario):用于檢測web站點可用性的一個或多個HTTP請求;
14叉谜、前端(frontend):Zabbix的web接口旗吁;
下圖是一個zabbix的流程圖,其串聯(lián)了各術(shù)語之間的關(guān)系