• Grafana 系列 (6):Alert 告警使用 Email 通知的用法 (转)


    文章出处:https://medium.com/@maiccaejfeng/grafana-alert-%E5%91%8A%E8%AD%A6%E4%BD%BF%E7%94%A8-email-%E9%80%9A%E7%9F%A5%E7%9A%84%E7%94%A8%E6%B3%95-8e62c208457d

    監控圖表的狀態變化,並發出告警透過 gmail 通知管理者。


    目標

    圖表(Panel)產生告警(Alert),告警發送 email 通知(notification)給管理者。例如,一個顯示資料量的折線圖,在資料量低於 1 的時候(即沒有資料),發出告警,並且將此告警透過 gmail 通知管理者。


    前置作業

    1. 打開本機的 Grafana。打開 Terminal,輸入以下指令 :
      $ brew update
      $ brew reinstall grafana
      $ brew tap homebrew/services
      $ brew services start grafana 或是 $ brew services restart grafana
    2. 在瀏覽器輸入 http://localhost:3000/login 登入。預設帳密為 admin/admin。
    3. 本次 Grafana 版本 v6.7.0。

    1. 建立 Data Source

    在選單 Configuration > Data Sources 的地方,建立一個 Elasticsearch 的 Data Source,目標是所有「lm-」開頭的 index,時間欄位使用「@timestamp」:

     

    按下綠色 Save & Test,出現「Index OK. Time field name OK.」的綠色訊息即為成功。


    2. 建立 Dashboard

    在選單 Create > Dashboard 的地方,建立一個名為「ES 192.168.70.174 lm-*」的 Dashboard。在「Dashboard Settings」設定 dashboard 名稱。


    3. 建立 Panel

    按「Add panel」新增圖表。預設圖表即為表示「資料量」的折線圖。故僅有在編輯圖表的 Visualization 處,將 legend 的顯示關閉,以及在 General 處,將圖表命名為「資料量」即可。

     

    獲得表示資料量的折線圖:


    4. 在 Grafana 設定 SMTP Server

    參考文章「Grafana Alerting and Email Notifications」,用 Visual Studio Code 打開本機的 grafana.ini 檔(位於 /usr/local/etc/grafana/grafana.ini),找到 SMTP 的設定區塊,修改成以下設定。其中「my.gmail.address」填入用來發信的 gmail 帳號,「my.gmail.password」填入該 gmail 的密碼。

    修改好後儲存檔案,到 Terminal 重新啟動 Grafana(指令 $ brew services restart grafana)。


    5. 設定 gmail

    注意,用 gmail 的話,需要在 gmail 設定將「兩步驟驗證」關閉,並且將「低安全性應用程式存取權」開啟。


    6. 建立 Notification Channel

    在選單 Alerting > Notification channels 的地方,建立一個 notification channel。一個 notification channel 有點像是一封 email 的收件人名單,收件人可以是一個人,也可以是一群人。在「Name」欄位對這個 notification channel 取名,因為目前是給 dashboard「ES 192.168.70.174 lm-*」產生告警的時候發送 email 通知,所以取名為「192.168.70.174 lm-* Admin」。「Type」選擇「Email」。在「Addresses」填入收件人名單。

    按下 Send Test 測試,即可收到 Test notification 的測試 email 表示設定成功:


    7. 建立告警(Create Alert)

    到 dashboard 的目標 panel 編輯 panel,在 Alert 頁籤按下 Create Alert 建立告警。

    按下 Test Rule 測試:


    8. 設定告警通知

    在 Alert 頁籤的 Notifications 區塊,設定 Send to 為步驟 6. 設定的 notification channel「192.168.70.174 lm-* Admin」,在 Message 欄位填入想傳達的訊息。然後儲存 dashboard。


    9. 建立 Alert List

    新增一個 panel,在 Visualization 頁籤選擇 panel 類型是「Alert List」:


    10. 收到告警 email

    可於設定的 email 收到告警通知:


    11. 持續收到告警通知

    發現雖然無法設定「每隔一段時間,持續發送告警通知 email」,但當告警狀態改變的時候,例如從 Alerting(表示異常)轉為 OK(表示正常),或是從 OK 轉為 Alerting,也會發送 email 通知,因此也可以達到監控的效果。只是如果告警狀態一直維持在 Alerting 的狀態的話,並不會持續發送 email。

    將 Panel「Alert List」的 Visualization 設定修改為 Show「Recent state changes」:

    可以在 dashboard 上看到告警狀態的變化:

    除了第一次 OK 的訊息以外,其餘 7 次狀態變化都有寄 email 通知。也算是有監控到啦!


    完成!!

  • 相关阅读:
    基础知识---抽象类和接口
    基础知识---数组和链表
    基础知识---枚举
    基础知识---IEnumerable、ICollection、IList、IQueryable
    [翻译]微软 Build 2019 正式宣布 .NET 5
    基础知识---const、readonly、static
    简说设计模式
    Java修行之路
    简说设计模式——迭代器模式
    简说设计模式——备忘录模式
  • 原文地址:https://www.cnblogs.com/jatq/p/13254976.html
Copyright © 2020-2023  润新知