溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

zabbix3.2.1郵件報(bào)警

發(fā)布時(shí)間:2020-06-02 10:57:08 來(lái)源:網(wǎng)絡(luò) 閱讀:2731 作者:三極行者 欄目:MySQL數(shù)據(jù)庫(kù)

zabbix監(jiān)控服務(wù)端、客戶端都已經(jīng)部署完成,被監(jiān)控主機(jī)已經(jīng)添加,Zabiix監(jiān)控運(yùn)行正常。

在Zabbix服務(wù)端設(shè)置郵件報(bào)警,當(dāng)被監(jiān)控主機(jī)宕機(jī)或者達(dá)到觸發(fā)器預(yù)設(shè)值時(shí),會(huì)自動(dòng)發(fā)送報(bào)警郵件到指定郵箱。

具體操作:

以下操作在Zabbix監(jiān)控服務(wù)端進(jìn)行

然后安裝那兩個(gè)依賴包,命令是:

yum install perl-Net-SSLeay perl-IO-Socket-SSL -y

解壓軟件,然后將sendemail復(fù)制到/usr/local/bin/目錄下,并加上可執(zhí)行權(quán)限,然后修改用戶和群組。

[root@mysqla ~]# tar zxf sendEmail-v1.56.tar.gz

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

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

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

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

-rwxr-xr-x. 1 zabbix zabbix 80213 Nov 21 21:26 /usr/local/bin/sendEmail


執(zhí)行# /usr/local/bin/sendEmail -h查看sendEmail的幫助

#/usr/local/bin/sendEmail -f bpcyh2@126.com -t bpcyh2@126.com -s smtp.126.com -u "hello" -o message-content-type=html -o message-charset=utf8 -xu bpcyh2@126.com -xp 123abc -m "abcfdd"


命令主要選項(xiàng)說(shuō)明:
/usr/local/bin/sendEmail                     #命令主程序
-f from@126.com                          #發(fā)件人郵箱
-t to@126.com                              #收件人郵箱
-s smtp.126.com                           #發(fā)件人郵箱的smtp服務(wù)器
-u "我是郵件主題"                               #郵件的標(biāo)題
-o message-content-type=html          #郵件內(nèi)容的格式,html表示它是html格式
-o message-charset=utf8                   #郵件內(nèi)容編碼
-xu from@126.com                       #發(fā)件人郵箱的用戶名
-xp WEE78@12l$                             #發(fā)件人郵箱密碼
-m "我是郵件內(nèi)容"                             #郵件的具體內(nèi)容

進(jìn)入/usr/local/zabbix/share/zabbix/alertscripts/目錄

然后在這個(gè)目錄下創(chuàng)建報(bào)警腳本sendmail.sh

[root@mysqla alertscripts]# vi mail.sh

下面是腳本內(nèi)容(涂顏色部分是你的郵箱和密碼,-f和-xu參數(shù)后面跟郵箱,-xp后面跟授權(quán)碼)

#!/bin/bash

to=$1

subject=$2

body=$3

/usr/local/bin/sendEmail -o tls=auto -f bpcyh2@126.com -t "$to" -s smtp.126.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu bpcyh2@126.com -xp 123abc -m "$body" 

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

執(zhí)行腳本測(cè)試發(fā)郵件

[root@mysqla alertscripts]# ./mail.sh bpcyh2@126.com test 123


*******************************************************************

 Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client

is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER

together with SSL_ca_file|SSL_ca_path for verification.

 If you really don't want to verify the certificate and keep the

connection open to Man-In-The-Middle attacks please set

SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.

*******************************************************************

at /usr/local/bin/sendEmail line 1906.

invalid SSL_version specified at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 415

注:進(jìn)行發(fā)送郵件測(cè)試時(shí),出現(xiàn)了第一個(gè)報(bào)錯(cuò)

原因是sendemail軟件和perl5里面的ssl版本不兼容導(dǎo)致的,通過(guò)修改sendemail里面的內(nèi)容可以解決這個(gè)問(wèn)題。

解決方法:

在sendemail中1906行的內(nèi)容,從

