zoukankan      html  css  js  c++  java
  • 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
                

    查看效果:

     


     

  • 相关阅读:
    idea 提示不能打开cmd.exe,idea 编译项目 CreateProcess error=740, 请求的操作需要提升 --->如何设置cmd以管理员身份运行
    Maven之--安装nexus 私服
    如何生成effective-pom
    maven之---资源过滤 在java/main/resourse/*.xml ,*.properties引用maven属性${db.username}
    使用JavaMailSender 发送邮件
    spring 读取account-service中的值
    spring web.xml 标签<param-name>contextConfigLocation</param-name>
    application.properties案例
    解决mybatis-plus的updateById报错的问题
    postman百度云下载
  • 原文地址:https://www.cnblogs.com/laonicc/p/11084390.html
Copyright © 2011-2022 走看看