CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/Prometheus/告警 API
文档目录
告警概述AlertmanagerAlertmanager 配置高可用性通知集成告警 API通知模板参考通知模板示例管理 APIHTTPS 和认证

Prometheus

告警 API

重要提示:Prometheus 负责将告警发送到 Alertmanager。建议在 Prometheus 中基于时间序列数据配置告警规则,而不是直接向告警 API 发送告警,因为 Prometheus 支持多种特殊情况,以确保即使 Alertmanager 崩溃或重启,告警也能被送达。 你可以通过 APIv2 向 Alertmanager 发送告警。APIv2 以 OpenAPI...

重要提示:Prometheus 负责将告警发送到 Alertmanager。建议在 Prometheus 中基于时间序列数据配置告警规则,而不是直接向告警 API 发送告警,因为 Prometheus 支持多种特殊情况,以确保即使 Alertmanager 崩溃或重启,告警也能被送达。

你可以通过 APIv2 向 Alertmanager 发送告警。APIv2 以 OpenAPI 规范定义,可以在此处找到。

APIv1 在 Alertmanager 0.16.0 版本中被弃用,并在 Alertmanager 0.27.0 版本中被移除。

要向 APIv2 发送告警,请向 api/v2/alerts 发送 POST 请求。你必须将 Content-Type 头设置为 application/json,并发送包含告警数组的 JSON 数据。

以下是一个示例:

[
  {
    "labels": {
      "alertname": "<required_value>",
      "<name>": "<value>",
      ...
    },
    "annotations": {
      "<name>": "<value>",
    },
    "startsAt": "<RFC3339>",
    "endsAt": "<RFC3339>",
    "generatorURL": "<value>"
  },
  ...
]

所有告警都有标签、注解、一个可选的 startsAt 时间戳和一个可选的 endsAt 时间戳。所有时间戳均采用 RFC3339 格式。

标签用于对相同告警的相同实例进行去重,而注解用于包含关于告警的其他信息,例如摘要、描述或运维手册的 URL。

startsAt 时间戳是告警触发的时间。如果省略,Alertmanager 会将 startsAt 设置为当前时间。

endsAt 时间戳是告警应被解决的时间。如果省略,Alertmanager 会将 endsAt 设置为当前时间加上 resolve_timeout。

generatorURL 是一个唯一的 URL,链接到告警的来源。例如,它可能链接到 Prometheus 中触发的规则。

客户端的预期行为

客户端应定期向 Alertmanager 重新发送触发中的告警,直到告警被解决。

确切的间隔取决于多个变量,例如 endsAt 时间戳,或者如果省略了该时间戳,则取决于 resolve_timeout 的值。如果省略了 endsAt 时间戳,Alertmanager 会将告警的现有 endsAt 时间戳更新为当前时间加上 resolve_timeout。

当触发告警的 endsAt 时间戳过期后,该告警即被解决。

为确保已解决的告警能收到解决通知,客户端还应在告警解决后的最多 5 分钟内继续向 Alertmanager 重新发送已解决的告警。由于 Alertmanager 是无状态的,这确保了即使 Alertmanager 崩溃或重启,解决通知也能被发送。

文章大纲