參考博客:http://blog.chinaunix.net/uid/26118446.html 小鉆風(fēng)
創(chuàng)新互聯(lián)專注于漯河網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供漯河營銷型網(wǎng)站建設(shè),漯河網(wǎng)站制作、漯河網(wǎng)頁設(shè)計(jì)、漯河網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造漯河網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供漯河網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。 http://www.iyunv.com/thread-61736-1-1.html 運(yùn)維網(wǎng)論壇帖子
搭建好zabbix監(jiān)控服務(wù)系統(tǒng)后,就是增加郵件報(bào)警功能,還是費(fèi)了點(diǎn)時(shí)間,因?yàn)橄仁悄馨l(fā)送到163郵箱,不能發(fā)送到QQ郵箱,后又是以附件的形式發(fā)送郵件,而不是直接顯示其報(bào)警內(nèi)容:
用163做的測試:
使用外部郵箱賬號發(fā)送報(bào)警郵件設(shè)置
一、關(guān)閉sendmail或者postfix
service sendmail stop #關(guān)閉
chkconfig sendmail off #禁止開機(jī)啟動(dòng)
service postfix stop
chkconfig postfix off
備注:
使用外部郵箱賬號時(shí),不需要啟動(dòng)sendmail或者postfix
如果在sendmail或者postfix啟動(dòng)的同時(shí)使用外部郵箱發(fā)送報(bào)警郵件,首先會(huì)讀取外部郵箱配置信息。
二、安裝郵件發(fā)送工具mailx
yum install mailx #安裝
CentOS 5.x編譯安裝mailx,直接yum安裝的mailx版本太舊,使用外部郵件發(fā)送會(huì)有問題,CentOS6.X自帶版本為mailx12.4。
yum remove mailx #卸載系統(tǒng)自帶的舊版mailx
下載mailx:
http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2
tar jxvf mailx-12.4.tar.bz2 #解壓
cd mailx-12.4 #進(jìn)入目錄
make #編譯
make install UCBINSTALL=/usr/bin/install #安裝
ln -s /usr/local/bin/mailx /bin/mail #創(chuàng)建mailx到mail的軟連接
ln -s /etc/nail.rc /etc/mail.rc #創(chuàng)建mailx配置文件軟連接
whereis mailx #查看安裝路徑
mailx -V #查看版本信息
三、配置Zabbix服務(wù)端外部郵箱
vi /etc/mail.rc #編輯,添加以下信息
set from=xxx@163.com smtp=smtp.163.com
set smtp-auth-user=xxx@163.comsmtp-auth-password=123456
set smtp-auth=login
:wq! #保存退出
#echo "zabbix test mail" |mail -s "zabbix" yyy@163.com
#測試發(fā)送郵件,標(biāo)題zabbix,郵件內(nèi)容:zabbix test mail,發(fā)送到的郵箱:yyy@163.com
#這時(shí)候,郵箱yyy@163.com會(huì)收到來自xxx@163.com的測試郵件
四、配置Zabbix服務(wù)端郵件報(bào)警
1、打開Zabbix
管理-示警媒介類型-創(chuàng)建媒體類型
名稱:Sendmail
類型:腳本
腳本名稱:sendmail.sh
已啟用:勾選
存檔
2、設(shè)置Zabbix用戶報(bào)警郵箱地址
管理-用戶-Admin (Zabbix Administrator)
切換到示警媒介-添加
類型:Sendmail
收件人:xxx@163.com
其他默認(rèn)即可,也可
以根據(jù)需要設(shè)置
狀態(tài):已啟用
存檔
3、設(shè)置Zabbix觸發(fā)報(bào)警的動(dòng)作
組態(tài)-動(dòng)作-創(chuàng)建動(dòng)作
名稱:Action-Email
默認(rèn)接收人:故障{TRIGGER.STATUS},服務(wù)器:{HOSTNAME1}發(fā)生: {TRIGGER.NAME}故障!
默認(rèn)信息:
告警主機(jī):{HOSTNAME1}
告警時(shí)間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項(xiàng)目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢復(fù)信息:打鉤
恢復(fù)主旨:恢復(fù){TRIGGER.STATUS}, 服務(wù)器:{HOSTNAME1}:{TRIGGER.NAME}已恢復(fù)!
恢復(fù)信息:
告警主機(jī):{HOSTNAME1}
告警時(shí)間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項(xiàng)目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已啟用:打鉤
切換到操作選項(xiàng)
新的
操作類型:送出信息
送到用戶:添加
默認(rèn)信息:打鉤
選擇用戶:Admin
選擇
僅送到:Sendmail
存檔
4、添加Zabbix服務(wù)端郵件發(fā)送腳本
cd /usr/local/zabbix/share/zabbix/alertscripts #進(jìn)入zabbix腳本存放目錄
vi sendmail.sh #編輯,添加以下代碼
#!/bin/sh
echo "$3" | mail -s "$2" $1
:wq! #保存退出
或
這個(gè)是運(yùn)維網(wǎng)復(fù)貼的:
01 02 03 | #! /bin/bash #echo "$3" | mail -s "$2" $1 echo "$3" | sed s/'\r'//g | mail -s "$2" $1 |
chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
#設(shè)置腳本所有者為zabbix用戶
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
#設(shè)置腳本執(zhí)行權(quán)限
五、測試Zabbix報(bào)警
關(guān)閉Zabbix客戶端服務(wù)
service zabbix_agentd stop
查看xxx@163.com郵箱,會(huì)收到報(bào)警郵件
再開啟Zabbix客戶端服務(wù)
service zabbix_agentd start
查看xxx@163.com郵箱,會(huì)收到恢復(fù)郵件
六、郵件可以收到,但是只是以附件的形式
原因:
Unix系統(tǒng)里,每行結(jié)尾只有“<換行>”,即"\n";Windows系統(tǒng)里面,每行結(jié)尾是“<回車><換行>”,即“\r\n”;Mac系統(tǒng)里,每行結(jié)尾是“<回車>”,即"\r";。一個(gè)直接后果是,Unix/Mac系統(tǒng)下的文件在Windows里打開的話,所有文字會(huì)變成一行;而Windows里的文件在Unix/Mac下打開的話,在每行的結(jié)尾可能會(huì)多出一個(gè)^M符號。"
于是就有一中方法,dos2unix轉(zhuǎn)換一下.bin文件格式
解決辦法:
安裝dos2unix格式轉(zhuǎn)換軟件
yum -y install dos2unix
vim /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
1. #!/bin/bash
2. export zabbixemailto="$1"
3. export zabbixsubject="$2"
4. export zabbixbody="$3"
5. FILE=/usr/local/zabbix/share/zabbix/alertscripts/mail.txt
6. echo "$3" >$FILE
7. /usr/bin/dos2unix -k $FILE
8. mail-s"$2" $1 < $FILE
這樣配置后依然只收到附件,后網(wǎng)上搜了一下,大部分都是這個(gè)配置方式,找到一位網(wǎng)友貼的一方法,試試可行:
vim /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
1. #!/bin/bash
2. exportzabbixemailto="$1"
3. exportzabbixsubject="$2"
4. exportzabbixbody="$3"
5. zabbixbody=`echo $zabbixbody|tr '\r' '\n'`
6. cat << EOF |mail -s "$2"$1
7. $zabbixbody
8. EOF
測試成功后,將用戶接收郵箱改為QQ郵箱,也執(zhí)行成功,只不過QQ郵件限制很多,發(fā)送的郵件內(nèi)容有可能通不過審查,會(huì)退回,引起接收不到郵件,前邊QQ郵箱接收不到可能是以*.bin為后綴的附件通不過審查,現(xiàn)在QQ郵箱都實(shí)現(xiàn)SSL安全認(rèn)證。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。