动作对象
以下对象与动作 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 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 | 服务名称 | 等于, 不等于 |
服务名称。 |