> 操作 object

以下objects与action API直接相关。

动作

动作 object 具有以下属性。

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

注意,升级仅支持触发器、内部和服务动作,并且仅在正常操作中支持。
eventsource
(required)
integer (常量) 动作将处理的事件类型。

有关支持的事件类型列表,请参阅事件
name
(required)
string 动作的名称。
status integer 动作是否启用或禁用。

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

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

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

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

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

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

Action 操作

操作object定义了将要执行的动作 当动作执行时。它具有以下属性。

属性 数据类型 描述
operationid string (只读) 动作操作的ID。
operationtype
(required)
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 升级起始步骤。

默认值:1。

注意升级仅支持触发器、内部和服务类操作,且仅在正常运营模式下生效。
esc_step_to integer 升级终止步骤.

默认值: 1.

注意: 升级仅支持触发器、内部和服务类型的告警动作,且仅在正常运营模式下生效.
evaltype integer 操作条件评估方法.

可选值:
0 - (默认) AND / OR;
1 - AND;
2 - OR.
opcommand object object 包含通过操作获取的全局脚本 run 数据.

每个 object 具有以下属性之一: scriptid - (string) 脚本的ID.

全局脚本操作必需项.
opcommand_grp array 将主机组关联到run全局脚本上.

每个object具有以下属性:
opcommand_grpid - (string, 只读) object的ID;
operationid - (string, 只读) 操作ID;
groupid - (string) 主机组的ID.

opcommand_hst未设置时,全局脚本操作必需此参数.
opcommand_hst array 将全局脚本run到主机。

每个object具有以下属性:
opcommand_hstid - (string, 只读) object的ID;
operationid - (string, 只读) 操作ID;
hostid - (string) 主机的ID; 若设为0则命令会在当前主机上run.

opcommand_grp未设置时,全局脚本操作必需此参数。
opconditions array 触发器操作使用的运行条件。

操作条件object为action-操作条件
opgroup array 要添加主机的主机组。

每个object具有以下属性:
operationid - (string, 只读) 操作ID;
groupid - (string) 主机组ID。

该字段为"添加到主机组"和"从主机组移除"操作所必需。
opmessage object object 包含操作发送消息的相关数据。

操作消息 object 是 action-操作消息

消息操作必需字段。
opmessage_grp array 接收消息的用户组.

每个object包含以下属性:
operationid - (string, 只读) 操作ID;
usrgrpid - (string) 用户组ID.

当未设置opmessage_usr时,消息操作必须指定此参数.
opmessage_usr array 接收消息的用户列表。

每个object包含以下属性:
operationid - (string, 只读) 操作ID;
userid - (string) 用户ID。

opmessage_grp未设置时,消息操作必须提供此参数。
optemplate array 要链接主机的模板.

每个object具有以下属性:
operationid - (string, 只读) 操作的ID;
templateid - (string) 模板的ID.

对于"链接到模板"和"从模板取消链接"操作是必需的.
opinventory object 库存模式设置为 主机。

object 具有以下属性:
operationid - (string, 只读) 操作ID;
inventory_mode - (string) 库存模式。

该操作用于"设置 主机 库存模式"。

Action 操作消息

操作消息object包含有关该操作将发送消息的数据。

属性 数据类型 描述
default_msg integer 是否使用默认动作消息文本和主题。

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

Action 操作条件

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

属性 数据类型 描述
opconditionid string (只读) 动作操作条件的ID
conditiontype
(required)
integer 条件类型。

可能的值:
14 - 事件已确认。
value
(required)
string 要比较的值。
operationid string (只读) 操作的ID。
operator integer 条件运算符。

可能的值:
0 - (默认) =。

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

条件 条件名称 支持的运算符 期望值
14 Event acknowledged = 事件是否已确认。

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

Action 恢复操作

动作恢复操作object定义了当问题被解决时将执行的操作。恢复操作可用于触发器、内部和服务动作。它具有以下属性。

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

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

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

每个object具有以下属性: scriptid - (string) 动作类型脚本的ID。

全局脚本操作必需。
opcommand_grp array 主机组用于run全局脚本。

每个object具有以下属性:
opcommand_grpid - (string, 只读) object的ID;
operationid - (string, 只读) 操作的ID;
groupid - (string) 主机组的ID。

如果未设置opcommand_hst,全局脚本操作必需。
opcommand_hst array 主机用于run全局脚本。

每个object具有以下属性:
opcommand_hstid - (string, 只读) object的ID;
operationid - (string, 只读) 操作的ID;
hostid - (string) 主机的ID; 如果设置为0,命令将在当前主机上run。

如果未设置opcommand_grp,全局脚本操作必需。
opmessage object object包含恢复操作发送的消息数据。

操作消息object是action-操作消息

消息操作必需。
opmessage_grp array 发送消息的用户组。

每个object具有以下属性:
operationid - (string, 只读) 操作的ID;
usrgrpid - (string) 用户组的ID。

如果未设置opmessage_usr,消息操作必需。
opmessage_usr array 发送消息的用户。

每个object具有以下属性:
operationid - (string, 只读) 操作的ID;
userid - (string) 用户的ID。

如果未设置opmessage_grp,消息操作必需。

Action 更新操作

操作 update 定义了一个将执行的 object 操作 当问题被更新(评论、确认)时执行 严重性变更或手动关闭)。可执行更新操作 用于触发器和服务动作。它具有以下属性。

