【Prometheus】Prometheus告警规则配置

  1. 进入prometheus-server安装节点
  2. 进入prometheus配置文件目录,新建rules文件夹,该文件夹用于存放告警规则文件,并且规定文件名后缀为.yml(规则文件命名格式可以自定义,只要和prometheus.yml文件配置的rule_files匹配上即可)
  3. 修改prometheus.yml文件配置rule_files为"rules/*.yml"
  4. 在2向欧盟口岸的ris文件夹下  新建一个规则文件instance_down_rule.yml进行测试。规则文件配置如下:
groups:
  - name: Test-Group-001
    rules:
      - alert: InstanceDown
        expr: up == 0
        for: 1m
        labels:
          severity: warning
        annotations:
          summary: "服务 {{ $labels.instance }} 下线了"
          description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 1 minutes."

对于以上配置项的说明如下:

  • name: 指定组的名字,在这个规则文件中必须要唯一。
  • alert: 指定告警的名字,在组中需要唯一。
  • expr: 告警表达式, 执行结果为true时,表示需要告警。表达式遵循PromQL语法。
  • for:代表超过多少时间才认为需要告警(即告警表达式成立需要持续的时间)。

对于以上定义的规则文件说明如下:
   对于被Prometheus监控的服务器,我们都有一个up指标,可以知道该服务是否在线;up == 0 表示服务下线了,up == 1 表示服务在线。因此,该规则文件的作用是对于下线超过1分钟的服务,产生告警信息。

  1. 重启prometheus-server,查看prometheus.yml,验证下前面修改的rule_files配置是否生效。
  2. 可以通过prometheus自带的promtool命令检测我们的配置文件是否编写正确。
promtool check config prometheus.yml
  1. 进到prometheus server的Alerts页面,可以查看到配置的告警规则已经生效。

告警数据有以下三个状态:

  • Inactive:表示没有达到告警的阈值,即expr表达式不成立。
  • Pending:表示达到了告警的阈值,即expr表达式成立了,但是未满足告警的持续时间,即for的值。
  • Firing:已经达到阈值,且满足了告警的持续时间。
  1. 由于目前测试环境prometheus监控的服务都正常,因此不会产生告警,为了方便测试,停止kafka服务,可观察到告警。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值