Grafana 系列監控系列 — alertmanager通知管理

Grafana 系列監控系列 — alertmanager通知管理
監控機ip:192.168.0.34
  1. alertmanager配置
  • alertmanager.yml 將Discord的webhook 設定上去,並且重啟alertmanager 激活。

2. Prometheus 配置

  • 配置連接 alertmanager 。
  • 寫一個rule 若機器無反饋,則透過傳送 「THE SERVER IS OUT OF WORK!」告警。

3. 運行目標機的node_exporter 測試是否有成功檢測到並推送訊息。

1.配置alertmanager

# 編輯 /opt/bitnami/alertmanager/conf/config.yml 
# 新增 Discord 通知配置 
 
route: 
  group_by: ['alertname'] 
  group_wait: 30s 
  group_interval: 5m 
  repeat_interval: 1h 
  receiver: 'Discord' 
receivers: 
  - name: 'web.hook' 
    webhook_configs: 
      - url: 'http://127.0.0.1:5001/' 
  - name: 'Discord' # <- 關鍵這邊 新增Discord 通知配置 
    discord_configs: 
      - webhook_url: "https://xxxxxxxxdiscord/key" 
inhibit_rules: 
  - source_match: 
      severity: 'critical' 
    target_match: 
      severity: 'warning' 
    equal: ['alertname', 'dev', 'instance']

配置好並且重啟的alertmanager 可以透過以下方式進行測試,若成功調用則會顯示一筆TestAlert 通知,在Discord上則會顯示內容

curl -H "Content-Type: application/json" -d '[{"labels":{"alertname":"TestAlert"}}]' http://localhost:9093/api/v2/alerts

2.配置Prometheus

注意: 因為這邊在創建容器時 有先創建 network 將grafana 系列進行關聯,所以可以直接使用容器名進行連線。

大致配置

  • 配置 prometheus.yml。
  • 規則統一會放在 /opt/bitnami/prometheus/conf/rules/*.yml底下。
  • 新增 job 監控機器。
  • 配置完後可以在 http://localhost:9090/config 查看是否有配置成功。
# 編輯 /opt/bitnami/prometheus/conf/prometheus.yml 
# 以下是預設的prometheus 配置 
# 激活 alertmanager 配置 
 
global: 
  scrape_interval: 15s  
  evaluation_interval: 15s  
 
alerting: 
  alertmanagers: 
    - static_configs: 
        - targets: 
          - alertmanager:9093    # <-- 將該行註解拿掉, 配置上激活的alertmanager 
 
rule_files: 
  - "rules/*.yml" 
 
 
scrape_configs: 
  - job_name: "prometheus" 
 
    static_configs: 
      - targets: ["localhost:9090"] 
  - job_name: "local" 
    static_configs: 
      - targets: ["192.168.0.34:9100"] 
        labels: 
          name: myname 
          job: test

prometheus測試用規則細節可以自行在設定,可以在面板的首頁>警報>警報規則中查詢創建的規則。

# 創建/opt/bitnami/prometheus/conf/rules/serverDown.yml 規則 
 
 
groups: 
- name: server_rule 
  rules: 
  - alert: SERVER_OUT_OF_WORK 
    expr: up{name="server-local"}==0 
    for: 1m 
    labels: 
      severity: page 
    annotations: 
      summary: THE SERVER IS OUT OF WORK!

在 Prometheus 面板配置連接 alertmanager

可以透過config 頁面查詢看看是否配置成功。

3. 運行node_exporter

若不了解 node_exporter 可以參考

Grafana 系列監控系列 - node_exporter 採集主機資訊
Grafana 系列監控系列 - node_exporter 採集主機資訊