基于gitlab实现prometheus告警规则热更新

dd572881a141740d190bd3da456b2de1.gif

 新钛云服已累计为您分享805篇技术干货

b0d362642598fe9ea81117ec4ebcefc0.gif

Prometheus的告警规则一般都是在服务器中进行编辑修改,然后在重载prometheus,全程需要命令行敲代码进行操作,这些操作对于运维来说没有什么难度,但对于研发或者不清楚告警部署的人来说,还是会有一些不方便,因此本文通过gitlab代码管理平台的流水线来实现prometheus告警规则的现在编辑,主要分以下步骤:

  • 在gitlab中创建项目和prometheus的告警规则

  • 为项目创建runner并进行注册

  • 创建流水线

01

在gitlab中创建项目和prometheus的告警规则

8905a539a3360ddfd837d30a23ae6a4b.png

d5ca719486af22b75f09b0595c1852de.png

创建项目,并将所有告警规则放在main分支下

02

为项目创建runner并进行注册

创建runner

b303393ce08fbf6aaa346e35b736522e.png

在项目设置的CI/CD中创建runner,注意runner的标签需要设为空并勾选上允许运行未打标签的作业或在后面的流水线中设置相同的标签

注册runner

cc473cce58ae30df45a2224edf7e7e13.png

根据步骤在服务器上注册runner,建议将runner部署到gitlab服务器

03

创建流水线并执行验证


创建流水线

d64665e575d4f9a195e43504a9da3ea4.png

在项目构建的流水线编辑器中编写流水线,设置为只有当分支中的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://git@192.168.180.171: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"

验证

06b7973c7b2b8ac82e27e49b8c28e150.png

1abe71058bccbf7562afceb064c9522c.png

1e33dd8b2b770feaabb9a03de3ebfe50.png

修改告警规则后可在构建的作业汇总查看流水线运行情况

注意,prometheus需要开启热加载web.enable-lifecycle

如有相关问题,请在文章后面给小编留言,小编安排作者第一时间和您联系,为您答疑解惑。

    推荐阅读   

52db26f0660eab7ba963677c23ae9702.png

392db586071090f8c5325bcbcca856a2.png

    推荐视频    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值