zabbix Server 4.0 触发器(Trigger)篇
zabbix Server 4.0 触发器(Trigger)篇
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.触发器(Trigger)概述
1>.上一篇博客我们介绍了“内置item使用案例”,item(监控项)仅负责收集数据,而通常收集数据的目的还包括在某指标对应的数据超出合理范围时给先关人员发送告警信息,“触发器”正是用于为监控项所收集的数据定义阈值。
2>.每一个触发器仅能关联至一个监控项,但可以为一个监控项同时使用多个触发器(事实上,为一个监控项预定义多个具有不同阈值的触发器,可以实现不同级别的报警功能)。
3>.一个触发器由一个表达式构成,它定义了监控项所采取的数据的一个阈值,一旦某次采集超出了此触发器定义的阈值,触发器状态将会转换为“Problem”;而当采取的数据再次回归至合理范围内时,其状态将重新返回到“OK”。
二.触发器(Trigger)表达式
1>.触发器表达式高度灵活,可以以之创建出非常复杂的测试条件。
2>.基本的触发器表达式格式如下:
{<server:<key>.<function>(<parameter>)}<operator><constant> 下面我们对每一个位置参数进行说明
server:
主机名称。 key:
主机上关系的相应监控项的key。 function:
评估采集到的数据是否在合理范围内时所使用的函数,其评估过程可以根据采集的数据,当前时间及其它因素进行;目前,触发器所支持的函数有avg,count,change,data,dayofweek,delta,diff,iregexp,last,max,min,nodata,now,sun等。 parameter:
函数参数,大多数数值函数可以接受秒数为其参数,而如果在数值参数之前使用“#”作为前缀,则表示为最近几次的取值,如sum()表示300秒内取值之和,而sum(#)则表示最近10次取值之和。此外,avg,count,last,min和max还支持使用第二个参数,用于完成时间限定,例如:max(1h,7d)将返回一周之前的最大值。 operator:
用于走比较的操作,如:"/",“*”,">","<","#","=","&","|","+"等等。
constant:
是一个常数,即可以理解是一个固定值,采集的结果通过预定义的操作符合和改值进行比较后判断是启用触发器。
举个例子:
{node101.yinzhengjie.org.cn:system.cpu.load[all,avg1].last(0)}>3
上述案例表示主机"node101.yinzhengjie.org.cn"上所有CPU的过去1分钟内的平均负载和最后一次取值大于3时将触发状态变化。对last函数来说,last(0)相当于last(#1)。
三.触发器(Trigger)间的依赖关系
在一个网络中,主机的可用性之间可能存在依赖关系。如下图所示:
我们假设Zabbix Server和我们被监控的打印机,路由器等网络设备,服务器都连接到核心交换机上了,如果此时的核心交换宕机了(即该设备变得不可用),其背后的所有主机都无法正常访问。如果所有主机都配置了触发器并定义了相关通知功能,相关人员将会接收到许多告警信息,这既不利于快速定位问题,也会浪费资源。正确定义的触发器依赖关系可以避免类似情况的发生,它将使用通知机制仅发送最根本问题先关的告警。(也就是说我们合理定义了触发器的依赖关系,当核心交换机宕机时,并不会所有配置告警都触发,而是先判断核心交换机是否挂掉,把最精准的故障定位报出来!)
需要注意的是,目前zabbix不能够直接定义主机间的依赖关系,其依赖关系仅能通过触发器来定义。
四.触发器(Trigger)等级
触发器等级用于标识时间的严重性。zabbix支持以如下表 所示的等级。下图摘自官方网站:https://www.zabbix.com/documentation/4.0/manual/config/triggers/severity(中文链接戳我)。
五.创建触发器(Trigger)
1>.如下图所示,找到我们要定义触发器的主机
2>.点击Create trigger
3>.根据zabbix内置的选择器,我们根据匹配规则自动生成触发器表达式
4>.点击添加(注意下图只是配置Trigger页面,点击图中的“Dependencies”可以配置相应的依赖关系!)
5>.添加触发器成功
6>.查看主机配置,发现多出来一个触发器
7>.查看触发器相关信息
8>. 查看最新的数据
9>.查看item的Graph图形(如果有遇到中文乱码问题,可参考:https://www.cnblogs.com/yinzhengjie/p/10386196.html中的解决方案。)
六.模拟实验环境让触发器生效
1>.在zabbix server服务器发包到node102.yinzhengjie.org.cn主机上
[root@node101.yinzhengjie.org.cn ~]# yum -y install epel-release #安装epel源
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB ::
extras | 3.4 kB ::
mysql-connectors-community | 2.5 kB ::
mysql-tools-community | 2.5 kB ::
mysql56-community | 2.5 kB ::
updates | 3.4 kB ::
zabbix | 2.9 kB ::
zabbix-non-supported | B ::
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch :- will be installed
--> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================================================================
Installing:
epel-release noarch - extras k Transaction Summary
======================================================================================================================================================================================
Install Package Total download size: k
Installed size: k
Downloading packages:
epel-release--.noarch.rpm | kB ::
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : epel-release--.noarch /
Verifying : epel-release--.noarch / Installed:
epel-release.noarch :- Complete!
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# yum -y install epel-release #安装epel源
[root@node101.yinzhengjie.org.cn ~]# yum -y install hping3 #安装hping3工具包
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 6.8 kB ::
* base: mirrors.aliyun.com
* epel: mirror.premi.st
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
epel | 4.7 kB ::
(/): epel/x86_64/group_gz | kB ::
(/): epel/x86_64/updateinfo | kB ::
(/): epel/x86_64/primary_db | 6.7 MB ::
Resolving Dependencies
--> Running transaction check
---> Package hping3.x86_64 :0.0.-.el7 will be installed
--> Processing Dependency: libpcap.so.()(64bit) for package: hping3-0.0.-.el7.x86_64
--> Processing Dependency: libtcl8..so()(64bit) for package: hping3-0.0.-.el7.x86_64
--> Running transaction check
---> Package libpcap.x86_64 :1.5.-.el7 will be installed
---> Package tcl.x86_64 :8.5.-.el7 will be installed
--> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================================================================
Installing:
hping3 x86_64 0.0.-.el7 epel k
Installing for dependencies:
libpcap x86_64 :1.5.-.el7 base k
tcl x86_64 :8.5.-.el7 base 1.9 M Transaction Summary
======================================================================================================================================================================================
Install Package (+ Dependent packages) Total download size: 2.1 M
Installed size: 4.9 M
Downloading packages:
warning: /var/cache/yum/x86_64//epel/packages/hping3-0.0.-.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Public key for hping3-0.0.-.el7.x86_64.rpm is not installed
(/): hping3-0.0.-.el7.x86_64.rpm | kB ::
(/): tcl-8.5.-.el7.x86_64.rpm | 1.9 MB ::
(/): libpcap-1.5.-.el7.x86_64.rpm | kB ::
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total kB/s | 2.1 MB ::
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
Userid : "Fedora EPEL (7) <epel@fedoraproject.org>"
Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
Package : epel-release--.noarch (@extras)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : :tcl-8.5.-.el7.x86_64 /
Installing : :libpcap-1.5.-.el7.x86_64 /
Installing : hping3-0.0.-.el7.x86_64 /
Verifying : :libpcap-1.5.-.el7.x86_64 /
Verifying : :tcl-8.5.-.el7.x86_64 /
Verifying : hping3-0.0.-.el7.x86_64 / Installed:
hping3.x86_64 :0.0.-.el7 Dependency Installed:
libpcap.x86_64 :1.5.-.el7 tcl.x86_64 :8.5.-.el7 Complete!
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# yum -y install hping3 #安装hping3工具包
[root@node101.yinzhengjie.org.cn ~]# hping3 --faster node102.yinzhengjie.org.cn
HPING node102.yinzhengjie.org.cn (eth0 172.30.1.102): NO FLAGS are set, headers + data bytes
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.4 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.3 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.3 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.3 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.4 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.4 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.4 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
len= ip=172.30.1.102 ttl= DF id= sport= flags=RA seq= win= rtt=0.2 ms
..........
[root@node101.yinzhengjie.org.cn ~]# hping3 --faster node102.yinzhengjie.org.cn
2>.查看最新数据的流量图
3>.查看zabbix的Dashboard界面
七.item(监控项)可以定义多个触发器
1>.克隆我们之间的触发器,我们将触发器的值稍作修改
2>.修改触发器的值和触发器的名称
3>.重复上述步骤,我们可以再clone一个触发器,添加成功后,我们就会成功添加3个触发器
4>.查看item的触发器个数
5>.查看Graph图形
6>.查看Dashboard
zabbix Server 4.0 触发器(Trigger)篇的更多相关文章
- zabbix Server 4.0 报警(Action)篇
zabbix Server 4.0 报警(Action)篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看zabbix默认的Actions 1>.点击默认的Actio ...
- zabbix Server 4.0 部署及之内置item使用案例
zabbix Server 4.0 部署及之内置item使用案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.zabbix组件架构概述(图片摘自网络) 1>.zabbi ...
- Centos 7.0 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入(1)
一.本系列分为6部分 1.Centos 7.0 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入 2.Centos 6.5 下安装 Zabbix server 3.0服务器的安 ...
- 运维监控-基于yum的方式部署Zabbix Server 4.0 版本
运维监控-基于yum的方式部署Zabbix Server 4.0 版本 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.如何选择zabbix版本 1>.打开zabbix官方 ...
- Centos 6.5_64bit 下安装 Zabbix server 3.0监控主机的加入
安装Zabbix server 3.0客户端之前需要先关闭selinux和打开10050和10051端口 关闭selinux 1 vi /etc/selinux/config 2 ...
- zabbix Server 4.0 监控TCP的12种状态
zabbix Server 4.0 监控TCP的12种状态 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家对TCP三次握手比较熟悉了,都知道当发生DOSS攻击时,客户端发送 ...
- zabbix Server 4.0监控Flume关键参数
zabbix Server 4.0监控Flume关键参数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Flume本身提供了http, ganglia的监控服务.当然我们也可以使用 ...
- Centos 6.5 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入(2)
一.Centos 6.5 下的Zabbix Server安装 上篇文章记录的是centos 7 下安装zabbix ,很简单.但是6.5上面没有可用的源直接安装zabbix,所以需要从别处下载.感谢i ...
- Centos 7.0_64bit 下安装 Zabbix server 3.0服务器的安装
一.关闭selinux 修改配置文件/ etc / selinux / config,将SELINU置为禁用(disabled) vim /etc/selinux/config # This ...
随机推荐
- python-机器学习-深度学习-算法-面试题
GitHub 地址: https://github.com/taizilongxu/interview_python https://github.com/imhuay/Algorithm_Inter ...
- kubernetes核心原理之API Server原理分析
kubernetes API Server的核心功能是提供了Kubernetes各类资源对象(Pod,RC,Service等)的增删改查及Watch等HTTP Rest接口,成为集群内各个功能模块之间 ...
- js 二叉树算法
//生成二叉树 function binarySearchTree() { let Node = function(key) { this.key = key; this.left = null; t ...
- [LeetCode] 21. Merge Two Sorted Lists 合并有序链表
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- Android MVP框架实现登录案例
一.Model package com.czhappy.mvpdemo.model; /** * author: chenzheng * created on: 2019/5/16 11:06 * d ...
- mysql创建用户并授权Repl_slave_priv和Repl_client_priv
CREATE USER 'test'@'localhost' IDENTIFIED BY 'test'; FLUSH PRIVILEGES; GRANT REPLICATION CLIENT ON * ...
- PHP 批量删除的实现
布局效果 布局代码 <button type="button" class="btn btn-sm btn-danger btn-erbi-danger" ...
- django中的media
我们用Django写一个网站,可能会需要将用户注册时的头像展示到页面上,当然一开始学的用户上传头像文件都是在项目目录下的,那我们在网页上获取这个头像文件是获取不到的,此时我们需要配置一下media,才 ...
- String和Irreducible Polynomial(2019牛客暑期多校训练营(第七场))
示例: 输入: 4000010010111011110 输出: 00001001 0111 01111 0 题意:给出一个只含有0和1的字符串,找出一种分割方法,使得每个分割出的字符串都是在该字符串自 ...
- MySQL多表查询答案
一.综合练习 1.1 init.sql文件内容 /* 数据导入: Navicat Premium Data Transfer Source Server : localhost Source Serv ...