新鈦雲服已累計為您分享805篇技術乾貨
Prometheus的告警規則一般都是在伺服器中進行編輯修改,然後在過載prometheus,全程需要命令列敲程式碼進行操作,這些操作對於運維來說沒有什麼難度,但對於研發或者不清楚告警部署的人來說,還是會有一些不方面,因此本文透過gitlab程式碼管理平臺的流水線來實現prometheus告警規則的現在編輯,主要分以下步驟:
-
在gitlab中建立專案和prometheus的告警規則
-
為專案建立runner並進行註冊
-
建立流水線


建立專案,並將所有告警規則放在main分支下
建立runner

在專案設定的CI/CD中建立runner,注意runner的標籤需要設為空並勾選上允許執行未打標籤的作業或在後面的流水線中設定相同的標籤
註冊runner

根據步驟在伺服器上註冊runner,建議將runner部署到gitlab伺服器
建立流水線

在專案構建的流水線編輯器中編寫流水線,設定為只有當分支中的yaml檔案有更新才執行,執行內容為遠端到prometheus伺服器上,下載gitlab倉庫中的告警規則,替換告警規則檔案並重載pronetheus
示例:
deploy-job:
stage: deploy
environment: production
script:
- echo "Deploying application..."
- ssh -v root@192.168.118.12 -p58422 "cd /data/apps/prometheus;rm -rf alert;git clone ssh://[email protected]:9922/ops/alert.git;time=\$(date +\"%Y%m%d\");mv alter_rules alter_rules_bak\${time};mkdir alter_rules;cp -a alert/* alter_rules;curl -X POST http://localhost:9090/-/reload"
- echo "Application successfully deployed."
only:
changes:
- "*.yaml"
驗證



修改告警規則後可在構建的作業彙總檢視流水線執行情況
注意,prometheus需要開啟熱載入web.enable-lifecycle
如有相關問題,請在文章後面給小編留言,小編安排作者第一時間和您聯絡,為您答疑解惑。