Prometheus: 配置 Alert Manager
本文件是警報指南的一部分。請在此處查看完整指南:Prometheus 警報的運作方式及其配置方法。
👋 歡迎來到 Stackhero 文件!
Stackhero 提供一個即用型的 Prometheus cloud 解決方案,帶來多項好處,包括:
- 包含
Alert Manager,可發送警報至Slack、Mattermost、PagerDuty等。- 專用電郵伺服器發送無限電郵警報。
Blackbox用於探測HTTP、ICMP、TCP等。- 使用線上配置文件編輯器進行簡單配置。
- 只需點擊即可輕鬆更新。
- 由專用私有 VM提供的最佳性能和強大安全性。
節省時間並簡化您的生活:只需5 分鐘即可嘗試 Stackhero 的 Prometheus cloud hosting 解決方案!
要配置 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部分,填寫您的通知詳情。