版權聲明:本文可能為部落客原創文章,若标明出處可随便轉載。 https://blog.csdn.net/Jailman/article/details/78920166
首先我們需要在機器上開啟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,填寫報警具體資訊
然後儲存圖表
報警的時候會在異常值出現的地方顯示紅色的虛線,恢複的時候會顯示綠色的虛線,而且小紅心也會跟着變化顔色,同時,郵件也就送到了我們的郵箱了
郵件很直覺,大概就是這個樣子了,不是原圖,大概表示一下