Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

一、添加监控Linux主机

1、配置-主机-创建主机

2、填写信息

3、添加模板

4、查看状态

二、配置邮箱

系统环境:

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core) 

1、安装邮件发送工具mailx

如果安装了其他邮件发送工具,先关闭

service sendmail stop ##关闭sendmail
systemctl disable sendmail.service ##禁止开机启动sendmail
service postfix stop ##关闭postfix
systemctl disable postfix.service ##禁止开机启动postfix
[root@localhost ~]# yum install mailx

2、配置Zabbix服务端外部邮箱,打开文件vim /etc/mail.rc 如果mail.rc文件没有,就手动创建,然后添加如下内容:

[root@localhost ~]# vim /etc/mail.rc

set sendcharsets=iso-8859-1,utf-8
set from=xxx@163.com
set smtp=smtp.163.com #163邮箱要开启smtp授权
set smtp-auth-user=xxx@163.com #认证用户
set smtp-auth-password=xxx #认证密码

3、测试邮件发送

[root@localhost ~]# echo "zabbix test mail" | mail -s "zabbix" xxx@163.com

4、编写发送邮件脚本

1)安装dos2unix转换工具( 解决发出的邮件是xx.bin附件格式的问题 ),(7.5.1804这个目录名会更变动)如果这里的下载链接失效就到阿里官网查找对应文件

[root@localhost ~]# rpm -ivh https://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 ~]# chown zabbix.zabbix /tmp/mailtmp.txt

4)上面的这三个参数是接收从Web页面传递的信息:

$1:收件人邮箱地址;
$2:邮件标题;
$3:邮件内容

5)给脚本添加权限,要不发生告警的时候邮件无法正常发送出去

[root@localhost ~]# chmod 755 /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用户和zabbix administrator组。假如故障持续了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服务

(0)

