1.首先你應該注冊一個163郵箱,用於發信,再注冊時開啟SMTP/POP3功能,使用加密密碼認證.
2.在Zabbix主機上新建send.py文件,將以下代碼復制編輯,設置發件用戶、密碼.
[root@localhost ~]# vim send.py
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.163.com'
mail_user = 'smtpwho'
mail_pass = '密碼'
mail_postfix = '163.com'
def send_mail(to_list,subject,content):
me = "Zabbix 監控告警通知"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me,to_list,msg.as_string())
s.close()
if __name__ == "__main__":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
3.緊接着我們給腳本相應的權限測試是否能夠發信成功,並拷貝到zabbix的默認腳本目中.
[root@localhost ~]# chmod +x send.py
[root@localhost ~]# python send.py 1181506874@qq.com zabbix checkok
[root@localhost ~]# echo $?
0
[root@localhost ~]# cp -a send.py /usr/lib/zabbix/alertscripts/
[root@localhost ~]# chmod 755 -R /usr/lib/zabbix/alertscripts/
4.登錄Zabbix主機,查看配置zabbix_server.conf,找到AlertScriptsPath取消注釋.
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
### Option: AlertScriptsPath
# Full path to location of custom alert scripts.
# Default depends on compilation options.
# To see the default path run command "zabbix_server --help".
#
# Mandatory: no
# Default:
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts #解除注釋,找到配置項
5.點擊圖形界面,選擇管理->報警媒介
.
新增參數:{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE}分別依次加入,然后更新保存.
6.點擊圖形界面,選擇配置->動作->創建動作
,首先創建一個動作.
7.緊接着點擊操作->配置
一下故障報警消息格式.
標題改為:
故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
信息改為:
告警主機:{HOSTNAME1}
告警地址:{HOST.IP}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
8.當我們配置完成一個故障報警后,下面就繼續配置一個恢復后的提示.
標題改為:
恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!
信息改為:
告警主機:{HOSTNAME1}
告警地址:{HOST.IP}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
最終點擊小add添加
選項,繼續點擊大ADD完成動作
增加.
9.配置告警用戶,點擊管理->用戶->Admin->報警媒介
,修改以下內容.
10.強制關閉虛擬機,測試是否有郵件報警即可.