Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)
一、添加监控Linux主机
1、配置-主机-创建主机
2、填写信息
3、添加模板
4、查看状态
二、配置邮箱
系统环境:
[root@localhost~]#cat/etc/redhat-release CentOSLinuxrelease7.2.1511(Core)
1、安装邮件发送工具mailx
如果安装了其他邮件发送工具,先关闭
servicesendmailstop##关闭sendmail systemctldisablesendmail.service##禁止开机启动sendmail servicepostfixstop##关闭postfix systemctldisablepostfix.service##禁止开机启动postfix [root@localhost~]#yuminstallmailx
2、配置Zabbix服务端外部邮箱,打开文件vim/etc/mail.rc如果mail.rc文件没有,就手动创建,然后添加如下内容:
[root@localhost~]#vim/etc/mail.rc
setsendcharsets=iso-8859-1,utf-8 setfrom=xxx@163.com setsmtp=smtp.163.com#163邮箱要开启smtp授权 setsmtp-auth-user=xxx@163.com#认证用户 setsmtp-auth-password=xxx#认证密码
3、测试邮件发送
[root@localhost~]#echo"zabbixtestmail"|mail-s"zabbix"xxx@163.com
4、编写发送邮件脚本
1)安装dos2unix转换工具(解决发出的邮件是xx.bin附件格式的问题),(7.5.1804这个目录名会更变动)如果这里的下载链接失效就到阿里官网查找对应文件
[root@localhost~]#rpm-ivhhttps://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm
获取https://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm
准备中... #################################[100%]
正在升级/安装...
1:dos2unix-6.0.3-7.el7 #################################[100%]
如下接受邮件显示,无法显示文字
2)修改邮件发送脚本内容
为什么我们会在这个路径下面创建这个脚本呢,这是在我们的zabbix_serber.conf文件中配置的
AlertScriptsPath=/usr/lib/zabbix/alertscripts
所以你不想将这个脚本放在这个目录下面,需要修改服务端的配置文件中的AlertScriptsPath的值
[root@localhost~]#vim/usr/lib/zabbix/alertscripts/sendmail.sh #!/bin/bash #export.UTF-8#解决发送的中文变成了乱码的问题 FILE=/tmp/mailtmp.txt echo"$3">$FILE dos2unix-k$FILE#解决了发送的邮件内容变成附件的问题。 /bin/mail-s"$2"$1<$FILE
3)创建临时文件并授权,这里确保你的用户存在zabbix
[root@localhost~]#touch/tmp/mailtmp.txt [root@localhost~]#chownzabbix.zabbix/tmp/mailtmp.txt
4)上面的这三个参数是接收从Web页面传递的信息:
$1:收件人邮箱地址;
$2:邮件标题;
$3:邮件内容
5)给脚本添加权限,要不发生告警的时候邮件无法正常发送出去
[root@localhost~]#chmod755/usr/lib/zabbix/alertscripts/sendmail.sh
5、管理-报警媒介类型-创建媒体类型
6、填写内容
添加以下3个参数,分别对应sendmail.sh脚本需要的3个参数:收件人地址、主题、详细内容
{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
如果在3.0中不添加这三个参数会报错,因为在3.0以后zabbix允许自定义参数了,所以不会默认传递参数,在2.0的时候会默认传递三个参数,所以在3.0如果不写这三个参数会报错。
7、给用户添加报警媒介
8、设置告警条件:配置-动作-创建动作
1)设置条件和名称
2)填写接收人,默认信息,用户是刚填写好的接收邮件人,MyEmail也是刚创建的
故障告警:{TRIGGER.STATUS}:{TRIGGER.NAME}
告警主机:{HOST.NAME}
主机地址:{HOST.IP}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID}
解释:默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户和zabbixadministrator组。假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。
3)恢复操作
故障解除:{TRIGGER.STATUS}:{TRIGGER.NAME}
恢复主机:{HOST.NAME}
主机地址:{HOST.IP}
恢复时间:{EVENT.DATE}{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件代码:{EVENT.ID}
到这我们的邮件报警配置就完成了,这是只要我们设置的触发器触发,就会自动给我发送报警邮件。
9、测试邮件告警
1)打开触发器
2)可以将zabbix自带的模板中的对可用内存的监控中的触发器的临界值改为大于20,进入模板列表
改之后
3)修改更新时间,使其更快检测
4)查看告警
5)邮箱确认
如果发送邮件有问题就重启服务端和zabbix-server和httpd服务,客户端重启zabbix-agent服务
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。