十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
zabbix監(jiān)控服務(wù)端、客戶端都已經(jīng)部署完成,被監(jiān)控主機已經(jīng)添加,Zabiix監(jiān)控運行正常。
成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、成都做網(wǎng)站與策劃設(shè)計,安順網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:安順等地區(qū)。安順做網(wǎng)站價格咨詢:18980820575
在Zabbix服務(wù)端設(shè)置郵件報警,當被監(jiān)控主機宕機或者達到觸發(fā)器預(yù)設(shè)值時,會自動發(fā)送報警郵件到指定郵箱。
具體操作:
以下操作在Zabbix監(jiān)控服務(wù)端進行
然后安裝那兩個依賴包,命令是:
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"
命令主要選項說明:
/usr/local/bin/sendEmail
#命令主程序
-f from@126.com
#發(fā)件人郵箱
-t to@126.com #收件人郵箱
-s smtp.126.com
#發(fā)件人郵箱的smtp服務(wù)器
-u "我是郵件主題"
#郵件的標題
-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)容
進入/usr/local/zabbix/share/zabbix/alertscripts/目錄
然后在這個目錄下創(chuàng)建報警腳本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í)行腳本測試發(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
注:進行發(fā)送郵件測試時,出現(xiàn)了第一個報錯
原因是sendemail軟件和perl5里面的ssl版本不兼容導(dǎo)致的,通過修改sendemail里面的內(nèi)容可以解決這個問題。
解決方法:
在sendemail中1906行的內(nèi)容,從
if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {
修改為
if (! IO::Socket::SSL->start_SSL($SERVER)) {
即不指定SSL的版本,讓程序來自己選擇
不管你使用的是163/126郵箱還是qq郵箱,你都必須開通pop3服務(wù),而且126/qq郵箱還要求使用第三方客戶端發(fā)送郵件是必須使用授權(quán)碼登錄,使用賬號密碼驗證時,會出現(xiàn)下面圖片中的錯誤。
sendEmail[5102]: ERROR => ERROR => SMTP-AUTH: Authentication to smtp.126.com:25 failed.
至于郵箱的授權(quán)碼,自己登錄126郵箱去設(shè)置就好。
經(jīng)過上面兩個問題的處理后就可以正常發(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端添加報警媒介,在web頁面的管理,報警媒介類型頁面,點擊右邊的創(chuàng)建媒體類型
進入創(chuàng)建頁面,然后輸入名稱“郵件報警腳本”,類型選擇腳本,名稱選擇mail.sh,點擊添加按鈕,添加三個腳本參數(shù),分別是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESAGE},分別對于mail.sh中的to、subject和body。添加完成后點下面的添加按鈕,我們的報警媒介就創(chuàng)建完成了
創(chuàng)建好報警媒介后,就需要將報警媒介關(guān)聯(lián)到我們的用戶。點擊管理,用戶,然后選擇我們的用戶admin也可新建一個用戶,點擊用戶名就進入到用戶配置界面。點擊報警媒介,然后點添加,選擇我們上一步創(chuàng)建的郵件報警腳本,輸入收件人,選擇報警時間和類型,然后點擊添加,就將創(chuàng)建好的報警媒介關(guān)聯(lián)到我們的用戶上面了。
現(xiàn)在需要做的是,創(chuàng)建一個觸發(fā)動作,即系統(tǒng)出現(xiàn)故障時,觸發(fā)這個動作,然后給我們的郵箱發(fā)送報警郵件。點擊配置,選擇動作,然后點擊右邊的創(chuàng)建動作。
在動作這一頁名稱中寫入我們定義的動作名以及觸發(fā)條件
設(shè)置“操作”
步驟是1-3,也即是從1開始到3結(jié)束。一旦故障發(fā)生,就是執(zhí)行Email.sh腳本發(fā)生報警郵件給zabbix用戶。
假如故障持續(xù)了1個小時,它也只發(fā)送3次,第1-3次(即前3次)郵箱發(fā)送給zabbix用戶,時間間隔為0秒。
如果改成1-0,0是表示不限制.無限發(fā)送
設(shè)置“恢復(fù)操作”
添加好以后就可以看到我們添加的動作名,以及該動作已啟用的狀態(tài)。
查看狀態(tài)是否顯示以啟用
在動作日志里可以看到發(fā)送狀況,顯示已送達,就可以了。
報警測試
將192.168.129.88服務(wù)器的zabbix_agent進程關(guān)閉。
發(fā)現(xiàn)可以正常收到故障報警郵件
最后,點擊”報表“->”動作日志“,可以看到觸發(fā)動作的次數(shù)(右邊還看查看到郵件發(fā)送狀態(tài)“已發(fā)送”)。
----------------------------------------------------------------------------------------------
今日推薦電影《教父Ⅰ Ⅱ Ⅲ》
偉大的人不是生下來就偉大的,而是在成長過程中顯示其偉大的