1. 程式人生 > 實用技巧 >Alertmanager配置概述

Alertmanager配置概述

Alertmanager主要負責對Prometheus產生的告警進行統一處理,因此在Alertmanager配置中一般會包含以下幾個主要部分:

  • 全域性配置(global):用於定義一些全域性的公共引數,如全域性的SMTP配置,Slack配置等內容;
  • 模板(templates):用於定義告警通知時的模板,如HTML模板,郵件模板等;
  • 告警路由(route):根據標籤匹配,確定當前告警應該如何處理;
  • 接收人(receivers):接收人是一個抽象的概念,它可以是一個郵箱也可以是微信,Slack或者Webhook等,接收人一般配合告警路由使用;
  • 抑制規則(inhibit_rules):合理設定抑制規則可以減少垃圾告警的產生

其完整配置格式如下:

global:
  [ resolve_timeout: <duration> | default = 5m ]
  [ smtp_from: <tmpl_string> ] 
  [ smtp_smarthost: <string> ] 
  [ smtp_hello: <string> | default = "localhost" ]
  [ smtp_auth_username: <string> ]
  [ smtp_auth_password: <secret> ]
  [ smtp_auth_identity: <string> ]
  [ smtp_auth_secret: <secret> ]
  [ smtp_require_tls: <bool> | default = true ]
  [ slack_api_url: <secret> ]
  [ victorops_api_key: <secret> ]
  [ victorops_api_url: <string> | default = "https://alert.victorops.com/integrations/generic/20131114/alert/" ]
  [ pagerduty_url: <string> | default = "https://events.pagerduty.com/v2/enqueue" ]
  [ opsgenie_api_key: <secret> ]
  [ opsgenie_api_url: <string> | default = "https://api.opsgenie.com/" ]
  [ hipchat_api_url: <string> | default = "https://api.hipchat.com/" ]
  [ hipchat_auth_token: <secret> ]
  [ wechat_api_url: <string> | default = "https://qyapi.weixin.qq.com/cgi-bin/" ]
  [ wechat_api_secret: <secret> ]
  [ wechat_api_corp_id: <string> ]
  [ http_config: <http_config> ]
templates:
  [ - <filepath> ... ]
route: <route>
receivers:
  - <receiver> ...
inhibit_rules:
  [ - <inhibit_rule> ... ]

在全域性配置中需要注意的是resolve_timeout,該引數定義了當Alertmanager持續多長時間未接收到告警後標記告警狀態為resolved(已解決)。該引數的定義可能會影響到告警恢復通知的接收時間,其預設值為5分鐘。