zabbix設定報警發郵件你都學會了?

2020-10-23 14:00:18


本篇文章主要介紹如何設定zabbix藉助外部郵件進行傳送郵件報警,zabbix通過組態檔呼叫mailx來進行郵件的傳送。在Centos6以上的版本預設已經安裝了mailx。

一:伺服器端設定郵件報警功能Mailx

[root@zabbix ~]# yum install mailx -y

1.1:設定網易163授權碼

mark

1.2:設定郵件傳送

注意網易郵箱需要開啟使用者端授權碼進行第三方登入

[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

mark

1.3:編寫發郵件指令碼

'我的指令碼目錄是/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

mark

在zabbix伺服器上設定報警連線郵箱

mark
mark

點選user----》Admin

mark

設定–》動作—》建立動作----》刪除預設標籤,修改觸發條件

mark

mark

操作填寫觸發後執行的動作,遠端執行命令或傳送郵件

'預設資訊,這裡是宏變數,可以設定成中文,這裡我常用的是下面這個'

告警主機:{HOST.NAME}
告警  IP:{HOST.IP}
告警時間:{EVENT.DATE}-{EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警資訊:{TRIGGER.NAME}:{ITEM.VALUE}
事件  ID:{EVENT.ID}

mark

mark

mark

重新啟動zabbix

[root@zabbix alertscripts]# systemctl restart zabbix-server.service 
[root@zabbix alertscripts]# systemctl restart zabbix-agent.service 

測試報警

'被管理者操作,關閉sshd服務'
[root@client ~]# systemctl stop sshd.service 

'等待一下'

回到首頁檢視監控等待一會

mark

檢視郵箱報警資訊

mark

恢復操作

[root@client ~]# systemctl start sshd    '啟動sshd服務'

mark

mark

如果指令碼測試成功,那說明linux系統傳送郵件是沒有問題的,如果zabbix觸發了事件,結果沒收到郵件,就要檢查zabbix的設定了