点击返回:自学Zabbix之路

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

点击返回:自学zabbix集锦

3.12.4 自学Zabbix3.12.4-动作Action-Operation配置

1. 概述

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

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

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

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

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

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

2. 配置Operation

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

随后会出现配置一个新的Operation的界面:

以下对各部分进行详细说明:

  • Default operation setp duration:最小是60秒,若设置为1小时(即这里的3600秒),则表明执行了一个操作后,要等待1个小时,才会执行下一个操作。

  • Action operations:需要设置的有Steps、Details、Start in、Duration(sec)和Action。

    • Steps:在escalation(报警的升级和扩散)的时候,会按照Step的顺序来执行,从1开始。

    • Details:操作的类型和目标。 从Zabbix 2.2开始,还会显示在发送信息时的media type(通知类型),用户的名字也会显示。

    • Start in:在Event发生后多久执行操作。

    • Duration(sec):显示的是Step的持续时间,如果Step使用了默认的“Default持续时间”,那么显示“Default”。

    • Action:显示的是两个标签“Edit”和“Remove”,用来编辑和移除Operation的操作。

2.1  Operation details:用来设置一个Operation的具体设置

2.1  Operation details的设置:

  • Step:在Escalation的过程中的执行计划。

  • From:表明从哪一步开始。

  • To:表明到哪一步结束。

  • Step duration:每一步持续的时间,如果填0,就是用上面的“Default operation setp duration”中的值。可以在同一个步骤中,进行多个操作。如果这些操作有多个duration,那么会选择最短的那个生效。

  • Operation type:选择操作的类型,可以选择的有如下两种

- Send message:给用户发送信息(邮件,SMS信息 等)

- Remote command:远程执行命令。

注意:
          对于discovery事件和auto-registration 事件,可以在这里选择更多的操作。

2.2  Operation具体执行的操作是Operation的核心:

  • 其一,是将问题通知到负责人;“Send message”功能
  • 其二,是对报警有对应的措施。 “Remote command”功能

比方说,当一台PHP服务器的PHP进程意外退出后,Zabbix一边发送邮件给负责人,一边向Zabbix Agent发出命令,让他重启PHP服务器上的PHP进程。这是非常棒的处理流程。

2.2.1 Send message

这个应该是所有Action都会具备的Operation。就算能够自动恢复(比如PHP进程重启),也需要将出错的信息及时发送给负责人。 对于“Send message”的配置有如下几点。

参数:

  • Send to User groups:可以添加一些User Group,将报警批量的发送给User Group中的所有User。

  • Send to User:类似于“Send to User groups”,只是发送警报的对象换成用户。

  • Send only to:选择是给“Send to User groups” 和 “Send to User”中发送消息时使用的Media type。 比如选择了“Email” ,那么就会向前面的User 发送电子邮件。

  • Default message:使用默认的消息格式。 默认这个是被打上勾的,取消选择,可以看到默认定义的消息格式。

注意:

对于一个Host的报警,Zabbix只会把这个报警发送给这个Host至少有“读”权限的用户。Trigger中至少一个表达式关联的Host是正常工作的,即在Host中看到绿色的标识,

对于发送出去的消息,怎么查看历史消息呢? 怎么获知什么时间发送了什么消息呢?

在Monitoring→Events中可以看到有触发的Action列表。红色表示Action是失败的;“In progress”表示Action已经被触发了; “Failed”表示没有Action触发成功。

我们单击Event的时间,可以看到Action的细节,包括发送了信息的具体内容。

同时,我们也可以通过“Administration”→“Audit”在过滤条件中选择Action 就可以看到过去一段时间内发生的所有Action。

 2.2.2  Remote command

参数:

  • Target list:选择命令执行的Host,可以选择发生问题的Host,指定某个Host 或者 Host group。

  • Type:选择执行的命令的类型,其中“IPMI”、“SSH”、“Telnet”很好理解,主要看剩下的两个。

    • Custom script:执行在Commands 对话框中的Shell命令。

    • Global script:执行在Administration→Scripts中定义的一些命令。

  • Excute on:可以选择在Zabbix Agent还是Zabbix Server 上运行命令。

  • Conditions:后面进行单独介绍。

Remote command 最大的好处是自动。  Zabbix会根据配置的条件,去执行对应的命令,下面看看Remote command的应用场景。

  • 应用无法响应时,自动重启某些应用。

  • 当服务器不响应时,使用IPMI的“reboot”命令重启服务器。

  • 在磁盘要满了的情况下,自动删除一些文件(比如/tmp)。

  • 根据CPU负载,自动进行虚拟机调配。

  • 弹性计算,根据系统情况,新增或删除云节点。

Zabbix无法通过Zabbix Proxy向Zabbix Agent发送,一定要从Zabbix Server 发起。而且,发送的命令长度也有限制,即不能超过255个字符,这个对于一般命令绰绰有余了,只要不是cat某个文件之类的,都足够了。如果在多行写多个命令,Zabbix会按照顺序执行。而且在Remote command中,还支持Macro定义。

相比上面介绍的发送消息,Remote command稍显复杂。在Agent上执行的自定义脚本(即Custom scripts)一定要在Zabbix_agentd.conf中预先定义,而且在zabbix_agentd.conf中“EnableRemoteCommands”这一项要设置为1,否则无法远程执行命令。这是必然的,因为Active默认的Zabbix Agent其实根本没有在服务器上安装Zabbix Agent,怎么能发送命令给它执行呢?

