Zabbix 4.2 发布:支持Prometheus数据收集,可扩展性大大提升
4月2日,Zabbix正式發(fā)布了Zabbix 4.2版本。Zabbix具備現(xiàn)代監(jiān)控系統(tǒng)所應(yīng)提供的一切功能,包括數(shù)據(jù)收集與處理、分布式監(jiān)控、實時問題與異常檢測、警報、升級、乃至可視化等等。
下面是Zabbix4.2版本的一些新特性。
新的官方支持平臺
除了現(xiàn)有官方工具包與設(shè)備之外,Zabbix 4.2版本還將適用于以下平臺:
?\t面向RaspberryPi 的Zabbix工具包;
?\t面向SUSE Enterprise Linux Server的Zabbix工具包;
?\t面向Mac OS/X的Zabbix代理;
?\t面向?MSI for Windows的Zabbix代理;
?\tZabbix?Docker鏡像。
感興趣的朋友可以在查看完整的可用平臺選項。
內(nèi)置對Prometheus數(shù)據(jù)收集的支持
Zabbix能夠以多種不同方式(push/pull)從各類數(shù)據(jù)源收集數(shù)據(jù),具體包括JMX、SNMP、WMI、HTTP/HTTPS、RestAPI、XML Soap、SSH、Telnet、代理、腳本以及其它數(shù)據(jù)源。現(xiàn)在,Zabbix開始支持Prometheus數(shù)據(jù)源。
現(xiàn)在,Zabbix通過對PromQL語言原生的支持實現(xiàn)了對導(dǎo)出工具的集成。此外,依賴性指標的引入,使得Zabbix能夠以高效方式收集大量Prometheus指標:我們使用單一HTTP調(diào)用獲取所有數(shù)據(jù),而后將其復(fù)用為對應(yīng)的相關(guān)指標。
Zabbix還能夠?qū)rometheus數(shù)據(jù)轉(zhuǎn)換為JSON格式,從而直接用于低級別發(fā)現(xiàn)(LLD)。
高效的高頻監(jiān)控能力
我們都希望能盡快發(fā)現(xiàn)問題。但大多數(shù)情況下,這意味著我們必須以極為頻繁的方式執(zhí)行檢查,最終有可能導(dǎo)致監(jiān)控系統(tǒng)過載。那么我們該如何避免這種情況?非常簡單——對預(yù)處理頻率進行throttling,從而幫助我們跳過遞歸值。
現(xiàn)在,我們能夠以高頻度方式收集數(shù)據(jù),立即發(fā)現(xiàn)問題,且無需在Zabbix數(shù)據(jù)庫當中保留過多歷史數(shù)據(jù)。而在對heartbeat進行throttling后,我們可以獲取漂亮的graph。
數(shù)據(jù)驗證與錯誤處理
我們當然不希望收集到錯誤的數(shù)據(jù)。利用Zabbix 4.2,大家可以通過內(nèi)置的預(yù)處理規(guī)則解決這個問題。這些規(guī)則利用JSONPath或者XMLPath對正則表達式進行匹配,并根據(jù)結(jié)果實現(xiàn)數(shù)據(jù)驗證。
現(xiàn)在,用戶還能夠從收集到的數(shù)據(jù)當中提取錯誤消息。對于來自外部API的錯誤而言,這種能力將大大簡化操作流程。
利用JavaScript實現(xiàn)數(shù)據(jù)預(yù)處理
在Zabbix 4.2當中,可以充分利用以JavaScript編寫而成的用戶自定義腳本來實現(xiàn)多種強大的功能。
對JavaScript的支持將大大提升用戶的數(shù)據(jù)預(yù)處理自由度。事實上,用戶現(xiàn)在可以將全部外的部腳本替換為JavaScript形式。
如此一來,用戶將能夠?qū)崿F(xiàn)各類數(shù)據(jù)轉(zhuǎn)換、聚合、篩選、算術(shù)以及邏輯運算等。
通過UI測試預(yù)處理規(guī)則
隨著預(yù)處理能力的快速演進,用戶當然還需要一款能夠驗證復(fù)雜場景的工具。Zabbix 4.2允許大家直接通過Web UI對這些預(yù)處理規(guī)則進行測試!
每秒處理數(shù)百萬項指標
在4.2版本之前,全部預(yù)處理任務(wù)都由Zabbix服務(wù)器單獨處理。Zabbix 4.2的可擴展能力大大提升——一切預(yù)處理功能,都可以由代理負責執(zhí)行。
將基于代理的預(yù)處理機制與throttling相結(jié)合,意味著大家將能夠執(zhí)行高頻監(jiān)控、每秒收集數(shù)百萬個值,且完全不必擔心Zabbix服務(wù)器發(fā)生過載。代理程序會對收集到的數(shù)據(jù)執(zhí)行大量預(yù)處理操作,而服務(wù)器實際只接收其中的一小部分數(shù)據(jù)。
輕松實現(xiàn)低級別發(fā)現(xiàn)
低級別發(fā)現(xiàn)(LLD)是一種非常有效的工具,用于自動發(fā)現(xiàn)各類資源(包括文件系統(tǒng)、進程、應(yīng)用程序以及服務(wù)等),并自動創(chuàng)建與之相關(guān)的指標、觸發(fā)器以及graph。這款工具能夠極大地節(jié)省用戶地時間與精力,僅利用單一模板即可監(jiān)控具有不同資源的目標設(shè)備。
Zabbix 4.2支持基于任意JSON輸入的處理方式,這反過來允許直接與外部API通信,并利用接收到的數(shù)據(jù)自動創(chuàng)建主機、指標與觸發(fā)器。
與JavaScript的預(yù)處理功能相結(jié)合,Zabbix 4.2現(xiàn)在得以創(chuàng)造出多種多樣的模板選項,從而輕松應(yīng)對云API、應(yīng)用程序API、XML內(nèi)數(shù)據(jù)、JSON或者其它格式下的外部數(shù)據(jù)源。
支持TimescaleDB
憑借著更高效的算法與面向性能的數(shù)據(jù)結(jié)構(gòu)設(shè)計,TimescaleDB的性能更加出色。
TimescaleDB的另一大重要優(yōu)勢在于自動表分區(qū),這將顯著提高性能并(與Zabbix結(jié)合使用)對歷史數(shù)據(jù)進行全自動管理。然而,必須承認的是,Zabbix團隊一直沒有對此進行過任何嚴格的基準測試。此外,在生產(chǎn)環(huán)境下運行TimescaleDB所帶來的具體性能提升,也一直難以量化。
因此就目前來講,TimescaleDB仍是一個快速發(fā)展且相當年輕的項目,請大家謹慎加以使用。
簡化標簽管理
在Zabbix 4.2版本之前,用戶只能為各獨立trigger設(shè)置標簽。現(xiàn)在,隨著對模板及主機標簽的支持能力成為現(xiàn)實,Zabbix的標簽管理效率也將得到提升。
所有檢測到的問題不僅會從trigger當中獲取標簽信息,同時亦能夠從主機與相應(yīng)的模板內(nèi)獲取標簽信息,從而確保判斷的正確性。
更靈活的自動注冊機制
Zabbix 4.2自動注冊選項使我們能夠根據(jù)正則表達式過濾主機名稱。在需要為各種主機集合創(chuàng)建不同的自動注冊場景時,這項功能至關(guān)重要。另外,如果大家的設(shè)備采用非常復(fù)雜的命名約定,則可使用正則表達式進行匹配,從而提升管理效率。
控制主機名稱以實現(xiàn)自動發(fā)現(xiàn)
另一項改進與自動發(fā)現(xiàn)期間的主機命名有關(guān)。Zabbix 4.2允許用戶將接收到的指標數(shù)據(jù)分配為主機名稱與可見名稱。
這項功能意義重大,能夠幫助大家實現(xiàn)網(wǎng)絡(luò)發(fā)現(xiàn)的高度自動化,且特別適合于使用Zabbix或者SNMP代理的場景。
通過Web UI測試媒體類型
Zabbix 4.2允許大家立足前端發(fā)送測試消息或者檢查已經(jīng)選定的警報方法,從而判斷其是否能夠如預(yù)期般正常運作。在對接入外部警報與幫助臺系統(tǒng)的集成腳本進行檢查時,這項功能可謂意義重大。
對Zabbix組件進行遠程監(jiān)控
Zabbix 4.2引入了對Zabbix服務(wù)器與代理的內(nèi)部性能與可用性指標的遠程監(jiān)控。不僅如此,這項功能還允許用戶發(fā)現(xiàn)與Zabbix相關(guān)的問題并在組件過載情況下發(fā)布提醒,例如代理中的本地緩沖區(qū)內(nèi)已經(jīng)存儲了大量數(shù)據(jù)。
電子郵件格式良好
Zabbix 4.2在郵件消息當中支持HTML格式。這意味著大家不再局限于純文本,而可以利用HTML及CSS的所有功能發(fā)布更好、更易于閱讀的警報消息。
通過網(wǎng)絡(luò)映射訪問遠程服務(wù)
現(xiàn)在,網(wǎng)絡(luò)映射支持一組新的宏選項,用于創(chuàng)建指向外部系統(tǒng)的、由用戶定義的URL,允許大家立足服務(wù)臺或者配置管理系統(tǒng)要開外部提交申報,或者僅使用一到兩次鼠標點擊即執(zhí)行任何其它操作。
將LLD規(guī)則作為依賴性指標
此項功能允許我們同時利用主指標的接收值作為數(shù)據(jù)收集與LLD規(guī)則。如果從Prometheus導(dǎo)出工具收集數(shù)據(jù),則Zabbix將只執(zhí)行一次HTTP查詢,而查詢結(jié)果將立即被用于所有相關(guān)指標標準(LLD規(guī)則與指標值)。
映射動畫
Zabbix 4.2提供GIF動圖支持功能,從而使映射中的問題更易于發(fā)現(xiàn)。
從HTTP標頭中提取數(shù)據(jù)
Web監(jiān)控使用戶能夠從HTTP標頭當中提取數(shù)據(jù)。
憑借這一功能,我們現(xiàn)在可以利用從過程中某一步驟收取到的身價驗證令牌為Web監(jiān)控及外部API創(chuàng)建多步驟場景。
Zabbix Sender將數(shù)據(jù)推送至全部IP地址
Zabbix Sender現(xiàn)在能夠?qū)⒅笜藬?shù)據(jù)發(fā)送至全部IP地址。這些IP地址由Zabbix Agent配置文件中的“ServerActive”參數(shù)進行定義。
觸發(fā)器配置過濾器
現(xiàn)在,觸發(fā)器頁面配置迎來了一款出色的擴展過濾器,能夠根據(jù)指定標準快速困難地選擇對應(yīng)的觸發(fā)器。
在graph工具提示中顯示確切時間
這是一項重要性不那么突出,但卻效果拔群的改進。Zabbix將能夠在graph工具提示中顯示時間戳。
其它重要改進
- 對儀表板中的小工具進行非破壞性尺寸調(diào)整與重新排序。
- item原型的批量更新。
- DNS相關(guān)檢查已支持IPv6(“net.dns”與“new.dns.record”)。
- 用于VMware事件日志檢查“vmware.eventlog”的“skip”參數(shù)。
- 經(jīng)過擴展的預(yù)處理錯誤消息,將中間步驟結(jié)果納入其中。
Zabbix使用手冊當中提供一份完整清單,其中列舉出了擴展信息以及與Zabbix 4.2版本相關(guān)的發(fā)展、改進與最新功能。
總結(jié)
以上是生活随笔為你收集整理的Zabbix 4.2 发布:支持Prometheus数据收集,可扩展性大大提升的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Reflection
- 下一篇: nginx 认证多个客户端的问题