动作对象

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

操作

操作对象具有以下属性。

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

属性行为:
- 只读
- 更新操作时必需
esc_period string 默认操作步骤持续时间。必须至少为 60 秒。可接受秒数(例如 60、300)、带有时间后缀的值(例如 30s、1m、2h)或用户宏。

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

支持的事件类型列表请参阅事件的 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 设置为“由触发器创建的事件”时支持

操作

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

Property Type Description
operationtype integer 操作类型。

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

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

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

Property behavior:
- required
esc_period string 升级步骤的持续时间(以秒为单位)。必须大于 60 秒。接受秒数(例如 60、300)、带有时间后缀的值(例如 30s、1m、2h)或用户宏。如果设置为 0 或 0s,则使用默认的操作升级周期。

默认值:0s。

Property behavior:
- 如果 Action object 的 eventsource 设置为“由触发器创建的事件”、“内部事件”或“服务状态更新时创建的事件”,则支持
esc_step_from integer 开始升级的步骤。

默认值:1。

Property behavior:
- 如果 Action object 的 eventsource 设置为“由触发器创建的事件”、“内部事件”或“服务状态更新时创建的事件”,则支持
esc_step_to integer 结束升级的步骤。

默认值:1。

Property behavior:
- 如果 Action object 的 eventsource 设置为“由触发器创建的事件”、“内部事件”或“服务状态更新时创建的事件”,则支持
evaltype integer 操作条件的评估方法。

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

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

Property behavior:
- 当 operationtype 设置为“全局脚本”时必需
opcommand_grp array 要在其上运行全局脚本的主机组。

主机组必须定义 groupid 属性。

Property behavior:
- 当 operationtype 设置为“全局脚本”且未设置 opcommand_hst 时必需
opcommand_hst array 要在其上运行全局脚本的主机。

主机必须定义 hostid 属性。

Property behavior:
- 当 operationtype 设置为“全局脚本”且未设置 opcommand_grp 时必需
opconditions array 用于触发器操作的操作条件。

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

主机组必须定义 groupid 属性。

Property behavior:
- 当 operationtype 设置为“添加到主机组”或“从主机组中移除”时必需
opmessage object 包含操作发送的消息数据的对象。

操作消息对象在下文中有详细说明。

Property behavior:
- 当 operationtype 设置为“发送消息”时必需
opmessage_grp array 要向其发送消息的用户组。

用户组必须定义 usrgrpid 属性。

Property behavior:
- 当 operationtype 设置为“发送消息”且未设置 opmessage_usr 时必需
opmessage_usr array 要向其发送消息的用户。

用户必须定义 userid 属性。

Property behavior:
- 当 operationtype 设置为“发送消息”且未设置 opmessage_grp 时必需
optemplate array 要链接到主机的模板。

模板必须定义 templateid 属性。

Property behavior:
- 当 operationtype 设置为“链接模板”或“取消链接模板”时必需
opinventory object 要为主机设置的资产清单模式。

资产清单必须定义 inventory_mode 属性。

Property behavior:
- 当 operationtype 设置为“设置主机资产清单模式”时必需
optag array 要添加或移除的主机标签。

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

Property behavior:
- 当 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 object 的 eventsource 设置为“由触发器创建的事件”或“在服务状态更新时创建的事件”,则可能的值为:
0 - 发送消息;
1 - 全局脚本;
11 - 通知所有相关人员。

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

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

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

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

主机组必须定义 groupid 属性。

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

主机必须定义 hostid 属性。

属性行为:
- 如果 Action object 的 eventsource 设置为“由触发器创建的事件”,且 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 object 的 eventsource 设置为“由触发器创建的事件”,且 operationtype 设置为“全局脚本”,并且未设置 opcommand_hst,则为 必填
opcommand_hst array 要在其上运行全局脚本的主机。

主机必须定义 hostid 属性。

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

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

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

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

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

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

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

属性行为:
- 如果 Action object 的 eventsource 设置为“由触发器创建的事件”,conditiontype 设置为触发器动作的任意可能值,且条件类型(见下文)为“26”,则为 required
- 如果 Action object 的 eventsource 设置为“内部事件”,conditiontype 设置为内部动作的任意可能值,且条件类型(见下文)为“26”,则为 required
- 如果 Action object 的 eventsource 设置为“在服务状态更新时创建的事件”,conditiontype 设置为服务动作的任意可能值,且条件类型(见下文)为“26”,则为 required
formulaid string 用于在自定义表达式中引用该条件的任意唯一 ID。只能包含大写字母。修改过滤条件时,该 ID 必须由用户定义,但在之后请求这些条件时会重新生成。
operator integer 条件运算符。

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

为了更好地理解如何将过滤器与各种类型的表达式一起使用,请参见 action.get 和 action.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 服务名称 等于,
不等于
服务名称。