• zabbix Action


    通常,一个报警的产生,是这样的一个过程。

    如果某种条件符合,那么报警。
    抽象成计算机语言,就是:

        if (ConditionA == true){

        Alet();

        }

    还可以选择给谁报警(哪个用户)、怎样报警(报警途径),具体如下:

        if (ConditionA == true){
        Alert(userA.email);
        Alert(userB.sms);
        }

    如果处理问题不一定要报警,可以在服务器对于一些简单问题上运行一些命令的初步处理,比如Nginx挂了,自己就可以尝试的重启服务,则这又成了:

    if (ConditionA == true){
    Alert(email);
    Alert(sms);
    Excute(command);
    }

    再扩展一些,可能条件更复杂一些:

    if (ConditionA == true && ConditionB != true){
    Alert(email);
    Alert(sms);
    Excute(command);
    }

    这就是Zabbix的“报警”了,为什么这里的“报警”需要加上引号呢? 其实,发生问题后,去执行一些命令,这已经不是狭义上的“报警”了。在Zabbix 中,这个被定义为Action(动作) ,就是当某种Condition符合时,会进行一些操作,这些操作就叫做Action。 Condition译为“条件”,在Zabbix中,Action的触发是需要条件的,比如属于某个Host Group的Host,某个Trigger是Problem状态了,等等,,

    在Zabbix中,报警的途径是依附于用户的。即不能直接将一个Action设置为给某个邮箱发邮件,一定要设置Action向某个用户发送报警,发送报警的途径是邮箱,那么就会发送到用户的预先设置邮箱地址。 这个邮箱地址叫做用户的Media ,即联系方式。

    下面来介绍Action的设置。

    1,Action

    Action是Zabbix非常强大的功能,可以基于Event的不同状态,执行不同的操作。 最常见的就是报警时,将报警通过各种方式发送给对应的用户。

    目前Zabbix支持Action动作根据下面所列出的Events触发。

    • Trigger Events:当Trigger的状态变化,即从OK 到 Problem 或从 Problem 到OK时都会产生。
    • Discovery Events:当发生网络Discovery的时候产生。
    • Auto Registration Events: 当有新的Zabbix Agent自动注册到Zabbix的时候产生。
    • Internal Events:当Item变为“异常”状态 或者Trigger变为“未知”状态时产生。

    下面进入Action的配置。

    • 从菜单栏的“Configuration” → “Actions” 进入界面。
    • 在“Event source”下拉框中,可以选择只显示依赖于某种源头的Action。
    • 单击Action条目后,可以看到三个标签:“Action”、“Condition”、“Operations”。 “Action”用来定义Action本身的一些属性和说明;“Condition”用来定义触发Action的各种条件组合关系;“Operations”定义的是Action触发后的一些操作。


    默认是建立基于Trigger Events的Action,如果需要其他的,选择对应的选项即可。

    Action”标签,有下面的属性可以设置。

    • Name:唯一的Action名字。
    • Default subject:报警的默认标题。
    • Default message:报警的默认内容。
    • Recovery message:恢复消息,是否在报警恢复正常后发送消息。 Zabbix将“OK”状态的Trigger认为是一个恢复recovery event。 注意:如果使用了Escalation机制,Recovery event只会触发一次。对已Recovery的报警,可以像发出报警的邮件一样,设置报警标题和内容。

        以下几点需要注意:

        1,自定义的恢复信息,只针对Condition,是“Trigger value is PROBLEM”的生效。

        2,恢复信息只会发送给那些之前收到过关于这个Action报警信息的人。

        3,恢复信息和Action 依赖PROBLEM生成的Evnet维护同一份ACK状态。

        4,在Recovery信息中,EVENT.*Macro中的数据,都是基于出问题的Event,而不是Recovery。

        5,在Recovery信息中,EVENT.RECOVERY.* 表示的是出自Recovery event的数据。

      • Recovery subject:Recovery信息的标题。
      • Recovery message:Recovery信息中的内容。
      • Enabled: 是否启用这个Action。

    2,Operation

    Operation指的是Action触发以后具体的操作,在Zabbix中,可以定义下面这些操作:

    • 发送一条信息。
    • 执行一个命令(包括IPMI)。


    对于discovery事件,还有额外的一些操作:

    • 添加一个Host。
    • 移除一个Host。
    • 启用一个Host。
    • 禁用一个Host。
    • 将Host添加到一个Host group。
    • 将Host从一个Host grou中删除。
    • 关联到一个Template。
    • 取消和一个Template的关联。


    对于auto-registration事件,也有额外的一些操作:

    • 添加一个Host。
    • 禁用一个Host。
    • 添加Host到一个Host group。
    • 关联到一个Template。


    在配置Action的Operation标签页时,可以看到目前配置的Operation,单击“New”按钮。 

  • 相关阅读:
    python模块搜索路径
    Python数据结构
    Python文件类型
    Python循环语句
    Python条件语句
    python配置文件操作——configparser模块
    python 加密方式(MD5&sha&hashlib)
    python MySQL 获取全部数据库(DATABASE)名、表(TABLE)名
    python sqlite3查看数据库所有表(table)
    027.MFC_映射消息
  • 原文地址:https://www.cnblogs.com/xianguang/p/6874613.html
Copyright © 2020-2023  润新知