基於rhel7.2的Zabbix平臺搭建和部署(五)

基於rhel7.2的Zabbix平臺搭建和部署(五)


zabbix3.2.1郵件報警設置

說明:zabbix監控服務端、客戶端都已經部署完成,被監控主機已經添加,zabiix監控運行正常。

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

一、zabbix報警部署步驟(操作在Zabbix監控服務端進行):

  1. 安裝sendmail兩個依賴包

    [root@zabbix ~]# yum install -y perl-Net-SSLeay perl-IO-Socket-SSL

  2. 解壓sendmail,然後將sendemail複製到/usr/local/bin/目錄下,並加上可執行權限,然後修改用戶和羣組。

    [root@zabbix ~]# tar -zxvf sendEmail-v1.56.tar.gz

    [root@zabbix ~]# cd sendEmail-v1.56

    [root@zabbix sendEmail-v1.56]# cp sendEmail /usr/local/bin/sendEmail

    [root@zabbix sendEmail-v1.56]# chown zabbix:zabbix /usr/local/bin/sendEmail

    [root@zabbix sendEmail-v1.56]# ll /usr/local/bin/sendEmail

    -rwxr-xr-x 1 zabbix zabbix 80213 Jun 16 23:13 /usr/local/bin/sendEmail

    wKioL1lD9ifyDGXnAAAf4UZFAik479.png

  3. 執行# /usr/local/bin/sendEmail -h可查看sendEmail的幫助

    wKiom1lD9pzTVZfNAAA-4-GXPrY536.png

  4. 郵箱設置

    說明:先去申請一個郵箱,這裏以163郵箱爲例。

    wKioL1lD-YGDgPSYAAFX3dLReco793.png

    wKioL1lD-wPByOAgAACZjOwbfoQ074.png


    wKiom1lD-3mTITfHAABoSVWtf2Y167.png

    wKiom1lD_BTziB0PAABEIVzk1yc878.png

    wKiom1lD_HDjipuRAABFhvtFl2Y876.png

    wKiom1lD_L-ikIoPAABBdDxO-bE126.png

    說明:授權碼是428xxxwtf

  5. 郵箱測試

    [root@zabbix sendEmail-v1.56]# sendEmail -f [email protected] -t [email protected] -s smtp.163.com -u "hello" -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp 428xxxwtf -m "測試郵件!"

    說明:

    /usr/local/bin/sendEmail          #命令主程序

    -f  [email protected]              #發件人郵箱

    [email protected]                     #收件人郵箱

    -ssmtp.163.com                   #發件人郵箱的smtp服務器

    -u"我是郵件主題"                 #郵件的標題

    -omessage-content-type=html      #郵件內容的格式,html表示它是html格式

    -omessage-charset=utf8           #郵件內容編碼

    [email protected]                  #發件人郵箱的用戶名

    -xp428xxxwtf                     #發件人郵箱密碼或授權碼

    -m"我是郵件內容"                 #郵件的具體內容

    wKiom1lEALTw_dABAABDOvsy8Y4995.png

    從上圖我們看出,郵件沒發成功,有報錯。

    原因是:sendemail軟件和perl5裏面的ssl版本不兼容導致的,通過修改sendemail裏面的內容可以解決這個問題。

    解決辦法如下:

    [root@zabbix ~]# vim /usr/local/bin/sendEmail

    將1906行改爲如下內容:

    1906   if (! IO::Socket::SSL->start_SSL($SERVER)) {

    wKioL1lEAzeh262zAAAQWzbk6IU285.png

    再次驗證


    wKioL1lEAi-ipbBuAAA8Dxjqwss424.png

  6. 登入郵箱查看

    wKiom1lEC67TKxfUAAAL81AWA2c092.png

    wKiom1lEBGDBzembAAAkfc_I0-Q048.png

    測試成功!

二、報警腳本

  1. 創建報警腳本

    [root@zabbix ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/

    [root@zabbix alertscripts]# vim mail.sh

    #!/bin/bash

    to=$1

    subject=$2

    body=$3

    /usr/local/bin/sendEmail  -o tls=auto -f [email protected] -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp 428xxxwtf -m "$body"

  2. 執行腳本並測試發郵件

    [root@zabbix alertscripts]# chmod +x mail.sh

    [root@zabbix alertscripts]# ll mail.sh

    -rwxr-xr-x 1 root root 239 Jun 17 00:39 mail.sh

    [root@zabbix alertscripts]# sh mail.sh [email protected] test 第二次測試

    wKioL1lECqLh2N7XAAA7lK_rtJg520.png

  3. 再次查看郵箱

    wKioL1lEC3rQt0R7AAALPaKKo-4137.png

    wKiom1lECt7h31p-AAAuYpnmvm8290.png

三、zabbix web端配置

  1. 上面的郵件腳本配置好後,就要在web端添加報警媒介,在web頁面的管理,報警媒介類型頁面,點擊右邊的創建媒體類型

    wKioL1lEDG_C0gzXAAA6C_PiSIg512.png

  2. 進入創建頁面,然後輸入名稱“郵件報警腳本”,類型選擇腳本,名稱選擇mail.sh,點擊添加按鈕,添加三個腳本參數,分別是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE},分別對於mail.sh中的to、subject和body。添加完成後點下面的添加按鈕,我們的報警媒介就創建完成了。

    wKioL1lEloyiYqn5AADpdlPAj9w778.png

    發現上面步驟完成後報警!從報錯內容上分析,應該是名稱“郵件報警”無法使用中文。

    解決方法:

    將名稱那一項改爲:“youjianbaojing”

    wKiom1lElryTre4DAABFKA6OYkw807.png

    wKiom1lEl6vhAH--AABWoGaSR-o349.png

    說明:添加成功後,會多出一個報警媒介類型!

  3. 創建好報警媒介後,就需要將報警媒介關聯到我們的用戶。點擊管理,用戶,然後選擇我們的用戶admin也可新建一個用戶,點擊用戶名就進入到用戶配置界面。點擊報警媒介,然後點添加,選擇我們上一步創建的郵件報警腳本,輸入收件人,選擇報警時間和類型,然後點擊添加,就將創建好的報警媒介關聯到我們的用戶上面了。

    wKioL1lEmPzyc27eAACBXAdLZkI387.png

    wKiom1lEmVXwp19vAAAfvMULpws365.png

    wKioL1lEra_y58I_AAA9pziCf_g217.pngwKioL1lEmrLzCb9eAAAnG-u_iw8854.png

  4. 現在需要做的是,創建一個觸發動作,即系統出現故障時,觸發這個動作,然後給我們的郵箱發送報警郵件。點擊配置,選擇動作,然後點擊右邊的創建動作。

    在動作這一頁名稱中寫入我們定義的動作名以及觸發條件。

    wKioL1lEm3ijeXjtAABQMbHcHcY192.png

    wKioL1lEnqnQ31PLAAA9LEY4PJ8218.png

    wKiom1lEoEOjuP2OAAA655L20NA047.png

    wKioL1lEoJvzWrv3AABJ5xjCT0g807.png

    wKiom1lEoQXzKiDmAABUjCbiF9g945.png

    wKiom1lEodDDEel4AAB7FGn_d0w590.png

    wKioL1lEoi3T68G1AAAjkld0neg456.png

    說明:步驟是1-3,也即是從1開始到3結束。一旦故障發生,就是執行Email.sh腳本發生報警郵件給zabbix用戶。

    假如故障持續了1個小時,它也只發送3次,第1-3次(即前3次)郵箱發送給zabbix用戶,時間間隔爲0秒。

    如果改成1-0,0是表示不限制.無限發送 

    接着設置“恢復操作”:

    wKioL1lEov3QzGFQAABEwZNenV0874.png

    wKiom1lFBRSga2KZAABqgs7JJYk507.png

  5. 報警測試

    將192.168.100.120服務器的zabbix_agent進程關閉,然後等待郵件。

    [root@mysql ~]# systemctl stop zabbix_agentd

    [root@mysql ~]# systemctl status zabbix_agentd

    wKioL1lFBu6AwateAAA_lhrUdqg455.png

    查看163郵箱

    wKiom1lFB27BpI1BAAAnS30lRRo389.png

  6. 最後,點擊”報表“->”動作日誌“,可以看到觸發動作的次數(右邊還看查看到郵件發送狀態“已發送”)。

    wKioL1lFB-PiorjxAACb9jk5Gow262.png



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章