运维-4-zabbix中的触发器相关概念

参考zabbix从放弃到入门(6):触发器、事件、动作 相关概念
参考zabbix从放弃到入门(7):触发器详解之一,创建触发器
参考zabbix从放弃到入门(8):触发器详解之二,触发器语法
参考zabbix从放弃到入门(9):定义报警媒介
参考zabbix从放弃到入门(10):动作详解

1 触发器事件动作

我们要监控养鸡场的温度,就好像我们要监控服务器的磁盘使用率一样,无论是养鸡场的温度,还是磁盘的使用率,都是我们要监控的指标,我们在前文已经描述过,一个被监控的指标被称作一个”监控项”(item),那么,养鸡场的温度,在zabbix中就是一个item,而我们规定,养鸡场的温度低于30度时就要亮起红灯,也就是说,30度就是温度这个指标的阈值,那么,养鸡场的温度低于30度,在zabbix中怎样表达呢?在zabbix中,我们可以这样描述:养鸡场温度 < 30

没错,就是这么简单,而 “养鸡场温度 < 30″ 不过是一个数学上的”比较表达式”而已,这个表达式,在zabbix中被称为”触发器”(Triggers)。换种角度解释,我们还可以从字面上理解”触发器”,触发器是会被触发的机器,但是只有满足触发条件时,触发器才会被触发,当触发器被触发以后,会产生某个”事件”(Events),比如,当养鸡场温度低于30度时,红灯会亮起,那么”红灯亮起”就可以理解为”养鸡场温度 < 30” 这个”触发器”所产生的”事件”,当温度低于30时,触发器的条件被满足,就会产生”红灯事件”,当”红灯事件”产生以后,工作人员就会采取相应的措施,比如通知老板或者打开暖气,那么,”打开暖气”或者”报告老板”的一系列措施,在zabbix中被称为”动作”(Actions)。

(1)触发器(Triggers)
我们可以把zabbix的触发器理解成一个条件表达式,我们往往通过触发器定义被监控项的阈值,当触发器对应的表达式被满足时,则代表被监控项达到了我们设定的阈值,也就意味着发生了我们不想要遇到的问题,换句话说,当监控项的值处于合理范围时,触发器不会被触发,当监控项的值超出合理范围(即达到阈值),触发器则会被触发,当触发器被触发时,往往代表着出现了问题。
触发器未被触发时,其的状态为”OK”,当触发器被触发时,触发器的状态为”Problem”,当被监控项的值达到阈值时,触发器的状态从”OK”变为”Problem”,当监控项的值再次回归到合理范围时,触发器的状态会从”Problem”转换回”OK”。

(2)事件(Events)
当触发器的状态发生改变时,则会产生对应的”事件”,当然,由触发器的状态改变而产生的事件被称为”触发器事件”,zabbix中,事件分为几种类型,除了”触发器事件”,还有一些别的事件,此处为了方便描述,暂且不提及他们,我们可以把”事件”大概理解成一个重要的事情。

(3)动作(Actions)
当某个事件产生时,需要对应的处理措施,这种处理措施被称为动作。

2 创建触发器

一、配置= =>主机= =>触发器
在这里插入图片描述
二、创建触发器
可以看到触发器的创建配置界面如下
在这里插入图片描述

我们为触发器起个名字,名字叫”RootPartitionUsedTrigger”,从名字你也能看出来,这个触发器是为了监控根分区的使用率而创建的。
还记得我们之前创建的监控项”RootPartitionUsed” 吗? 我们现在要做的就是为这个监控项创建一个触发器,当这个监控项的值达到我们指定的阈值时,就会产生某个”事件”,以便我们采取后续的措施。”磁盘使用率”,”13%”,把红灯亮起想象成某个”事件”即可。

而且我们在前文也已经说过,触发器的本质其实是一个表达式,用来定义监控项的阈值,那么我们怎样配置这个表达式呢,点击下图中的”添加”按钮,即可配置触发器的表达式。

在这里插入图片描述
点击上图中标注的”添加”按钮以后,可以看到如下界面,这个界面,就是我们用来配置”触发器”的表达式的界面。

(1)监控项:前文中说过,我们往往通过触发器定义被监控项的阈值,那么这个触发器是定义哪个监控项的阈值呢,我们可以通过此处进行选择。

(2)功能:功能说起来比较麻烦,但是并不难理解,我们举个例子,还拿之前的”养鸡场”做例子。我们设定,养鸡场的温度不能低于30度,如果低于30度,则报警,于是我们在养鸡场里面放置了一台设备,这台设备的作用就是每隔1分钟检测一下养鸡场的室温,如果低于30度,就亮起红灯并且警铃大作。
比如,我们可以定义,如果最近一次的检测值低于30度,那么就报警。
也可以定义,如果5分钟前的检测值低于30度,则报警。
甚至,我们还可以这样定义,如果连续10分钟内获取的温度值的平均值小于30度,则报警。那么,在zabbix中,怎样实现这样的灵活设定呢,没错,就是通过 “功能”栏定义的,功能栏中将常用的各种定义已经为我们准备好了,比如,最近T次监测或者T分钟以内,养鸡场的温度出现了小于N度的情况, 在功能栏中可以选择 “最新的T值 < N “。
在这里插入图片描述
在这里插入图片描述

