prometheus 與 alertmanager 結合 發送郵件報警

Alertmanager與Prometheus是相互分離的兩個組件。Prometheus服務器根據報警規則將警報發送給Alertmanager,然後Alertmanager將silencing、inhibition、aggregation等消息通過電子郵件、微信、等發送信息,

安裝部署 alertmanager

下載軟件包

wget https://github.com/prometheus/alertmanager/releases/download/v0.20.0/alertmanager-0.20.0.linux-amd64.tar.gz

解壓安裝

tar zxvf alertmanager-0.16.0.linux-amd64.tar.gz && cd alertmanager-0.16.0.linux-amd64

啓動 alertmanager

./alertmanager --config.file=alertmanager.yml

配置 prometheus 與alertmanager 通信

修改 prometheus.yml 配置文件

配置 與alertmanager 通信

alerting:
  alertmanagers:
  - static_configs:
    - targets:
       - x.x.x.x:9093

增加報警規則,監控主機服務,默認正常是1

#Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:

  • "rules/*.yml"
groups:
- name: generals.rules
  rules:
  - alert: InstanceDown
    expr: up == 0
    for: 1m
    labels:
      severity: error
    annotations:
      summary: "Instance {{ $labels.isinstance }} down"
      description: "{{ $labels.instance }} down more than 1 minutes"

重載配置文件 kill -hup $pid 或者重啓 prometheus 服務

查看配置的報警規則

prometheus 與 alertmanager 結合  發送郵件報警

觸發報警

報警規則已創建 ,設置郵件通知報警,已qq 郵箱爲示列,qq 郵箱需要開啓smtp ,
smtp_require_tls 默認爲true ,這裏需要修改爲false,否則郵件觸發不成功, smtp_auth_password 填寫授權瑪

global: 全局配置,包括報警解決後的超時時間、SMTP 相關配置、各種渠道通知的 API 地址等等。
route: 用來設置報警的分發策略,它是一個樹狀結構,按照深度優先從左向右的順序進行匹配。
receivers: 配置告警消息接受者信息,例如常用的 email、wechat、slack、webhook 等消息通知方式。

global:
  resolve_timeout: 5m
  smtp_smarthost: 'smtp.qq.com:465'
  smtp_from: '[email protected]'
  smtp_auth_username: '[email protected]'
  smtp_auth_password: 'xxx'
  #smtp_auth_secret: false
  smtp_require_tls: false
  smtp_hello: 'qq.com'

route:
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 10s
  repeat_interval: 1h
  receiver: 'mail'
receivers:
- name: 'mail'
  email_configs:
  - to: '[email protected]'
    send_resolved: true

觸發報警,手動關閉,es 服務,幾分鐘後收到郵件報警

prometheus 與 alertmanager 結合  發送郵件報警

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章