编辑zabbix_server.conf文件编辑zabbix_server.conf文件,修改AlertScriptsPath参数,该参数用于指定外部脚本的绝对路径。 vim /etc/zabbix/zabbix_server.confAlertScriptsPath=/usr/lib/zabbix/alertscripts上传python脚本上传Python脚本send_mail.py至此路径(/usr/lib/zabbix/alertscripts)下,脚本内容如下: '''发送txt文本邮件'''import smtplib from email.mime.text import MIMEText from sys import argvmailto_list=[] mail_host="smtp.163.com:25" mail_user="gxxxxx@163.com" mail_pass="ZHAxxxxxx" debug_level=0 def send_mail(to_list,sub,content): me=mail_user msg = MIMEText(content,_subtype='plain',_charset='utf-8') msg['Subject'] = sub msg['From'] = me msg['To'] = ";".join(to_list) try: server = smtplib.SMTP() server.set_debuglevel(debug_level) server.connect(mail_host) server.login(mail_user,mail_pass) server.sendmail(me, to_list, msg.as_string()) server.close() return True except Exception, e: print str(e) return False if __name__ == '__main__': try: mailto_list=argv[1].split(';') sub=argv[2] content=argv[3] except: print "python send_mail.py 'user1@ ;user2@ ' sub content" exit() if send_mail(mailto_list,sub,content): print "发送成功" else: print "发送失败"脚本上传之后,修改权限: chmod +x send_mail.pyzabbix web端——创建媒体类型管理——>报警媒介类型——>创建媒体类型
zabbix web端——用户指定媒介
zabbix web端——创建动作
告警消息模板
接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}
告警主机:{HOST.NAME}
主机地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID}
恢复消息模板
接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}
恢复主机:{HOST.NAME}
主机地址:{HOST.IP}
恢复时间:{EVENT.DATE} {EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID} 邮件测试利用本机添加的日志监控进行测试,在日志中输入yyy则报警,输入111则问题解决。
原创:业余草
|