> 动作对象

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

动作

动作对象具有以下属性。

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

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

参见 event “source” 属性 以获取支持的事件类型列表。
name
(必需)
string动作名称。
statusinteger动作是启动还是禁用。

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

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

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

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

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

动作操作

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

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

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

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

默认: 0s。

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

默认:1。

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

默认:1。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

动作操作消息

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

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

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

动作操作条件

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

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

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

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

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

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

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

动作恢复操作

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

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

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

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

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

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

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

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

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

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

操作消息对象 如上所述

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

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

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

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

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

动作更新操作

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

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

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

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

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

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

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

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

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

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

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

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

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

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

动作过滤

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

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

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

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

动作过滤条件

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

属性类型描述
conditionidstring(只读) 动作条件 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 - 发现对象。

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

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

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

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

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

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

条件条件名称支持的运算符期望值
0Host groupequals,
does not equal
主机组 ID。
1Hostequals,
does not equal
主机 ID。
2Triggerequals,
does not equal
触发器 ID。
3Trigger namecontains,
does not contain
触发器名称。
4Trigger severityequals,
does not equal,
is greater than or equals,
is less than or equals
触发器严重等级。参考 触发器 “严重等级” 属性 获取支持的触发器严重等级列表。
5Trigger valueequalsTrigger value. 参考 触发器 “值” 属性 获取支持的触发器值列表。
6Time periodin, not in事件触发的 时间段
7Host IPequals,
does not equal
用逗号分隔的一个或多个IP范围。参考 network discovery configuration 以获取有关支持的IP范围格式的更多信息。
8Discovered service typeequals,
does not equal
发现的服务的类型。服务类型与用于检测服务的发现检查的类型匹配。参考 发现检查 “类型” 属性 获取支持的类型列表。
9Discovered service portequals,
does not equal
一个或多个以逗号分隔的端口范围。
10Discovery statusequals发现对象的状态。

可能的值:
0 - 主机或服务启动;
1 - 主机或服务关闭;
2 - 主机或服务已被发现;
3 - 主机或服务失去连接。
11Uptime or downtime durationis greater than or equals,
is less than or equals
时间,指示发现的对象处于当前状态的时间(以秒为单位)。
12Received valuesequals,
does not equal,
is greater than or equals,
is less than or equals,
contains,
does not contain
执行 Zabbix agent, SNMPv1, SNMPv2 或 SNMPv3 发现检查时返回的值。
13Host templateequals,
does not equal
链接的模板ID。
16Problem is suppressedYes, No无需值:使用 “Yes” 运算符意味着必须抑制问题,”No” - 未抑制。
18Discovery ruleequals,
does not equal
发现规则的ID。
19Discovery checkequals,
does not equal
发现检查的ID。
20Proxyequals,
does not equal
proxy 的 ID。
21Discovery objectequals触发发现事件的对象的类型。

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

可能的值:
0 - 监控项处于 “not supported” 状态;
1 - 监控项处于 “normal” 状态;
2 - LLD 规则处于 “not supported” 状态;
3 - LLD 规则处于 “normal” 状态;
4 - 触发器处于 “unknown” 状态;
5 - 监控项处于 “normal” 状态。
24Host metadatacontains,
does not contain,
matches,
does not match
自动注册主机的元数据。
运算符 matchesdoes not match 支持使用正则表达式。
25Tagequals,
does not equal,
contains,
does not contain
事件标签。
26Tag valueequals,
does not equal,
contains,
does not contain
事件标签值。
27Serviceequals,
does not equal
服务 ID。
28Service nameequals,
does not equal
服务名称。