天天看點

PrometheusAlert+pushgateway接入實戰說明PrometheusAlert 自定義模闆驗證自定義資料報警關于自定義模闆變量Alertmanager結合PrometheusAlert模闆做基于标簽路由分發

基本測試環境部署,詳見:prometheus+alertmanager+prometheusalert+飛書容器化部署實戰

關于飛書機器人使用,詳見:自定義機器人指南

關于 prometheusalet 自定義模闆詳見:自定義告警消息模版使用說明

關于 prometheusalert 部署詳見:kubernetes中部署prometheusalert并使用mysql作後端存儲,如果隻是測試,可以直接使用sqlite3

使用該功能需要使用者對go語言的template模版有一些初步了解,可以參考預設模版的一些文法來進行自定義。

模版資料等資訊均存儲在程式目錄的下的db/prometheusalertdb.db中。

使用飛書建立自己的通知機器人,詳見:prometheusalert飛書配置

打開飛書告警通道,更改 prometheusalert yaml中配置檔案:

浏覽器通路:<code>http://your-ip:30036/test</code>

PrometheusAlert+pushgateway接入實戰說明PrometheusAlert 自定義模闆驗證自定義資料報警關于自定義模闆變量Alertmanager結合PrometheusAlert模闆做基于标簽路由分發

這時,我們就可以在飛書上看到測試資訊了,如下:

PrometheusAlert+pushgateway接入實戰說明PrometheusAlert 自定義模闆驗證自定義資料報警關于自定義模闆變量Alertmanager結合PrometheusAlert模闆做基于标簽路由分發

我們這裡為了測試,簡單定義幾條資料,并将其推送至pushgateway,友善我們驗證自定義模闆功能。

更多的 pushgateway 使用,詳見基于prometheus的pushgateway實戰

浏覽器通路 prometheusalert 模闆:<code>http://your-ip:30036/template</code>,點選“添加模闆”,建立一個名為<code>ai-01-fs</code>的模闆,點選“儲存模闆”,如下:

PrometheusAlert+pushgateway接入實戰說明PrometheusAlert 自定義模闆驗證自定義資料報警關于自定義模闆變量Alertmanager結合PrometheusAlert模闆做基于标簽路由分發

更改你的alertmanager的配置,将所有告警資訊都轉發到prometheusalert自定義接口,參考如下:

更新 prometheus 規則檔案,添加 pushgateway 報警規則,如下:

重新開機 prometheus 容器:

上面我們已經完成了基本告警條件準備工作,下面我們通過用戶端 <code>post</code>資料至pushgateway,prometheus拉取pushgateway裡資料,經過alertmanager報警規則觸發,到prometheusalert自定義ai-01-fs模闆,最後飛書機器人發送該報警資訊,流程如下:

PrometheusAlert+pushgateway接入實戰說明PrometheusAlert 自定義模闆驗證自定義資料報警關于自定義模闆變量Alertmanager結合PrometheusAlert模闆做基于标簽路由分發

浏覽器通路:<code>http://your-ip:30037/</code>

PrometheusAlert+pushgateway接入實戰說明PrometheusAlert 自定義模闆驗證自定義資料報警關于自定義模闆變量Alertmanager結合PrometheusAlert模闆做基于标簽路由分發

如果想删除該監控名額,點選頁面右上角“delete group”,或指令行:

浏覽器通路:<code>http://your-ip:9090/</code>

PrometheusAlert+pushgateway接入實戰說明PrometheusAlert 自定義模闆驗證自定義資料報警關于自定義模闆變量Alertmanager結合PrometheusAlert模闆做基于标簽路由分發

浏覽器通路:<code>http://your-ip:9093/#/alerts</code>

PrometheusAlert+pushgateway接入實戰說明PrometheusAlert 自定義模闆驗證自定義資料報警關于自定義模闆變量Alertmanager結合PrometheusAlert模闆做基于标簽路由分發
PrometheusAlert+pushgateway接入實戰說明PrometheusAlert 自定義模闆驗證自定義資料報警關于自定義模闆變量Alertmanager結合PrometheusAlert模闆做基于标簽路由分發

prometheusalert上也有說,我這裡跟大家再簡單說明下。

進入 prometheusalert 容器中檢視收到的日志消息,當我們在用戶端 post 資料時,動态列印 prometheusalert logs:

可以拿到如下資料:

繼續截取日志中的json内容,通過任意json格式化工具進行格式化如下:

然後對照該json開始編寫模版,并在dashboard上進行添加,示例模版如下:

上面的json内容也可以粘貼在dashboard上“消息協定json内容“,用來模拟測試。添加完自定義模闆後,主要一定要點選儲存。

我們建立兩個機器人,将其加入不同的群聊中。

浏覽器打開pushgateway:<code>http://your-ip:30037/</code>

PrometheusAlert+pushgateway接入實戰說明PrometheusAlert 自定義模闆驗證自定義資料報警關于自定義模闆變量Alertmanager結合PrometheusAlert模闆做基于标簽路由分發

飛書報警資訊:

PrometheusAlert+pushgateway接入實戰說明PrometheusAlert 自定義模闆驗證自定義資料報警關于自定義模闆變量Alertmanager結合PrometheusAlert模闆做基于标簽路由分發
PrometheusAlert+pushgateway接入實戰說明PrometheusAlert 自定義模闆驗證自定義資料報警關于自定義模闆變量Alertmanager結合PrometheusAlert模闆做基于标簽路由分發

繼續閱讀