cqlinx 发表于 2017-12-31 13:53:13

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”按钮。
页: [1]
查看完整版本: zabbix Action