这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

> 动作对象

以下对象与动作 API 直接相关。

动作

动作对象具有以下属性。

属性 类型 描述
actionid 字符 (只读) 动作 ID。
esc_period
(必需)
字符 默认操作步骤持续时间。必须至少为 60 秒。接受秒、带后缀的时间单位和用户宏。

请注意,仅对触发器、内部和服务动作支持升级,问题恢复和更新操作不支持升级。
eventsource
(必需)
整数 (常量) 动作将处理的事件的类型。

参见 event "source" 属性 以获取支持的事件类型列表。
name
(必需)
字符 动作名称。
status 整数 动作是启用还是禁用。

可用值:
0 - (默认) 启用;
1 - 禁用。
pause_suppressed 整数 是否在维护期间暂停升级。

可用值:
0 - 不要暂停升级;
1 - (默认) 暂停升级。

请注意,此参数仅对触发器动作有效。
notify_if_canceled 整数 取消升级时是否通知。

可用值:
0 - 取消升级时不通知;
1 - (默认) 取消升级时通知。

请注意,此参数仅对触发器动作有效。

注意,对于某些方法(更新、删除),必需/可选参数组合是不同的。

动作操作

动作操作对象定义执行动作时执行的操作。它具有以下属性。

属性 类型 描述
operationid string (只读)动作操作的 ID。
operationtype
(必需)
integer 操作类型。

可用值:
0 - 发送信息;
1 - 全局脚本;
2 - 添加主机;
3 - 删除主机;
4 -添加到主机组;
5 - 从主机组删除;
6 - 链接到模板;
7 - 取消与模板的关联;
8 - 启用主机;
9 - 禁用主机;
10 -设置主机资产模式。

请注意,触发器和服务动作只支持类型 '0' 和 '1' ,内部动作只支持类型 '0'。 发现和自动注册操作支持所有类型。
actionid string (只读) 动作操作所属的动作 ID。
esc_period string 以秒为单位的升级步骤的持续时间。必须大于 60 秒。接受秒、带后缀的时间单位和用户宏。如果设置为 0 或0s,则将使用默认的 动作 升级周期。

默认: 0s。

请注意,仅触发器、内部和服务操作支持升级,问题恢复和更新操作不支持升级。
esc_step_from integer 开始升级的 Step 。

默认:1。

请注意,仅触发器、内部和服务操作支持升级,问题恢复和更新操作不支持升级。
esc_step_to integer 结束升级的 Step。

默认:1。

请注意,仅触发器、内部和服务操作支持升级,问题恢复和更新操作不支持升级。
evaltype integer 操作条件计算方法。

可用值:
0 - (默认) AND / OR;
1 - AND;
2 - OR。
opcommand object 对象包含操作运行的全局脚本上的数据。

每个对象具有以下属性:scriptid - (字符串) 脚本的 ID。

被全局脚本操作所需要。
opcommand_grp array 要在其上运行全局脚本的主机组。

每个对象具有以下属性:
opcommand_grpid - (字符串,只读) 对象 ID;
operationid - (字符串,只读) 操作 ID;
groupid - (字符串) 主机组 ID。

opcommand_hst 未被设置的情况下,被全局脚本操作所需要。
opcommand_hst array 要在其上运行全局脚本的主机。

每个对象具有以下属性:
opcommand_hstid - (字符串,只读) 对象 ID;
operationid - (字符串,只读) 操作 ID;
hostid - (字符串) 主机 ID;如果设置为 0 命令将运行在当前主机。

opcommand_grp未被设置的情况下,被全局脚本操作所需要。
opconditions array 用于触发 动作 的操作条件。

动作操作条件 如下所述
opgroup array 用于添加主机的主机组。

每个对象具有以下属性:
operationid - (字符串,只读) 操作 ID ;
groupid - (字符串) 主机组 ID 。

被 "添加到主机组" 和 "从主机组删除" 操作所需要。
opmessage object 包含有关操作发送的消息的数据的对象。

动作操作消息 对象 如下所述

