Alertmanager概述
1.1.1 Alertmanager介紹
- Prometheus將數據采集和報警分成了兩個模塊。報警規則配置在Prometheus Servers上,然后發送報警信息到AlertManger,然后我們的AlertManager就來管理這些報警信息,包括silencing、inhibition,聚合報警信息過后通過email、PagerDuty、HipChat、Slack 等方式發送消息提示。
1.1.2 Alertmanager概念
- 分組(Grouping)
分組將類似性質的警報分類為單個通知。當許多系統同時發生故障並且可能同時觸發數百到數千個警報時,這在較大的中斷期間尤其有用。
- 抑制(Inhibition)
抑制是一個概念,如果某些其他警報已經觸發,則抑制某些警報的通知。
- 靜默(Silences)
靜默提供了一個簡單的機制,根據標簽快速對警報進行靜默處理;對傳進來的警報進行匹配檢查,如果接受到警報符合靜默的配置,Alertmanager 則不會發送警報通知。
- 路由(Route)
用於配置Alertmanager如何處理傳入的特定類型的告警通知,其基本邏輯是根據路由匹配規則的匹配結果來確定處理當前告警通知的路徑和行為;
部署Alertmanager
2.1.1 下載安裝Alertmanager
下載地址
wget https://github.com/prometheus/alertmanager/releases/download/v0.23.0/alertmanager-0.23.0.linux-amd64.tar.gz
解壓
tar -xf alertmanager-0.23.0.linux-amd64.tar.gz -C /usr/local/
軟連接
ln -s /usr/local/alertmanager-0.23.0.linux-amd64/ /usr/local/alertmanager
准備啟動文件
[root@ops prometheus]#cat /usr/lib/systemd/system/alertmanager.service
[Unit]
Description="alertmanager"
Documentation=https://alertmanager.io/
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml --storage.path=/usr/local/alertmanager/data/
Restart=on-failure
RestartSecs=5s
SuccessExitStatus=0
LimitNOFILE=65536
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=alertmanager
[Install]
WantedBy=multi-user.target
啟動服務
[root@ops alertmanager]# systemctl start alertmanager // 啟動服務
[root@ops alertmanager]# systemctl enable alertmanager // 開機自啟
[root@ops alertmanager]# systemctl status alertmanager // 查看狀態
瀏覽器訪問測試
http://localhost:9093