夜鶯監控(Nightingale)支援對接各類資料來源,包括 Prometheus、ElasticSearch 和 Grafana Loki 等。通過設定資料來源,夜鶯可以查詢展示這些資料來源中的監控資料,也可以對這些資料來源中的資料進行告警。
夜鶯支援對接各類資料來源,前期支援的資料來源,比如 Prometheus、VictoriaMetrics、ElasticSearch 等,既支援查詢看圖,也支援告警。後面隨著專案發展,夜鶯定位為一個告警引擎,所以新對接的資料來源,比如 ClickHouse、MySQL、Postgres 等,都是只支援告警,不支援查詢看圖。
不管是要查看資料來源裡的資料,還是對資料來源裡的資料進行告警,都需要先設定資料來源。在 整合中心-資料來源 中新增資料來源,選擇對應的資料來源類型,填寫資料來源的位址、使用者名稱、密碼等資訊,點擊儲存即可。

設定資料來源時,除了要填寫資料來源的連線位址,另一個關鍵點是要選擇關聯的告警引擎,如果你的資料來源是在邊緣機房的,並且為邊緣機房搭建了專屬的 n9e-edge,那麼就選擇對應的 n9e-edge 作為關聯的告警引擎。
資料來源設定中,表單各項基本都對應有 tooltip(就是各個 form 表單旁邊的小問號 icon,滑鼠放上去可以看到用法提示),這裡就不再贅述了。
設定完了資料來源之後,可以到 資料查詢-指標-即時查詢 查詢一下時序資料庫的資料,如果能查到資料,則表明資料來源的設定是 OK 的。
常見問題
1. 夜鶯的設定檔 config.toml 中已經設定了資料來源的 writer 位址,是否還需要在頁面上重複設定?
是的。config.toml 中的 writer 位址,是用於資料轉發鏈路,而頁面上的資料來源設定,是用於查詢和告警的。兩者是不同的概念。另外,writer 位址應該是一個 remote write 位址,而頁面上的資料來源設定通常是資料來源的基準位址。另外,很多使用者也沒有使用夜鶯轉發監控指標,所以也就沒有設定 config.toml 中的 writer 位址,僅設定了頁面上的資料來源。
2. 我想採用邊緣模式對邊緣機房的時序資料庫做告警,但是中心端的 n9e 無法連通邊緣的時序資料庫,這種情況還能用夜鶯做統一告警嗎?
可以。這類邊緣時序資料庫,仍然需要在頁面上新增,新增的時候選擇「儲存」而非選擇「測試並儲存」,這樣一來,中心端的夜鶯就不會校驗連通性,可以直接儲存成功。同時,資料來源設定的時候,要設定上時序資料庫內網位址,告警引擎選擇和時序資料庫能連通的 n9e-edge 告警引擎,屆時 n9e-edge 會使用時序資料庫內網位址進行查詢和告警。
這種情況的邊緣時序資料庫,仍然可以告警,但是在夜鶯的頁面上就沒法查詢其資料了。因為夜鶯的頁面查詢資料是通過中心端的 n9e 進行的,而中心端的 n9e 無法連通邊緣時序資料庫,所以無法查詢。