被消息操作所需要。
opmessage_grp array 要向其发送消息的用户组。

每个对象具有以下属性:
operationid - (字符串,只读) 操作 ID;
usrgrpid - (字符串) 用户组 ID。

opmessage_usr 未被设置的情况下,被全局脚本操作所需要。
opmessage_usr array 要向其发送消息的用户。

每个对象具有以下属性:
operationid - (字符串) 操作 ID;
userid - (字符串) 用户 ID。

opmessage_grp 未被设置的情况下,被全局脚本操作所需要。
optemplate array 要将主机链接到的模板。

每个对象具有以下属性:
operationid - (字符串,只读) 操作 ID;
templateid - (字符串) 模板 ID 。

被 "链接到模板" 和 "取消与模板的关联" 操作所需要。
opinventory object 要将主机设置的资产模式。

对象具有以下属性:
operationid - (字符串,只读) 操作 ID;
inventory_mode - (字符串) 资产模式。

被 "设置主机资产模式" 操作所需要。

动作操作消息

操作消息对象包含有关操作将发送的消息的数据。

属性 类型 描述
default_msg integer 是否使用默认 action message 文本和主题。

可用值:
0 - 使用动作中的数据;
1 - (默认) 使用 媒介类型中的数据。
mediatypeid string 将用于发送消息的媒介类型 ID。
message string 操作消息文本。
subject string 操作消息主题。

动作操作条件

动作操作条件对象定义执行当前操作时必须满足的条件。它具有以下属性。

属性 类型 描述
opconditionid string (只读) 动作操作条件 ID。
conditiontype
(必需)
integer 条件类型。

可用值:
14 - 事件确认。
value
(必需)
string 与之比较的值。
operationid string (只读) 操作 ID。
operator integer 条件运算符。

可用值:
0 - (默认) =。

每个操作条件类型都支持以下运算符和值。

条件 条件名 支持的运算 期望值
14 事件确认 = 事件是否被确认。

可用值:
0 - 未确认;
1 - 已确认。

动作恢复操作

动作恢复操作对象定义在解决问题时将执行的操作。恢复操作可用于 触发器、内部 及 服务动作。它具有以下属性。

属性 类型 描述
operationid string (只读) 动作操作 ID。
operationtype
(必需)
integer 操作类型。

在 触发器 和 服务 动作 的情况下可用值:
0 - 发送消息;
1 - 全局脚本;
11 - 通知所有相关人员。

在 内部 动作 的情况下可能的值:
0 - 发送消息;
11 - 通知所有相关人员。
actionid string (只读) 这个恢复操作所属的 动作 ID 。
opcommand object 对象包含运行的全局操作类型脚本操作的数据。

每个对象都有以下属性: scriptid - (字符串)动作类型脚本 ID。

被全局脚本操作所需要。
opcommand_grp array 要在其上运行全局脚本的主机组。

每个对象都具有以下属性:
opcommand_grpid - (字符串,只读) 对象 ID;
operationid - (字符串,只读) 操作 ID;
groupid - (字符串) 主机组 ID 。

opcommand_hst 未被设置的情况下,被全局脚本操作所需要。
opcommand_hst array 要在其上运行全局脚本的主机。

每个对象都具有以下属性:
opcommand_hstid - (字符串,只读) 对象 ID ;
operationid - (字符串,只读) 操作 ID;
hostid - (字符串) 主机 ID; 如果设置为 0 命令将运行在当前主机。

opcommand_grp未被设置的情况下,被全局脚本操作所需要。
opmessage object 对象包含有关恢复操作发送的消息的数据。

操作消息对象 如上所述

被消息操作所需要。
opmessage_grp array 要向其发送消息的用户组。

每个对象都具有以下属性:
operationid - (字符串,只读) 操作 ID;
usrgrpid - (字符串) 用户组 ID。

opmessage_usr 未被设置的情况下,被消息操作所需要。
opmessage_usr array 要向其发送消息的用户。

