zabbix 服務器設置郵件報警


 

 

 

實驗條件:

Zabbix監控服務器、客戶端都已經部署完成,被監控主機已添加完成,Zabbix監控運行正常。

 

 

實現目的:

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

 

 

概念補充:

什么是MTA?什么是MUA?

通俗的說MUA就是用戶使用的客戶端,而MTA則是真正發送郵件的發送進程,MUA編寫的郵件最終也交由MTA發送至目標端。

mailx即為負責查看、編寫郵件和向MTA發送郵件的MUA。

Sendmail和postfix即為負責郵件在網絡上傳輸的MTA,將郵件從一個MTA傳送至另一個MTA。

 

 

標注:使用zabbox服服務端本地郵箱賬號發送郵件,需要安裝兩個軟件達到報警郵件轉發至指定郵箱。Sendmail或postfix(兩個軟件各選擇一個,但不能同時運行)和mailx郵件客戶端。

 

 

配置網絡yum源參考教程:

http://www.cnblogs.com/zoulongbin/p/5773330.html

 

 

 

 

 

Zabbix服務器操作

 

 

1、  安裝sendmail或postfix (郵件傳送代理MTA),本教程使用sendmail軟件。

(標注:如果直接使用外部郵箱發送郵件可以不需要配置sendmail或postfix,直接把這兩個軟件關掉,直接跳到第3步:配置mail即可實現) 

 

[root@ssticentos65 ~]# yum -y install sendmail                #在線yum安裝sendmail

 

[root@ssticentos65 ~]# /etc/init.d/sendmail start            #啟動sendmail服務

 

[root@ssticentos65 ~]# /etc/init.d/sendmail status          #查看sendmail啟動情況

sendmail dead but subsys locked                                          #sendmail進程鎖住,原因是postfix服務啟動導致sendmail服務進程鎖住,需要關閉postfix服務。

sm-client (pid  1759) is running...

 

[root@ssticentos65 ~]# /etc/init.d/postfix stop                #暫停postfix服務提示失敗,原因是postfix進程正在使用,需要使用kill命令殺掉postfix進程

Shutting down postfix:                                     [FAILED]

 

[root@ssticentos65 ~]# /etc/init.d/postfix status                #查看postfix服務可以查看到進程號

master (pid  1647) is running...

 

[root@ssticentos65 ~]# kill -9 1647                                     #殺掉postfix服務進程號

 

[root@ssticentos65 ~]# /etc/init.d/postfix status                #查看postfix狀態

master dead but pid file exists

 

[root@ssticentos65 ~]# chkconfig postfix off                      #設置postfix開機不啟動

 

[root@ssticentos65 ~]# /etc/init.d/sendmail stop               #暫停sendmail服務

Shutting down sm-client:                                   [  OK  ]

Shutting down sendmail:                                    [FAILED]

 

[root@ssticentos65 ~]# /etc/init.d/sendmail start                 #啟動sendmail服務

Starting sendmail:                                         [  OK  ]

Starting sm-client:                                        [  OK  ]

[root@ssticentos65 ~]#

 

 

 

 

2、安裝郵件發送工具mailx 。(郵件用戶代理MUA)

 

[root@ssticentos65 ~]# yum -y install mailx                     #在線安裝mailx

 

 

 

3、  配置mail

 

[root@ssticentos65 ~]# vim /etc/mail.rc

set  from=lg1871212539@sina.com        #新浪注冊的個人郵箱,用於zabbi服務端轉發郵件到指定郵箱

set  smtp=smtp.sina.com                       #填寫新浪發送郵箱服務器地址smtp

set  smtp-auth-user= lg1871212539      #新浪個人郵箱用戶

set  smtp-auth-password=lg123456      #新浪個人郵箱密碼

set  smtp-auth=login                           #登錄

 

 

 

 

4、測試郵件能否發送

 

#發送一份郵件到1873714157@qq.com 這個QQ郵箱(個人申請的QQ測試郵箱)

[root@ssticentos65 ~]# echo "test" | mail -s 'test linux'  1873714157@qq.com  

 

 

 

 

 

 

5、編寫郵件發送腳本sendmail.sh

 

[root@ssticentos65 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/         #進入zabbix默認存放腳本路徑

 

[root@ssticentos65 alertscripts]# vim sendmail.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@ssticentos65 ~]# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh                       #sendmail.sh腳本修改所屬用戶和用戶組

 

 [root@ssticentos65 ~]# chown zabbix.zabbix /tmp/sendmail.log                                                                                   #sendmail.log日志記錄文本修改屬用戶和用戶組

 

[root@ssticentos65 ~]# chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh                                     #sendmail腳本賦予執行權限

 

[root@ssticentos65 ~]# ls -l /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh                                                 #查看sendmail.sh腳本信息

 

[root@ssticentos65 ~]# vim /usr/local/zabbix/etc/zabbix_server.conf                                                                          #配置zabbix_server.conf配置文件

 

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts                                                                                      #這個修改成sendmail.sh腳本存放路徑

 

[root@ssticentos65 ~]# su zabbix                                                                                                                                  #切換zabbix用戶

 

sh-4.1$ /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 1873714157@qq.com "test linux" "test"                  #zabbix用戶執行sendmail.sh腳本看是否有權限

 

 

 

 

 

 

 

 

 

 

Zabbix后台web介面配置

 

 

 

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

 

 

 

 

 

2、名稱可以隨便自己定義 ----- 類型選擇腳本 ----- 腳本名稱輸入上一步編寫的發送郵件的腳本名稱 ----

再添加以下3個參數,分別對應腳本需要的3個參數:收件人地址、主題、詳細內容:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

 

 

 

 

 

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

 

 

 

 

 

 

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

 

 

 

 

 

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

 

 

 

 

 

6、選擇更新。

 

 

 

 

 

 

7、權限設置(管理員用戶不用修改,權限默認所有服務器,如果要分類權限需要在用戶組進行控制)

 

 

 

 

 

8、配置 ---- 動作 ---- 創建動作。

 

 

 

 

 

 

9、動作 ---- 名稱自定義 --- 設置一條新的觸發條件 ---- 啟用 ---- 添加。(觸發條件需要根據實際情況設置)

觸發器   似      is unreachable for 5 minutes      #根據主機觸發器  Template App Zabbix AgentZabbix agent on {HOST.NAME} is unreachable for 5 minutes  設置,主要監測zabbix_agentd客戶端連接情況。

 

 

 

 

 

10、定義操作。

 

 

默認接收人:故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!

默認信息:

告警主機IP地址:{HOST.CONN}

告警主機:{HOSTNAME1}

告警時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}:{ITEM.VALUE}

當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}

 

 

 

 

11、定義恢復操作。

 

 

默認接收人:恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!

恢復信息:

告警主機IP地址:{HOST.CONN}

告警主機:{HOSTNAME1}

告警時間:{EVENT.DATE} {EVENT.TIME}

告警等級:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警項目:{TRIGGER.KEY1}

問題詳情:{ITEM.NAME}:{ITEM.VALUE}

當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}

 

 

 

12、測試。

 

[root@ssticentos65 alertscripts]# /etc/init.d/zabbix_agentd stop              #暫停zabbix_agentd客戶端服務

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM