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

点击返回:自学Zabbix之路

点击返回:自学Zabbix4.0之路

点击返回:自学zabbix集锦

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

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

以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了。

1. 下载安装sendEmail

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar zxvf  sendEmail-v1.56.tar.gz
cd sendEmail-v1.56
mv sendEmail  /usr/local/bin/  

确认一下命令的权限:

SendEmail使用命令帮助

测试一下:

1 /usr/local/bin/sendEmail -f [email protected]  -t [email protected]  -s smtp.163.com -u "testsubject" -o message-content-type=html -o message-charset=utf8 -xu [email protected]   -xp xxxxx -m "test"

 1 /usr/local/bin/sendEmail    命令主程序
 2 -f [email protected]       发件人邮箱
 3 -t [email protected]         收件人邮箱
 4 -s smtp.163.com        发件人邮箱smtp服务器
 5 -u "testsubject"            邮件标题
 6 -o message-content-type=html   邮件内容的格式
 7 -o message-charset=utf8        邮件内容编码
 8 -xu [email protected]         发件人邮箱用户名
 9 -xp xxxxxx                  发件人邮箱密码
10 -m "test"            邮件具体内容
11 </span>

2. 自定义脚本

通过脚本报警是非常灵活的,因为我们可以通过脚本发送邮件,发送短信,发送微信等,脚本内部具体通过哪种方式报警,取决于我们怎样编写脚本。

2.1 创建目录

mkdir  -p /usr/lib/zabbix/alertscripts/sendEmail.sh    # 创建目录
vi /usr/lib/zabbix/alertscripts/sendEmail.sh   # 创建脚本

2.2  编写脚本

在配置脚本类型的"报警媒介"之前,我们需要先编写好对应的脚本,并且将脚本放置到对应的目录中,以便zabbix能够找到对应的脚本。那么此处,我们来动手编写一个能够发送邮件信息的脚本,这个脚本很简单,此处我们直接使用sendEmail命令发送邮件,脚本内容如下:

#!/bin/bash
to=$1        #第一个参数代表邮件发送给哪个邮箱
subject=$2   #第二个参数代表邮件主题
message=$3   #第三个参数代表邮件内容
#url=$4
ech0 -e "$context" | mail -s "$subject""$to"
/usr/local/bin/sendEmail -f [email protected]  -t "$to"  -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu [email protected]   -xp xxxxx -m "$message"

从脚本内容可以看出,我们在脚本中接收了3个参数,既然定义了参数,那么zabbix在调用此脚本的时候,必然需要传入对应的参数。
我们向脚本中传入了3个参数,我们可以通过"脚本参数"设定需要传入的参数,当zabbix调用对应脚本时,会自动把"脚本参数"中对应的值按照顺序传入对应的脚本中。如下图,我们添加了三个参数。

其实,这种由大括号括起,并且由大写字母组成的字符串在zabbix中被称作"宏",我们可以理解为zabbix内置的变量,当不同的警告发生时,上述的三个"宏"的值会自动发生变化。

那么,除了上述的三个"宏",zabbix还有那些"宏"呢?其他"宏"都代表了什么含义呢?我们可以查看zabbix的官方在线帮助手册,点击查看

注意:
在zabbix3.0之前,上图中的三个参数是默认传入对应脚本的,不用再手动进行定义,但是从zabbix3.0开始,如果想要向对应的脚本传入上述三个参数,则需要按照上图进行定义。

2.3 编辑完成后,给脚本权限:

chmod +x sendEmail.sh
chown zabbix.zabbix sendEmail.sh

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

./sendEmail.sh [email protected] test 123

为什么测试不成功? 显示“无主题” ,本次测试问题就是“subject”写成了“subjext” 。往往不成功就是因为参数问题。 

2.4  编辑zabbix_server.conf文件,修改AlertScriptsPath参数,该参数用于指定外部脚本的绝对路径。

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

3  配置报警媒介

3.1   Administration –> Media types –> Create media type     media types选择Script

Name:触发器名称
Type:介质类型
Script name:脚本名称(需要先定义AlertScriptsPath,sendEmail.sh放在这个目录下,写绝对路径没用)
Script parameters:脚本参数
Description:脚本描述
Enabled:状态

zabbix支持的报警媒介如下:

Email:邮件,这是最常用也是最传统的一种报警媒介,邮件报警,zabbix通过配置好的SMTP邮件服务器向用户发送对应的报警信息。
Script:脚本,当zabbix中的某些监控项出现异常时,也可以调用自定义的脚本进行报警,脚本的使用就比较灵活,具体怎样报警全看你的脚本怎么写。
SMS:短信,如果想要使用短信报警,则需要依赖短信网关(貌似需要北美的运行商)。
Jabber:即时通讯服务。
E Texting:商业的,收费的短信服务(北美运营商提供服务)。Webhooks:api概念,是微服务api的使用范式之一。

但是目前zabbix4.4.0版本里面只保留以下四种:

 3.2 添加参数+脚本名称

进一步测试邮件:   4.4.0 只有有一个"Test"测试按键。

3.3  创建一个用户Administration –> Users –> Create user

为新创建的user指定media:Administration –> Users –> Create user –> Media

3.4  创建action实现邮件报警Configuration –> Actions –> Create action

 

 

原文地址:https://www.cnblogs.com/yaoyaojcy/p/11776199.html

