Prometheus: 配置 Alert Manager
本文件是警报指南的一部分。您可以在这里查看完整指南:Prometheus 警报的工作原理及其配置方法。
👋 欢迎来到 Stackhero 文档!
Stackhero 提供即用型 Prometheus 云 解决方案,具有多种优势,包括:
- 包含
Alert Manager,可发送警报到Slack、Mattermost、PagerDuty等。- 专用邮件服务器发送无限制邮件警报。
Blackbox用于探测HTTP、ICMP、TCP等。- 使用在线配置文件编辑器进行轻松配置。
- 只需点击即可轻松更新。
- 由专用私有 VM提供的最佳性能和强大安全性。
节省时间,简化生活:只需 5 分钟即可试用 Stackhero 的 Prometheus 云托管 解决方案!
要配置 Alert Manager,请编辑 alert-manager.yml 文件。在您的 Stackhero 仪表板中,选择您的 Prometheus 服务,然后点击“Alert Manager 配置”。
下面,我们介绍基础知识。有关更多详细信息,请参阅官方文档。
配置 Alert Manager:接收器
第一步是配置 receivers。每个 receiver 是一组通知集成(如电子邮件、Slack 等),由唯一的 name 标识。
例如,您可以创建一个名为 "critical_alert" 的接收器,用于由严重警报触发的通知。或者,您可以创建一个像 "devops_team" 的接收器,将警报定向到您的 DevOps 团队。
仅将
receiver名称设置为 "critical_alert" 不会发送警报。警报与接收器之间的关联是在下面描述的routes配置中完成的。
定义接收器后,您需要设置相应的通知集成。这些可能包括电子邮件、Slack/Mattermost 通知、PagerDuty、Opsgenie、Webhook 等。
以下是一个名为 "critical_alert" 的 receiver 示例,它向两个用户发送电子邮件,并向 #alerts 频道发送 Slack 消息:
receivers:
- name: "critical_alert"
# 通过电子邮件发送严重警报
email_configs:
- send_resolved: true
to: "[email protected]"
# 向 Slack 或 Mattermost 发送严重警报
slack_configs:
- send_resolved: true
api_url: "<your Slack or Mattermost API URL>"
channel: "#alerts"
title: "{{ range .Alerts }}{{ .Annotations.summary }}\n{{ end }}"
text: "{{ range .Alerts }}{{ .Annotations.description }}\n{{ end }}"
您可以定义多个接收器来处理不同类型的警报。例如,您可能有一个用于严重警报,另一个用于错误警报,还有一个用于其他类型的警报。
Stackhero for Prometheus 实例包括一个专用和私有的电子邮件服务器,允许您无限制地发送电子邮件警报,无需额外费用。
配置 Alert Manager:路由
配置完接收器后,您需要设置 routes。路由告诉 Alert Manager 如何处理来自 Prometheus 的传入警报以及将其发送到哪里(通常是到您预配置的接收器之一)。
以下是一个基本示例,将严重性为 "critical" 的警报定向到名为 "critical_alert" 的接收器:
route:
routes:
- match:
severity: "critical"
receiver: "critical_alert"
我们已在提供的 Stackhero for Prometheus 实例的
alert-manager.yml文件中预配置了一些路由。要开始接收警报,只需更新email_configs和/或slack_configs部分,填写您的通知详细信息。