Zabbix 配置Python郵件告警


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.強制關閉虛擬機,測試是否有郵件報警即可.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM