[root@zabbix ~]# yum install mailx -y
注意網易郵箱需要開啟使用者端授權碼進行第三方登入
[root@zabbix ~]# vim /etc/mail.rc
#末尾增加
set from=liumengyang980601@163.com '設定的郵箱地址'
set smtp=smtp.sina.cn '承載smtp地址'
set smtp-auth-user=liumengyang980601@163.com '郵箱賬戶名'
set smtp-auth-password=ZIZFNTQUQUVSKIUF '允許第三方登入終端 填寫剛剛的授權碼'
set smtp-auth=login '登入驗證'
'測試發信是否正常'
[root@zabbix ~]# echo "hello world" | mail -s "zb-test" liumengyang980601@163.com
'我的指令碼目錄是/usr/lib/zabbix/alertscripts/'
[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix alertscripts]# vim mailx.sh
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
$1:郵件地址
$2:郵件主題
$3:郵件內容
'建立紀錄檔目錄'
touch /tmp/mailx.log
#這裡的mail.sh指令碼一定要有可執行許可權,mail.log同樣需要可執行許可權,否則傳送的郵件會有問題。
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/
./mailx.sh liumengyang980601@163.com"主題" "內容" //測試發郵件指令碼是否可以正常工作
[root@zabbix alertscripts]# ./mailx.sh liumengyang980601@163.com shuai test
在zabbix伺服器上設定報警連線郵箱
點選user----》Admin
設定–》動作—》建立動作----》刪除預設標籤,修改觸發條件
操作填寫觸發後執行的動作,遠端執行命令或傳送郵件
'預設資訊,這裡是宏變數,可以設定成中文,這裡我常用的是下面這個'
告警主機:{HOST.NAME}
告警 IP:{HOST.IP}
告警時間:{EVENT.DATE}-{EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警資訊:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}
重新啟動zabbix
[root@zabbix alertscripts]# systemctl restart zabbix-server.service
[root@zabbix alertscripts]# systemctl restart zabbix-agent.service
測試報警
'被管理者操作,關閉sshd服務'
[root@client ~]# systemctl stop sshd.service
'等待一下'
回到首頁檢視監控等待一會
檢視郵箱報警資訊
恢復操作
[root@client ~]# systemctl start sshd '啟動sshd服務'
如果指令碼測試成功,那說明linux系統傳送郵件是沒有問題的,如果zabbix觸發了事件,結果沒收到郵件,就要檢查zabbix的設定了