1. 程式人生 > >Linux中zabbix監控服務設置郵箱通知

Linux中zabbix監控服務設置郵箱通知

ext The custom 動作 9.png 查看 設值 運行 轉發

環境說明:

環境 IP
服務器端 192.168.209.12
客戶端 192.168.209.13

實驗條件:
zabbix監控服務器、客戶端都已經部署完成,被監控主機已添加完成,zabbix監控運行正常。

實現目的:
zabbix監控服務器設置郵件報警,當被監控主機宕機或達到觸發器預設值進,會自動發送報警郵件到指定的郵箱。

在服務端操作
1.安裝郵件發送工具mailx
[root@linfan ~]#  yum -y install mailx 
2.配置mail
[root@linfan ~]# vim /etc/mail.rc
set [email protected]   //用於zabbi服務端轉發郵件到指定郵箱
set smtp=smtp.163.com //發送郵箱服務器地址smtp
set [email protected]   //郵箱用戶
set smtp-auth-password=LZY999999      //授權碼 密碼
set smtp-auth=login    //登錄

//啟動郵件mail服務
[root@lanzhiyong ~]# systemctl restart postfix

3.測試郵件能否發送
[root@linfan ~]# echo "主機" | mail -s ‘主 ‘ [email protected]   
zabbix服務器設置郵箱報警

4.編寫郵件發送腳本(在服務器端)
[root@linfan ~]#  cd /usr/local/share/zabbix/alertscripts/  
[root@linfan alertscripts]# vim mail.sh
    #!/bin/bash
messages=`echo $3 | tr ‘\r\n‘ ‘\n‘`
subject=`echo $2 | tr ‘\r\n‘ ‘\n‘`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1

//修改腳本目錄的屬主屬組
[root@linfan alertscripts]# chown zabbix.zabbix /usr/local/share/zabbix/alertscripts/
//給予腳本執行權限
[root@linfan alertscripts]# chmod +x /usr/local/share/zabbix/alertscripts/mail.sh
[root@linfan alertscripts]# ll zabbix.zabbix /usr/local/share/zabbix/alertscripts/
-rwxr-xr-x 1 zabbix zabbix 153 Aug 23 15:02 mail.sh

[root@linfan alertscripts]# ll zabbix.zabbix /usr/local/share/zabbix/alertscripts/mail.sh
-rwxr-xr-x 1 zabbix zabbix 153 Aug 23 15:02 /usr/local/share/zabbix/alertscripts/mail.sh

//創建腳本存放日誌的目錄並修改屬主屬組
[root@linfan ~]# touch /tmp/sendmail.log 
[root@linfan ~]# chown zabbix.zabbix /tmp/sendmail.log
[root@linfan ~]# ll  /tmp/sendmail.log
-rw-r--r-- 1 zabbix zabbix 2082 Aug 23 15:14 /tmp/sendmail.log

5.編輯zabbix_server.conf配置文件
[root@linfan ~]#vim /usr/local/etc/zabbix_server.conf   
###Option: AlertScriptsPath
#Full path to location of custom alert scripts.
#Default depends on compilation options.

#Mandatory: no
#Default:
#AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/local/share/zabbix/alertscripts  //改成mail.sh腳本存放路徑

6.使用腳本執行郵件發送測試
[root@linfan alertscripts]# ./mail.sh [email protected] "這是" "ll" 

7.Zabbix後臺web界面配置
1.管理 ---- 報警媒介類型 ----- 創建媒介類型。

2.名稱可以隨便自己定義 ----- 類型選擇腳本 ----- 腳本名稱輸入上一步編寫的發送郵件的腳本名稱 ----
再添加以下3個參數,分別對應腳本需要的3個參數:收件人地址、主題、詳細內容:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

3.管理 ---- 用戶 ----- 選擇admin用戶。(自己創建一個用戶也可以)
zabbix服務器設置郵箱報警
技術分享圖片

4.報警媒介 ---- 添加。
類型輸入剛剛創建的報警媒介類型sendmail腳本 --- 輸入個人郵箱用於接收報警郵件 --- 啟動打勾 ---- 添加。
zabbix服務器設置郵箱報警

5.配置 ---- 動作 ---- 創建動作。
動作 ---- 名稱自定義 --- 啟用 ---- 添加。(觸發條件需要根據實際情況設置,相當於正則表達式,一般不設置,相當於監控所有監控項)

6.定義操作。

技術分享圖片

7.Zabbix後臺web界面配置

1.管理 ---- 報警媒介類型 ----- 創建媒介類型。

技術分享圖片

2.名稱可以隨便自己定義 ----- 類型選擇腳本 ----- 腳本名稱輸入上一步編寫的發送郵件的腳本名稱 ----
再添加以下3個參數,分別對應腳本需要的3個參數:收件人地址、主題、詳細內容:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

技術分享圖片

3.管理 ---- 用戶 ----- 選擇admin用戶。(自己創建一個用戶也可以)

技術分享圖片

4.報警媒介 ---- 添加。

類型輸入剛剛創建的報警媒介類型sendmail腳本 --- 輸入個人郵箱用於接收報警郵件 --- 啟動打勾 ---- 添加。

技術分享圖片

5.配置 ---- 動作 ---- 創建動作。
動作 ---- 名稱自定義 --- 啟用 ---- 添加。(觸發條件需要根據實際情況設置,相當於正則表達式,一般不設置,相當於監控所有監控項)

技術分享圖片

6.定義操作。

技術分享圖片

測試

在客戶端操作
在客戶端修改監控項查看是否會觸發報警郵件發送給收件方。

我在這裏編輯 /etc/linfan

[root@linfan ~]# zabbix_agentd
[root@linfan ~]# echo "doudou" >> /etc/linfan

技術分享圖片

技術分享圖片

實驗小結
如上圖所示:當被監控主機宕機或達到觸發器預設值進,會自動發送報警郵件到指定的郵箱。

Linux中zabbix監控服務設置郵箱通知