自学Zabbix3.12.4-动作Action-Operation配置
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配置的更多相关文章
- 自学Zabbix3.12.3-动作Action-自动发现action配置
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.12.3-动作Action-自动发现action配置 1. 首先先学习 Ne ...
- 自学Zabbix3.12.6-动作Action-Escalations配置
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 3.12.6 自学Zabbix3.12.6-动作Action-Escalations配置 1. 概 ...
- 自学Zabbix3.12.5-动作Action-Condition配置
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 3.12.5 自学Zabbix3.12.5-动作Action-Condition配置 报警,肯定是 ...
- 自学Zabbix3.10.2.1 linux如何配置使用sendEmail发送邮件
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.10.2.1 linux如何配置使用sendEmail发送邮件 sendEma ...
- 自学Zabbix3.12-动作Action
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.12-动作Action介绍 1. 动作action 在配置好监控项和触发器之后 ...
- 自学Zabbix3.10.2-事件通知Notifications upon events-Actions报警配置
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.10.2-事件通知Notifications upon events-Acti ...
- 08 Zabbix4.0系统配置事件通知 - 动作Action
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 08 Zabbix4.0系统配置事件通知 - 动作Action 请点击查看Zabbix3.0.8版 ...
- 自学Zabbix9.2 zabbix网络发现规则配置详解+实战
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.2 zabbix网络发现规则配置详解+实战 1. 创建网络发现规则 Conf ...
- 自学Zabbix3.10.1.4-事件通知Notifications upon events-媒介类型Ez Texting
自学Zabbix3.10.1.4-事件通知Notifications upon events-媒介类型Ez Texting Ez Texting是zabbix的技术合作伙伴,主要提供短信服务,用手机注 ...
随机推荐
- 利用数据库触发器让字段与自增长Id相关联
十年河东,十年河西,莫欺少年穷 学无止境,精益求精 今天是数据库脚本类的代码,所以不想过多阐述 如下数据表: create table Card( Id ,) primary key, CardNo ...
- C# LINQ 详解 From Where Select Group Into OrderBy Let Join
目录 1. 概述 2. from子句 3. where子句 4. select子句 5. group子句 6. into子句 7. 排序子句 8. let子句 9. join子句 10. 小结 1. ...
- 最全的前端Git基础命令,看完保证你会!
常见信息 master: 默认开发分支 origin:默认远程版本库 Head: 默认开发分支 Head^:Head 的父提交 创建新仓库 git init git init [project-nam ...
- SQLAlchemy模块的使用教程
数据库表是一个二维表,包含多行多列.把一个表的内容用Python的数据结构表示出来的话,可以用一个list表示多行,list的每一个元素是tuple,表示一行记录,比如,包含id和name的user表 ...
- Linux mount 命令
mount 命令用来挂载文件系统.其基本命令格式为:mount -t type [-o options] device dirdevice:指定要挂载的设备,比如磁盘.光驱等.dir:指定把文件系统挂 ...
- 总结几个常用的系统安全设置(含DenyHosts)
1)禁止系统响应任何从外部/内部来的ping请求攻击者一般首先通过ping命令检测此主机或者IP是否处于活动状态如果能够ping通 某个主机或者IP,那么攻击者就认为此系统处于活动状态,继而进行攻击或 ...
- cf946d 怎样逃最多的课dp
来源:codeforces D. Timetable Ivan is a student at Berland ...
- Eddy's mistakes HDU
链接 [http://acm.hdu.edu.cn/showproblem.php?pid=1161] 题意 把字符串中大写字母变为小写 . 分析 主要是含有空格的字符串如何读入,用getline(c ...
- DrangonBorns
团队介绍 团队名称:DrangonBorns(龙裔) 团队博客:http://www.cnblogs.com/DragonBorns/ 团队队长:蒲建国 队长博客链接:htt ...
- Linux养成笔记
教程来自慕课网@Tony老师的课程 Linux简介 Linux发展史 Andrew S. Tanenbaum为了给学生讲课,买了一个Unix操作系统,参考他开发了Minix,并开放代码作为大学研究,2 ...