您的位置:首页 > 大数据 > 人工智能

CentOS系统下zabbix监控之使用sendEmail邮件报警(解决发送邮件内容附件格式的问题 )

2019-03-06 20:48 435 查看

一、邮件客户端以及脚本相关配置

1、安装sendmail

[root@localhost ~]# cd /usr/lib/zabbix/alertscripts

安装
[root@localhost alertscripts]# yum install sendmail

启动
[root@localhost alertscripts]# service sendmail start

设置开机启动
[root@localhost alertscripts]# chkconfig sendmail on

2、安装邮件发送工具mailx

[root@localhost alertscripts]# yum install mailx -y

3、设置发送邮件的email,用于邮件发送

[root@localhost alertscripts]# vi /etc/mail.rc

配置发送帐号和密码

set from=11111111@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=11111111@qq.com
set smtp-auth-password=11111111
set smtp-auth=login

注意:邮箱需要打开POP3服务,密码用授权码填写

发送邮件测试;测试是否能正常发送邮件。

[root@localhost alertscripts]# echo "这里是内容" | mail -s '这里是标题' 这里是邮箱.com

4.查看zabbix服务器发送脚本配置
进入zabbix的安装目录

[root@localhost ~]# cd /usr/lib/zabbix/alertscripts/

[root@localhost alertscripts]# vi /etc/zabbix/zabbix_server.conf

找到AlertScriptsPath选项,可以自定义位置;新增自定义的脚本位置 增加 AlertScriptsPath=/usr/local/zabbix/alertscripts

5.编写发送邮件脚本
安装dos2unix转换工具( 解决发出的邮件是附件格式的问题 )

[root@localhost alertscripts]# yum install dos2unix

修改邮件脚本
[root@localhost alertscripts]# vi sendmail.sh

修改邮件发送脚本内容:

#!/bin/bash
#export.UTF-8  #解决发送的中文变成了乱码的问题
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE  #解决了发送的邮件内容变成附件的问题
/bin/mail -s "$2" $1 < $FILE

创建临时文件并授权

[root@localhost alertscripts]# touch /tmp/mailtmp.txt

[root@localhost alertscripts]# chown zabbix.zabbix /tmp/mailtmp.txt

给脚本添加权限
[root@localhost alertscripts]# chmod 755 /usr/lib/zabbix/alertscripts/sendmail.sh

给日志添加权限
[root@localhost alertscripts]# chown zabbix.zabbix /tmp/sendmail.log

二、 配置web页面

1、创建媒体类型

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


sendmail
sendmail.sh
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

2、给用户添加报警媒介

此处以Admin用户为例 管理–>用户–>点击Admin –>报警媒介–>添加

3、创建动作

3.1配置–>动作–>Report problems to Zabbix administrators–>操作
问题警告: {TRIGGER.NAME}

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户和zabbix administrator组。 假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件

3.2恢复操作

可在客户端关闭zabbix_agent测试是否可以正常收到邮件

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: