动作对象

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

动作

动作对象具有以下属性。

属性类型描述
actionidID动作的ID。

属性行为:
- 只读
- 更新操作必需
esc_periodstring默认操作步骤持续时间。必须至少为60秒。接受秒数、带后缀的时间单位或用户宏。

属性行为:
- 如果eventsource设置为”由触发器创建的事件”、”内部事件”或”基于服务状态更新创建的事件”,则支持
eventsourceinteger动作将处理的事件类型。

请参阅事件source属性以获取支持的事件类型列表。

属性行为:
- 创建操作必需
namestring动作名称。

属性行为:
- 创建操作必需
statusinteger动作是否启用或禁用。

可能值:
0 - (默认) 启用;
1 - 禁用。
pause_symptomsinteger如果事件被标记为故障现象,是否暂停升级。

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

属性行为:
- 如果eventsource设置为”由触发器创建的事件”,则支持
pause_suppressedinteger如果事件发生在维护期间,是否暂停升级。

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

属性行为:
- 如果eventsource设置为”由触发器创建的事件”,则支持
notify_if_canceledinteger如果升级被取消,是否发送通知。

可能值:
0 - 不发送通知;
1 - (默认) 发送通知。

属性行为:
- 如果eventsource设置为”由触发器创建的事件”,则支持

动作操作

动作操作对象定义了一个将在执行动作时执行的操作,具有以下属性。

属性类型描述
operationtypeinteger操作类型。

可能值:
0 - 发送消息;
1 - 全局脚本;
2 - 添加主机;
3 - 移除主机;
4 - 添加到主机组;
5 - 从主机组移除;
6 - 链接到模板;
7 - 取消链接模板;
8 - 启用主机;
9 - 禁用主机;
10 - 设置主机资产模式;
13 - 添加主机标签;
14 - 移除主机标签。

如果动作对象eventsource设置为”由触发器创建的事件”或”基于服务状态更新创建的事件”,则可能值有:
0 - “发送消息”;
1 - “全局脚本”。

如果动作对象eventsource设置为”内部事件”,则可能值有:
0 - “发送消息”。

属性行为:
- 必需
esc_periodstring升级步骤的持续时间(秒)。必须大于60秒。接受秒数、带后缀的时间单位或用户宏。如果设置为0或0s,将使用默认的动作作为升级周期。

默认值:0s。

属性行为:
- 如果动作对象eventsource设置为”由触发器创建的事件”、”内部事件”或”基于服务状态更新创建的事件”,则支持
esc_step_frominteger开始升级的步骤。

默认值:1。

属性行为:
- 如果动作对象eventsource设置为”由触发器创建的事件”、”内部事件”或”基于服务状态更新创建的事件”,则支持
esc_step_tointeger结束升级的步骤。

默认值:1。

属性行为:
- 如果动作对象eventsource设置为”由触发器创建的事件”、”内部事件”或”基于服务状态更新创建的事件”,则支持
evaltypeinteger操作条件的评估方法。

可能值:
0 - (默认) AND / OR;
1 - AND;
2 - OR。
opcommandobject要执行的全局脚本。

全局脚本必须定义scriptid属性。

属性行为:
- 如果operationtype设置为”全局脚本”,则必需
opcommand_grparray运行全局脚本的主机组。

主机组必须定义groupid属性。

属性行为:
- 如果operationtype设置为”全局脚本”且未设置opcommand_hst,则必需
opcommand_hstarray运行全局脚本的主机。

主机必须定义hostid属性。

属性行为:
- 如果operationtype设置为”全局脚本”且未设置opcommand_grp,则必需
opconditionsarray用于触发器动作的操作条件。

操作条件对象的详细描述如下
opgrouparray要添加主机的主机组。

主机组必须定义groupid属性。

属性行为:
- 如果operationtype设置为”添加到主机组”或”从主机组移除”,则必需
opmessageobject包含由操作发送的消息数据的对象。

操作消息对象在此处详细描述

属性行为:
- 如果operationtype设置为”发送消息”,则必需
opmessage_grparray发送消息的用户组。

用户组必须定义usrgrpid属性。

属性行为:
- 如果operationtype设置为”发送消息”且未设置opmessage_usr,则必需
opmessage_usrarray发送消息的用户。

用户必须定义userid属性。

属性行为:
- 如果operationtype设置为”发送消息”且未设置opmessage_grp,则必需
optemplatearray链接到主机的模板。

模板必须定义templateid属性。

属性行为:
- 如果operationtype设置为”链接模板”或”取消链接模板”,则必需
opinventoryobject设置主机的库存模式。

库存必须定义inventory_mode属性。

属性行为:
- 如果operationtype设置为”设置主机库存模式”,则必需
optagarray要添加或删除的主机标签。

标签必须定义tag属性。value属性是可选的。

属性行为:
- 如果operationtype设置为”添加主机标签”或”删除主机标签”,则支持

动作操作消息

操作消息对象包含有关将由动作发送的消息的数据。它具有以下属性。

属性类型描述
default_msginteger是否使用默认的动作消息文本和主题。

可能的值:
0 - 使用来自动作的数据;
1 - (默认) 使用来自媒体类型的数据。
mediatypeidID用于发送消息的媒体类型的ID。

属性行为:
- 如果动作操作对象动作恢复操作对象、或动作更新操作对象operationtype设置为”发送消息”,或者如果动作更新操作对象operationtype设置为”通知所有相关人员”,则支持
messagestring动作消息文本。

属性行为:
- 如果default_msg设置为”使用来自动作的数据”,则支持
subjectstring动作消息主题。

属性行为:
- 如果default_msg设置为”使用来自动作的数据”,则支持

动作操作条件

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

属性类型描述
conditiontypeinteger条件类型。

可能的值:
14 - 事件已确认。

属性行为:
- 必填
valuestring要与之比较的值。

属性行为:
- 必填
operatorinteger条件操作符。

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

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

条件条件名称支持的操作符预期值
14事件已确认=事件是否已确认。

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

动作恢复操作

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

属性类型描述
operationtypeinteger操作类型。

如果动作对象eventsource设置为”由触发器创建的事件”或”服务状态更新时创建的事件”:
0 - 发送消息;
1 - 全局脚本;
11 - 通知所有相关人员。

如果动作对象eventsource设置为”内部事件”:
0 - 发送消息;
11 - 通知所有相关人员。

属性行为:
- 必填
opcommandobject要执行的全局脚本。

全局脚本必须定义scriptid属性。

属性行为:
- 如果operationtype设置为”全局脚本”,则必填
opcommand_grparray运行全局脚本的主机组。

主机组必须定义groupid属性。

属性行为:
- 如果动作对象eventsource设置为”由触发器创建的事件”,并且operationtype设置为”全局脚本”,且未设置opcommand_hst,则必填
opcommand_hstarray运行全局脚本的主机。

主机必须定义hostid属性。

属性行为:
- 如果动作对象eventsource设置为”由触发器创建的事件”,并且operationtype设置为”全局脚本”,且未设置opcommand_grp,则必填
opmessageobject包含恢复操作发送的消息数据的对象。

操作消息对象在上面详细描述

属性行为:
- 如果operationtype设置为”send message”,则必填
opmessage_grparray要发送消息的用户组。

用户组必须定义usrgrpid属性。

属性行为:
- 如果operationtype设置为”send message”且未设置opmessage_usr,则必填
opmessage_usrarray要发送消息的用户。

用户必须定义userid属性。

属性行为:
- 如果operationtype设置为”send message”且未设置opmessage_grp,则必填

动作更新操作

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

属性类型描述
operationtypeinteger操作类型。

可能的值:
0 - 发送消息;
1 - 全局脚本;
12 - 通知所有相关人员。

属性行为:
- 必填
opcommandobject要执行的全局脚本。

全局脚本必须定义scriptid属性。

属性行为:
- 如果operationtype设置为”全局脚本”,则必填
opcommand_grparray运行全局脚本的主机组。

主机组必须定义groupid属性。

属性行为:
- 如果动作对象eventsource设置为”由触发器创建的事件”,并且operationtype设置为”全局脚本”,且未设置opcommand_hst,则必填
opcommand_hstarray运行全局脚本的主机。

这些主机必须定义hostid属性。

