1. 程式人生 > >關於zabbix發送報警郵件25端口不通問題的解決方案

關於zabbix發送報警郵件25端口不通問題的解決方案

新版 tar password cli 。。 cert 報警 目的 ont


寫這篇文章的目的不是別的,今年在阿裏雲的centos7上安裝了zabbix3以上版本,我可以直接說明不是zabbix最新版本,安裝路上根據之前總結文檔一頓操作,ok,一切正常,zabbix服務器正常啟動,界面也正常,直至報警調試自帶mail報警,發現並沒有收到郵件。

於是手動測試郵件發送,發現失敗了,。。。。失敗了。然後各種百度找資料,一瞬間發現很多文檔,最多的就說阿裏雲禁用了郵件服務器的25端口,而mail默認走25。

既然發現問題,那就是解決問題,於是各種嘗試改配置文件端口,生成cert證書之類,不行,不行、不行,各種問題各種不行,後來終於找到一篇正常解決問題的文章,也是生成cert文件,但是發現在root下會有zabbix用戶訪問不到的權限問題,於是果斷更改目錄。


這裏需要說明下,我是申請的163郵箱(如果你是qq,證書名稱什麽的都會不一樣,具體我沒有研究),開啟了POP3/SMTP服務(必須開啟並且記錄密碼)

生成證書
cd /usr/lib/zabbix/alertscripts/
mkdir .certs
echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
chown -R zabbix:zabbix /usr/lib/zabbix/alertscripts/.certs

在mail.rc結尾添加
set smtp="smtps://smtp.163.com:465"
set [email protected](你的郵箱用戶名)
set [email protected](你的郵箱用戶名)
set smtp-auth-password=xxxxxxxxx(為163郵箱放通的POP3/SMTP服務密碼)
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/usr/lib/zabbix/alertscripts/.certs

創建報警腳本send_mail.sh
#!/bin/bash
DATETIME=date +%Y%m%d%H%M
to=$1
subject=echo $2|tr '\r\n' '\n' (此處如果腳本不進行這麽設置,那麽郵件是可以發送,但是報警詳情發送回有問題,不全或者是附件形式,所以進行一些處理)
body=echo $3|tr '\r\n' '\n'
email_File=/tmp/email.log
-m "$body" >>$email_File
echo "$body" | mail -v -r "[email protected]" -s "$subject" $to >>$email_File (你的郵箱用戶名)
chown -R zabbix:zabbix send_mail.sh

重啟zabbix服務端
/etc/init.d/zabbix-server restart

之後配置zabbix報警系統即可成功報警,雖然最後可能回提升證書失效,但是不影響郵件發送,不必理會,還有初次接受報警郵件可能回在黑名單或者垃圾郵件中,註意加白。
短信和微信報警也有,需要的小夥伴可以留言


關於zabbix發送報警郵件25端口不通問題的解決方案