zabbix3.4实现sendEmail邮件报警

转发:https://www.cnblogs.com/pythonal/p/7813948.html

sendEmail是一个轻量级,命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php、bash

perl和web站点使用。

请注意,不是sendmail。我第一次看到这个名字,直接yum install -y sendmail了

然后下面就蒙圈了。

下载软件

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

创建目录

mkdir /usr/local/bin

解压软件

tar zxf sendEmail-v1.56.tar.gz -C /usr/src

进入目录

cd /usr/src/sendEmail-v1.56

复制文件,并设置权限

cp -a sendEmail /usr/local/bin

chmod +x /usr/local/bin/sendEmail

安装组件

yum install perl-Net-SSLeay perl-IO-Socket-SSL -y

进入zabbix自定义的指定目录

可以查看zabbix_server.conf配置文件AlertScriptsPath变量是如何定义的。

cd /usr/local/zabbix/alertscripts/

编辑脚本

vim sendEmail.sh

内容如下:

#!/bin/bash
#
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail -f ieee8023@163.com -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu ieee8023@163.com -xp xxxxxxx -m "$body"

说明:

上面有4个地方我用紫色加粗字体表示了

a@domain.com 表示发件人邮箱

smtp.exmail.qq.com 表示邮箱的smtp服务器,因为我是用的腾讯企业邮箱。如果是其他邮箱,需要修改

password 表示发件人邮箱密码

编辑完成后,给脚本权限

chmod +x sendEmail.sh

chown zabbix.zabbix sendEmail.sh

手动执行一次脚本,后面的参数分别对应接收人,主题,内容

./sendEmail.sh c@domain.com test 123

登录c@domain.com的账户,查看邮件是否可以收到

如果脚本执行没有报错,收不到邮件的话,请检查linux网络问题,iptables、selinux是否关闭。

进入zabbix管理页面

点击管理->报警媒介类型 点击最右边的创建媒体类型

输入脚本名称,类型选择脚本

添加以下3个参数,分别对应sendEmail.sh脚本需要的3个参数:收件人地址、主题、详细内容

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

解释:很多人安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的。

那是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。

在2.x版本不存在这个问题,默认会传3个参数。

点击Admin用户

点击添加

选择sendEmail.sh脚本,输入收件人的邮箱地址

点击用户群组,点击zabbix administrator后面的调用模式,点击一下,就启用了

点权限->添加

选择所有

点击更新

点击配置->动作 点击默认的动作

点击动作->编辑

修改持续时间为60秒

修改步骤为3,表示触发3次动作

选择用户Admin

选择仅送到sendEmail.sh

点击更新

解释:默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户和zabbix administrator组。

假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送

间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。

如果需要短信报警的话,可以再创建一条新的动作,选择短信脚本。

下面开始测试邮件报警

等待几分钟,就会收到邮件报警了

点击报表->动作日志 可以看到触发动作的次数。只会有3次,除非test主机状态改变,也就是正常的时候,会触发一次,否则不会再触发。

点击 配置->动作->Report problems to Zabbix administrators

在默认信息每一行后面添加<br/>

列如:

故障消息<br/>
主机:{HOSTNAME}<br/>
IP:{IPADDRESS}<br/>
监控项:{ITEM.NAME}<br/>
触发器:{TRIGGER.NAME}<br/>
键值:{ITEM.KEY}:{ITEM.VALUE}<br/>
时间:{DATE} {TIME}<br/>

因为我用sendEmail.sh脚本指定格式是html,所以换行就是<br/>

点击更新

再添加几台主机

就这样,邮件报警就写完了

