zabbix中监控项仅负责收集数据,而通常收集数据的目的还包括在某指标对应的数据超出合理范围时给相关人员发送告警信息,"触发器"正式 用于为监控项所收集的数据定义阈值,每一个触发器仅能管理至一个监控项,但是可以为一个监控项同时使用多个触发器;意思就是,为一个监控项定义多个具有不同阈值的触发器,可以实现不同级别的报警。一个触发器由一个表达式构成,它定义了监控项所采集的数据的一个阈值,一旦某次采集的数据超出了触发器定义的阈值,触发器状态将会转为"problem";而当采取的数据再次回归至合理的范围内时,其状态将重新返回到"OK"。

1、触发器表达式

触发器表达式的格式为

{<server>:<key>.<function>(<parameter>)}<operator><constant>

某主机上某个key使用某个函数(参数)所得的值 和 设定的值比较

server:主机名称

key:主机上相应监控项的key

function:评估采集到的数据是否在合理范围内时所使用的函数,其评估过程可以根据采取的数据、当前时间及其它因素进行

2、触发器表达式支持的函数

avg     求平均值

count     指定时间内或次数内数值统计

change     指定时间内或次数内倒数第2次于倒数第1次的差值,对于字符串,0没有变化,1表示有变化;

date     当前日期

dayofweek 本周第几天 dayofmonth 本月第几天

delta     指定时间内或次数内最大值与最小值的差

diff     指定时间内或次数内倒数第2次于倒数第1次的值,有没有不同;常用于监控文件

regexp 检查最后一次采样的数据是否能够被指定的模式所匹配:1表示匹配,0表示不匹配

iregexp     不区分大小的正则表达式

last     最近采样的数据

max、min、nodata没有数据

now 返回时间戳

prev 倒数第二个采样值

str     从最后一次的采样中查找此处指定的字符串;0表示找到,1表示没找到

strlen     字符串长度比较

sum 求和

3、触发器实例

触发器可以创建在模板或者某台主机上

例一:自定义触发器监控登录用户数,zabbix的Template OS Linux模板中有Number of logged in users监控项,即监控当前登录的用户数,可以自定义触发器来监控登录个数,当触发某个阈值如3的时候就发送报警

点击:配置——>主机,选择主机,点击——>触发器——>创建触发器

触发器名称

创建触发器表达式

对触发器进行触发报警测试

查看动作日志

例二:监控平均一分钟内的cpu负载,操作步骤同上

触发器表达式为{www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5

最新的CPU负载值如果大于5,那么表达式会返回true,这样一来触发器状态就改变为"problem"了

例三:监控/etc/passwd文件是否被修改(系统自带监控项)

触发器表达式为{www.zabbix.com:vfs.file.cksum[/etc/passwd].diff(0)}>0

最新的checksum与上一次获取到的checksum不同,表达式将会返回true. 我们可以使用同样的方法监控系统重要的配置文件,例如/etc/passwd,/etc/inetd.conf等等

例四:监控主机网卡流量

触发器表达式为{www.zabbix.com:net.if.in[eth0,bytes].min(5m)}>100K

当主机网卡eth0最后5分钟内接收到的流量超过100KB那么触发器表达式将会返回true

例五:监控主机是否可达

触发器表达式为{zabbix.zabbix.com:icmpping.count(30m,0)}>5

表示最近30分钟zabbix.zabbix.com这个主机超过5次不可到达

 

部分内容参考来源:https://www.cnblogs.com/zhaijunming5/p/6889336.html

zabbix自定义触发器的更多相关文章

  1. 【Linux】Zabbix自定义触发器语法

    Zabbix触发器的语法如下: {<server>:<key>.<function>(<parameter>)}<operator>< ...

  2. zabbix自定义触发器进行监控

    给某一主机创建触发器 触发器属性,其中centos是主机名,也就是你监控的那台主机的名字,可以点击bp2,查看该主机的hostname 检测该触发器 在该主机下可以看到刚创建的触发器 最后我们给该主机 ...

  3. zabbix自定义web检测

    zabbix自定义web检测 本博客使用zabbix 版本 4.0.3 Web监控的原理 Web监控即对HTTP服务的监控,模拟用户去访问网站,对特定的结果进行比较,如状态码.返回字符串等特定的数据进 ...

  4. zabbix 自定义监控nginx

    zabbix自定义nginx监控项 查看nginx编译安装是否加上该选项,如果没有请重新编译安装 配置nginx.conf vim /usr/local/cpgroup/nginx/conf/vhos ...

  5. Zabbix 自定义Key

    系统:Linux Centos 7.4 x64.Windos 2008 x64 服务:Zabbix 3.0.16 说明1:自定义Key 主要通过自定义 脚本 或者 命令 来实现自定义监控类型,需要在a ...

  6. (27)zabbix自定义图表Graph

    zabbix提供了一个自定义图表的功能,这不是废话么?呵呵~前面文章 讲到的<zabbix简易图表>只能显示单个item的数据图表.如果我们想显示多个信息到一个图表上,那必须使用zabbi ...

  7. (21)zabbix创建触发器trigger

    1. 创建触发器 了解了什么触发器,接下来看下zabbix触发器怎么创建和配置,方法很简单,请大家往下读,有什么问题请留言. 创建触发器步骤: 点击Configuration(配置) → Hosts( ...

  8. Zabbix自定义监控8080端口的连接数

    Zabbix自定义监控8080端口的连接数 一 zabbix自定义监控实现思路 实际上我们要想使用zabbix来监控一些服务的原理很简单,步骤分别是:1.写一个脚本用于获取待监控服务的一些状态信息2. ...

  9. zabbix自定义key

    zabbix自定义key 1.修改客户端配置文件 #vi /opt/zabbix/etc/zabbix_agentd.conf Include=/opt/zabbix/etc/zabbix_agent ...

随机推荐

  1. Tomcat学习笔记(十三)

    服务器组件和服务组件 服务器组件 org.apache.catalina.Server接口的实例表示Catalina的整个servlet引擎,包含了所有的组件.使用一种优雅的方法来启动/关闭整个系统, ...

  2. C中堆和栈的区别

    C++中堆和栈的完全解析 内存分配方面: 堆: 操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删 除,并 ...

  3. Struts2.0中ActionInvocation使用

    Interceptor的接口定义没有什么特别的地方,除了init和destory方法以外,intercept方法是实现整个拦截器机制的核心方法.而它所依赖的参数ActionInvocation则是我们 ...

  4. ie6中margin失效问题

    在div的外面添加父级div并设置 padding-bottom: 10px;! <!DOCTYPE html><html><head lang="en&quo ...

  5. Linux Ubuntu mysql 乱码

    进入mysql后,敲入命令status,就可以看到mysql的字符编码问题. 默认如下: Server characterset:    latin1 Db  characterset:    lat ...

  6. 文件排版(codevs 1300)

    题目描述 Description 写电子邮件是有趣的,但不幸的是经常写不好看,主要是因为所有的行不一样长,你的上司想要发排版精美的电子邮件,你的任务是为他编写一个电子邮件排版程序. 完成这个任务最简单 ...

  7. Eclipse中使用Maven创建Web时错误

    一.问题描述 使用Eclipse创建Maven项目时,报一下错误,不能创建成功. 二.问题原因 错误详细描述是说 Could not resolve archetype org.apache.mave ...

  8. 洛谷P1160 队列安排

    题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进队列,这时队列中只有他一个人: 2.2-N号同学依次入列,编号为i的同学入列方式为:老师 ...

  9. Hidden (NOIP模拟赛)(字符串模拟QAQ)

    原题传送门 神奇的题目诶 原来以为字符串比较一定要O(NlogN) 结果发现可以均摊O(N) 首先我们来讲一讲原理 我们有3个指针i,j,k i=0,j=1,k=0 一开始我们不断对k+1直到找到ch ...

  10. 使用vim进行java编程

    首先:编写源代码Test.java 1class Test{                                                                       ...