天天看点

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。

邮件服务可以使用系统自带的邮件服务来发送邮件或者使用其他邮件服务调用第三方邮件来发送警告邮件。

一、开启发件服务器SMTP功能

这里发送邮件的服务器选比较稳定可靠的网易邮箱服务器进行报警邮件的发送工作。

进入163网易免费邮箱,然后点击左侧:POP3/SMTP/IMAP

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

如上,根据提示开启POP3/SMTP服务,我的已经开通过,这里检查一下。

二、安装邮件服务软件

2.1 安装mailx、sendmail、sendmail-cf

yum install s-nail-14.9.22-6.el9.x86_64 sendmail sendmail-cf
           

2.2 修改配置文件 /etc/mail.rc、/etc/mail/sendmail.mc、/etc/php.ini

注意 php.ini 里面sendmail值会影响发送邮件

[[email protected] mail]# cat /etc/mail.rc
set from=[email protected] 
set smtp=smtp.163.com
set smtp-auth-user=[email protected]
set smtp-auth-password=写自己的客户端授权码
set smtp-auth=login

/etc/mail/sendmail.mc 文件不做修改

cat /etc/php.ini
....
:sendmail_path = /usr/sbin/sendmail -t -i
....
           

2.3 确认 /etc/hosts 文件是否填写主机名

[[email protected] mail]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 zabbix-server
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
           

注意 hosts 文件会影响邮件发送快慢问题

2.4 启动 sendmail 服务

2.5 测试发送邮件

echo "zabbix_test" | mailx -s "zabbix" [email protected]
           

发送成功

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

三、配置报警媒介

3.1 登录 zabbix 页面

管理 —> 媒介 —> 选择 Email —> 克隆

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

3.2 克隆Email

名称:My_Emal
类型:电子邮件
SMTP服务器:smtp.163.com
SMTP服务器端口:25
SMTP HELO:我的监控平台告警
SMTP电邮:[email protected]
安全连接:无
认证:无
消息格式:文本
           
zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

3.2.1 选择消息模板

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

3.2.2 移除后面3个,只保留问题和问题恢复。

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试
zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

3.2.3 切换到选项 设置发送邮件的次数为3次,间隔20s发1次。

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试
zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试
zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

四、在zabbix服务端写邮件发送脚本

4.1 编写脚本

[[email protected] zabbix]# cat /usr/lib/zabbix/share/zabbix/alertscripts/sendmail.sh
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mailx -s "${subject}" $1 >>/tmp/sendmail.log 2>&1
           

4.2 创建 log日志文件、授权执行权限

touch /tmp/sendmail.log 
chmod 777 /tmp/sendmail.log
chown zabbix:zabbix /usr/lib/zabbix/share/zabbix/alertscripts/sendmail.sh
chmod u+x /usr/lib/zabbix/share/zabbix/alertscripts/sendmail.sh
           

4.3 修改zabbix_server.conf文件

添加一行:AlertScriptsPath= /usr/lib/zabbix/share/zabbix/alertscripts

[[email protected] zabbix]# cat /usr/lib/zabbix/etc/zabbix_server.conf
ListenPort=10051
LogFile=/usr/lib/zabbix/logs/zabbix_server.log
PidFile=/usr/lib/zabbix/logs/zabbix_server.pid
DBName=zabbix
DBUser=zabbix
DBPassword=test
DBSocket=/data/mysql8.0.31/3307_3307/data/mysql.sock
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
StartDiscoverers=5
AlertScriptsPath=/usr/lib/zabbix/share/zabbix/alertscripts
           

4.4 测试脚本

发送成功

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

五、使用脚本方式增加报警媒介

5.1 创建告警媒介

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试
zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

5.2 指定报警用户

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试
zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

六、创建动作

6.1 配置 —> 动作 —> 触发器动作 —> 创建动作

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试
zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试
zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

6.1.1 切换操作选项

选择操作 —> 添加 —> 操作详情

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试
自定义消息内容:
主题:Problem:{EVENT.NAME}

消息:Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name:{EVENT.NAME}
Host:{HOST.NAME}
Severity:{EVENT.SEVERITY}

Original problem ID:{EVENT.ID}
{TRIGGER.URL}

或者
问题:{EVENT.NAME} 主机:{HOST.NAME}
问题:{EVENT.NAME}
主机:{HOST.NAME}({HOST.IP})
告警级别:{EVENT.SEVERITY}
开始时间:{EVENT.DATE} {EVENT.TIME}
当前状态:{EVENT.OPDATA}
事件 ID:{EVENT.ID}
           

切换恢复操作 —> 添加 —> 操作详情

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试
自定义消息内容
主题:Resolved:{EVENT.NAME}
消息:Problem has been resolved at {EVENT.RECOVERY.TIME} on
{EVENT.RECOVERY.DATE}
Problem name:{EVENT.NAME}
Host:{HOST.NAME}
Severity:{EVENT.SEVERITY}

Original proble ID:{EVENT.ID}
{TRIGGER.URL}

或者
问题已解决:{EVENT.NAME} 主机:{HOST.NAME}
问题:{EVENT.NAME}
主机:{HOST.NAME}({HOST.IP})
告警级别:{EVENT.SEVERITY}
解决时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.DURATION}
事件 ID:{EVENT.ID}
           

切换更新操作 —> 添加 —> 操作详情

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试
自定义消息内容
主题:Resolved:{EVENT.NAME}
消息:Problem has been resolved at {EVENT.RECOVERY.TIME} on
{EVENT.RECOVERY.NAME}
Problem name:{EVENT.NAME}
Host:{HOST.NAME}
Severity:{EVENT.SEVERITY}

Original problem ID:{EVENT.ID}
{TRIGGER.URL}
           
zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

七、测试

zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试
zabbix邮件报警配置一、开启发件服务器SMTP功能二、安装邮件服务软件三、配置报警媒介四、在zabbix服务端写邮件发送脚本五、使用脚本方式增加报警媒介六、创建动作七、测试

测试成功

继续阅读