Zabbix外部邮件告警配置mailx

  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 [email protected]

#填写发送邮箱服务器地址smtp
set smtp=smtp.163.com
#个人邮箱用户
set [email protected]
#个人邮箱密码
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" [email protected]

  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 [email protected]

#填写发送邮箱服务器地址smtp
set smtp=smtp.163.com
#个人邮箱用户
set [email protected]
#个人邮箱密码
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" [email protected]

  3. zabbix配置: 管理-->配置-->创建媒体类型
    Zabbix外部邮件告警配置mailx

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

  1. 用户报警配置
    Zabbix外部邮件告警配置mailx

  2. 添加报警动作:配置—动作-创建动作
    Zabbix外部邮件告警配置mailx
    名称: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.设置步骤操作,发送用户
Zabbix外部邮件告警配置mailx

9.查看报警邮件

Zabbix外部邮件告警配置mailx

猜你喜欢

转载自blog.51cto.com/11291014/2298727
今日推荐