本文介绍如何在ARMS告警管理中接入自建Prometheus的告警事件。

背景信息

开源Prometheus支持将报警上报到Alertmanager中,通过配置Promethues.yaml文件中的<alertmanager_config>可以将报警上报到云端的报警中心,更多信息,请参考[alertmanager_config]

ARMS告警管理提供了与开源完全兼容的Alertmanager报警通知能力,通过集成Prometheus可以将自建Prometheus报警上报到ARMS告警管理中。

创建集成并接入自建Prometheus

  1. 登录ARMS控制台
  2. 在左侧导航栏选择告警管理 > 集成
  3. 集成页面的支持集成区域单击PROMETHEUS
  4. 添加集成配置向导页面中,进行以下配置:
    1. 基本信息向导页输入集成名称描述,然后单击下一步
    2. 根据不同的Prometheus实例选择接入Prometheus的方法,然后单击下一步

      使用Promethues-Operator管理的Prometheus实例

      1. 在本地创建arms-alertmanager-config.yaml文件,并将以下内容粘贴到文件中。
        - scheme: https
          bearer_token: ie2iiiya2yu2qequym6JJNre
          static_configs:
            - targets: ['alerts.aliyuncs.com']
      2. 通过arms-alertmanager-config.yaml文件创建名为arms-am-config的secret。
        kubectl create secret generic arms-am-config --from-file=arms-alertmanager-config.yaml
      3. 在本地创建prometheus-patch.yaml文件,并将以下内容粘贴到文件中。
        spec:
          additionalAlertManagerConfigs:
            key: arms-alertmanager-config.yaml
            name: arms-am-config
      4. 执行以下命令获取Prometheus对象。
        kubectl get prometheus

        返回示例:

        NAME                                                VERSION   REPLCAS   AGE
        prometheus-operator-160879-prometheus               v2.18.2   1         4d1h
      5. 执行以下命令将prometheus-patch.yaml文件更新到Prometheus对象中。
        kubectl patch prometheus prometheus-operator-160879-prometheus --patch "$(cat prometheus-patch.yaml)" --type=merge

      其他方式自行搭建的Prometheus实例

      1. 修改prometheus.yaml配置文件,添加如下配置。
        alerting:
            alertmanagers:
            - scheme: https
            bearer_token: eyJhbGciOiJIUzUxMiJ9.******
            static_configs:
            - targets:
              - alerts.aliyuncs.com
      2. 在浏览器中访问Prometheus的配置页面,检查prometheus.yaml文件是否已修改。
    3. 告警源配置向导页根据需求配置自动恢复告警事件的时间和事件重定义字段,然后单击保存
      告警运维中心-集成Prometheus
      说明
      • 单击向导页底部的+添加扩展字段可以自定义新的告警事件字段。
      • 事件重定义字段只能用变量和字符组成的jsonPath格式。
      参数 说明
      告警源配置
      自动恢复告警事件 相同名称和等级的告警,在设置的时间内的多次上报会被合并为一条告警。当一条告警超过设置的时间后不再产生,则该告警状态自动变为已解决。
      事件重定义
      告警样本值 监控指标的触发值。
      告警等级 设置告警等级的映射字段。默认映射如下:
      • critical:P1
      • error:P2
      • warning:P3
      • page:P4
      开始时间 事件开始时间的时间戳。
      告警描述 告警事件的详细信息,用于告警通知。最多支持15000字符。
      对象类型 告警事件的对象类型,例如:主机。
      告警类型 告警事件的来源,集成类型。
      告警名称 自定义告警的名称。
      事件对象 事件对象的名称,最多支持512个字符。例如:主机test_10.101.1.1。
      事件地址 事件详细信息地址。
      结束时间 事件结束时间的时间戳。

管理集成

对于已经创建的集成,您可以进行以下操作:

  • 查看集成:如果您需要查看集成的详细信息,单击目标集成所在行,在集成详情页面查看集成的详细信息。
  • 更新密钥:如果您需要修改集成的密钥,在目标集成右侧操作列选择更多 > 更新密钥,在弹出的对话框中单击确认
    说明 更新秘钥后,请重新接入自建Prometheus,具体操作,请参见 创建集成并接入自建Prometheus
  • 编辑:如果您需要修改集成信息,在目标集成右侧操作列单击编辑,在集成详情页面修改集成信息,然后单击图标。
  • 启用:如果您需要启用禁用状态的集成,在目标集成右侧操作列单击启用
  • 禁用:如果您需要禁用启用状态的集成,在目标集成右侧操作列单击禁用
  • 删除:如果您需要删除集成,在目标集成右侧操作列单击删除,在弹出的对话框中单击确认