1、管理--->报警媒价类型
配置--->动作
操作
恢复操作
点用户头像---用户基本---报警媒介----类型选择:脚本名称---->添加---->更新。
2、添加报警信息
邮件报警再添加以下3个参数,分别对应脚本需要的3个参数:收件人地址、主题、详细内容 {ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE} 告警邮件中文显示 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE}{EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}
3、配置发送邮件脚本
#查看脚本执行路径
vi /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts #默认脚本存放路径
mail.sh
#!/usr/bin/sh echo 'start' >> /tmp/zabbix.log messages=`echo $3 | tr '\r\n' '\n'` subject=`echo $2 | tr '\r\n' '\n'` echo "${messages}" | mail -s "${subject}" $1 echo "end" >> /tmp/zabbix.log
mail.py
#!/usr/bin/python #coding:utf-8 import smtplib from email.mime.text import MIMEText import sys,os os.system("echo 'start' >> /tmp/ok") #邮箱服务器地址 mail_host = 'smtp.126.com' #邮箱用户名 mail_user = 'xx@126.com' #邮箱密码 mail_pass = 'xxxxx' mail_postfix = '126.com' def send_mail(to_list,subject,content): me = mail_user+"<"+mail_user+"@"+mail_postfix+">" msg = MIMEText(content) msg['Subject'] = subject msg['From'] = me msg['to'] = to_list try: s = smtplib.SMTP() s.connect(mail_host) s.login(mail_user,mail_pass) s.sendmail(me,to_list,msg.as_string()) s.close() return True except Exception,e: print str(e) return False if __name__ == "__main__": send_mail(sys.argv[1], sys.argv[2], sys.argv[3]) os.system("echo 'end' >> /tmp/ok")
执行脚本(脚本要权限755 ,并且权限和属主都改成zabbix。
#修改所属主 [root@zabbix-server alertscripts]# chown zabbix.zabbix mail.sh #添加执行权限 [root@zabbix-server alertscripts]# chmod +x mail.sh [root@zabbix-server alertscripts]# ll 总用量 8 -rwxr-xr-x 1 zabbix zabbix 510 7月 3 11:50 check_port1.py -rwxr-xr-x 1 zabbix zabbix 195 7月 4 15:12 mail.sh
发送邮件,传三个参数进去。
如果发送失败,查看日志,并删除tmp目录下生成的日志文件。
修改配置信息
#下面是系统默认的参数:
接收人:
{TRIGGER.STATUS}: {TRIGGER.NAME}
默认信息:
Trigger: {TRIGGER.NAME} Trigger status: {TRIGGER.STATUS} Trigger severity: {TRIGGER.SEVERITY} Trigger URL: {TRIGGER.URL} Item values: 1. {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1} 2. {ITEM.NAME2} ({HOST.NAME2}:{ITEM.KEY2}): {ITEM.VALUE2} 3. {ITEM.NAME3} ({HOST.NAME3}:{ITEM.KEY3}): {ITEM.VALUE3} Original event ID: {EVENT.ID}