zabbix--创建触发器

触发器

 概述

触发器是“评估”由监控项采集的数据并表示当前系统状况的逻辑表达式。

当监控项用于采集系统的数据时,始终遵循这些数据是非常不切合实际的,因为这些数据始终在等待一个令人担忧或者值得关注的状态。然而这个“评估”数据的工作可以留给触发器表达式。

触发器表达式允许定义一个什么状况的数据是“可接受”的阈值。因此,如果接收的数据超过了可接受的状态,则触发器会被触发 - 或将状态更改为异常。

一个触发器可以拥有下面几种状态:

描述
OK 这是一个正常的触发器状态。在旧版本的Zabbix中称为FALSE。
PROBLEM 通常意味着发生了某些事情。例如,处理器的负载较高。在旧版本的Zabbix中称为TRUE。

每当Zabbix server接收到作为表达式一部分的新值时,都会重新计算触发器状态(表达式)。

如果在表达式中使用基于时间的函数(nodata(), date(), dayofmonth(), dayofweek(), time(), now()),触发器就会由Zabbix history syncer进程每30秒重新计算一次。如果在表达式中同时使用基于时间和非基于时间的函数,当接收到一个新值和每隔30秒都会重新计算触发器的状态。

你可以构建触不同复杂程度的触发器表达式

详情可以阅读zabbix官方文档:https://www.zabbix.com/documentation/4.0/zh/manual/config/triggers/trigger

下面我们来配置一个触发器,用来检测http服务是否有启动

1、先在agent安装并启用http服务

[root@localhost ~]# service httpd status
httpd is stopped
[root@localhost ~]# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]
[root@localhost ~]#
[root@localhost ~]# netstat -ntlp|grep http
tcp        0      0 :::80                       :::*                        LISTEN      30275/httpd         
[root@localhost ~]#

 

2、创建item

 

 使用zabbix-get测试下

#返回1表服务运行中,0表服务挂了
[root@localhost ~]# zabbix_get  -s 192.168.190.131 -k net.tcp.service[http,192.168.190.131,80]
1
[root@localhost ~]# zabbix_get  -s 192.168.190.131 -k net.tcp.service[http,192.168.190.131,80]
0

创建触发器:

在官网可以查看所有触发器支持的函数:https://www.zabbix.com/documentation/4.0/zh/manual/appendix/triggers/functions

 

 
参数:
参数描述
名称 触发器名称.
名称中可以包含支持的 : {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.LASTVALUE}{$MACRO}
$1, $2…$9 宏可以用来指第一,第二…第九表达式的常量。
备注: 如果引用了相对简单的常量或明确的表达式,$1-$9宏将会正确解析。例如, 如果表达式是{New host:system.cpu.load[percpu,avg1].last()}>5,则“Processor load above $1 on {HOST.NAME}“将会自动更改成 “Processor load above 5 on New host”
严重性 通过点击对应的按钮来设置所需的触发器严重性
异常表达式 用于定义异常条件的逻辑表达式
事件成功迭代 事件成功迭代选项:
表达式 - OK事件基于与问题事件相同的表达式生成;
恢复表达式 - 如果问题表达式计算为false,恢复表达式计算为true,则生成OK事件;
None - 在这种情况下,触发器将永远不会返回到OK状态。
从Zabbix 3.2.0开始支持
恢复表达式 逻辑表达式用于定义问题解决的条件。
只有在表达式表达式计算为FALSE之后才对恢复表达式进行评估。如果问题条件仍然存在,则不可能通过恢复表达式来解决问题。
此字段是可选的,仅在OK 事件生成选择恢复表达式。
从Zabbix 3.2.0开始支持
异常事件生成模式 生成异常事件的模式:
单个 - 当触发器第一次进入‘异常‘状态时,生成一条单个事件。;
多重 - 每一个触发器“异常”评估都将生产一条事件。
事件成功关闭 如果选择事件成功关闭:
所有问题 - 此触发器的所有问题
所有问题如果标签值匹配 - 只有那些匹配事件标签值引发的问题。
从Zabbix 3.2.0开始支持。
匹配标记 输入事件标记名称以用于事件关联。
如果在事件成功关闭中选择了‘所有问题如果标签值匹配’,在这种情况下是强制性的。
从Zabbix 3.2.0开始支持。
标记  

 

在agent stop http
[root@localhost ~]# service httpd stop 
Stopping httpd:                                            [  OK  ]
[root@localhost ~]# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
            

查看效果:

 

 

 


 

 

 

 

posted @ 2019-06-26 22:14  爬行的龟  阅读(1203)  评论(0编辑  收藏  举报
如有错误,欢迎指正 邮箱656521736@qq.com