《ZABBIX全棧級監(jiān)控實踐》系列將由淺入深探討如何實現(xiàn)ZABBIX全棧級別的監(jiān)控。
本文是《ZABBIX全棧級監(jiān)控實踐》的第一篇:主要討論全棧級監(jiān)控的主要需求,以及ZABBIX在實現(xiàn)全棧級監(jiān)控中的優(yōu)勢。
一、引論
隨著移動互聯(lián)網(wǎng)、Fintech等概念的 流行,對于IT從業(yè)人員的技術(shù)要求越來越高。更是有企業(yè)在招聘時,直接提出了招聘全棧工程師。什么是全棧,ZABBIX對于全棧級監(jiān)控有什么優(yōu)勢?我們逐一講解。
二、全棧的概念
對于IT運維人員而言,所謂全棧(Full-Stack),包含了從前端到后端的所有運維知識體系,包括但不限于:
客戶端(用戶操作系統(tǒng),POS機等)
網(wǎng)絡(luò)層(機房、專線、網(wǎng)絡(luò)設(shè)備等)
接入層(負(fù)載均衡、反向代理等)
應(yīng)用服務(wù)層(中間件、數(shù)據(jù)庫、自研應(yīng)用等)
操作系統(tǒng)(Windows,Linux,AIX等)
虛擬化(vmWare,Hyper-V,Xen等)
存儲(NetApp,EMC,陣列等)
硬件(華為,HP,DELL等)
……
以上是粗略的前端到后端所需技能及平臺,現(xiàn)實中全棧會包含更多的維度,每個維度中也會有更多的內(nèi)容。高效運維社區(qū)的趙班長整理出了一張相對完整的運維全棧的知識體系,可參考該運維知識體系。
由于從前端到后端的種種耦合性和依賴關(guān)系,任何一個環(huán)節(jié)的故障發(fā)生,都有可能導(dǎo)致業(yè)務(wù)中斷。對于IT監(jiān)控平臺而言,盡可能全面的監(jiān)控上述維度中的平臺、內(nèi)容,會有效減少依賴IT專業(yè)人員人工定位故障的頻率,提升企業(yè)業(yè)務(wù)連續(xù)性的RTO和RPO。
三、為什么使用ZABBIX進行全棧級監(jiān)控?
目前市場上有很多商業(yè)的和開源的軟件:微軟的System Center Operations Manager;IBM的Tivoli;VMware的vSphere with Operations Management套件等,都能對廠商的自有平臺提供深入監(jiān)控。如果企業(yè)生產(chǎn)環(huán)境中,只存在一兩個廠商的產(chǎn)品,不存在多樣性,那么用這些廠商自有的系統(tǒng)管理套件就足夠了。
而對于大多數(shù)企業(yè)而言,IT基礎(chǔ)環(huán)境是一個無比復(fù)雜的異構(gòu)體。很少有公司只用cisco交換機,只用Windows操作系統(tǒng),只用HP的服務(wù)器,或者只用NetApp存儲。在這個由大量的廠商和品牌充斥IT基礎(chǔ)架構(gòu)環(huán)境中,似乎并沒有提供一個統(tǒng)一協(xié)議或者標(biāo)準(zhǔn)來實現(xiàn)全棧級監(jiān)控。廠商的系統(tǒng)管理平臺可以進行深入監(jiān)控,但現(xiàn)實中的異構(gòu)IT基礎(chǔ)架構(gòu),對監(jiān)控平臺的廣度有更多的要求。
當(dāng)然,還碰到過一些自研發(fā)的廠商,號稱所有產(chǎn)品的監(jiān)控都能做,結(jié)果發(fā)現(xiàn),的確什么都能監(jiān)控,存儲、交換機、服務(wù)器都能監(jiān)控,但只能監(jiān)控到可用性:ICMP。而至于更深層的性能:比如磁盤IO,數(shù)據(jù)庫性能,存儲延遲之類的,都無從下手……因此,一個合格的監(jiān)控系統(tǒng)需要提供一定的深度監(jiān)控:可用性監(jiān)控,性能監(jiān)控,甚至是日志監(jiān)控。
ZABBIX在廣度和深度這兩個維度尋找到了一個很好的平衡點。
ZABBIX可以通過JAVA GATEWAY進行原生的應(yīng)用級監(jiān)控,包括JVM的狀態(tài),連接數(shù)等。對于其他的中間件和數(shù)據(jù)庫,也有相應(yīng)的模版可供使用。
對于操作系統(tǒng),ZABBIX官方也提供了一些模版,對常見的Windows,Linux等操作系統(tǒng)進行監(jiān)控。其中也包含了很多如磁盤IO的性能監(jiān)控項。
通過SNMP協(xié)議,ZABBIX可以對交換機和存儲的性能及可用性進行監(jiān)控。
ZABBIX可以對底層的硬件進行監(jiān)控,可以通過IPMI帶外協(xié)議監(jiān)控每個磁盤、每個內(nèi)存、每個CPU的狀態(tài),甚至是某個風(fēng)扇的轉(zhuǎn)速。
Zabbix監(jiān)控平臺支持的監(jiān)控方式多種多樣:
以上只是ZABBIX監(jiān)控平臺覆蓋的一部分。除了這兩點以外,相比于其他系統(tǒng)管理平臺,ZABBIX還有以下的優(yōu)勢:
開源性:源代碼全公開,任何用戶都可以編譯和發(fā)布自己的版本。同時,ZABBIX社區(qū)中有大量的模版。
可擴展性:支持用戶自定義監(jiān)控項,只要能想得到的KPI,基本都能監(jiān)控的到。
分布式:分布式架構(gòu),提供多分支組織的IT監(jiān)控解決方案。同時,也一定程度上分散監(jiān)控壓力。
無商業(yè)版本:平臺本身沒有商業(yè)版和社區(qū)版本的區(qū)分,ZABBIX母公司只對商業(yè)服務(wù)收費(如培訓(xùn)、定制開發(fā)、部署服務(wù)等)。
Zabbix其他的主要功能還有:
高可用、高負(fù)載(可監(jiān)控幾萬臺Hosts)
自動發(fā)現(xiàn)網(wǎng)絡(luò)設(shè)備和服務(wù)器
低級別發(fā)現(xiàn)(LLD)
集中式管理、分布式監(jiān)控
同時支持Polling和Trapper兩種監(jiān)控方式
高性能的監(jiān)控代理
無代理的監(jiān)控方式
JMX監(jiān)控
Web監(jiān)控
安全的用戶認(rèn)證機制
靈活的用戶權(quán)限配置
基于WEB的接口
基于SLA、ITIL KPI的報表
靈活的EMAIL通知及事件預(yù)定義
商業(yè)產(chǎn)品級別的DashBoard和Screen
日志審計
……
Zabbix上述特性,滿足了我們對全棧級別監(jiān)控的要求,在本系列的后續(xù)文章中,將會向大家介紹如何使用ZABBIX監(jiān)控進行全棧式監(jiān)控。