• 配置
    • " level="2">配置文件
    • " level="2"><route>
      • " level="3">示例
    • " level="2"><inhibit_rule>
    • " level="2"><http_config>
    • " level="2"><tls_config>
    • " level="2"><receiver>
    • " level="2"><email_config>
    • " level="2"><hipchat_config>
    • " level="2"><pagerduty_config>
      • " level="3"><image_config>
      • " level="3"><link_config>
    • " level="2"><pushover_config>
    • " level="2"><slack_config>
      • " level="3"><action_config>
        • " level="4"><action_confirm_field_config>
      • " level="3"><field_config>
    • " level="2"><opsgenie_config>
      • " level="3"><responder>
    • " level="2"><victorops_config>
    • " level="2"><webhook_config>
    • " level="2"><wechat_config>

    配置

    Alertmanager 通过命令行标志和配置文件进行配置。命令行标志配置不可变的系统参数,配置文件定义抑制规则,通知路由和通知接收者。

    visual editor 可以帮助构建路由树。

    要查看所有可用的命令行标志,请运行alertmanager -h.

    Alertmanager 可以在运行时重新加载配置。如果新配置格式不正确,则不会应用更改,且错误会被输出。通过发送SIGHUP信号到 Alertmanager 进程或发送 HTTP POST 请求到/-/reload端点触发配置重新加载。

    配置文件

    要指定要加载的配置文件,请使用--config.file标志。

    1. ./alertmanager --config.file=alertmanager.yml

    该文件是 YAML 格式 的,由以下所述格式进行定义。方括号表示参数是可选的。对于非列表参数,该值设置为指定的默认值。

    通用占位符定义如下:

    • <duration>: 可被正则表达式[0-9]+(ms|[smhdwy]匹配的一段时间
    • <labelname>: 可被正则表达式[a-zA-Z_][a-zA-Z0-9_]*匹配的字符串
    • <labelvalue>: unicode 字符串
    • <filename>: 当前工作目录中的合法的路径
    • <boolean>: 值为 truefalse 的布尔值
    • <string>: 常规字符串
    • <secret>: 加密后的常规字符串,例如密码
    • <tmpl_string>: 使用前已被模版扩展的字符串
    • <tmpl_secret>: 使用前已被模版扩展的加密字符串

    其他占位符分别指定。

    提供的合法示例文件显示了上下文中的用法。

    全局配置指定在所有其他配置上下文中有效的参数。它们还用作其他配置部分的默认设置。

    1. global:
    2. # 默认的 SMTP From 头字段
    3. [ smtp_from: <tmpl_string> ]
    4. # 用于发送邮件的默认 SMTP 主机,包括端口号。
    5. # 端口号通常为25,对于支持 TLS 的 SMTP(有时称为STARTTLS)为587
    6. # 示例: smtp.example.org:587
    7. [ smtp_smarthost: <string> ]
    8. # 标识到 SMTP 服务器的默认主机名
    9. [ smtp_hello: <string> | default = "localhost" ]
    10. # SMTP 身份认证相关
    11. # SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server.
    12. [ smtp_auth_username: <string> ]
    13. # SMTP Auth using LOGIN and PLAIN.
    14. [ smtp_auth_password: <secret> ]
    15. # SMTP Auth using PLAIN.
    16. [ smtp_auth_identity: <string> ]
    17. # SMTP Auth using CRAM-MD5.
    18. [ smtp_auth_secret: <secret> ]
    19. # SMTP 默认使用 TLS
    20. # 请注意,Go不支持与远程 SMTP 端点的未加密连接
    21. [ smtp_require_tls: <bool> | default = true ]
    22. # 用于 Slack 通知的API URL
    23. [ slack_api_url: <secret> ]
    24. [ victorops_api_key: <secret> ]
    25. [ victorops_api_url: <string> | default = "https://alert.victorops.com/integrations/generic/20131114/alert/" ]
    26. [ pagerduty_url: <string> | default = "https://events.pagerduty.com/v2/enqueue" ]
    27. [ opsgenie_api_key: <secret> ]
    28. [ opsgenie_api_url: <string> | default = "https://api.opsgenie.com/" ]
    29. [ hipchat_api_url: <string> | default = "https://api.hipchat.com/" ]
    30. [ hipchat_auth_token: <secret> ]
    31. [ wechat_api_url: <string> | default = "https://qyapi.weixin.qq.com/cgi-bin/" ]
    32. [ wechat_api_secret: <secret> ]
    33. [ wechat_api_corp_id: <string> ]
    34. # 默认的 HTTP 配置
    35. [ http_config: <http_config> ]
    36. # 如果警报不设置 EndsAt,则 ResolveTimeout 是 Alertmanager 使用的默认值,经过此时间后,如果告警尚未更新,则可以将告警声明为已解决
    37. # 这对 Prometheus 的告警没有任何影响,因为它们始终包含 EndsAt
    38. [ resolve_timeout: <duration> | default = 5m ]
    39. # 从中读取自定义通知模板定义的文件.
    40. # 最后一个组件可以使用通配符匹配器,如 'templates/*.tmpl'.
    41. templates:
    42. [ - <filepath> ... ]
    43. # 路由树的根节点
    44. route: <route>
    45. # 通知接收者列表.
    46. receivers:
    47. - <receiver> ...
    48. # 告警抑制规则列表.
    49. inhibit_rules:
    50. [ - <inhibit_rule> ... ]

    <route>

    路由配置块定义了路由树种的节点及其子节点。如果未设置,则其可选配置参数将从父节点继承。

    每个警报都会在已配置的顶级路由处进入路由树,该路由树必须与所有警报匹配(即没有任何已配置的匹配器)。然后,它遍历子节点。如果continue设置为 false,它将在第一个匹配的子项之后停止。如果continue设置为 true,则告警将继续与后续的同级进行匹配。如果告警与节点的任何子节点都不匹配(不匹配的子节点或不存在子节点),则根据当前节点的配置参数来处理告警。

    1. [ receiver: <string> ]
    2. # 用于将传入警报分组在一起的标签. 例如, 对于 cluster = A 和 alertname = LatencyHigh 的多个警报将被分为一个组
    3. #
    4. # 要按所有可能的标签进行汇总,请使用特殊值 '...' 作为唯一的标签名称.例如:
    5. # group_by:['...']
    6. # 这样可以有效地完全禁用聚合,并按原样传递所有警报.除非您的警报量非常低或上游通知系统执行自己的分组规则,否则这不太可能是您想要的
    7. [ group_by: '[' <labelname>, ... ']' ]
    8. # 告警是否应继续匹配后续的同级节点
    9. [ continue: <boolean> | default = false ]
    10. # 告警必须满足等值匹配才能匹配节点
    11. match:
    12. [ <labelname>: <labelvalue>, ... ]
    13. # 警必须满足正则匹配才能匹配节点
    14. match_re:
    15. [ <labelname>: <regex>, ... ]
    16. # 为一组警报发送通知的最初等待时间.等待抑制告警到达或为同一组收集更多初始警报
    17. [ group_wait: <duration> | default = 30s ]
    18. # 发送有关新告警的通知之前要等待的时间.该通知将添加到已为其发送了初始通知的一组警报中
    19. [ group_interval: <duration> | default = 5m ]
    20. # 如果已成功发送告警通知,等待多长时间才能再次发送通知.
    21. [ repeat_interval: <duration> | default = 4h ]
    22. # 0 个或多个子路由.
    23. routes:
    24. [ - <route> ... ]

    示例

    1. # 具有所有参数的根路由.如果未覆盖,则由子路由继承
    2. route:
    3. receiver: 'default-receiver'
    4. group_wait: 30s
    5. group_interval: 5m
    6. repeat_interval: 4h
    7. group_by: [cluster, alertname]
    8. # 与以下子路由不匹配的所有告警将保留在根节点上,并分派给 'default-receiver'.
    9. routes:
    10. # 所有带有 service = mysql或 service = cassandra 的告警都将分派到 'database-pager'
    11. - receiver: 'database-pager'
    12. group_wait: 10s
    13. match_re:
    14. service: mysql|cassandra
    15. # 所有带有 team = frontend 标签的警报均与此子路由匹配.它们按 product 和 environment 分组,而不是按群集和警报名称分组
    16. - receiver: 'frontend-pager'
    17. group_by: [product, environment]
    18. match:
    19. team: frontend

    <inhibit_rule>

    当存在与另一组匹配器匹配的告警(source)时,抑制规则会使与一组匹配器匹配的告警(target)静音。目标告警和源告警在equal列表中的标签名称都必须具有相同的标签值。

    从语义上说,缺少标签和带有空值的标签是同一件事。因此,如果源警报和目标警报都缺少所有equal列出的标签名称,则应用抑制规则。

    为了防止告警抑制自身,抑制规则将永远不会抑制与规则的目标和源侧匹配的告警。但是,我们建议选择目标匹配器和源匹配器,以使警报永远不会匹配双方。这更加方便,并且不会触发这种特殊情况。

    1. # 必须在警报中满足的匹配器才能静音
    2. target_match:
    3. [ <labelname>: <labelvalue>, ... ]
    4. target_match_re:
    5. [ <labelname>: <regex>, ... ]
    6. # 必须存在一个或多个告警能使抑制生效的匹配器
    7. source_match:
    8. [ <labelname>: <labelvalue>, ... ]
    9. source_match_re:
    10. [ <labelname>: <regex>, ... ]
    11. # 必须在源告警和目标告警中具有相等值的标签才能使抑制生效
    12. [ equal: '[' <labelname>, ... ']' ]

    <http_config>

    http_config允许配置接收者用来与基于 HTTP API 服务进行通信的 HTTP 客户端。

    1. # 注意 `basic_auth`, `bearer_token` 和 `bearer_token_file` 选项是互斥的
    2. # 使用配置的用户名和密码设置 `Authorization` 请求头
    3. # password 和 password_file 是互斥的
    4. basic_auth:
    5. [ username: <string> ]
    6. [ password: <secret> ]
    7. [ password_file: <string> ]
    8. # 使用配置的承载令牌设置 `Authorization` 请求头
    9. [ bearer_token: <secret> ]
    10. # 使用配置的承载令牌文件设置 `Authorization` 请求头
    11. [ bearer_token_file: <filepath> ]
    12. # TLS 配置
    13. tls_config:
    14. [ <tls_config> ]
    15. # 可选的代理 URL.
    16. [ proxy_url: <string> ]

    <tls_config>

    tls_config允许配置 TLS 连接

    1. # 用于验证服务器证书的 CA 证书
    2. [ ca_file: <filename> ]
    3. # 用于服务器的客户端证书认证的证书和密钥文件
    4. [ cert_file: <filename> ]
    5. [ key_file: <filename> ]
    6. # ServerName 指定服务器的名称
    7. # https://tools.ietf.org/html/rfc4366#section-3.1
    8. [ server_name: <string> ]
    9. # 禁用服务器证书的验证
    10. [ insecure_skip_verify: <boolean> ]

    <receiver>

    receiver是一个或多个通知集成的命名配置。

    我们不会积极添加新的接收器,我们建议通过 webhook receiver 实现自定义通知集成。

    1. # receiver 的唯一名称
    2. name: <string>
    3. # 多个通知集成的配置
    4. email_configs:
    5. [ - <email_config>, ... ]
    6. hipchat_configs:
    7. [ - <hipchat_config>, ... ]
    8. pagerduty_configs:
    9. [ - <pagerduty_config>, ... ]
    10. pushover_configs:
    11. [ - <pushover_config>, ... ]
    12. slack_configs:
    13. [ - <slack_config>, ... ]
    14. opsgenie_configs:
    15. [ - <opsgenie_config>, ... ]
    16. webhook_configs:
    17. [ - <webhook_config>, ... ]
    18. victorops_configs:
    19. [ - <victorops_config>, ... ]
    20. wechat_configs:
    21. [ - <wechat_config>, ... ]

    <email_config>

    1. # 是否通知告警已解决.
    2. [ send_resolved: <boolean> | default = false ]
    3. # 发送通知的电子邮件地址.
    4. to: <tmpl_string>
    5. # 发件人地址.
    6. [ from: <tmpl_string> | default = global.smtp_from ]
    7. # 发送邮件的 SMTP 主机.
    8. [ smarthost: <string> | default = global.smtp_smarthost ]
    9. # SMTP 服务器的主机名标识.
    10. [ hello: <string> | default = global.smtp_hello ]
    11. # SMTP 认证信息.
    12. [ auth_username: <string> | default = global.smtp_auth_username ]
    13. [ auth_password: <secret> | default = global.smtp_auth_password ]
    14. [ auth_secret: <secret> | default = global.smtp_auth_secret ]
    15. [ auth_identity: <string> | default = global.smtp_auth_identity ]
    16. # SMTP TLS要求.
    17. # 请注意,Go不支持与远程 SMTP 端点的未加密连接
    18. [ require_tls: <bool> | default = global.smtp_require_tls ]
    19. # TLS 配置.
    20. tls_config:
    21. [ <tls_config> ]
    22. # 邮件通知的HTML正文.
    23. [ html: <tmpl_string> | default = '{{ template "email.default.html" . }}' ]
    24. # 邮件通知的文本正文.
    25. [ text: <tmpl_string> ]
    26. # 电子邮件头键/值对。 覆盖先前由通知实现设置的所有请求头
    27. [ headers: { <string>: <tmpl_string>, ... } ]

    <hipchat_config>

    HipChat 通知使用 Build Your Own 集成.

    1. # 是否通知告警已解决.
    2. [ send_resolved: <boolean> | default = false ]
    3. # The HipChat Room ID.
    4. room_id: <tmpl_string>
    5. # The auth token.
    6. [ auth_token: <secret> | default = global.hipchat_auth_token ]
    7. # The URL to send API requests to.
    8. [ api_url: <string> | default = global.hipchat_api_url ]
    9. # See https://www.hipchat.com/docs/apiv2/method/send_room_notification
    10. # 除了发送人名称之外,还将显示的标签
    11. [ from: <tmpl_string> | default = '{{ template "hipchat.default.from" . }}' ]
    12. # 消息体.
    13. [ message: <tmpl_string> | default = '{{ template "hipchat.default.message" . }}' ]
    14. # 此消息是否应触发用户通知.
    15. [ notify: <boolean> | default = false ]
    16. # 确定该消息如何被 alertmanager 处理并在 HipChat 中呈现.可选值是 'text' 和 'html'.
    17. [ message_format: <string> | default = 'text' ]
    18. # 消息的背景色.
    19. [ color: <tmpl_string> | default = '{{ if eq .Status "firing" }}red{{ else }}green{{ end }}' ]
    20. # HTTP 客户端的配置
    21. [ http_config: <http_config> | default = global.http_config ]

    <pagerduty_config>

    PagerDuty 通知是通过 PagerDuty API 发送的。PagerDuty 提供了有关如何集成的文档。Alertmanager v0.11 之后的版本重要的区别在于对PagerDuty的 Events API v2 的支持。

    1. # 是否通知告警已解决.
    2. [ send_resolved: <boolean> | default = true ]
    3. # 以下两个选项是互斥的
    4. # The PagerDuty integration key (when using PagerDuty integration type `Events API v2`).
    5. routing_key: <tmpl_secret>
    6. # The PagerDuty integration key (when using PagerDuty integration type `Prometheus`).
    7. service_key: <tmpl_secret>
    8. # The URL to send API requests to
    9. [ url: <string> | default = global.pagerduty_url ]
    10. # Alertmanager 的客户端标识
    11. [ client: <tmpl_string> | default = '{{ template "pagerduty.default.client" . }}' ]
    12. # 到通知发送者的反向链接.
    13. [ client_url: <tmpl_string> | default = '{{ template "pagerduty.default.clientURL" . }}' ]
    14. # 事件的描述.
    15. [ description: <tmpl_string> | default = '{{ template "pagerduty.default.description" .}}' ]
    16. # 通知时间的严重程度.
    17. [ severity: <tmpl_string> | default = 'error' ]
    18. # 一组任意键/值对,可提供有关事件的更多详细信息
    19. [ details: { <string>: <tmpl_string>, ... } | default = {
    20. firing: '{{ template "pagerduty.default.instances" .Alerts.Firing }}'
    21. resolved: '{{ template "pagerduty.default.instances" .Alerts.Resolved }}'
    22. num_firing: '{{ .Alerts.Firing | len }}'
    23. num_resolved: '{{ .Alerts.Resolved | len }}'
    24. } ]
    25. # 附加到通知的图片.
    26. images:
    27. [ <image_config> ... ]
    28. # 附加到通知的链接.
    29. links:
    30. [ <link_config> ... ]
    31. # HTTP 客户端配置.
    32. [ http_config: <http_config> | default = global.http_config ]

    <image_config>

    这些字段记录在 PagerDuty API 文档

    1. href: <tmpl_string>
    2. source: <tmpl_string>
    3. alt: <tmpl_string>

    这些字段记录在 PagerDuty API 文档

    1. href: <tmpl_string>
    2. text: <tmpl_string>

    <pushover_config>

    Pushover 通知是通过 Pushover API 发送的。

    1. # 是否通知告警已解决.
    2. [ send_resolved: <boolean> | default = true ]
    3. # 收件人的用户密钥
    4. user_key: <secret>
    5. # 您注册的应用程序的 API 令牌, 参阅 https://pushover.net/apps
    6. token: <secret>
    7. # 通知标题.
    8. [ title: <tmpl_string> | default = '{{ template "pushover.default.title" . }}' ]
    9. # 通知消息.
    10. [ message: <tmpl_string> | default = '{{ template "pushover.default.message" . }}' ]
    11. # 消息旁边显示的补充 URL
    12. [ url: <tmpl_string> | default = '{{ template "pushover.default.url" . }}' ]
    13. # 优先级, 参阅 https://pushover.net/api#priority
    14. [ priority: <tmpl_string> | default = '{{ if eq .Status "firing" }}2{{ else }}0{{ end }}' ]
    15. # Pushover 服务器多久发送一次相同的通知给用户
    16. # 必须至少 30 秒
    17. [ retry: <duration> | default = 1m ]
    18. # 除非用户确认通知,否则将继续重试通知的时间
    19. [ expire: <duration> | default = 1h ]
    20. # HTTP 客户端配置.
    21. [ http_config: <http_config> | default = global.http_config ]

    <slack_config>

    Slack 通知是通过 Slack Webhooks 发送的。通知包含附件

    1. # 是否通知告警已解决.
    2. [ send_resolved: <boolean> | default = false ]
    3. # The Slack webhook URL.
    4. [ api_url: <secret> | default = global.slack_api_url ]
    5. # 发送通知的频道或用户
    6. channel: <tmpl_string>
    7. # Slack webhook API 定义的 API 请求数据
    8. [ icon_emoji: <tmpl_string> ]
    9. [ icon_url: <tmpl_string> ]
    10. [ link_names: <boolean> | default = false ]
    11. [ username: <tmpl_string> | default = '{{ template "slack.default.username" . }}' ]
    12. # 以下参数定义附件.
    13. actions:
    14. [ <action_config> ... ]
    15. [ callback_id: <tmpl_string> | default = '{{ template "slack.default.callbackid" . }}' ]
    16. [ color: <tmpl_string> | default = '{{ if eq .Status "firing" }}danger{{ else }}good{{ end }}' ]
    17. [ fallback: <tmpl_string> | default = '{{ template "slack.default.fallback" . }}' ]
    18. fields:
    19. [ <field_config> ... ]
    20. [ footer: <tmpl_string> | default = '{{ template "slack.default.footer" . }}' ]
    21. [ mrkdwn_in: '[' <string>, ... ']' | default = ["fallback", "pretext", "text"] ]
    22. [ pretext: <tmpl_string> | default = '{{ template "slack.default.pretext" . }}' ]
    23. [ short_fields: <boolean> | default = false ]
    24. [ text: <tmpl_string> | default = '{{ template "slack.default.text" . }}' ]
    25. [ title: <tmpl_string> | default = '{{ template "slack.default.title" . }}' ]
    26. [ title_link: <tmpl_string> | default = '{{ template "slack.default.titlelink" . }}' ]
    27. [ image_url: <tmpl_string> ]
    28. [ thumb_url: <tmpl_string> ]
    29. # HTTP 客户端配置.
    30. [ http_config: <http_config> | default = global.http_config ]

    <action_config>

    这些字段记录在 Slack API 文档中,用于附件消息交互式消息.

    1. text: <tmpl_string>
    2. type: <tmpl_string>
    3. # url 或名称和值都是必需的
    4. [ url: <tmpl_string> ]
    5. [ name: <tmpl_string> ]
    6. [ value: <tmpl_string> ]
    7. [ confirm: <action_confirm_field_config> ]
    8. [ style: <tmpl_string> | default = '' ]

    <action_confirm_field_config>

    这些字段记录在 Slack API 文档中。

    1. [ dismiss_text: <tmpl_string> | default '' ]
    2. [ ok_text: <tmpl_string> | default '' ]
    3. [ title: <tmpl_string> | default '' ]
    4. text: <tmpl_string>

    <field_config>

    这些字段记录在 Slack API 文档中。

    1. title: <tmpl_string>
    2. value: <tmpl_string>
    3. [ short: <boolean> | default = slack_config.short_fields ]

    <opsgenie_config>

    OpsGenie 通知是通过 OpsGenie API 发送的。

    1. # 是否通知告警已解决.
    2. [ send_resolved: <boolean> | default = true ]
    3. # 与 OpsGenie API 通信时使用的 API 密钥
    4. [ api_key: <secret> | default = global.opsgenie_api_key ]
    5. # 将 OpsGenie API 请求发送到
    6. [ api_url: <string> | default = global.opsgenie_api_url ]
    7. # 告警文本不得超过130个字符.
    8. [ message: <tmpl_string> ]
    9. # 事件描述.
    10. [ description: <tmpl_string> | default = '{{ template "opsgenie.default.description" . }}' ]
    11. # 到通知发送者的反向链接.
    12. [ source: <tmpl_string> | default = '{{ template "opsgenie.default.source" . }}' ]
    13. # 一组任意键/值对,它们提供有关事件的更多详细信息
    14. [ details: { <string>: <tmpl_string>, ... } ]
    15. # 负责通知的响应者列表
    16. responders:
    17. [ - <responder> ... ]
    18. # 逗号分隔的附加到通知的标记列表
    19. [ tags: <tmpl_string> ]
    20. # 附加警报提示
    21. [ note: <tmpl_string> ]
    22. # 告警优先级,可能的值是 P1, P2, P3, P4, P5
    23. [ priority: <tmpl_string> ]
    24. # HTTP 客户端配置.
    25. [ http_config: <http_config> | default = global.http_config ]

    <responder>

    1. # 应该定义这些字段之一
    2. [ id: <tmpl_string> ]
    3. [ name: <tmpl_string> ]
    4. [ username: <tmpl_string> ]
    5. # "team", "user", "escalation" 或 schedule".
    6. type: <tmpl_string>

    <victorops_config>

    VictorOps 通知通过 VictorOps API 发送。

    1. # 是否通知告警已解决.
    2. [ send_resolved: <boolean> | default = true ]
    3. # 与 VictorOps API 通信时使用的 API 密钥
    4. [ api_key: <secret> | default = global.victorops_api_key ]
    5. # The VictorOps API URL.
    6. [ api_url: <string> | default = global.victorops_api_url ]
    7. # A key used to map the alert to a team.
    8. routing_key: <tmpl_string>
    9. # 描述告警级别(CRITICAL, WARNING, INFO).
    10. [ message_type: <tmpl_string> | default = 'CRITICAL' ]
    11. # 包含警报问题的摘要
    12. [ entity_display_name: <tmpl_string> | default = '{{ template "victorops.default.entity_display_name" . }}' ]
    13. # 包含有关告警问题的详细说明
    14. [ state_message: <tmpl_string> | default = '{{ template "victorops.default.state_message" . }}' ]
    15. # 来自监控工具的状态消息
    16. [ monitoring_tool: <tmpl_string> | default = '{{ template "victorops.default.monitoring_tool" . }}' ]
    17. # HTTP 客户端配置.
    18. [ http_config: <http_config> | default = global.http_config ]

    <webhook_config>

    Webhook receiver 允许配置通用 receiver.

    1. # 是否通知告警已解决.
    2. [ send_resolved: <boolean> | default = true ]
    3. # 发送 HTTP POST 请求的端点
    4. url: <string>
    5. # HTTP 客户端配置.
    6. [ http_config: <http_config> | default = global.http_config ]

    Alertmanager 将以以下 JSON 格式将 HTTP POST 请求发送到配置的端点

    1. {
    2. "version": "4",
    3. "groupKey": <string>, // key identifying the group of alerts (e.g. to deduplicate)
    4. "status": "<resolved|firing>",
    5. "receiver": <string>,
    6. "groupLabels": <object>,
    7. "commonLabels": <object>,
    8. "commonAnnotations": <object>,
    9. "externalURL": <string>, // backlink to the Alertmanager.
    10. "alerts": [
    11. {
    12. "status": "<resolved|firing>",
    13. "labels": <object>,
    14. "annotations": <object>,
    15. "startsAt": "<rfc3339>",
    16. "endsAt": "<rfc3339>",
    17. "generatorURL": <string> // identifies the entity that caused the alert
    18. },
    19. ...
    20. ]
    21. }

    此功能的集成列表

    <wechat_config>

    微信通知通过微信 API 发送。

    1. # 是否通知告警已解决.
    2. [ send_resolved: <boolean> | default = false ]
    3. # 与微信 API 通信时使用的 API 密钥
    4. [ api_secret: <secret> | default = global.wechat_api_secret ]
    5. # The WeChat API URL.
    6. [ api_url: <string> | default = global.wechat_api_url ]
    7. # 用于身份验证的公司 ID
    8. [ corp_id: <string> | default = global.wechat_api_corp_id ]
    9. # 由微信 API 定义的 API 请求数据
    10. [ message: <tmpl_string> | default = '{{ template "wechat.default.message" . }}' ]
    11. [ agent_id: <string> | default = '{{ template "wechat.default.agent_id" . }}' ]
    12. [ to_user: <string> | default = '{{ template "wechat.default.to_user" . }}' ]
    13. [ to_party: <string> | default = '{{ template "wechat.default.to_party" . }}' ]
    14. [ to_tag: <string> | default = '{{ template "wechat.default.to_tag" . }}' ]