每个对象都具有以下属性:
operationid - (字符串,只读) 操作 ID;
userid - (字符串) 用户 ID。

opmessage_grp 未被设置的情况下,被消息操作所需要。

动作更新操作

动作更新操作对象定义在问题更新(注释、确认、严重性更改或手动关闭)时将执行的操作。更新操作可用于 触发器 和 服务动作。它具有以下属性。

属性 类型 描述
operationid string (只读)动作操作 ID。
operationtype
(必需)
integer 操作类型。

在 触发器 和 服务 动作 的情况下可能的值:
0 - 发送消息;
1 - 全局脚本;
12 - 通知所有相关人员。
opcommand object 对象包含运行的全局操作类型脚本操作的数据。

每个对象都有以下属性: scriptid - (字符串)动作类型脚本 ID。

被全局脚本操作所需要。
opcommand_grp array 要在其上运行全局脚本的主机组。

每个对象都具有以下属性:
groupid - (字符串) 主机组 ID

opcommand_hst 未被设置的情况下,被全局脚本操作所需要。
opcommand_hst array 要在其上运行全局脚本的主机。

每个对象都具有以下属性:
hostid - (字符串) 主机 ID; 如果设置为 0 命令将运行在当前主机。

opcommand_grp未被设置的情况下,被全局脚本操作所需要。
opmessage object 对象包含有关更新操作发送的消息的数据。

操作消息 对象 如上所述
opmessage_grp array 要向其发送消息的用户组。

每个对象都具有以下属性:
usrgrpid - (字符串) 用户组 ID。

opmessage_usr 未被设置的情况下,仅被 发送消息 操作所需要。
发送更新消息 操作所忽略。
opmessage_usr array 要向其发送消息的用户。

每个对象都具有以下属性:
userid - (字符串) 用户 ID。

opmessage_grp未被设置的情况下,仅被 发送消息 操作所需要。
发送更新消息 操作所忽略。

动作过滤

动作过滤对象定义执行配置的动作操作时必须满足的一组条件。它具有以下属性。

属性 类型 描述
conditions
(required)
array 用于筛选结果的过滤条件集。
evaltype
(required)
integer 过滤条件计算方法。

可用值:
0 - and/or;
1 - and;
2 - or;
3 - 自定义表达式。
eval_formula string (只读) 生成的表达式将被用于计算过滤条件。表达式包含了通过其 ID 引用特定筛选条件的 formulaideval_formula 的值等于具有自定义表达式的筛选器的 formula 的值。
formula string 用于使用自定义表达式计算过滤条件的用户定义表达式。表达式必须包含通过其 formulaid 引用特定过滤条件的 ID。表达式中使用的 ID 必须与过滤条件中定义的 ID 完全匹配:任何条件都不能保持未使用或省略状态。

被自定义表达式过滤需要。

动作过滤条件

动作过滤条件对象定义了在运行动作操作之前必须检查的特定条件。

属性 类型 描述
conditionid 字符 (只读) 动作条件 ID。
conditiontype
(必需)
整数 条件类型。

在触发器动作的情况下可用值:
0 - 主机组;
1 - 主机;
2 - 触发器;
3 - 触发器名称;
4 - 触发器严重等级;
6 - 时间段;
13 - 主机模板;
16 - 问题被抑制;
25 - 事件标签;
26 - 事件标签值。

在 发现动作的情况下可用值:
7 - 主机 IP;
8 - 发现的服务类型;
9 - 发现的服务端口;
10 - 发现状态;
11 - 正常运行时间或停机时间;
12 - 接收到的值;
18 - 发现规则;
19 - 发现检查;
20 - 代理;
21 - 发现对象。

在自动注册动作的情况下可用值:
20 - 代理;
22 - 主机名;
24 - 主机元数据。

在内部动作的情况下可用值:
0 - 主机组;
1 - 主机;
13 - 主机模板;
23 - 事件类型;
25 - 事件标签;
26 - 事件标签值。

