9.7. 应用自定义 Alertmanager 配置


您可以通过编辑 openshift-monitoring 项目中的 alertmanager-main secret,覆盖默认的 Alertmanager 配置。

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户身份访问集群。

流程

要从 CLI 更改 Alertmanager 配置:

  1. 将当前活跃的 Alertmanager 配置输出到 alertmanager.yaml 文件:

    $ oc -n openshift-monitoring get secret alertmanager-main --template='{{ index .data "alertmanager.yaml" }}' | base64 --decode > alertmanager.yaml
  2. 编辑 alertmanager.yaml 中的配置:

    global:
      resolve_timeout: 5m
    route:
      group_wait: 30s 1
      group_interval: 5m 2
      repeat_interval: 12h 3
      receiver: default
      routes:
      - matchers:
        - "alertname=Watchdog"
        repeat_interval: 2m
        receiver: watchdog
      - matchers:
        - "service=<your_service>" 4
        routes:
        - matchers:
          - <your_matching_rules> 5
          receiver: <receiver> 6
    receivers:
    - name: default
    - name: watchdog
    - name: <receiver>
    #  <receiver_configuration>
    1
    group_wait 值指定,Alertmanager 在为一组警报发送初始通知前要等待的时间。这个值控制 Alertmanager 在发送通知前为同一组收集初始警报时等待的时间。
    2
    group_interval 值指定 Alertmanager 发送通知添加到已经发送初始通知的一组警报前必须经过的时间。
    3
    repeat_interval 值指定重复警报通知前必须经过的最小时间。如果您希望通知在每个组间隔重复,请将 repeat_interval 值设置为小于 group_interval 的值。但是,重复的通知仍然可能延迟,例如,当某些 Alertmanager pod 重启或重新调度时。
    4
    service 值指定触发警报的服务。
    5
    <your_matching_rules> 值指定目标警报。
    6
    receiver 值指定用于警报的接收器。
    注意

    使用 matchers 键名称来指示警报要与节点匹配的匹配者。不要使用 matchmatch_re 键名称,它们都已弃用,并计划在以后的发行版本中删除。

    另外,如果您定义了禁止规则,请使用 target_matchers 键名称来指示目标匹配者和 source_matchers 键名称来指示源匹配器。不要使用 target_match,target_match_re,source_match, 或 source_match_re 键名称,这些名称已弃用,并计划在以后的发行版本中删除。

    以下 Alertmanager 配置示例将 PagerDuty 配置为警报接收器:

    global:
      resolve_timeout: 5m
    route:
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 12h
      receiver: default
      routes:
      - matchers:
        - "alertname=Watchdog"
        repeat_interval: 2m
        receiver: watchdog
      - matchers:
        - "service=example-app"
        routes:
        - matchers:
          - "severity=critical"
          receiver: team-frontend-page*
    receivers:
    - name: default
    - name: watchdog
    - name: team-frontend-page
      pagerduty_configs:
      - service_key: "_your-key_"

    采用此配置时,由 example-app 服务触发的、严重性为 critical 的警报将使用 team-frontend-page 接收器发送。通常情况下,这些类型的警报会传给个人或关键响应团队。

  3. 应用文件中的新配置:

    $ oc -n openshift-monitoring create secret generic alertmanager-main --from-file=alertmanager.yaml --dry-run=client -o=yaml |  oc -n openshift-monitoring replace secret --filename=-

要从 OpenShift Container Platform Web 控制台更改 Alertmanager 配置:

  1. 进入到 web 控制台的 Administration Cluster Settings Configuration Alertmanager YAML 页面。
  2. 修改 YAML 配置文件。
  3. 选择 Save

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.