> 动作对象

以下对象与动作 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 引用特定筛选条件的 formulaid。eval_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.get 和 action.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 服务名 等于,
不等于
服务名称。