Zabbix 邮件告警
1. 告警操作¶
操作条件 --> 触发操作 --> 用户组[用户1|用户2|用户...] --> 邮件
2. 操作步骤¶
2.1 终端配置¶
systemctl stop postfix.service systemctl disable postfix.service yum install -y mailx cp /etc/mail.rc /etc/mail.rc.ori diff /etc/mail.rc /etc/mail.rc.ori
详细步骤
[root@master01 zabbix]# systemctl status sendmail Unit sendmail.service could not be found. [root@master01 zabbix]# systemctl status postfix.service ● postfix.service - Postfix Mail Transport Agent Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2019-05-13 23:30:11 CST; 3 weeks 3 days ago Main PID: 4122 (master) Tasks: 3 Memory: 3.0M CGroup: /system.slice/postfix.service ├─ 4122 /usr/libexec/postfix/master -w ├─ 4124 qmgr -l -t unix -u └─13716 pickup -l -t unix -u Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable. [root@master01 zabbix]# systemctl stop postfix.service [root@master01 zabbix]# systemctl disable postfix.service Removed symlink /etc/systemd/system/multi-user.target.wants/postfix.service. [root@master01 zabbix]# yum install -y mailx Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * epel: mirrors.yun-idc.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Resolving Dependencies --> Running transaction check ---> Package mailx.x86_64 0:12.5-19.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved =========================================================================================================== Package Arch Version Repository Size =========================================================================================================== Installing: mailx x86_64 12.5-19.el7 base 245 k Transaction Summary =========================================================================================================== Install 1 Package Total download size: 245 k Installed size: 466 k Downloading packages: mailx-12.5-19.el7.x86_64.rpm | 245 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : mailx-12.5-19.el7.x86_64 1/1 Verifying : mailx-12.5-19.el7.x86_64 1/1 Installed: mailx.x86_64 0:12.5-19.el7 Complete! [root@master01 zabbix]# cp /etc/mail.rc /etc/mail.rc.ori [root@master01 ~]# diff /etc/mail.rc /etc/mail.rc.ori 71,75d70 < set from=17761739482@163.com < set smtp=smtp.163.com < set smtp-auth-user=17761739482@163.com < set smtp-auth-password="leco1234" < set smtp-auth=login 测试邮件 [root@master01 ~]# echo '正文' | mailx -v -s '主题' 610658552@qq.com Resolving host smtp.qq.com . . . done. Connecting to 14.18.245.164:smtp . . . connected. 220 smtp.qq.com Esmtp QQ Mail Server >>> EHLO master01 250-smtp.qq.com 250-PIPELINING 250-SIZE 73400320 250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN 250-MAILCOMPRESS 250 8BITMIME >>> AUTH LOGIN 334 VXNlcm5hbWU6 >>> NjEwNjU4NTUyQHFxLmNvbQ== 334 UGFzc3dvcmQ6 >>> YnNzd3pmZ21hd2VzYmNqZA== 235 Authentication successful >>> MAIL FROM:<610658552@qq.com> 250 Ok >>> RCPT TO:<610658552@qq.com> 250 Ok >>> DATA 354 End data with <CR><LF>.<CR><LF> >>> . 250 Ok: queued as >>> QUIT 221 Bye
163
set from=17761739482@163.com set smtp=smtp.163.com set smtp-auth-user=17761739482@163.com set smtp-auth-password="leco1234" set smtp-auth=login
mail.sh
#!/bin/bash SEND_TO=$1 SEND_SUBJECT=$2 SEND_CONTENT=$3 echo "${SEND_CONTENT}" | mailx -s "${SEND_SUBJECT}" ${SEND_TO}
查看zabbix默认脚本位置
[root@master01 ~]# grep -i alertscript /etc/zabbix/zabbix_server.conf ### Option: AlertScriptsPath # AlertScriptsPath=${datadir}/zabbix/alertscripts AlertScriptsPath=/usr/lib/zabbix/alertscripts [root@master01 ~]# cd /usr/lib/zabbix/alertscripts/ [root@master01 alertscripts]# vim mail.sh [root@master01 alertscripts]# cat mail.sh #!/bin/bash SEND_TO=$1 SEND_SUBJECT=$2 SEND_CONTENT=$3 echo "${SEND_CONTENT}" | mailx -s "${SEND_SUBJECT}" ${SEND_TO}
2.2 配置用户¶
脚本参数,注意位置
{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}





2.3 配置动作¶
故障{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} 故障持续时间:{EVENT.AGE} 恢复时间:{EVENT.RECOVERY.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息:{TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}