在服务动作的情况下可用值:
25 - 事件标签;
26 - 事件标签值;
27 - 服务;
28 - 服务名。
value
(必需)
字符 要与之比较的值。
value2
字符 要与之比较的次要值。当条件类型为 26 时被触发器,内部和服务动作所需要。
actionid 字符 (只读) 条件所属的动作 ID。
formulaid 字符 用于从自定义表达式引用条件的任意唯一 ID。只能包含大写字母。ID 必须由用户在修改过滤条件时定义,但是在之后请求它们时将重新生成。
operator 整数 条件运算符。

可用值:
0 - (默认)等于;
1 - 不等于;
2 - 包含;
3 - 不包含;
4 - 在其中;
5 - 大于或等于;
6 - 小于或等于;
7 - 不在其中;
8 - 匹配;
9 - 不匹配;
10 - 是;
11 - 否。

为了更好地理解如何使用具有各种类型表达式的过滤器,查看 action.getaction.create 方法页面上的例子。

每种条件类型都支持以下运算符和值。

条件 条件名称 支持的运算符 期望值
0 主机组 等于,
不等于
主机组 ID。
1 主机 等于,
不等于
主机 ID。
2 触发器 等于,
不等于
触发器 ID。
3 触发器名称 包含,
不包含
触发器名称。
4 触发器严重性 等于,
不等于,
大于等于,
小于等于
触发器严重等级。参考 触发器 "严重等级" 属性 获取支持的触发器严重等级列表。
5 触发器值 等于 触发器值. 参考 触发器 "值" 属性 获取支持的触发器值列表。
6 时间段 在范围内, 不在范围内 事件触发的 时间段
7 主机IP 等于,
不等于
用逗号分隔的一个或多个IP范围。参考 network discovery configuration 以获取有关支持的IP范围格式的更多信息。
8 发现的服务类型 等于,
不等于
发现的服务的类型。服务类型与用于检测服务的发现检查的类型匹配。参考 发现检查 "类型" 属性 获取支持的类型列表。
9 发现的服务端口 等于,
不等于
一个或多个以逗号分隔的端口范围。
10 发现状态 等于 发现对象的状态。

可能的值:
0 - 主机或服务启动;
1 - 主机或服务关闭;
2 - 主机或服务已被发现;
3 - 主机或服务失去连接。
11 正常运行或停机的持续时间 大于等于,
小于等于
时间,指示发现的对象处于当前状态的时间(以秒为单位)。
12 接收的值 等于,
不等于,
大于等于,
小于等于,
包含,
不包含
执行 Zabbix agent, SNMPv1, SNMPv2 或 SNMPv3 发现检查时返回的值。
13 主机模板 等于,
不等于
链接的模板ID。
16 问题被抑制 Yes, No 无需值:使用 "Yes" 运算符意味着必须抑制问题,"No" - 未抑制。
18 发现规则 等于,
不等于
发现规则的ID。
19 发现检查 等于,
不等于
发现检查的ID。
20 代理 等于,
不等于
代理的 ID。
21 发现对象 等于 触发发现事件的对象的类型。

可能的值:
1 - 发现主机;
2 - 发现服务。
22 主机名 包含,
不包含,
匹配,
不匹配
主机名
在自动注册条件中,运算符 匹配不匹配 支持使用正则表达式。
23 事件类型 等于 特定的内部事件。

可能的值:
0 - 监控项处于 "不支持" 状态;
1 - 监控项处于 "正常" 状态;
2 - LLD 规则处于 "不支持" 状态;
3 - LLD 规则处于 "正常" 状态;
4 - 触发器处于 "未知" 状态;
5 - 监控项处于 "正常" 状态。
24 主机元数据 包含,
不包含,
匹配,
不匹配
自动注册主机的元数据。
运算符 匹配不匹配 支持使用正则表达式。
25 标签 等于,
不等于,
包含,
不包含
事件标签。
26 标签值 等于,
不等于,
包含,
不包含
事件标签值。
27 服务 等于,
不等于
服务 ID。
28 服务名 等于,
不等于
服务名称。