属性 数据类型 描述
operationid string (只读) 动作操作的ID。
operationtype
(required)
integer 操作类型.

触发器与服务动作的可能取值:
0 - 发送消息;
1 - 全局脚本;
12 - 通知所有相关人员.
opcommand object object 包含通过操作获取的全局动作类型脚本run的数据.

每个object具有以下属性之一: scriptid - (string) 动作类型脚本的ID.

全局脚本操作必需项.
opcommand_grp array 将主机组关联至run全局脚本.

每个object具有以下属性:
groupid - (string) 主机组的ID.

若未设置opcommand_hst,则全局脚本操作必需此参数.
opcommand_hst array 主机 到 run 全局脚本。

每个 object 具有以下属性:
hostid - (string) 主机 的ID;若设为0则该命令将在当前 主机 上 run。

当未设置 opcommand_grp 时,全局脚本操作必需此参数。
opmessage object object 包含由update操作发送的消息数据.

操作消息object为action-操作消息.
opmessage_grp array 接收消息的用户组.

每个object包含以下属性:
usrgrpid - (string) 用户组ID.

仅当opmessage_usr未设置时,send message操作必需此参数.
send update message操作将忽略此参数.
opmessage_usr array 接收消息的用户.

每个object包含以下属性:
userid - (string) 用户ID.

仅当opmessage_grp未设置时,send message操作需要此字段.
send update message操作会忽略此字段.

操作过滤器

操作过滤器object定义了一组必须满足的条件才能执行配置的操作。它具有以下属性。

属性 数据类型 描述
conditions
(required)
array 用于过滤结果的过滤条件集合。
evaltype
(required)
integer 过滤条件评估方法。

可能的值:
0 - 与/或;
1 - 与;
2 - 或;
3 - 自定义表达式。
eval_formula string (只读) 用于评估过滤条件的生成表达式。该表达式包含通过formulaid引用特定过滤条件的ID。对于具有自定义表达式的过滤器,eval_formula的值等于formula的值。
formula string 用户定义的表达式,用于评估具有自定义表达式的过滤器的条件。该表达式必须包含通过formulaid引用特定过滤条件的ID。表达式中使用的ID必须与过滤条件中定义的ID完全匹配:不能有任何条件未被使用或遗漏。

自定义表达式过滤器必需。

Action 过滤条件

动作过滤器条件object定义了在执行动作操作前必须检查的特定条件。

属性 数据类型 描述
conditionid string (只读) 动作条件的ID。
conditiontype
(required)
integer 条件类型。

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

发现动作的可能值:
7 - 主机IP;
8 - 发现的服务类型;
9 - 发现的服务端口;
10 - 发现状态;
11 - 运行时间或停机时间;
12 - 接收到的值;
18 - 发现规则;
19 - 发现检查;
20 - proxy;
21 - 发现object。

自动注册动作的可能值:
20 - proxy;
22 - 主机名;
24 - 主机元数据。

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

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

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

要更好地理解如何将过滤器与各种表达式类型结合使用,请参阅 action.getaction.create方法页面上的示例。

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

条件 条件名称 支持的运算符 期望值
0 Host group equals,
does not equal
主机组 ID。
1 Host equals,
does not equal
主机 ID。
2 Trigger equals,
does not equal
触发器ID。
3 Event name contains,
does not contain
事件名称。
4 Trigger severity equals,
does not equal,
is greater than or equals,
is less than or equals
触发器严重性。参考触发器获取支持的触发器严重性列表。
5 Trigger value equals 触发器值。参考触发器获取支持的触发器值列表。
6 Time period in, not in 事件触发时间,格式为time period
7 Host IP equals,
does not equal
一个或多个以逗号分隔的IP范围。参考network discovery configuration部分获取支持的IP范围格式的更多信息。
8 Discovered service type equals,
does not equal
发现的服务类型。服务类型与用于检测服务的发现检查类型匹配。参考发现检查获取支持的类型列表。
9 Discovered service port equals,
does not equal
一个或多个以逗号分隔的端口范围。
10 Discovery status equals 发现object的状态。

可能值:
0 - 主机或服务运行;
1 - 主机或服务停止;
2 - 主机或服务被发现;
3 - 主机或服务丢失。
11 Uptime or downtime duration is greater than or equals,
is less than or equals
表示发现的object处于当前状态的秒数。
12 Received values equals,
does not equal,
is greater than or equals,
is less than or equals,
contains,
does not contain
执行Zabbix agent、SNMPv1、SNMPv2或SNMPv3发现检查时返回的值。
13 Host template equals,
does not equal
链接模板ID。
16 Problem is suppressed Yes, No 不需要值: 使用"是"运算符表示问题必须被抑制,"否"表示不被抑制。
18 Discovery rule equals,
does not equal
发现规则ID。
19 Discovery check equals,
does not equal
发现检查ID。
20 Proxy equals,
does not equal
proxy的ID。
21 Discovery object equals 触发发现事件的object类型。

可能值:
1 - 发现的主机;
2 - 发现的服务。
22 Host name contains,
does not contain,
matches,
does not match
主机名。
在自动注册条件中,运算符匹配不匹配支持使用正则表达式。
23 Event type equals 特定的内部事件。

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