对于远程执行命令,权限也是个问题。 默认情况下,Zabbix是没有权限来重启系统服务的,如果Zabbix用户想要有某个权限,需要修改下sudoer文件。

1
2
3
4
5
# visudo
    #允许“Zabbix”用户不需要密码就可以运行所有root权限的命令
zabbix ALL=NOPASSWD: ALL
    #允许“zabbix”用户可以在不需要密码的情况下运行/etc/init.d/httpd restart ,即重启apache
zabbix ALL=NOPASSWD: /etc/init.d/httpd restart

如果Host上某一类的Interface有多个(比如有多个Zabbix Agent实例),那么Zabbix会选择默认的去运行。

对于剩下的“Coditions”,它有两个选项“Not ACK” 和 “ACK”,  “ACK”是“Acknowledge”的缩写,在Zabbix中,以为某个Evnet是否被人“认领”了,可以理解为,有没有在处理这个事情。 这里的“Not ack”和 “Ack”表达的在这种情况下需要执行Operation。如果选择“Not ack”,那么只有当Evnet没有被“Ack”的情况下需要执行。

自学Zabbix3.12.4-动作Action-Operation配置的更多相关文章

  1. 自学Zabbix3.12.3-动作Action-自动发现action配置

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.12.3-动作Action-自动发现action配置 1. 首先先学习  Ne ...

  2. 自学Zabbix3.12.6-动作Action-Escalations配置

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 3.12.6 自学Zabbix3.12.6-动作Action-Escalations配置 1. 概 ...

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

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 3.12.5 自学Zabbix3.12.5-动作Action-Condition配置 报警,肯定是 ...

  4. 自学Zabbix3.10.2.1 linux如何配置使用sendEmail发送邮件

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.10.2.1 linux如何配置使用sendEmail发送邮件 sendEma ...

  5. 自学Zabbix3.12-动作Action

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.12-动作Action介绍 1. 动作action 在配置好监控项和触发器之后 ...

  6. 自学Zabbix3.10.2-事件通知Notifications upon events-Actions报警配置

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.10.2-事件通知Notifications upon events-Acti ...

  7. 08 Zabbix4.0系统配置事件通知 - 动作Action

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 08 Zabbix4.0系统配置事件通知 - 动作Action 请点击查看Zabbix3.0.8版 ...

  8. 自学Zabbix9.2 zabbix网络发现规则配置详解+实战

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.2 zabbix网络发现规则配置详解+实战 1.  创建网络发现规则 Conf ...

  9. 自学Zabbix3.10.1.4-事件通知Notifications upon events-媒介类型Ez Texting

    自学Zabbix3.10.1.4-事件通知Notifications upon events-媒介类型Ez Texting Ez Texting是zabbix的技术合作伙伴,主要提供短信服务,用手机注 ...

随机推荐

  1. CF1039E Summer Oenothera Exhibition 贪心、根号分治、倍增、ST表

    传送门 感谢这一篇博客的指导(Orzwxh) $PS$:默认数组下标为$1$到$N$ 首先很明显的贪心:每一次都选择尽可能长的区间 不妨设$d_i$表示在取当前$K$的情况下,左端点为$i$的所有满足 ...

  2. 在平衡树的海洋中畅游(三)——Splay

    Preface 由于我怕学习了Splay之后不直接写blog第二天就忘了,所以强行加了一波优先级. 论谁是天下最秀平衡树,我Splay第一个不服.维护平衡只靠旋转. 一言不合转死你 由于平衡树我也介绍 ...

  3. [Python]Python 使用 for 循环的小例子

    [Python]Python 使用 for 循环的小例子: In [7]: for i in range(5): ...: print "xxxx" ...: print &quo ...

  4. maven 通过 pom.xml 指定java编译版本

    <!-- 给maven项目指定编译版本 --> <plugin> <groupId>org.apache.maven.plugins</groupId> ...

  5. Nginx Windows版的服务安装和管理工具

    以前研究过负载均衡,最近正在项目上实施(从来没做过小项目以上级别的东西,哈),nginx挺好,不过Windows有点为难,小流量和本地不追求性能,简单易用是目标. Nginx Windows上并没有提 ...

  6. Notepad++列编辑

    NotePad++列编辑 工具:Notepad++使用说明:在我们的日常工作中,经常会碰到要修改多行记录,一行行去处理会非常浪费人力,这时候列编辑就是一个很好的解决方法,列编辑在进行数据批量操作时是一 ...

  7. 利用Tarjan算法解决(LCA)二叉搜索树的最近公共祖先问题——数据结构

    相关知识:(来自百度百科)  LCA(Least Common Ancestors) 即最近公共祖先,是指在有根树中,找出某两个结点u和v最近的公共祖先. 例如: 1和7的最近公共祖先为5: 1和5的 ...

  8. 《Linux内核设计与实现》第一二章笔记

    第一章 linux内核简介 每个处理器在任何时间点上的活动必然概括为下列三者: 运行于用户空间,执行用户进程 运行于内核空间,处于进程上下文,代表某个特定的进程执行 运行于内核空间,处于中断上下文,与 ...

  9. 数组与字符串三(Cocos2d-x 3.x _Array容器)

    "程序=数据结构+算法" 在面向对象的语言中,诸如数组.堆栈.队列等的结构都被封装成了特定的类,按照特定数据结构的算法设计起来,这就是容器类. Cocos2d-x中,能使用的容器类 ...

  10. 语音笔记:CTC

    CTC全称,Connectionist temporal classification,可以理解为基于神经网络的时序类分类.语音识别中声学模型的训练属于监督学习,需要知道每一帧对应的label才能进行 ...