基于zabbix4.2配置邮件告警--通过shell脚本

jiangchuanze 2019-12-18

概述

今天主要分享下zabbix邮件告警方面的内容,这里介绍的是脚本实现方式,后面再介绍zabbix自带邮件功能实现方式。


一、安装邮件服务

1、安装sendmaill、mailx邮件服务

yum -y install mailx sendmail dos2unix

2、配置邮件发送人,邮箱需要启用POP3等协议

vim /etc/mail.rc
=======================================================================================================================
set bsdcompat
--- 增加如下内容 ---
set from=yourname@your-domain.com
set smtp=mail.your-domain.com
set smtp-auth-user=yourname
set smtp-auth-password=yourpasswd
set smtp-auth=login

3、测试邮件发送功能

echo  "hello word" | mail -s "mail title" huangwb@xx.com

二、添加zabbix邮件报警脚本

1、查看zabbix_server脚本路径

vim /etc/zabbix/zabbix_server.conf
==============================================
AlertScriptsPath=/usr/lib/zabbix/alertscripts
==============================================

2、创建邮件发送脚本

cd /usr/lib/zabbix/alertscripts/
vim sendmail.sh
===============================================
#!/bin/bash
#zabbix邮件告警脚本
FILE=/tmp/mailtmp.txt
echo "$3" > $FILE
# 解决生成bin文件问题。
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE
===============================================
--授权
chmod 755 sendmail.sh
chown zabbix.zabbix sendmail.sh
--创建脚本临时文件。
touch /tmp/mailtmp.txt 
chown zabbix.zabbix /tmp/mailtmp.txt

基于zabbix4.2配置邮件告警--通过shell脚本

确认Zabiix各级父目录有 zabbix用户的所属权限。


三、WEB添加邮件报警操作

1、添加邮件发送脚本

管理–>报警媒介类型–>创建媒体类型

基于zabbix4.2配置邮件告警--通过shell脚本

基于zabbix4.2配置邮件告警--通过shell脚本

按图示填写完成后点击更新,就会在报警媒介类型中看到刚才创建的名为Email类型

基于zabbix4.2配置邮件告警--通过shell脚本

测试:

基于zabbix4.2配置邮件告警--通过shell脚本


2、添加邮件报警介质

此处以Admin用户为例,管理–>用户–>点击Admin

基于zabbix4.2配置邮件告警--通过shell脚本


点击报警媒介,然后添加邮件接收人

基于zabbix4.2配置邮件告警--通过shell脚本

3、创建动作

1)配置-动作-创建动作

基于zabbix4.2配置邮件告警--通过shell脚本

名称自己起,除了操作,其它默认

基于zabbix4.2配置邮件告警--通过shell脚本

2)添加新的操作

基于zabbix4.2配置邮件告警--通过shell脚本

基于zabbix4.2配置邮件告警--通过shell脚本

基于zabbix4.2配置邮件告警--通过shell脚本

添加完成后动作页面列表就会展示出来:

基于zabbix4.2配置邮件告警--通过shell脚本

此时没有添加相应的触发器,如果系统中任何一台机器出现告警信息,就会通过邮件发送器发送到对应的邮箱中。

3)添加恢复操作

基于zabbix4.2配置邮件告警--通过shell脚本

基于zabbix4.2配置邮件告警--通过shell脚本

设置后界面:

基于zabbix4.2配置邮件告警--通过shell脚本


监控模板

--故障模板

故障{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}

关于zabbix邮件告警方面内容就介绍到这了,觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

基于zabbix4.2配置邮件告警--通过shell脚本

相关推荐