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
查看效果: