前言
監控系統的重要性不言而喻,國內用的最多的應該是 Zabbix 和 Prometheus,其優缺點:
- Zabbix 是資產管理式,監控數據存在數據庫中,擅長設備監控,不擅長微服務和云原生環境的監控;推出時間較早,社區活躍度較高
- Prometheus 是云原生環境的監控利器,支持多維度的指標數據,自研存儲引擎,但是告警引擎是單點,使用配置文件管理規則,缺少權限化管理的 WebUI,如果把監控能力開放給公司所有團隊,讓各個團隊自服務,就比較困難
隨著云的發展,Zabbix 感覺是依托于存量市場,而 Prometheus 是未來的大勢所趨。那 Prometheus 的缺點應該如何解決呢?推薦大家了解一下夜鶯(Nightingale)開源項目。
夜鶯介紹
夜鶯項目 github 地址是 https://github.com/ccfos/nightingale 。其中 ccfos 是哪家公司?其實,ccfos 不是家公司,ccf 是中國計算機學會的縮寫,os 是 open source 的縮寫,ccfos 是中國計算機學會開源項目的統一地址。夜鶯項目最初由滴滴開源,后來捐贈給中國計算機學會進行托管了。
目前,夜鶯項目的 github star 數量在 9300 多,fork 數量在 1300 多,相當于每 7 個 star,就有一次 fork,docker pull 的數量 178000,增長曲線非常健康。
夜鶯產品架構
夜鶯核心是做一個高可用的告警引擎,支持多數據源接入,很多公司都有多個 Prometheus、VictoriaMetrics、Thanos,希望統一管理告警規則,于是,夜鶯的產品架構圖如下:
用戶配置的告警規則,可以同時生效到多個時序庫,不需要為每個時序庫分別配置告警規則。另外,對于有些公司有多個機房,網絡鏈路不太好,時序庫可能分散在多個機房,夜鶯支持把告警引擎下沉部署到各個機房,即便和中心機房的網絡鏈路中斷,也不影響邊緣機房的告警。架構圖如下:
下面我們介紹一下夜鶯的優勢和劣勢。
夜鶯優勢1:靈活的告警規則
夜鶯主要是告警引擎這塊做得最方便,告警規則的配置也較為靈活,告警規則支持級別抑制、生效時間配置、事件 relabel、告警屏蔽、告警訂閱、告警自愈等等。告警規則的配置界面如下:
- 數據源支持配置多個,也可以選擇全部,即:一條告警規則生效到多個數據源
- 告警規則支持多條,可以啟用級別抑制,編寫 promql 時可以調出內置指標,方便編寫
- 事件 relabel 是對告警事件的二次處理,比如 drop 掉一些不想要的標簽
- 生效時間用于配置告警規則的生效時間,比如只在工作日生效,周末不生效,或者只在白天生效,晚上不生效,或者不同時段不同閾值
- 告警自愈是告警觸發之后,自動執行一些腳本,串聯一些固定止損操作
- 回調地址是告警觸發之后,調用第三方接口,比如釘釘、飛書等,進行告警通知,也可以對接各個公司自定義的接口
夜鶯優勢2:內置很多最佳實踐
夜鶯除了對接時序庫,還可以對接各類采集器 agent,比如 telegraf、categraf、datadog-agent、各類 exporter 等,不同的數據庫、中間件都有提供一些現成的儀表盤、告警規則,這樣可以快速上手,省心不少。下面是夜鶯內置的模板中心:
很多朋友不會寫 promql,但是 promql 在 Prometheus 生態里又極為重要,那能否讓一些資深工程師提前寫好,沉淀下來,普通工程師直接用呢?夜鶯支持的指標視圖就是干這個事的,目前已經內置沉淀了幾百個 promql,開箱即用。
夜鶯的劣勢1:儀表盤不如 grafana
雖然已經內置了不少儀表盤了,但是還是不如 grafana 那么豐富,grafana 在看圖這塊確實無出其右,夜鶯內置的那些儀表盤,如果你覺得夠用了,就用,如果覺得不夠用,建議還是上 grafana,下圖是夜鶯內置的一個儀表盤樣例:
夜鶯的劣勢2:告警降噪能力不夠
夜鶯側重在多數據源告警、告警規則統一管理,支持郵件、企微、飛書、釘釘等通知媒介,通過自定義通知腳本,也可以實現電話、短信通知,即常用的通知媒介都是支持的,不支持的寫個腳本也可以支持。但是告警收斂降噪、排班、認領、升級、和 IM 深度打通等功能,還是不夠(可能我想要的太多??)。
夜鶯核心研發團隊搞了一個 FlashDuty 的 SaaS 產品,專門做這塊,但是 FlashDuty 是收費的,不是開源的。FlashDuty 有免費套餐,對于小公司可以白嫖。當然,FlashDuty 就不止是針對夜鶯了,也可以對接其他監控系統,比如 Prometheus、Zabbix、各類云監控、藍鯨、SkyWalking 等。核心邏輯就是:這些監控系統負責產生告警事件,統一發給 FlashDuty,FlashDuty 負責事件后續處理,比如告警降噪、排班、認領、升級、和 IM 深度打通等功能。
總結
夜鶯沒有 Prometheus 的用戶廣,不過夜鶯和 Prometheus 是協同關系,不是非此即彼,夜鶯的企業用戶有上千家,比如移動、聯通、電信、米哈游、莉莉絲、途游、悠星、高濟、益豐、大參林、方正證券、國泰君安、海底撈、???、搜狐、新浪等,分布在各行各業。夜鶯開源項目的背后有商業公司(flashcat.cloud)在持續運作支持,而且托管在基金會,發展具有可持續性,推薦大家在日常工作中嘗試。
內容源自SRETalk
(如有侵權請聯系刪除)
?今日福利?
掃碼無償領取
本文鏈接:http://www.thecarconnectin.com/46752.html
網友評論comments