相关推荐

  • zabbix实现邮件告警的方法

    根据网络教程实现.zabbix3.4,使用脚本和sendEmail. 1.下载并解压缩sendEmail到/usr/local/bin下面,修改权限. 下载网址: SendEmail - Send email with this free command line email client  http://caspian.dotconf.net/menu/Software/SendEmail/ 修改权限: chown zabbix:zabbix /usr/local/bin/sendEmail

  • Centos7.3安装部署最新版Zabbix3.4的方法(图文)

     一.系统环境 cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 关闭防火墙及selinux systemctl stop firewalld.service systemctl disable firewalld.service sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config grep SELINUX=disabled /etc/seli

  • python3实现zabbix告警推送钉钉的示例

    自己写了一个简单的python脚本,用来推送zabbix告警到钉钉机器人,推送格式为markdown,有需要的可以自己修改markdown的格式及推送的值(zabbix宏) 环境如下,理论上zabbix版本不影响,可以看看官方宏定义是否有区别 python 3 zabbix 3.4.2 zabbix宏官方文档:https://www.zabbix.com/documentation/3.4/manual/appendix/macros/supported_by_location 配置 配置钉钉自

  • Centos7.4 zabbix3.4.7源码安装的方法步骤

    一.概述 Zabbix 是一个企业级的分布式开源监控方案.能够监控各种网络参数以及服务器健康性和完整性.支持灵活的通知机制,提供出色的报告和数据可视化功能.Zabbix支持主动轮询和被动捕获.最关键的是源代码都是免费发行的,可供公众任意使用.这也是它在中小企业广为流行的重要原因之一.本文简要描述Zabbix特性以及基于CentOS 7下安装Zabbix 3.4. 特性功能 Zabbix自3.4.5rc1版本开始支持Elasticsearch作为历史数据存储,17年12月28日发布了3.4.5 B

  • Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

    一.添加监控Linux主机 1.配置-主机-创建主机 2.填写信息 3.添加模板 4.查看状态 二.配置邮箱 系统环境: [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 1.安装邮件发送工具mailx 如果安装了其他邮件发送工具,先关闭 service sendmail stop ##关闭sendmail systemctl disable sendmail.service ##禁止

  • Spring Kafka中如何通过参数配置解决超时问题详解

    目录 背景 思路 过程 步骤一,查询版本特性 步骤二,查源码 步骤三,查自身的代码 总结 背景 这是我们团队负责的一个不太核心的服务.之前与外部交互时应外部要求由普通kafka集群改成加密kafka集群.我们是数据生产端. 改的过程中并跑上线,60%的请求耗时增加了2倍,也还是在百毫秒的量级可以接受.但是每次重启的第一个请求要5s以上,会超过:运行过程中,一两个月也会有一次超时.因为我们有三次重试,整体没有影响成功率. 上线的时候我们问过网络组,还专门请教过公司专业负责kafka的团队.结论是:

  • Zabbix3.0邮件报警配置

    我们搭建好Zabbix服务器创建了监控项和触发器之后,如何使用邮箱达到报警功能?本文使用mail作为邮件发送工具. 下面将介绍,如何安装和配置邮箱. 话不多说,就是干!我们分两步,第一步安装mail邮件发送工具,第二步配置Zabbix服务器发送报警邮件 一.mail安装和设置 安装邮件支持功能 yum install postfix systemctl start postfix systemctl enable postfix 验证:ss -lntp 安装发邮件工具mail yum -y in

  • python脚本监控logstash进程并邮件告警实例

    supervisor虽然也能拉起来logstash进程,但是有时候supervisor也会挂,也有时会拉不起,就算拉起来了也没有邮件告警功能 ,所以编写一个python脚本监控所有服务器,以下代码只列举了一台服务器,需要更多服务器在列表里面添加就行! (日志采集过程中连续几天数据异常,由于服务器太多,当时不太想一一去将近40台服务器查看logstash进程,但又一直查不出原因,后来就每台服务器查看logstash进程,果然发现3台采集搜索日志的logstash进程没了,然后就编写了此脚本监控,效

  • 如何在CentOS8上安装和配置Postfix邮件服务器的方法示例

    Postfix 是一个自由开源的 MTA(邮件传输代理),用于在 Linux 系统上路由或传递电子邮件.在本指南中,你将学习如何在 CentOS 8 上安装和配置 Postfix. 实验室设置: 系统:CentOS 8 服务器 IP 地址:192.168.1.13 主机名:server1.crazytechgeek.info(确保域名指向服务器的 IP) 步骤 1)更新系统 第一步是确保系统软件包是最新的.为此,请按如下所示更新系统: # dnf update 继续之前,还请确保不存在其他 MT

  • SpringBoot 集成短信和邮件的配置示例详解

    目录 依赖 配置 编码 1.邮件 2.短信 准备工作 1.集成邮件 以QQ邮箱为例 在发送邮件之前,要开启POP3和SMTP协议,需要获得邮件服务器的授权码,获取授权码: 1.设置>账户 在账户的下面有一个开启SMTP协议的开关并进行密码验证: 2.获取成功的授权码 2.集成短信 以阿里云短信服务为例 1.登陆阿里云—>进入控制台—>开通短信服务 进入后根据提示开通短信服务即可. 2.充值 后期发短信测试需要,暂时可以跳过此步骤. 3.获取AccessKey和AccessSercet 文

  • 邮件的组织结构介绍 邮件实现详解(三)

    要想各种邮件处理程序能识别我们所写的电子邮件,能从我们所书写的电子邮件中分析和提取出发件人,收件人,邮件主题和邮件内容以及附件等信息,那么我们所写的电子邮件必须要遵循一定的格式要求,正如我们上一篇博客 手工体验smtp和pop3协议 ,我们在发送邮件时有固定的写法.而这种邮件内容的基本格式和具体细节分别是由 RFC822 文档和 MIME 协议定义的. 1.RFC822 邮件格式 英文参考文档如下:https://tools.ietf.org/html/rfc822 RFC822 文档中定义的文

  • CentOS7 Docker防火墙的简单配置教程

    CentOS7 Docker防火墙的简单配置 禁用 firewalld 服务 systemctl disable firewalld systemctl stop firewalld 安装 iptables 防火墙服务 yum install iptables-services 创建 iptables 配置脚本 cat >> /usr/local/bin/fired.sh <<'EOF' #!/bin/bash iptables -F iptables -X iptables -Z

  • CentOS7连接XShell与网络配置的方法

    1.Linux网络配置 在进行网络配置前,首先要获取本地的IPv4地址和默认网关等信息. 安装centOS7后使用setup命令,是没有网络配置选项的.要想进行网络配置,需要使用nmtui命令.进入如下界面. 使用键盘方向键选中第一项Edit a connection,回车进入编辑界面.CentOS7默认网卡名为eno16777736,选中Edit,回车. 然后将获取到的IPv4和默认网关信息添加到相应的位置.其中IPv4地址的前3个字段要一致,最后一个字段可以任意. 选中OK,一层一层的退回,

  • CentOS7使用docker部署Apollo配置中心的实现

    Apollo开源地址: https://github.com/ctripcorp/apollo 第一步 将项目clone到本地,然后在github的releases页面中下载三个zip文件 本文中重点讲解截止2019年1月最新的1.2.0版本的部署方法 第二步 打开clone到本地的项目,目录结构如下 第三步 在此目录下创建docker-compose.yml文件,写入内容: version: "3" services: apollo-configservice: ##容器服务名 co

随机推荐