> 动作对象

以下对象与动作 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 string (只读) 动作条件的ID。
conditiontype
(必需)
integer 条件类型。

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

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

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

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

服务动作的可能值:
25 - 事件标签;
26 - 事件标签值;
27 - 服务;
28 - 服务名称。
value
(必需)
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 主机组 等于,
不等于
主机组ID。
1 主机 等于,
不等于
主机ID。
2 触发器 等于,
不等于
触发器ID。
3 事件名称 包含,
不包含
事件名称。
4 触发器严重性 等于,
不等于,
大于或等于,
小于或等于
触发器严重性。参考触发器 "severity" 属性以获取支持的触发器严重性的列表。
5 触发器值 等于 触发器值。参考触发器 "value" 属性以获取支持的触发器值的列表。
6 时间段 在内,
不在内
事件触发时的时间作为时间段
7 主机IP 等于,
不等于
用于检查的一个或多个IP范围,用逗号分隔。有关支持的IP范围格式的更多信息,请参阅网络发现配置部分。
8 发现的服务类型 等于,
不等于
发现的服务类型。服务类型与用于检测服务的发现检查类型匹配。参考发现检查 "type" 属性以获取支持的类型的列表。
9 发现的服务端口 等于,
不等于
一个或多个端口范围,用逗号分隔。
10 发现状态 等于 发现对象的状态。

可能的值:
0 - 主机或服务正常;
1 - 主机或服务异常;
2 - 主机或服务已发现;
3 - 主机或服务丢失。
11 正常或异常持续时间 大于或等于,
小于或等于
表示发现对象当前状态持续时间的秒数。
12 接收值 等于,
不等于,
大于或等于,
小于或等于,
包含,
不包含
执行Zabbix agent、SNMPv1、SNMPv2或SNMPv3发现检查时返回的值。
13 主机模板 等于,
不等于
链接的模板ID。
16 问题被抑制 是,
不需要值:使用 "是" 运算符表示问题必须被抑制,"否" - 未被抑制。
18 发现规则 等于,
不等于
发现规则的ID。
19 发现检查 等于,
不等于
发现检查的ID。
20 Proxy 等于,
不等于
proxy的ID。
21 发现对象 等于 触发发现事件的对象类型。

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

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