动作对象

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

动作

动作对象具有以下属性。

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

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

属性行为
- 当 eventsource 设置为“由触发器创建的事件”、“内部事件”或“在服务状态更新时创建的事件”时 支持
eventsource integer 动作将处理的事件类型。

支持的事件类型列表请参见 event source 属性

属性行为
- 常量
- 创建操作时为 必需
name string 动作名称。

属性行为
- 创建操作时为 必需
status integer 动作是启用还是禁用。

可能的值:
0 - (默认) 启用;
1 - 禁用。
pause_symptoms integer 如果事件为症状事件,是否暂停升级。

可能的值:
0 - 对症状问题不暂停升级;
1 - (默认) 对症状问题暂停升级。

属性行为
- 当 eventsource 设置为“由触发器创建的事件”时 支持
pause_suppressed integer 是否在维护期间暂停升级。

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

属性行为
- 当 eventsource 设置为“由触发器创建的事件”时 支持
notify_if_canceled integer 升级被取消时是否发送通知。

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

属性行为
- 当 eventsource 设置为“由触发器创建的事件”时 支持

操作执行内容

动作执行内容对象定义了在动作执行时将执行的操作。它具有以下属性。

属性 类型 描述
operationtype integer 操作类型。

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

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

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

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

默认值:0s。

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

默认值:1。

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

默认值:1。

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

可能的值:
0 - (默认) And/Or;
1 - And;
2 - Or。
opcommand object 要执行的全局脚本。

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

属性行为
- 如果 operationtype 设置为“全局脚本”,则 必需
opcommand_grp array 要在其上运行全局脚本的主机组。

主机组必须定义 groupid 属性。

属性行为
- 如果 operationtype 设置为“全局脚本”且未设置 opcommand_hst,则 必需
opcommand_hst array 要在其上运行全局脚本的主机。

主机必须定义 hostid 属性。

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

操作条件对象的详细说明见下文
opgroup array 要将主机添加到的主机组。

主机组必须定义 groupid 属性。

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

操作消息对象的详细说明见下文

属性行为
- 如果 operationtype 设置为“发送消息”,则 必需
opmessage_grp array 要发送消息到的用户组。

用户组必须定义 usrgrpid 属性。

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

用户必须定义 userid 属性。

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

模板必须定义 templateid 属性。

属性行为
- 如果 operationtype 设置为“链接模板”或“取消链接模板”,则 必需
opinventory object 要为主机设置的清单模式。

清单必须定义 inventory_mode 属性。

属性行为
- 如果 operationtype 设置为“设置主机清单模式”,则 必需
optag array 要添加或移除的主机标签。

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

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

操作消息

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

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

可能的值:
0 - 使用操作中的数据;
1 - (默认) 使用媒体类型中的数据。
mediatypeid ID 将用于发送消息的媒体类型 ID。

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

属性行为
- 如果 default_msg 设置为“使用操作中的数据”,则为 supported
subject string 操作消息主题。

属性行为
- 如果 default_msg 设置为“使用操作中的数据”,则为 supported

操作条件

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

属性 Type 描述
conditiontype integer 条件类型。

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

属性行为
- 必填
value string 用于比较的值。

属性行为
- 必填
operator integer 条件运算符。

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

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

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

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

动作恢复操作

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

属性 类型 说明
operationtype integer 操作类型。

如果 Action objecteventsource 设置为“由触发器创建的事件”或“在服务状态更新时创建的事件”,则可能的值为:
0 - 发送消息;
1 - 全局脚本;
11 - 通知所有相关人员。

如果 Action objecteventsource 设置为“内部事件”,则可能的值为:
0 - 发送消息;
11 - 通知所有相关人员。

属性行为
- 必需
opcommand object 要执行的全局脚本。

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

属性行为
- 如果 operationtype 设置为“全局脚本”,则为 必需
opcommand_grp array 要在其上运行全局脚本的主机组。

主机组必须定义 groupid 属性。

属性行为
- 如果 Action objecteventsource 设置为“由触发器创建的事件”,且 operationtype 设置为“全局脚本”,并且未设置 opcommand_hst,则为 必需
opcommand_hst array 要在其上运行全局脚本的主机。

主机必须定义 hostid 属性。

属性行为
- 如果 Action objecteventsource 设置为“由触发器创建的事件”,且 operationtype 设置为“全局脚本”,并且未设置 opcommand_grp,则为 必需
opmessage object 包含恢复操作所发送消息数据的对象。

操作消息对象已在上文详细说明

属性行为
- 如果 operationtype 设置为“发送消息”,则为 必需
opmessage_grp array 要向其发送消息的用户组。

用户组必须定义 usrgrpid 属性。