(3)我们在”功能”中,已经选择了某种定义,比如”最新的T值 < N “,那么T是以时间为单位呢,还是以次数为单位呢。
如果我们想要定义”最近的第T次,养鸡场温度小于30度”,那么此处需要选择”计数”。
如果我们想要表达”最近T分钟以内,养鸡场温度小于过30度”,那么此处需要选择”时间”。
如果我们选择”计数”,直接在此处填写次数即可,比如,我们想要定义”最近检测值的第5次,养鸡场温度小于30″,则在此处选择”计数”以后,填写5即可。

如果此处我们选择时间,只需在”排班”中填写对应的时间即可。

(4)如果我们想要定义”T分钟以内,养鸡场温度出现过小于30度的情况”,则需要在③中选择”时间”,同时在此处指明时间长度,默认单位是秒。

(5)此处用于设置N的值,比如 “最近一次监测的养鸡场温度小于30度”,那么我们可以将N设置为30.

在这里插入图片描述
当pi20211121这台服务器的根分区使用率倒数第2次被监控到大于13%,则触发器的条件被满足,触发器将会被触发。
“多重问题事件生成”表示触发器如果处于”Problem”状态,则重复的生成对应的”问题事件”,这样解释有点模糊,不容易理解,等到我们实际用的时候再细细解释,一般不勾选此项。
我们可以对触发器进行描述,还能为触发器添加一个url,当我们收到报警信息时,可以通过url快速的定位到触发器所对应的监控项,我们可以把对应监控项的”最新数据”对应的图形链接填入url处,但是,这样说起来不容易理解,没关系,在后面的示例中会进行演示,我们还可以为触发器定义”严重性”,其实就是这个触发器所对应的问题优先级,颜色越深,严重性越大。
在这里插入图片描述
在这里插入图片描述

3 触发器语法

4 定义报警媒介

4.1 安装mailx

(1)安装
yum install -y mailx
(2)编辑配置文件/etc/mail.rc
配置默认的发件人
set from=xxx@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=xxx@qq.com
set smtp-auth-password=xxx对应的授权码
set smtp-auth=login
(3)测试发送
echo “zabbix test mail” |mail -s zabbix xxx@qq.com
发一封标题为zabbix的信给后面的邮箱,信中的内容是zabbix test mail。

4.2 脚本sendmail.sh

(1)文件sendmail.sh

#!/bin/bash
to=$1
subject=$2
context=$3
echo -e "$context" | mail -s "$subject" "$to"

我们在脚本中接收了3个参数,
第一个参数代表邮件发送给哪个邮箱,
第二个参数代表邮件主题,
第三个参数代表邮件内容
(2)测试

chmod a+x sendmail.sh
./sendmail.sh xxx@qq.com test 测试信息

4.3 zabbix配置报警媒介

当zabbix中的某些被监控指标出现异常时,zabbix会通过哪种方式通知运维攻城狮呢?是通过邮件呢,还是通过短信呢,或者是通过其他方式呢?

今天我们就来聊聊zabbix的报警方式,无论是通过邮件报警还是通过短信报警,无非都是通过某种”媒介”将报警信息传递给收信人,所以在zabbix中,报警方式被称为”报警媒介”,那么,zabbix都支持哪些报警媒介呢,我们一起来看看。

zabbix支持的报警媒介如下:

(1)Email:邮件,这是最常用也是最传统的一种报警媒介,邮件报警,zabbix通过配置好的SMTP邮件服务器向用户发送对应的报警信息。

(2)Script:脚本,当zabbix中的某些监控项出现异常时,也可以调用自定义的脚本进行报警,脚本的使用就比较灵活,具体怎样报警全看你的脚本怎么写。

(3)SMS:短信,如果想要使用短信报警,则需要依赖短信网关(貌似需要北美的运行商)。

(4)Jabber:即时通讯服务。

(5)Ez Texting:商业的,收费的短信服务(北美运营商提供服务)。

看到上面的描述,我们能用的貌似只剩下了Email和Script了。

那么在zabbix中,怎样定义对应的报警媒介呢,很简单,打开我们的zabbix控制台。
一、点击”管理”= = >“报警媒介类型”
可以看到,默认已经存在一些报警媒介,我们可以对已经存在的报警媒介进行修改,也可以创建符合自己需要的报警媒介。
二、点击”创建媒体类型”按钮
点击上述按钮后,会出现如下界面,当我们创建没报警媒介时,默认类型为”电子邮件”。
选择报警媒介类型为脚本后,配置界面如下,我们说过,通过脚本报警是非常灵活的,因为我们可以通过脚本发送邮件,发送短信,发送微信等,脚本内部具体通过哪种方式报警,取决于我们怎样编写脚本。