时间: 2024-07-30 16:11:20

11 一步一步Zabbix4.4.0系统教你实现sendEmail邮件报警的相关文章

centos6.5 nagios-4.0.8 &nbsp; 系统自带sendmail邮件报警设置

1.安装相关组建 yum install mailx sendmail* chkconfig sendmail on service sendmail start 2.测试邮件 echo "Hello World" | mail [email protected] 3.编辑command.cfg # 'notify-host-by-email' command definition define command{ command_name notify-host-by-email co

融合应用11.1.8安装,一步一步的引导

融合应用11.1.8安装,一步一步的引导 融合应用11.1.8 安装并不是简单的与电子商务套件11 i / R12安装. 所以我们需要安装划分为许多步骤. 请注意,11.1.8 11.1.7总统发布供应是几乎相同的. 在同一时间的步骤和一些组件11.1.6和11.1.5相比有所不同. 这里我们有实际使用同一个11.1.7步骤在这里11.1.8指导和将提到11.1.7相比无论我们看到一个不同的步骤. 注意:如果您正在寻找融合应用程序 11.1.6 安装步骤,那么你可以参考以下链接. http://

一步一步跟我学习lucene(11)---lucene搜索之高亮显示highlighter

highlighter介绍 这几天一直加班,博客有三天没有更新了,望见谅:我们在做查询的时候,希望对我们自己的搜索结果与搜索内容相近的地方进行着重显示,就如下面的效果 这里我们搜索的内容是"一步一步跟我学习lucene",搜索引擎展示的结果中对用户的输入信息进行了配色方面的处理,这种区分正常文本和输入内容的效果即是高亮显示: 这样做的好处: 视觉上让人便于查找有搜索对应的文本块: 界面展示更友好: lucene提供了highlighter插件来体现类似的效果: highlighter对

一步一步建设企业信息化业务驱动系统系列-0

很久都没静下心来写文章了,最近在新公司,新环境,接触了一些企业信息化业务需求,由此产生了关于业务驱动的想法 特此申明:本文章所提内容均由个人经验转化和理解,与实际有偏差在所难免,请见谅! 为什么是业务驱动? 如果从企业业务层面讲,比如一个采购流程,采购申请->询价->合同->订单->交货跟踪->验收->入库.其实是一个完整闭环操作.既然是闭环,那么就有开始和结束.采购申请即是流程开始环节,而采购入库则是流程结束环节.然后当企业没有信息化手段时,这整个过程全需要人为干预,

loadrunner安装运行一步一步来(多图)

安装loadrunner 一路遇到很多坑,很多坑,坑,为什么呢? 因为这软件是收费的,他操作文档写的很详细,就是不写基础环境的配置,下面安装过程写详细一些,减少大家没必要时间上的浪费和对此的谩骂 现在loadrunner 12的版本已经出来了,不过还没有破解,所以先安装测试11的版本,不绕圈子,先下载, 链接: http://pan.baidu.com/s/1kT8CbVh 密码: v4br 加密码是怕被删 遇到的坑 下面是通用的安装说明: 1.下载loadrunner-11.zip文件,解压缩

用caffe一步一步实现人脸检测

学习深度学习已有一段时间了,总想着拿它做点什么,今天终于完成了一个基于caffe的人脸检测,这篇博文将告诉你怎样通过caffe一步步实现人脸检测.本文主要参考唐宇迪老师的教程,在这里感谢老师的辛勤付出. 传统机器学习方法实现人脸检测: 人脸检测在opencv中已经帮我们实现了,我们要把它玩起来很简单,只需要简简单单的几行代码其实就可以搞定.(haarcascade_frontalface_alt.xml这个文件在opencv的安装目录下能找到,笔者的路径是:E:\opencv2.4.10\ope

Rhythmk 一步一步学 JAVA (21) JAVA 多线程

1.JAVA多线程简单示例 1.1 .Thread  集成接口 Runnable 1.2 .线程状态,可以通过  Thread.getState()获取线程状态: New (新创建) Runnable (可以运行) Blocked  (被阻塞) Waiting  (等待) Timed waiting (计时等待) Terminated  (被终止) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

【转】朱兆祺带你一步一步学习嵌入式(连载)

原文网址:http://bbs.elecfans.com/jishu_357014_2_1.html#comment_top  从最初涉及嵌入式Linux开始到现在,深深的知道嵌入式的每一步学习都是举步维艰.从去年11月份开始,我就着手整理各种学习资料,希望推动嵌入式学习的前进贡献自己微不足道的一份力量.从去年到现在,将C语言的学习经验整理成<攻破C语言笔试与机试陷阱及难点>(现在仍在更新),这份资料已经在电子发烧友论坛的单片机论坛连载(http://bbs.elecfans.com/jish

一步一步搭建开发框架(五)单元工作模式

1,单元工作模式主要为了提高与数据库的交互次数,提高应用程序效率.我们知道实际的业务操作中,有时需要好几张表一快保存,一块删除之类的逻辑,比如注册用户之后,用户表要加一条数据,积分表等与用户表有外键关系的表可能也需要保存数据,这样造成多次保存,也就是多次与数据库交互. 2,前边我把SaveChange()方法都写到了BaseDal里面,今晚上就把这个SaveChange方法提取出来!我们继续封装一个DbSession类,同时将抽象工厂的代码转移到这个DbSession类中. 1 namespac