zoukankan      html  css  js  c++  java
  • 自学Zabbix3.12.5-动作Action-Condition配置

    点击返回:自学Zabbix之路

    点击返回:自学Zabbix4.0之路

    点击返回:自学zabbix集锦

    3.12.5 自学Zabbix3.12.5-动作Action-Condition配置

    报警,肯定是基于某个条件的,比如某个服务器的CPU负载超过20%。

    • 在Zabbix,这种“条件”就是Trigger,那不能对每一个Trigger都设置一个Action吧?  最好的办法就是定义某一类的Trigger如果出问题了,就同意触发某个Action
    • Zabbix就是这么做的,它在Trigger和Action之间,抽象了一个Condition的概念。“Condition”的中文意思是“情况”,可以理解为某一种条件。即Action不是直接和Trigger挂钩,而是可以配置一组条件,如果都满足这些条件,就执行Action。
      比如CPU负载超过20%这个Trigger,可能对于消耗CPU的服务器来说不需要报警,但是对于不消耗CPU的服务器来说就需要了。  那么可以组合这两个条件“CPU负载超过20%”和“服务器是CPU密集型”,对应到Zabbix,就是“CPU>20” 且 “Host属于CPU Host group”。

    1. 四Condition介绍

    1.1. 最常用的是基于Trigger的Condition:

    在下表中提到的Host等,指的都是和这个Event相关的Trigger中关联的Host。

    wKiom1YWoDHxT3JoAAPjqwI0hOo692.jpg

    如果设置的Condition中的任何一个对象(Host等)被删除了,那么这个相关的Condition会被删除,这个Action也会被禁用,放置出现错误执行Action,并且只能由用户自己重新启用。

    Trigger的值是会变的,如果设置了“Trigger = Problem”,表示的是当Trigger从OK 变成PROBLEM的时候会被触发。反之亦然。

    注意:

    使用 Trigger name like Traffic change > 400Mbps 类型的Contidions的时候 Traffic change > 400Mbps 不要跟容易引起歧义的关键字(当然你的Trigger名称可以包含该关键字),比如like的关键字是 Traffic change > 400Mbps Trigger  否则可能不会触发Action。

    当创建一个Action的时候,默认会有两个Condition:

    • 一个是“Trigger=PROBLEM”,
    • 另一个是“Maintenance status=not in maintenance”

    为什么Zabbix要有这两个Condition呢?

        一般来说,我们的Action都是在某样东西出问题才需要行动的,而且,这个东西还不能是在维护中,否则明明有人维护这台服务器,Zabbix还在使劲的报警,就不好了。

    1.2.  基于Discovery 的Event可以使用的Condition

    wKiom1YWoySAr_5RAAKc5UQhwhU079.jpg

    1.3. 基于Active agent auto-registration的Condition

    wKioL1YWpBniCLjkAADNWk5iZNg285.jpg

    1.4.  基于Zabbix内部事件的Condition

    wKioL1YWpTmxgBjUAAG0r2-__RM722.jpg

    Event type中的事件类型有以下几种。

    • Item是“not supported”状态。

    • Item是“Normal”状态。

    • Low-level discovery 规则是“not supported”状态。

    • Low-level discovery 规则是“normal”状态。

    • Trigger是“unknown”状态。

    • Trigger是“normal”状态。

    2. Condition的组合

    Zabbix支持的Condition之间的逻辑运算符有以下几种:

    • AND:所有Condition同时满足。

    • OR:所有的Condition满足一个就行。

    • AND/OR:根据选择的条件,自动调整。选择相同类型的Condition时,他就变成and; 选择而不同的Condition,它就变成OR。 

    比如有下面这些Condition:

    • Host group = Oracle servers

    • Host group = MySQL servers

    • Trigger name like ‘Database is down’

    • Trigger name like ‘Database is unavailable’

    那么最后组合的Condition就是(Host group = Oracle servers OR Host group = MySQL servers)AND (Trigger name like ‘Database is down’OR Trigger name like ‘Database is unavailable’)

  • 相关阅读:
    Countly在andoid和vps集成使用,开源的统计分析sdk
    简单dp-poj-2231-Moo Volume
    Head First设计模式-观察者模式
    D3D游戏编程系列(六):自己动手编写第一人称射击游戏之第一人称视角的构建
    面试之BI-SQL--table转换[2]
    oracle表数据误删还原
    SQL Server 2008数据库创建,备份,还原图解及注意点
    SHH入门:Spring框架简介
    基于总变差模型的纹理图像中图像主结构的提取方法。
    windows程序员进阶系列:《软件调试》之堆 (一)
  • 原文地址:https://www.cnblogs.com/yaoyaojcy/p/8240967.html
Copyright © 2011-2022 走看看