因为zabbix在默认情况下,会去指定的目录中查找对应的报警脚本,所以,我们应该叫报警脚本放置到指定的目录中,zabbix默认的报警脚本目录应该存放在哪里呢,我们通过配置文件可以得到答案,打开/etc/zabbix/zabbix_server.conf配置文件。
通过AlertScriptsPath属性,可以配置报警脚本的指定位置,zabbix回去对应目录中查找报警脚本。
/usr/lib/zabbix/alertscripts/。
回到刚才的”报警媒介”配置界面,因为我们的脚本是通过mail命令进行邮件告警的,所以,我们为这个报警媒介取名为”MailScript”,如下图。
在这里插入图片描述
从上图可以看出,我们在这个报警媒介中设定了3个参数,这三个参数是什么意思呢,他们分别代表报警接收人,报警的主题,报警的信息。
其实,这种由大括号括起,并且由大写字母组成的字符串在zabbix中被称作”宏”,我们可以理解为zabbix内置的变量,当不同的警告发生时,上述的三个”宏”的值会自动发生变化。

定义完成后,点击”添加”按钮,即可创建一个名称为”MailScript”的报警媒介了。

在这里插入图片描述

在这里插入图片描述

4.4. 配置待通知的用户

但是,如果想要某个zabbix用户能够接收到从”MailScript报警媒介”发送过来的报警,还需要进一步配置。
比如,当”Admin”用户想要通过”MailScript”报警媒介接收警报时,则必须能够”适配”这种媒介,如果”Admin”用户没有使用”MailScript媒介”的能力,那么”Admin”用户将无法接收到由”MailScript媒介”发出的报警信息。我们应该怎样让用户能够对应的报警媒介呢,配置步骤如下。
一、点击”管理”==>“用户”
选中要配置的用户,此处以管理员为例。
点击Admin用户
二、点击报警媒介
三、点击添加
在类型中,选择我们刚才创建的”报警媒介”,选择”MailScript”,因为”MailScript”最终还是使用邮件发送信息,所以此处,收件人填写”Admin”用户所使用的报警信息接收邮箱,同时,还能够选择在哪些时段使用这种”报警媒介”接收信息,接收哪种级别的报警信息,是不是很人性化?配置如下图后,点击添加按钮。
在这里插入图片描述
四、确定无误后,点击”更新”按钮。

在这里插入图片描述
此刻,如果有对应的报警信息需要通过”MailScript媒介”发送给”Admin”用户,”Admin”用户就可以接收到对应的报警信息了。所以,在使用的过程中,如果定义了新的”报警媒介”,不要忘记为对应的用户添加”报警媒介”。

5 配置动作

在前文中我们已经解释过,”养鸡场温度”可以理解为zabbix的监控项,30度可以理解为养鸡场温度的阈值,”养鸡场温度 < 30″ 可以理解为zabbix中的触发器,并且,我们已经在前文中定义了对应的监控项、触发器等,但是,我们并没有刻意的触发对应的触发器,因为我们还没有定义对应的”动作(Actions)”,也就是说,即使触发器被触发,产生了相应的事件,我们也无法收到”报警信息”,而”动作”是什么呢?刚才描述的”养鸡场”场景中的”打开暖气”、”报告老板”等一系列措施,都可以理解为zabbix中的动作,说的再通俗一点,”动作”就是在监控项出现异常时,zabbix应该采取哪些措施,是向管理员发送邮件呢,还是执行对应的脚本呢?这些就是所谓的”动作”。

我们一起来看看怎样在zabbix中创建一个动作,此处仍然使用我们之前的测试环境,前文中我们已经创建了用于监控磁盘使用率的监控项”RootPartitionUsed”,以及对应的触发器”RootPartitionUsedTrigger”,现在,我们需要创建一个动作,与监控项和触发器结合起来一起使用。
一、点击 “配置” ==>“动作”
点击的”创建动作”按钮,即可创建动作,我们也可以选择对应动作的事件源,由于我们并没有详细解释过”事件”,所以此处保持默认即可,点击创建动作。

(1)在名称中填写动作的名字,由于当前动作是为了监控项”RootPartitionUsed”而准备的,所以,我们命名当前动作为”RootPartitionUsedActions”。
(2)条件==>添加
设定当前动作在什么情况下被执行。
首先,选择触发器。
在这里插入图片描述

将”RootPartitionUsedTrigger”这个触发器与当前动作关联在一起。
虽然我们将”RootPartitionUsedTrigger”这个触发器与当前动作关联在了一起,但是这还不够,我们还需要指明,当前触发器处于哪种状态时,执行当前动作,所以,我们需要继续添加条件。
在这里插入图片描述
在下图中的计算方式中,显示为”A and B”,表示A条件与B条件同时满足时,整体条件才被满足,动作才会被执行,我们也可以根据自己的实际情况,调整多个条件之间的逻辑关系。
在这里插入图片描述
二、定义操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮皮冰燃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值