1. 关闭sendmail或者postfix service sendmail stop chkconfig sendmail off service postfix stop chkconfig postfix off 备注: 使用外部邮箱账号时,不需要启动sendmail或者postfix 如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读取外部邮箱

  2. 设置mailx发信账号 yum -y install mailx ln -s /bin/mailx /bin/mail vim /etc/mail.rc #服务端转发邮件到指定邮箱 set from=yourmail@163.com

#填写发送邮箱服务器地址smtp set smtp=smtp.163.com #个人邮箱用户 set smtp-auth-user=yourmail@163.com #个人邮箱密码 set smtp-auth-password=******** set smtp-auth=login

  1. zabbix服务器端编写邮件发送脚本 #进入zabbix脚本目录 cd /usr/lib/zabbix/alertscripts #编辑邮件脚本 vim mailx.sh
    #!/bin/bash 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

  2. 增加可执行权限并测试,邮件日志可以在 /tmp/mailx.log 看到 touch /tmp/mailx.log chown -R zabbix.zabbix /tmp/mailx.log chmod +x /usr/lib/zabbix/alertscripts/mailx.sh chown -R zabbix.zabbix /usr/share/zabbix/ 发送测试邮件 echo "zabbix test mail" |mail -s "zabbix" chenchao102@ehaoyao.com

  3. zabbix配置: 管理-->配置-->创建媒体类型

{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}

  1. 用户报警配置

  2. 添加报警动作:配置—动作-创建动作

名称:mailx 默认接收人: 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! 默认信息: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}

恢复主旨: 恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复! 恢复信息: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}

8.设置步骤操作,发送用户

9.查看报警邮件

  1. 关闭sendmail或者postfix service sendmail stop chkconfig sendmail off service postfix stop chkconfig postfix off 备注: 使用外部邮箱账号时,不需要启动sendmail或者postfix 如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读取外部邮箱

  2. 设置mailx发信账号 yum -y install mailx ln -s /bin/mailx /bin/mail vim /etc/mail.rc #服务端转发邮件到指定邮箱 set from=15527598970@163.com

#填写发送邮箱服务器地址smtp set smtp=smtp.163.com #个人邮箱用户 set smtp-auth-user=15527598970@163.com #个人邮箱密码 set smtp-auth-password=******** set smtp-auth=login

  1. zabbix服务器端编写邮件发送脚本 #进入zabbix脚本目录 cd /usr/lib/zabbix/alertscripts #编辑邮件脚本 vim mailx.sh
    #!/bin/bash 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

  2. 增加可执行权限并测试,邮件日志可以在 /tmp/mailx.log 看到 touch /tmp/mailx.log chown -R zabbix.zabbix /tmp/mailx.log chmod +x /usr/lib/zabbix/alertscripts/mailx.sh chown -R zabbix.zabbix /usr/share/zabbix/ 发送测试邮件 echo "zabbix test mail" |mail -s "zabbix" chenchao102@ehaoyao.com

  3. zabbix配置: 管理-->配置-->创建媒体类型

{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}

  1. 用户报警配置

  2. 添加报警动作:配置—动作-创建动作 名称:mailx 默认接收人: 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! 默认信息: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}

恢复主旨: 恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复! 恢复信息: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}

8.设置步骤操作,发送用户

9.查看报警邮件