Zabbix對數(shù)據(jù)的處理能力集中體現(xiàn)在Zabbixserver端。總體上,Zabbixserver采用流水線式的多進(jìn)程架構(gòu)來處理監(jiān)控?cái)?shù)據(jù),其中比較關(guān)鍵的有3類進(jìn)程,每一類又可以啟動(dòng)多個(gè)進(jìn)程。這3類進(jìn)程分別是:trapper/poller進(jìn)程,負(fù)責(zé)接收監(jiān)控?cái)?shù)據(jù);預(yù)處理進(jìn)程,負(fù)責(zé)對接收的監(jiān)控?cái)?shù)據(jù)進(jìn)行預(yù)處理;historysyncer進(jìn)程負(fù)責(zé)將監(jiān)控?cái)?shù)據(jù)寫入數(shù)據(jù)庫以及計(jì)算觸發(fā)器表達(dá)式并生成event。這3類進(jìn)程之間可以通過共享內(nèi)存和Unix域套接字實(shí)現(xiàn)進(jìn)程間通信。這里沒有展開講lld進(jìn)程,是因?yàn)閘ld進(jìn)程處理的是底層自動(dòng)發(fā)現(xiàn)的數(shù)據(jù),并不是嚴(yán)格意義上的監(jiān)控值。Zabbixserver的數(shù)據(jù)IO。國產(chǎn)zabbix技術(shù)指導(dǎo)
Prometheus是一個(gè)具有***內(nèi)置功能的工具,因此Prometheus用戶無需安裝各種插件或守護(hù)程序即可收集指標(biāo)。服務(wù)檢測也是自動(dòng)的。Prometheus可以定期從目標(biāo)系統(tǒng)中采集指標(biāo)。也可以使用推送機(jī)制收集指標(biāo)。由于Zabbix**初是為監(jiān)控服務(wù)器而開發(fā)的,因此它專注于主機(jī)。從用戶的角度來看,Zabbix分為兩大部分:服務(wù)端和代理端。服務(wù)用于收集和存儲統(tǒng)計(jì)數(shù)據(jù),代理用于采集數(shù)據(jù)。Zabbix代理支持被動(dòng)(輪詢)和主動(dòng)檢查。被動(dòng)檢查是指Zabbix服務(wù)向Zabbix代理請求一個(gè)值,代理處理該請求并將該值返回給Zabbix服務(wù)。主動(dòng)檢查是指Zabbix代理從Zabbix服務(wù)請求一個(gè)主動(dòng)檢查列表,然后定期發(fā)送結(jié)果。在沒有安裝代理選項(xiàng)的情況下,Zabbix可以檢查網(wǎng)絡(luò)服務(wù)的可用性,以及執(zhí)行遠(yuǎn)程命令。國產(chǎn)zabbix技術(shù)指導(dǎo)Zabbix 應(yīng)用常見問題和故障解決方法!
監(jiān)控?cái)?shù)據(jù)的邏輯視角:監(jiān)控?cái)?shù)據(jù)首先特點(diǎn)是具有相互獨(dú)立性。在不同的數(shù)據(jù)處理階段,這種**性會體現(xiàn)在不同的層面,在數(shù)據(jù)采集階段會體現(xiàn)在value層面,如果不考慮日志監(jiān)控的話,同一監(jiān)控項(xiàng)的多次數(shù)據(jù)采集之間不會互相影響,相當(dāng)于是無狀態(tài)的。在數(shù)據(jù)傳輸階段,也就是從agent發(fā)送數(shù)據(jù)到server接收數(shù)據(jù)的階段,**性體現(xiàn)在host層面,不同的host使用不同的地址和接口進(jìn)行數(shù)據(jù)傳輸,互不影響,而在同一個(gè)host內(nèi)部,每次傳輸?shù)臄?shù)據(jù)往往包含多個(gè)監(jiān)控項(xiàng)的值。
Zabbix是由AlexeiVladishev開發(fā)的一種網(wǎng)路監(jiān)視、管理系統(tǒng),基于Server-Client架構(gòu)??捎糜诒O(jiān)視各種網(wǎng)路服務(wù)、伺服器和網(wǎng)路機(jī)器等狀態(tài)。Zabbix使用MySQL、PostgreSQL、SQLite、Oracle或IBMDB2儲存資料。Server端基于C語言、Web前端則是基于PHP所制作的。Zabbix可以使用多種方式監(jiān)視??梢灾皇褂肧impleCheck不需要安裝Client端,亦可基于SMTP或HTTP等各種協(xié)定做死活監(jiān)視。在客戶端如UNIX、Windows中安裝ZabbixAgent之后,可監(jiān)視CPU負(fù)荷、網(wǎng)路使用狀況、硬碟容量等各種狀態(tài)。而就算沒有安裝Agent在監(jiān)視對象中,Zabbix也可以經(jīng)由SNMP、TCP、ICMP檢查,以及利用IPMI、SSH、telnet對目標(biāo)進(jìn)行監(jiān)視。另外,Zabbix包含XMPP等各種Item警示功能。Zabbix的授權(quán)是屬于GPLv2。Zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運(yùn)營,并提供靈活的通知機(jī)制以讓系統(tǒng)管理員快速定位/解決存在的各種問題。是一個(gè)基于WEB界面的提供企業(yè)級的開源分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案。zabbix監(jiān)控?cái)?shù)據(jù)的單獨(dú)性—邏輯視角!
即使這樣,當(dāng)configuration syncer進(jìn)程持有寫鎖時(shí),其他進(jìn)程將無法訪問元數(shù)據(jù)。對這一問題的優(yōu)化,Zabbix采用臨界區(qū)**小化以及拆分臨界區(qū)的方式,將元數(shù)據(jù)的同步過程拆分為依次執(zhí)行的多個(gè)同步序列,每個(gè)序列結(jié)束后都會暫時(shí)釋放寫鎖,從而給其他進(jìn)程運(yùn)行的機(jī)會。這些序列總體上是先同步主機(jī)信息,然后同步監(jiān)控項(xiàng)信息,***同步觸發(fā)器和事件處理相關(guān)的信息。在使用讀寫鎖的情形下,單純的讀鎖基本不會影響多進(jìn)程的執(zhí)行進(jìn)度,而一旦寫鎖介入就會對所有其他進(jìn)程產(chǎn)生排斥效果。zabbix支持CyberArk vault進(jìn)行機(jī)密存儲,確保安全。在線zabbix套餐
漫談Zabbix和Prometheus !國產(chǎn)zabbix技術(shù)指導(dǎo)
假若當(dāng)前有個(gè)新的監(jiān)控要求:業(yè)主希望快速將一批主機(jī)的某個(gè)監(jiān)控項(xiàng)關(guān)聯(lián)到一張圖上來(非grpfunc疊加),即以CPU、MEM、DISK等維度縱向?qū)Ρ冗@批主機(jī)的資源使用情況。很顯然,當(dāng)主機(jī)數(shù)超過一定量時(shí)手工創(chuàng)建會非??菰锖头爆?,所幸Zabbix提供了API。我們通過分析Zabbix Docs中的圖表接口,得知要提供的主機(jī)HostID、監(jiān)控項(xiàng)鍵值ItemID,使用到的Zagbix Method主要有:User Host HostGroup Item Graph等5種方法。如上圖,描述本次批量創(chuàng)建圖表的主要腳本邏輯,即先獲取Zabbix的身份驗(yàn)證令牌,然后查詢主機(jī)或主機(jī)群獲得其HOSTID,接著以HOSTID依次獲取指定監(jiān)控鍵值ID加入列表池,***一次性請求進(jìn)行圖表創(chuàng)建。國產(chǎn)zabbix技術(shù)指導(dǎo)
上海觀縱科技有限公司致力于傳媒、廣電,是一家服務(wù)型的公司。公司業(yè)務(wù)涵蓋webfunny前端監(jiān)控,webfunny前端埋點(diǎn),全鏈路應(yīng)用性能監(jiān)控,Argus-IT運(yùn)維監(jiān)控等,價(jià)格合理,品質(zhì)有保證。公司注重以質(zhì)量為中心,以服務(wù)為理念,秉持誠信為本的理念,打造傳媒、廣電良好品牌。觀縱科技立足于全國市場,依托強(qiáng)大的研發(fā)實(shí)力,融合前沿的技術(shù)理念,及時(shí)響應(yīng)客戶的需求。