我們的團隊非常高興地分享一個免費的開源監控系統已經發布的消息
4.2 版本是生命、宇宙和一般監控主要問題的答案嗎?我們來看看吧!
讓我們回想一下,Zabbix 是一個通用系統,用於監控伺服器、工程和網路設備、應用程式、資料庫、虛擬化系統、容器、IT 服務和 Web 服務的效能和可用性。
Zabbix 實現了一個完整的周期,從收集數據、處理和轉換數據、分析接收到的數據,到儲存數據、視覺化和使用升級規則發送警報。該系統還提供靈活的選項來擴展資料收集和警報方法,以及透過 API 的自動化功能。單一Web介面實現了監控配置的集中管理以及對各個使用者群組的存取權限的分配。項目代碼在許可證下免費分發
Zabbix 4.2 是一個新的非 LTS 版本,官方支援週期縮短。對於注重軟體產品長生命週期的用戶,我們建議使用LTS版本,例如3.0和4.0。
那麼,我們來談談4.2版本的新功能和主要改進:
更多官方平台
除了現有的官方軟體包之外,我們還提供以下新版本:
- RaspberryPi、Mac OS/X、SUSE Enterprise Linux Server 12
- Windows 代理程式的 MSI
- Docker 鏡像
內建 Prometheus 支援應用程式監控
Zabbix 可以透過多種方式(推/拉)從不同的資料來源收集資料。這些是 JMX、SNMP、WMI、HTTP/HTTPS、RestAPI、XML Soap、SSH、Telnet、代理和腳本以及其他來源。現在就來迎接普羅米修斯的支持吧!
嚴格來說,由於 HTTP/HTTPS 資料元素類型和正規表示式,過去可以從 Prometheus 導出器收集資料。
然而,由於內建了對 PromQL 查詢語言的支持,新版本允許您盡可能有效地使用 Prometheus。使用依賴指標可以讓您最有效地收集和處理數據:您要求一次數據,然後我們根據必要的指標進行排序。
值得注意的是,低階發現現在可以使用收集的數據自動產生指標。在這種情況下,Zabbix將接收到的資料轉換為JSON格式,使用起來非常方便。
目前還有更多
有效的高頻監測
我們想盡快發現問題嗎?當然,毫無疑問!通常,這種方法會導致我們需要過於頻繁地輪詢設備和收集數據,這會為監控系統帶來更大的負載。如何避免這種情況?
我們在預處理規則中實作了節流機制。本質上,限制讓我們有機會跳過相同的值。
假設我們正在監視關鍵應用程式的狀態。我們每秒都會檢查我們的應用程式是否正常運作。同時,Zabbix從1(工作)和0(不工作)接收連續的資料流。例如:1111111111110001111111111111...
當我們的應用程式一切正常時,Zabbix 只會收到一個串流。它們需要經過處理嗎?一般來說,不會,因為我們只對改變應用程式的狀態感興趣,我們不想收集和儲存這麼多資料。因此,如果某個值與前一個值相同,則透過限制可以跳過該值。因此,我們只會收到有關狀態變更的數據,例如 01010101...這對於檢測問題來說已經足夠了!
Zabbix 只是忽略缺失值,它們不會記錄在歷史中,並且不會以任何方式影響觸發器。從 Zabbix 的角度來看,不存在缺失值。
偉大的!我們現在可以非常頻繁地輪詢設備並立即檢測問題,而無需在資料庫中儲存不必要的資訊。
圖形呢?由於缺乏數據,它們將為空!如果大部分資料遺失,如何判斷 Zabbix 是否正在收集資料?
我們也想過這個問題! Zabbix 提供了另一種類型的節流,即心跳節流。
在這種情況下,儘管重複的資料流,Zabbix 仍會在指定的時間間隔內儲存至少一個值。如果每秒收集一次數據,並且間隔設定為一分鐘,那麼 Zabbix 會將每秒的單位流轉換為每分鐘的流。很容易看出,這導致接收資料壓縮了 60 倍。
現在我們確信資料正在被收集,nodata() 觸發函數正在工作,並且圖表一切正常!
驗證收集的資料和錯誤處理
我們誰都不想收集錯誤或不可靠的數據。例如,我們知道溫度感測器應傳回 0°C 到 100°C 之間的數據,任何其他值應被視為錯誤和/或忽略。
現在,可以使用預處理內建的資料驗證規則來確定是否符合正規表示式、值範圍、JSONPath 和 XMLPath。
現在我們可以控制對錯誤的反應。如果溫度超出範圍,那麼我們可以簡單地忽略這樣的值,設定預設值(例如 0°C),或定義我們自己的錯誤訊息,例如「感測器損壞」或「更換電池」。
使用驗證的一個很好的例子是能夠檢查輸入資料是否存在錯誤訊息並為整個指標設定此錯誤。從外部 API 檢索資料時,這是一個非常有用的功能。
使用 JavaScript 進行任何資料轉換
如果內建預處理規則對我們來說還不夠,我們現在提供使用自訂 JavaScript 腳本的完全自由!
這為處理傳入資料開啟了無限的可能性。此功能的實際好處是我們不再需要用於執行任何資料操作的外部腳本。現在這一切都可以使用 JavaScript 來完成。
現在資料轉換、聚合、過濾、算術和邏輯運算等等都成為可能!
測試預處理
現在我們不必猜測複雜的預處理腳本是如何運作的。現在有一個方便的方法可以直接從介面檢查預處理是否正常工作!
我們每秒處理數百萬個指標!
在 Zabbix 4.2 之前,預處理由 Zabbix 伺服器專門處理,這限制了使用代理程式進行負載分配的能力。
從 Zabbix 4.2 開始,我們透過對代理端預處理的支援獲得了極其高效的負載擴展。現在代理就可以做到!
與節流結合,這種方法可以實現高頻、大規模的監控和每秒數百萬次的檢查,而無需加載中央 Zabbix 伺服器。代理處理大量數據,但由於節流,只有一小部分數據到達 Zabbix 伺服器,減少了一兩個數量級。
更容易發現底層
回想一下,低階發現(LLD)是一種非常強大的機制,可以自動發現任何類型的監控資源(檔案系統、進程、應用程式、服務等),並基於它們自動建立資料項目、觸發器、網路節點等。對象。這節省了令人難以置信的時間,簡化了配置,並允許在具有不同監控資源的主機之間使用一個範本。
低階發現需要特殊格式的 JSON 作為輸入。就這樣吧,不會再有這樣的事了!
Zabbix 4.2 允許低階發現 (LLD) 使用 JSON 格式的任意資料。為什麼它如此重要?例如,您可以與外部 API 進行通信,而無需借助腳本,並使用收到的資訊自動建立主機、資料元素和觸發器。
與 JavaScript 支援結合,這為建立用於處理各種資料來源的範本創造了絕佳的機會,例如雲端 API、應用程式 API、XML、CSV 格式的資料等等。
可能性確實是無限的!
TimescaleDB 支持
什麼是TimescaleDB?這是常規 PostgreSQL 加上 TimescaleDB 團隊的擴充模組。由於更有效率的演算法和資料結構,TimescaleDB 有望提供更好的效能。
另外,TimescaleDB的另一個優點是對有歷史記錄的表進行自動分區。 TimescaleDB 快速且易於維護!儘管如此,我應該指出,我們的團隊尚未與常規 PostgreSQL 進行認真的效能比較。
目前,TimescaleDB 是一個相當年輕且發展迅速的產品。謹慎使用!
輕鬆的標籤管理
如果以前只能在觸發層級管理標籤,現在標籤管理更加靈活。 Zabbix 支援模板和主機的標籤!
所有偵測到的問題不僅會收到觸發器的標籤,還會收到主機的標籤以及該主機的範本。
更靈活的自動註冊
Zabbix 4.2 允許您使用正規表示式按名稱過濾主機。這使得為不同的網路節點組創建不同的檢測場景成為可能。如果我們使用複雜的設備命名規則就特別方便。
更靈活的網路發現
另一個改進涉及網路節點的命名。現在可以在網路發現期間管理設備名稱並從度量值取得設備名稱。
這是一個非常必要的功能,特別是對於使用 SNMP 和 Zabbix 代理的網路發現。
檢查通知方法的功能
現在您可以直接從 Web 介面向自己發送測試訊息,並檢查通知方法是否有效。此功能對於測試將 Zabbix 與各種警報系統、任務系統以及其他外部程式和 API 結合的腳本特別有用。
Zabbix基礎設施組件的遠端監控
現在可以遠端監控 Zabbix 伺服器和代理程式的內部指標(Zabbix 元件的效能指標和運作狀況)。
它是做什麼用的?此功能可讓您從外部監控伺服器和代理程式的內部指標,即使元件本身過載或代理程式上有大量未發送的數據,您也可以快速偵測並通知問題。
電子郵件的 HTML 格式支持
現在,由於 HTML 格式的支持,我們不再局限於純文本,還可以創建精美的電子郵件。是時候學習 HTML + CSS 了!
從網卡存取外部系統
自訂 URL 中支援一整套新宏,以便更好地將地圖與外部系統整合。例如,您可以透過點擊一到兩次網路節點的圖示來開啟任務系統中的票證。
發現規則可以是依賴資料項
為什麼這是必要的——你可能會問。這允許底層指標數據用於發現和直接數據收集。例如,在從 Prometheus 匯出器收集資料的情況下,Zabbix 將發出 HTTP 請求,並立即將收到的資訊用於所有依賴的資料元素:指標值和低階發現規則。
在地圖上可視化問題的新方法
現在支援地圖上的動畫 GIF 圖像,以便更直觀地顯示問題。
Web監控中從HTTP標頭中擷取數據
在 Web 監控中,新增了從接收到的 HTTP 標頭中選擇資料的功能。
這允許您使用在步驟之一中獲得的授權令牌來建立多步驟 Web 監控或第三方 API 監控場景。
Zabbix Sender 使用所有 IP 位址
Zabbix Sender 現在透過代理程式設定檔中的 ServerActive 參數將資料傳送到所有 IP 位址。
觸發配置中方便的新過濾器
觸發器配置頁面現在具有擴展的過濾器,可根據指定條件快速方便地選擇觸發器。
顯示準確時間
這裡一切都很簡單,現在 Zabbix 會顯示您將滑鼠懸停在圖表上時的確切時間。
其他創新
- 實施了一種更可預測的算法來更改儀表板中小部件的順序
- 能夠批次更改資料項原型的參數
- IPv6 支援 DNS 檢查:“net.dns”和“new.dns.record”
- 為“vmware.eventlog”檢查新增了“skip”參數
- 預處理步驟執行錯誤包括步驟編號
如何升級?
若要從早期版本升級,您只需安裝
我們正在為那些想要了解有關 Zabbix 4.2 的更多資訊並有機會向 Zabbix 團隊提問的人們舉辦免費的網路研討會。
別忘了流行
有用的鏈接
-
-
-
來源: www.habr.com