zabbix3.4 实现sendEmail邮件报警的更多相关文章

  1. zabbix3.4实现sendEmail邮件报警

    一.安装软件 wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz 创建目录 mkdir /us ...

  2. 11 一步一步Zabbix4.4.0系统教你实现sendEmail邮件报警

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 一步一步Zabbix4.4.0系统教你实现sendEmail邮件报警 sendEmail是一个轻量 ...

  3. 12 Zabbix4.4.0系统sendEmail邮件报警优化

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 12 Zabbix4.4.0系统sendEmail邮件报警优化 接上一章节  Zabbix4.4. ...

  4. zabbix3.0.4 配置邮件报警

    试验环境: LAMP环境 (LNMP环境已经成功了,为了避免干扰,我另一台LAMP主机) ### 我在做实验之前,作了时间同步,不知道这个有木有影响,一起说一下吧! yum -y install nt ...

  5. zabbix3.0.3 设置邮件报警

    在zabbix3.0.3 设置报警这里卡了两天.终于解决了,这里我使用的mailx来作为发送邮件的客户端 1.设置mailx发信账号 yum -y install mailx ln -s /bin/m ...

  6. zabbix3.4使用外部邮件报警

    打开web页面,找到 管理--报警媒介类型 打开 Email 填写外部邮箱信息 点击更新,这样发件人和邮箱服务器信息定义完成. 添加收件人信息: 接下来创建动作,配置---动作---选触发器 ok 过 ...

  7. zabbix3.4配置第三方邮件报警

    废话不多说,直接进入主题. 1.安装mailx [root@localhost ~]#yum install malix -y                        #yum安装malix [ ...

  8. 分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署

    前面几篇陆续介绍了zabbix3.0.3监控系统的部署和监控项配置,今天这里分享下zabbix3.0.3的邮件报警的配置过程~由于采用sendmail发送邮件,常常会被认为是垃圾邮件被拒,所以不推荐这 ...

  9. 通过脚本发送zabbix邮件报警

    zabbix原生的报警媒介类型中,邮件报警是我们常用的方式.当我们在CentOS6上面安装zabbix3.0并配置邮件报警的时候,在邮件配置正确的前提下,不管触发器如何触发,邮件总是发送不出去,但是在 ...

随机推荐

  1. 转:C# lock用法

    lock 的目的很明确:就是不想让别人使用这段代码,体现在多线程情况下,只允许当前线程执行该代码区域,其他线程等待直到该线程执行结束:这样可以多线程避免同时使用某一方法造成数据混乱. 一般定义如下: ...

  2. 通过ajax GET方式查询数据,Django序列化objects

    点击“查找2”按钮,通过ajax GET方式进行查询数据,这样页面不需要整体刷新,之后清空tbody数据,将查询结果重新附加到tbody 前端html: <div class="box ...

  3. CentOS7 安装 JDK

    安装步骤 1. 将 jdk 安装包传到 用户 centos 的 home 目录 (/home/centos) 通过 Xftp 将安装包( jdk-8u161-linux-x64.tar.gz )传到用 ...

  4. 一、 JSP概述 二、JSP的语法结构 三、JSP内置对象

    一.JSP概述###<1>概念 java服务器页面 可以编写动态页面 其内部是以HTML标签为主,可以在HTML标签嵌套java代码 jsp文件以.jsp为后缀 jsp本质上就是一个Ser ...

  5. [转载]ArcGIS SERVER 9.3如何清除REST缓存

    有时候,发布了一个服务后,但是点击服务后,不能显示出来 http://hostname/ArcGIS/rest/services/服务名称/MapServer 这时候,十有八九是因为REST缓存没有清 ...

  6. python第三十七课——模块

    3.模块(m) 概念:在python中.py结尾的文件,我们就称为模块,可以将类.函数.属性...等内容定义在模块中 分类: 1).标准库模块:安装完python环境就有的模块,这些模块都是最常用的模 ...

  7. gcd以及exgcd入门讲解

    gcd就是最大公约数,gcd(x, y)一般用(x, y)表示.与此相对的是lcm,最小公倍数,lcm(x, y)一般用[x, y]表示. 人人都知道:lcm(x, y) = x * y / gcd( ...

  8. Node.js实战(十一)之Buffer

    JavaScript 语言自身只有字符串数据类型,没有二进制数据类型. 但在处理像TCP流或文件流时,必须使用到二进制数据.因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门 ...

  9. anaconda查看删除增加镜像源

    # 查看显示原来的镜像源(base) [jiangshan@localhost ~]$ conda config --showadd_anaconda_token: Trueadd_pip_as_py ...

  10. C. Sad powers

    You're given Q queries of the form (L, R). For each query you have to find the number of such x that ...