基于Gitlab实现Prometheus告警规则热更新

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

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

  • 在gitlab中创建项目和prometheus的告警规则
  • 为项目创建runner并进行注册
  • 创建流水线

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

图片图片

图片图片

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

2.为项目创建runner并进行注册

创建runner

图片图片

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

注册runner

图片图片

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

3.创建流水线并执行验证

创建流水线

图片

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

验证

图片图片

图片图片

图片图片

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

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

责任编辑:武晓燕 来源: 新钛云服
相关推荐

2021-08-27 07:06:10

应用

2023-03-26 08:41:37

2023-09-12 07:11:33

Prometheus聚合告警GPT

2021-03-31 08:02:34

Prometheus 监控运维

2020-12-30 05:34:25

监控PrometheusGrafana

2021-08-03 08:35:36

Vuex数据热更新

2021-02-18 15:36:13

PrometheusAlertmanageGrafana

2023-11-24 16:57:53

2024-07-18 00:05:58

Vite代码前端

2021-04-15 21:21:59

代码热Python函数

2022-07-29 21:23:54

Grafana微服务

2014-06-16 11:17:12

入侵检测OSSEC日志分析

2024-04-18 15:22:54

2021-04-19 10:45:52

Webpack热更新前端

2022-08-30 13:03:39

prometheusAlert

2022-09-04 17:53:20

Prometheus开源

2021-04-29 08:55:54

GitLabDevOps项目

2022-09-19 08:32:46

AOP系统机器人

2016-08-12 08:24:56

GitLab Flowmastertags版本

2024-10-12 21:05:15

点赞
收藏

51CTO技术栈公众号