属性行为:
- 如果动作对象eventsource设置为”由触发器创建的事件”,operationtype设置为”全局脚本”,并且未设置opcommand_grp,则必填
opmessageobject包含更新操作发送的消息数据的对象。

操作消息对象的详细描述见上方链接
opmessage_grparray要发送消息的用户组。

用户组必须定义usrgrpid属性。

属性行为:
- 如果operationtype设置为”发送消息”且未设置opmessage_usr,则必填
opmessage_usrarray要发送消息的用户。

用户必须定义userid属性。

属性行为:
- 如果operationtype设置为”发送消息”且未设置opmessage_grp,则必填

动作过滤

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

属性类型描述
conditionsarray通过设置过滤条件来得到想要的结果。条件将按照它们在公式中的放置顺序进行排序。

属性行为:
- 必填
evaltypeinteger过滤条件评估方法。

可能的值:
0 - and/or(并且/或者);
1 - and(并且);
2 - or(或者);
3 - 自定义表达式。

属性行为:
- 必填
eval_formulastring用于评估过滤条件的生成表达式。表达式包含通过其formulaid引用特定过滤条件的ID。eval_formula的值等于具有自定义表达式的过滤的formula的值。

属性行为:
- 只读
formulastring用户定义的表达式用于评估过滤器条件的自定义表达式,并且这个表达式需要包含引用特定过滤器条件的 formulaid。在创建用户定义的表达式以评估过滤器条件的场景中,确保表达式中使用的ID与过滤器条件中定义的ID完全匹配,并且没有条件被遗漏或未使用,是一个重要的验证步骤。

属性行为:
- 如果evaltype设置为”自定义表达式”,则必填

动作过滤条件

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

属性类型描述
conditiontypeinteger条件的类型。

如果动作对象eventsource设置为”由触发器创建的事件”,则可能的值有:
0 - 主机组;
1 - 主机;
2 - 触发器;
3 - 事件名称;
4 - 触发器严重级别;
6 - 时间段;
13 - 主机模板;
16 - 问题已被抑制;
25 - 事件标签;
26 - 事件标签值。

如果动作对象eventsource设置为”由发现规则创建的事件”,则可能的值有:
7 - 主机IP;
8 - 已发现的服务类型;
9 - 已发现的服务端口;
10 - 发现状态;
11 - 运行持续时间或宕机持续时间;
12 - 接收到的值;
18 - 发现规则;
19 - 发现检查;
20 - 代理;
21 - 发现对象。

如果动作对象eventsource设置为”由active agent自动注册创建的事件”,则可能的值有:
20 - proxy;
22 - 主机名;
24 - 主机元数据。

如果动作对象eventsource设置为”内部事件”,则可能的值有:
0 - 主机组;
1 - 主机;
13 - 主机模板;
23 - 事件类型;
25 - 事件标签;
26 - 事件标签值。

如果动作对象eventsource设置为”基于服务状态更新创建的事件”,则可能的值有:
25 - 事件标签;
26 - 事件标签值;
27 - 服务;
28 - 服务名称。

属性行为:
- 必填
valuestring要与之比较的值。

属性行为:
- 必填
value2string要与之比较的次要值。

属性行为:
- 如果动作对象eventsource设置为”由触发器创建的事件”,conditiontype设置为触发器动作的任何可能值,并且条件类型(见下文)为”26”,则为必填
- 如果动作对象eventsource设置为”内部事件”,conditiontype设置为内部动作的任何可能值,并且条件类型(见下文)为”26”,则为必填
- 如果动作对象eventsource设置为”基于服务状态更新创建的事件”,conditiontype设置为服务动作的任何可能值,并且条件类型(见下文)为”26”,则为必填
formulaidstring用于从自定义表达式中引用条件的任意唯一ID。只能包含大写字母。在修改过滤条件时,ID必须由用户定义,但在之后请求它们时将重新生成。
operatorinteger条件操作符。

可能的值:
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问题被抑制是, 否不需要值时:使用“Yes”运算符表示问题必须被抑制,“No”表示不被抑制。
18发现规则等于, 不等于发现规则的ID。
19发现检查等于, 不等于发现检查的ID。
20Proxy等于, 不等于Proxy ID。
21发现对象等于触发发现事件的对象的类型。

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

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