if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {

修改為

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

即不指定SSL的版本,讓程序來(lái)自己選擇

不管你使用的是163/126郵箱還是qq郵箱,你都必須開通pop3服務(wù),而且126/qq郵箱還要求使用第三方客戶端發(fā)送郵件是必須使用授權(quán)碼登錄,使用賬號(hào)密碼驗(yàn)證時(shí),會(huì)出現(xiàn)下面圖片中的錯(cuò)誤。

sendEmail[5102]: ERROR => ERROR => SMTP-AUTH: Authentication to smtp.126.com:25 failed.

至于郵箱的授權(quán)碼,自己登錄126郵箱去設(shè)置就好。

經(jīng)過(guò)上面兩個(gè)問(wèn)題的處理后就可以正常發(fā)送郵件如下所示顯示成功提示

[root@mysqla alertscripts]# ./mail.sh bpcyh2@126.com test 123

Nov 21 22:50:47 mysqla sendEmail[5195]: Email was sent successfully!

zabbix web端配置

上面的郵件腳本配置好后,就要在web端添加報(bào)警媒介,在web頁(yè)面的管理,報(bào)警媒介類型頁(yè)面,點(diǎn)擊右邊的創(chuàng)建媒體類型

zabbix3.2.1郵件報(bào)警

進(jìn)入創(chuàng)建頁(yè)面,然后輸入名稱“郵件報(bào)警腳本”,類型選擇腳本,名稱選擇mail.sh,點(diǎn)擊添加按鈕,添加三個(gè)腳本參數(shù),分別是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESAGE},分別對(duì)于mail.sh中的to、subject和body。添加完成后點(diǎn)下面的添加按鈕,我們的報(bào)警媒介就創(chuàng)建完成了


zabbix3.2.1郵件報(bào)警


zabbix3.2.1郵件報(bào)警

創(chuàng)建好報(bào)警媒介后,就需要將報(bào)警媒介關(guān)聯(lián)到我們的用戶。點(diǎn)擊管理,用戶,然后選擇我們的用戶admin也可新建一個(gè)用戶,點(diǎn)擊用戶名就進(jìn)入到用戶配置界面。點(diǎn)擊報(bào)警媒介,然后點(diǎn)添加,選擇我們上一步創(chuàng)建的郵件報(bào)警腳本,輸入收件人,選擇報(bào)警時(shí)間和類型,然后點(diǎn)擊添加,就將創(chuàng)建好的報(bào)警媒介關(guān)聯(lián)到我們的用戶上面了。


zabbix3.2.1郵件報(bào)警

現(xiàn)在需要做的是,創(chuàng)建一個(gè)觸發(fā)動(dòng)作,即系統(tǒng)出現(xiàn)故障時(shí),觸發(fā)這個(gè)動(dòng)作,然后給我們的郵箱發(fā)送報(bào)警郵件。點(diǎn)擊配置,選擇動(dòng)作,然后點(diǎn)擊右邊的創(chuàng)建動(dòng)作。

在動(dòng)作這一頁(yè)名稱中寫入我們定義的動(dòng)作名以及觸發(fā)條件

zabbix3.2.1郵件報(bào)警


設(shè)置“操作”

zabbix3.2.1郵件報(bào)警

zabbix3.2.1郵件報(bào)警

zabbix3.2.1郵件報(bào)警

步驟是1-3,也即是從1開始到3結(jié)束。一旦故障發(fā)生,就是執(zhí)行Email.sh腳本發(fā)生報(bào)警郵件給zabbix用戶。 
假如故障持續(xù)了1個(gè)小時(shí),它也只發(fā)送3次,第1-3次(即前3次)郵箱發(fā)送給zabbix用戶,時(shí)間間隔為0秒。
如果改成1-0,0是表示不限制.無(wú)限發(fā)送  

設(shè)置“恢復(fù)操作”


zabbix3.2.1郵件報(bào)警

添加好以后就可以看到我們添加的動(dòng)作名,以及該動(dòng)作已啟用的狀態(tài)。

zabbix3.2.1郵件報(bào)警

查看狀態(tài)是否顯示以啟用


在動(dòng)作日志里可以看到發(fā)送狀況,顯示已送達(dá),就可以了。

報(bào)警測(cè)試

將192.168.129.88服務(wù)器的zabbix_agent進(jìn)程關(guān)閉。

發(fā)現(xiàn)可以正常收到故障報(bào)警郵件

zabbix3.2.1郵件報(bào)警

zabbix3.2.1郵件報(bào)警

最后,點(diǎn)擊”報(bào)表“->”動(dòng)作日志“,可以看到觸發(fā)動(dòng)作的次數(shù)(右邊還看查看到郵件發(fā)送狀態(tài)“已發(fā)送”)。

----------------------------------------------------------------------------------------------

zabbix3.2.1郵件報(bào)警

zabbix3.2.1郵件報(bào)警

今日推薦電影《教父Ⅰ Ⅱ Ⅲ》

偉大的人不是生下來(lái)就偉大的,而是在成長(zhǎng)過(guò)程中顯示其偉大的 


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI