Prometheus 學習筆記-4

  1. 前言
  2. 作業環境
  3. 設定說明
    1. Alert Rule
  4. 操作流程
  5. 參考文件

前言

延續上一篇 w4560000 - Prometheus 學習筆記-3

本篇紀錄發送告警 Mail、Telegram 頻道

作業環境

Windows 10 Professional (22H2)
Docker Desktop
Docker Compose

設定說明

可參考原始碼 Github - w4560000

Alert Rule

alert_rules.yml

groups:
  - name: example
    rules:
      - alert: net_input_rate_bps > 2000
        expr: demo_recording_net_rate_bps > 2000
        for: 10s
        labels:
          severity: warn
        annotations:
          description: 接收封包達到上限, net_input_rate_bps = {{ $value }}
  - name: example2
    rules:
      - alert: net_input_rate_bps > 4000
        expr: demo_recording_net_rate_bps > 4000
        for: 10s
        labels:
          severity: urgent
        annotations:
          description: 接收封包達到上限, net_input_rate_bps = {{ $value }}

alertManager.yml

route:
  receiver: "email-default"
  group_wait: 5s           #收發訊息等待時間
  group_interval: 10s      #相同 Group 發送告警時間間隔
  repeat_interval: 30m     #告警時間間隔
  routes:
    - receiver: "email-default"
      continue: true # EMail 發送完後,後續 receiver 接續發送告警
    - receiver: "telegram-warn"
      match_re: # regex
        severity: warn
    - receiver: "telegram-urgent"
      match:
        severity: urgent

receivers:
  - name: email-default
    email_configs:
      - to: leozheng0411@gmail.com
        from: leozheng0411@gmail.com
        smarthost: smtp.gmail.com:587
        auth_username: leozheng0411@gmail.com
        auth_identity: leozheng0411@gmail.com
        auth_password: qkusqlmdneapgzsu
        send_resolved: true
  - name: telegram-warn
    telegram_configs:
      - chat_id: -1002030473502
        bot_token: "6765457318:AAG47n_tNSvTijh8MN24__9hAwDs2zsL94U"
        message: "{{ range .Alerts }}{{ .Annotations.description }}\n{{ end }}"
        send_resolved: true
  - name: telegram-urgent
    telegram_configs:
      - chat_id: -1002016569477
        bot_token: "6765457318:AAG47n_tNSvTijh8MN24__9hAwDs2zsL94U"
        message: "{{ range .Alerts }}{{ .Annotations.description }}\n{{ end }}"
        send_resolved: true

Telegram Bot、頻道相關設定請參考 w4560000 - .Net Core 推送訊息至 Telegram Channel

操作流程

參考 w4560000 - Prometheus 學習筆記-3


參考文件

Prometheus - email_config
Prometheus - telegram_config


轉載請註明來源,若有任何錯誤或表達不清楚的地方,歡迎在下方評論區留言,也可以來信至 leozheng0621@gmail.com
如果文章對您有幫助,歡迎斗內(donate),請我喝杯咖啡

斗內💰

×

歡迎斗內

github