属性行为
- 如果 operationtype 设置为“发送消息”且未设置 opmessage_usr,则为 必需
opmessage_usr array 要向其发送消息的用户。

用户必须定义 userid 属性。

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

操作更新操作

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

Property Type Description
operationtype integer 操作类型。

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

属性行为
- 必填
opcommand object 要执行的全局脚本。

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

属性行为
- 如果 operationtype 设置为“全局脚本”,则为 必填
opcommand_grp array 要在其上运行全局脚本的主机组。

主机组必须定义 groupid 属性。

属性行为
- 如果 Action objecteventsource 设置为“由触发器创建的事件”,且 operationtype 设置为“全局脚本”,并且未设置 opcommand_hst,则为 必填
opcommand_hst array 要在其上运行全局脚本的主机。

主机必须定义 hostid 属性。

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

操作消息对象在上文中有详细说明
opmessage_grp array 要发送消息到的用户组。

用户组必须定义 usrgrpid 属性。

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

用户必须定义 userid 属性。

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

操作筛选器

操作筛选器对象定义了一组必须满足的条件,以执行已配置的操作。它具有以下属性。

Property Type Description
conditions array 用于筛选结果的筛选条件集合。条件将按照其在公式中的排列顺序进行排序。

属性行为:
- 必需
evaltype integer 筛选条件的求值方法

可能的值:
0 - And/Or;
1 - And;
2 - Or;
3 - 自定义表达式。

属性行为:
- 必需
eval_formula string 用于对筛选条件进行求值的生成表达式。该表达式包含通过其 formulaid 引用特定筛选条件的 ID。对于使用自定义表达式的筛选器,eval_formula 的值等于 formula 的值。

属性行为:
- 只读
formula string 用户定义的表达式,用于对使用自定义表达式的筛选器条件进行求值。该表达式必须包含通过其 formulaid 引用特定筛选条件的 ID。表达式中使用的 ID 必须与筛选条件中定义的 ID 完全匹配:不能有任何条件未被使用或省略。

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

动作过滤条件

动作过滤条件对象定义了一个特定条件,在执行动作操作之前必须检查该条件。

属性 类型 描述
conditiontype integer 条件类型。

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

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

如果 Action objecteventsource 设置为“由活动 agent 自动注册创建的事件”,则可能的值为:
20 - proxy;
22 - 主机名;
24 - 主机元数据。

如果 Action objecteventsource 设置为“内部事件”,则可能的值为:
0 - 主机组;
1 - 主机;
13 - 主机模板;
23 - 事件类型;
25 - 事件标签;
26 - 事件标签值。

如果 Action objecteventsource 设置为“在服务状态更新时创建的事件”,则可能的值为:
25 - 事件标签;
26 - 事件标签值;
27 - 服务;
28 - 服务名称。

属性行为
- required
value string 用于比较的值。

属性行为
- required
value2 string 用于比较的第二个值。

属性行为
- 如果 Action objecteventsource 设置为“由触发器创建的事件”,conditiontype 设置为触发器动作的任意可能值,且条件类型(见下文)为“26”,则为 required
- 如果 Action objecteventsource 设置为“内部事件”,conditiontype 设置为内部动作的任意可能值,且条件类型(见下文)为“26”,则为 required
- 如果 Action objecteventsource 设置为“在服务状态更新时创建的事件”,conditiontype 设置为服务动作的任意可能值,且条件类型(见下文)为“26”,则为 required
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 触发器严重性 等于,
不等于,
大于或等于,
小于或等于
触发器严重性。支持的触发器严重性列表请参见 trigger severity property
5 触发器值 等于 触发器值。支持的触发器值列表请参见 trigger value property
6 时间段 在范围内,不在范围内 事件被触发时的时间,以时间段表示。
7 主机 IP 等于,
不等于
一个或多个要检查的 IP 范围,以逗号分隔。有关支持的 IP 范围格式的更多信息,请参见网络发现配置部分。
8 已发现服务类型 等于,
不等于
已发现服务的类型。服务类型与用于检测该服务的发现检查类型一致。支持的类型列表请参见 discovery check type property
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 - 处于“not supported”状态的监控项;
1 - 处于“normal”状态的监控项;
2 - 处于“not supported”状态的 LLD 规则;
3 - 处于“normal”状态的 LLD 规则;
4 - 处于“unknown”状态的触发器;
5 - 处于“normal”状态的触发器。
24 主机元数据 包含,
不包含,
匹配,
不匹配
自动注册主机的元数据。
运算符 匹配不匹配 支持使用正则表达式。
25 标签 等于,
不等于,
包含,
不包含
事件标签。
26 标签值 等于,
不等于,
包含,
不包含
事件标签值。
27 服务 等于,
不等于
服务 ID。
28 服务名称 等于,
不等于
服务名称。