zabbix 5.2告警配置
先把MTA和MUA確定下來
我的MTA是sendmail
我的MUA是mailx
通俗的說MUA就是用戶使用的客戶端切油,而MTA則是真正發(fā)送郵件的發(fā)送進(jìn)程,MUA編寫的郵件最終也交由MTA發(fā)送至目標(biāo)端伸眶。
mailx即為負(fù)責(zé)查看纱皆、編寫郵件和向MTA發(fā)送郵件的MUA煞聪。
Sendmail和postfix即為負(fù)責(zé)郵件在網(wǎng)絡(luò)上傳輸?shù)腗TA悴品,將郵件從一個(gè)MTA傳送至另一個(gè)MTA贷币。
標(biāo)注:使用zabbix服服務(wù)端本地郵箱賬號(hào)發(fā)送郵件,需要安裝兩個(gè)軟件達(dá)到報(bào)警郵件轉(zhuǎn)發(fā)至指定郵箱握联。Sendmail或postfix(兩個(gè)軟件各選擇一個(gè)桦沉,但不能同時(shí)運(yùn)行)和mailx郵件客戶端。
1 第一步??安裝sendmail或postfix (郵件傳送代理MTA)
我安裝的是sendmail
yum install sendmail -y
如何檢測(cè)是否安裝成功
rpm -qa | grep sendmail
然后開啟服務(wù)
systemctl start sendmail.service
接著查看是否開啟成功
接著安裝MUA拴疤,就是mailx
yum install mailx -y
給/bin目錄下設(shè)置權(quán)限 (可以不做)
Chown -R zabbix.zabbix /bin/mail
mailx是郵件客戶端,不需要啟動(dòng)独泞,直接編輯mail.rc文件即可
vi? /etc/mail.rc
這里我用QQ郵箱舉例呐矾,
第一項(xiàng):qq郵箱賬號(hào)
第二項(xiàng):qq發(fā)送郵件服務(wù)器地址
第三步:郵箱登錄用戶名
第四步:授權(quán)碼,非QQ密碼懦砂,外行的一般都認(rèn)為是qq密碼
第五步:操作行為
set bsdcompat
set from=xxxxxxxxxx@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=xxxxxxxx@qq.com
set smtp-auth-password=xxxxxxxxxx
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
接著編輯簡單郵件發(fā)送目標(biāo)郵箱
echo “郵件內(nèi)容” | mail -s ‘郵件標(biāo)題’? 目標(biāo)郵箱地址
如果以上配置文件寫成qq密碼蜒犯,則會(huì)有如下錯(cuò)誤
如果沒安裝MTA,比如sendmail荞膘,也不會(huì)報(bào)錯(cuò)罚随,郵件也能正常發(fā)送
因?yàn)?b>如果直接使用外部郵箱發(fā)送郵件可以不需要配置sendmail或postfix
如果授權(quán)碼過期,則會(huì)有如下錯(cuò)誤
systemctl restart zabbix-server zabbix-agent nginx php-fpm
每次改完腳本要重啟相關(guān)服務(wù)
把AlertScriptsPath=/XXX/XXX/XXX/sendmail.sh即可
在zabbix5.2 后臺(tái)
send to 接收告警郵件的目標(biāo)郵箱
接下來創(chuàng)建動(dòng)作
告警主機(jī)IP地址:{HOST.CONN}
告警主機(jī):{HOSTNAME1}
告警時(shí)間:{EVENT.DATE} {EVENT.TIME}
告警等級(jí):{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項(xiàng)目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
告警主機(jī)IP地址:{HOST.CONN}
告警主機(jī):{HOSTNAME1}
告警時(shí)間:{EVENT.DATE} {EVENT.TIME}
告警等級(jí):{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項(xiàng)目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當(dāng)前狀態(tài):{TRIGGER.STATUS}:{ITEM.VALUE1}
模擬測(cè)試:
測(cè)試一下腳本是否發(fā)送成功
最后真機(jī)測(cè)試:把一臺(tái)服務(wù)器的agent服務(wù)暫時(shí)關(guān)閉掉羽资,看看有沒有告警和郵件發(fā)送
#提示 “Errorincertificate: Peer’s certificate issuer is not recognized#解決方法:mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt#添加一個(gè)證書到證書數(shù)據(jù)庫中certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -L -d /root/.certs#生成完成之后淘菩,修改 mail.rc 郵件配置,修改 nss-config-dir 為上面命令生成的 /root/.certs,保存certutil -L -d /root/.certs #列出目錄下證書
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
GeoTrust SSL CA