云原生监控系统Prometheus——Alertmanager 与 Prometheus 集成

Alertmanager 与 Prometheus 集成

  这里我们使用 Prometheus 的默认配置文件 prometheus.yml 来实现 Prometheus server 与 alertmanager 组件的关联,并对告警规则及其模版内容进行介绍。

一、与 Alertmanager 关联

  Prometheus 把生产的告警发送给 Alertmanager 进行告警处理时,需要在 Prometheus 使用的配置文件中添加关联 Alertmanager 组件的对应配置内容。

  1. 编辑 prometheus.yml 文件加入关联 Alertmanager 组件的访问地址,示例如下:
    alerting:
      alertmanagers:
          - static_configs:
                 - targets:
                        - 192.168.2.121:9093
  2. 添加监控 Alertmanager 与监控 Prometheus 操作过程一样,Alertmanager 公开了相关指标。可以在 prometheus 文件中创建一个 Prometheus job 来监控 Alertmanager 组件示例地址,内容如下:
    - job_name: 'Alertmanager'
          static_configs:
              - targets: ['192.168.2.121:9093']
  3. 配置完成后,重新启动 Prometheus 服务对配置内容热加载。通过浏览器访问 Prometheus Web UI,可以看到 Alertmanager 已经在 target 列表中,并且已经是 UP状态了,图:略。

二、告警规则

  告警规则文件使用 YAML 格式进行定义,在 Prometheus server 中使用 PromQL 配置实际告警触发条件,Prometheus 会根据告警规则及配置周期进行周期性计算,若满足触发条件则会触发告警通知。告警规则的加载是在 prometheus.yml 文件中进行配置,默认情况下 Prometheus 对设置的告警规则进行计算的时间间隔是 1分钟,可以使用 global 中的 evaluation_interval 配置选项设置间隔时间。例如:

global:
    evaluation_interval: 15s

  告警规则可以直接指定文件,也可以指定到特定的目录下,为了方便管理也可以把告警规则则拆分成多个文件,以特定的命名格式被 Prometheus.yml 指定后加载,例如:

rule_files: 
      - "/usr/local/prometheus/current/rules/*_rules.yml" - 
      - "second_rules.yml"

  我们先看一个简单的 demo 示例:

 

posted @ 2022-08-02 12:46  左扬  阅读(381)  评论(0编辑  收藏  举报
levels of contents