2022 Zabbix中国峰会
2022 Zabbix中国峰会

2 操作

概述

您可以为所有事件定义以下操作:

  • 发送信息
  • 执行远程命令 (包括 IPMI)

<note important>如果用户被明确地设置了主机动作和操作的权限为"denied"或用户根本没有该主机的访问权限,那么Zabbix server将不会生成告警。 :::

对于自动发现和自动注册事件,还有其他可用操作:

  • 添加主机
  • 删除主机
  • 启用主机
  • 禁用主机
  • 添加到主机群组
  • 从主机群组中删除
  • 链接到模板
  • 取消与模板的链接
  • 设置主机资产清单

配置操作

要配置操作,请转到动作 配置 中的 操作 选项卡。

配置新操作的详细信息,请点击“操作”块中的 。若编辑现有的操作,点击“操作”旁边的 。将会打开一个弹出窗口,您可以在其中编辑操作步骤的详细信息。

红色星号标记的为必填字段。

常规操作属性:

参数
Default operation step duration 一个操作步骤默认持续时间(60秒到一周)。
例如,“1小时”表示在执行操作时,距离下一步操作还有1个小时。
从Zabbix 34.0开始,支持 时间后缀 ,例如60s, 1m, 2h, 1d。
从Zabbix 3.4.0开始,支持 用户宏
Pause operations for suppressed problems 选中此复选框以延长维护期间的操作。当维护结束后开始执行操作时,所有的操作都将执行,包括维护过程中的事件操作。
请注意,此设置只影响问题升级; 恢复和更新操作不会受到影响。\\如果取消选中此复选框,即使在维护期间,操作也将毫不延迟地执行。
Zabbix 3.2.0之后支持此选项。
Operations 显示动作操作(如果有的话),详细信息如下:
Steps - 分配给操作的升级步骤
Details - 操作的类型及其收件人/目标。
操作列表还显示了通知接收者使用的媒介类型(电子邮件,短信或脚本)以及通知收件人的姓名和姓氏(在别名之后的括号中)。
Start in - 事件发生后多久执行操作
Duration (秒) - 显示步长。如果步骤使用默认持续时间,则显示默认,如果使用自定义时长,则显示时间。
Action - 显示用于编辑和删除操作的链接。
Recovery operations 显示动作操作(如果有的话),详细信息如下:
Details - 操作的类型及其收件人/目标。
操作列表还显示了通知接收者使用的媒介类型(电子邮件,短信或脚本)以及通知收件人的姓名和姓氏(在别名之后的括号中)。
Action - 显示用于编辑和删除操作的链接。
Update operations 显示动作操作(如果有的话),详细信息如下:
Details - 操作的类型及其收件人/目标。
操作列表还显示了通知接收者使用的媒介类型(电子邮件,短信或脚本)以及通知收件人的姓名和姓氏(在别名之后的括号中)。
Action - 示用于编辑和删除操作的链接。

Operation details

参数
Operation type 所有事件有两种操作类型:
Send message - 发送消息给用户
Remote command - 执行远程命令
更多的操作可用于基于发现和自动注册的事件(见上文)。
Steps 升级 计划表中选择要分配操作的步骤:
From - 从这个步骤开始执行
To - 执行到此步骤 (0=无穷大, 执行将不会受到限制)
Step duration 这些步骤的自定义持续时间(0 =使用默认步骤持续时间)。
从Zabbix 3.4.0开始,支持 时间后缀 ,例如60s, 1m, 2h, 1d。
从Zabbix3.4.0开始,支持 用户宏
可以将多个操作分配给同一个步骤。 如果这些操作定义了不同的持续时间,则将考虑最短的持续时间并将其应用于该步骤。
操作类型: 发送消息
Send to user groups 点击 Add 选择要发送消息的用户组。
若要收到通知,用户组至少要对主机具有“读” 权限
Send to users 点击 Add 选择要发送消息的用户。
若要收到通知,用户至少要对主机具有“读” 权限
Send only to 将消息发送到所有定义的媒介类型或仅发送到选定的媒介类型。
Custom message 如果选中,则可以配置自定义消息。
对于通过 webhooks 发送的有关内部事件的通知,必须使用自定义消息。
Subject 自定义消息的主题。主题中可以包含宏。最大长度为255个字符。
Message 自定义的消息。消息内容可以包含宏。具体能在消息中输入多少个字符取决于数据的类型(了解更多信息请参见 发送消息)。
操作类型: 远程命令
Target list 选择要执行命令的目标:
Current host - 在导致异常事件的触发器所在的主机上执行命令。如果触发器中有多个主机,则此选项将不起作用。
Host - 选择要在其上执行命令的主机。
Host group - 选择需要执行该命令的主机组。 指定父主机组隐含地选择所有嵌套的主机组。因此,远程命令也将在嵌套组的主机上执行。
主机上的命令只能执行一次,即使该主机被多次匹配(例如来自多个主机组,单台主机和从主机组中匹配)。
如果在Zabbix server上执行了自定义脚本,那么目标列表是没有意义的。在这种情况下选择更多目标只会导致脚本在服务器上执行更多次。
注意:对于全局脚本,目标选择也取决于全局脚本 配置主机组 的设置。
Type 选择命令类型:
IPMI - 执行 IPMI命令
Custom script - 执行自定义命令集
SSH - 执行SSH命令
Telnet - 执行Telnet命令
Global script - 执行在 管理→脚本 中定义的全局脚本之一。
Execute on 在以下位置执行自定义脚本:
Zabbix agent - 该脚本将由主机上的Zabbix agent执行
Zabbix server (proxy) - 该脚本将由Zabbix server或 proxy执行——这取决于主机是由server监控还是由proxy监控的
Zabbix server - 该脚本仅由Zabbix server执行
要在agent上执行脚本,必须 允许 system.run监控项。
要在proxy上执行脚本,必须对其进行配置(开启 EnableRemoteCommands 参数),以允许从服务器远程执行命令。
如果 类型 是“自定义脚本”,则该字段可用。
Commands 输入命令。
所支持的宏将根据导致事件的触发表达式进行解析。例如,主机宏将解析为触发器表达式的主机(而不是目标列表的主机)。
Conditions 执行操作的条件:
Not ack - 仅当事件未被确认时
Ack - 仅当事件被确认时。

完成后,点击 Add 将所有操作添加到 操作 列表中。