1. 程式人生 > >grafana設定Alert閾值和郵件報警

grafana設定Alert閾值和郵件報警

首先我們需要在機器上開啟smtp/25服務,這裡有一個坑,注意,雲主機為了防止濫發郵件已經封掉了smtp的所有通訊,所以雲主機發郵件是有問題的。

安裝sendmail,ubuntu用apt,centos用yum

安裝好後一般自動就跑起來了,netstat檢視25埠:


這裡注意,我們的grafana伺服器和sendmail在同一臺機器上,否則sendmail需要處理為open relay中繼伺服器,具體方法如下:

修改sendmail配置/etc/mail/access

新增grafana伺服器ip,允許進入

Connect:grafanaserverip          RELAY
GreetPause:grafanaserverip    0
ClientRate:grafanaserverip      0
ClientConn:grafanaserverip     0

輸入如圖的命令對本地smtp進行測試,檢視是否收到郵件,收到郵件則本地smtp配置成功,否則,請檢查系統服務或諮詢網路提供商


smtp配置完,我們還要配置和重啟(注意重啟!)grafana server

編輯/etc/grafana/grafana.ini,[smtp]下新增如下幾行,其他還可以配置使用者名稱密碼來使用公網上有驗證的smtp服務,但是這裡我們用的是本地smtp,無密碼驗證

[smtp]
enabled = true
host = localhost:25

from_address = your address
from_name = your name 

重啟服務

service grafana-server restart

之後我們再grafana頁面新增一個notification channel,即通知渠道,grafana支援眾多的報警通知方式



這裡我們只選email


如下圖配置,多個郵件地址使用;分隔,send on all alerts即通知所有的報警,不管在單個報警中是否設定,包含圖形接收到的郵件會包含grafana的報警圖表


send test測試,檢視是否收到郵件

右上角傳送成功提示,不成功請檢查配置或網路


channel配置好了之後我們來新增alert,在圖表中新增一個專用的報警查詢sql,也可以使用現有的,但是注意,這裡有個坑,就是這個sql中一定不能有templating變數,否則會報以下錯誤


新增的不帶變數的sql,注意它的編號是D,我們配置alert的時候也需要選擇D,這裡不需要看的話可以點眼睛的圖示讓它在圖表中隱藏不顯示



切換到alert標籤,選擇D的查詢,然後設定閾值為load大於2時報警


新增報警通知的channel,填寫報警具體資訊


然後儲存圖表

報警的時候會在異常值出現的地方顯示紅色的虛線,恢復的時候會顯示綠色的虛線,而且小紅心也會跟著變化顏色,同時,郵件也就送到了我們的郵箱了


郵件很直觀,大概就是這個樣子了,不是原圖,大概表示一下