动作对象
以下对象与动作 API 直接相关。
Action
action 对象具有以下属性。
| Property | Type | Description |
|---|---|---|
| actionid | ID | action 的 ID。 属性行为: - 只读 - 更新操作中为 必需 |
| esc_period | string | 默认操作步骤持续时间。必须至少为 60 秒。可接受秒数(例如 60、300)、带有时间后缀的值(例如 30s、1m、2h)或用户宏。属性行为: - 当 eventsource 设置为“由触发器创建的事件”、“内部事件”或“服务状态更新时创建的事件”时支持 |
| eventsource | integer | action 将处理的事件类型。 支持的事件类型列表请参阅事件的 source 属性。属性行为: - 常量 - 创建操作中为 必需 |
| name | string | action 的名称。 属性行为: - 创建操作中为 必需 |
| status | integer | action 是否启用。 可能的值: 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 - 移除主机标签。 如果 Action object 的 eventsource 设置为“由触发器创建的事件”或“服务状态更新时创建的事件”,则可能的值:0 - “发送消息”; 1 - “全局脚本”。 如果 Action object 的 eventsource 设置为“内部事件”,则可能的值:0 - “发送消息”。 属性行为: - 必需 |
| esc_period | string | 升级步骤的持续时间,单位为秒。必须大于 60 秒。接受秒数(例如 60、300)、带有时间后缀的值(例如 30s、1m、2h)或用户宏。如果设置为 0 或 0s,则使用默认的操作升级周期。默认值:0s。 属性行为: - 当 Action object 的 eventsource 设置为“由触发器创建的事件”、“内部事件”或“服务状态更新时创建的事件”时,支持 |
| esc_step_from | integer | 开始升级的步骤。 默认值:1。 属性行为: - 当 Action object 的 eventsource 设置为“由触发器创建的事件”、“内部事件”或“服务状态更新时创建的事件”时,支持 |
| esc_step_to | integer | 结束升级的步骤。 默认值:1。 属性行为: - 当 Action object 的 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 对象的 eventsource 设置为“由触发器创建的事件”,可能的值为:0 - 主机组; 1 - 主机; 2 - 触发器; 3 - 事件名称; 4 - 触发器严重性; 6 - 时间段; 13 - 主机模板; 16 - 问题已被抑制; 25 - 事件标签; 26 - 事件标签值。 如果 Action 对象的 eventsource 设置为“由发现规则创建的事件”,可能的值为:7 - 主机 IP; 8 - 已发现服务类型; 9 - 已发现服务端口; 10 - 发现状态; 11 - 正常运行或停机持续时间; 12 - 接收值; 18 - 发现规则; 19 - 发现检查; 20 - proxy; 21 - 发现对象; 29 - proxy 组。 如果 Action 对象的 eventsource 设置为“由 active agent 自动注册创建的事件”,可能的值为:20 - proxy; 22 - 主机名称; 24 - 主机元数据; 29 - proxy 组。 如果 Action 对象的 eventsource 设置为“内部事件”,可能的值为:0 - 主机组; 1 - 主机; 13 - 主机模板; 23 - 事件类型; 25 - 事件标签; 26 - 事件标签值。 如果 Action 对象的 eventsource 设置为“服务状态更新时创建的事件”,可能的值为:25 - 事件标签; 26 - 事件标签值; 27 - 服务; 28 - 服务名称。 属性行为: - 必需 |
| value | string | 用于比较的值。 属性行为: - 必需 |
| value2 | string | 用于比较的次要值。 属性行为: - 当 Action 对象的 eventsource 设置为“由触发器创建的事件”、conditiontype 设置为触发器操作的任意可能值,且条件类型(见下文)为“26”时,必需- 当 Action 对象的 eventsource 设置为“内部事件”、conditiontype 设置为内部操作的任意可能值,且条件类型(见下文)为“26”时,必需- 当 Action 对象的 eventsource 设置为“服务状态更新时创建的事件”、conditiontype 设置为服务操作的任意可能值,且条件类型(见下文)为“26”时,必需 |
| formulaid | string | 用于从自定义表达式中引用条件的任意唯一 ID。只能包含大写字母。修改筛选条件时,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 | 触发器严重性 | 等于、 不等于、 大于或等于、 小于或等于 |
触发器严重性。有关支持的触发器严重性列表,请参阅触发器 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 | 问题已被抑制 | 是、否 | 无需值:使用“是”运算符表示问题必须被抑制;“否”表示问题未被抑制。 |
| 18 | 发现规则 | 等于、 不等于 |
发现规则的 ID。 |
| 19 | 发现检查 | 等于、 不等于 |
发现检查的 ID。 |
| 20 | proxy | 等于、 不等于 |
proxy 的 ID。 |
| 21 | 发现对象 | 等于 | 触发发现事件的对象类型。 可能的值: 1 - 已发现主机; 2 - 已发现服务。 |
| 22 | 主机名称 | 包含、 不包含、 匹配、 不匹配 |
主机名称。 在自动注册条件中,运算符匹配和不匹配支持使用正则表达式。 |
| 23 | 事件类型 | 等于 | 特定的内部事件。 可能的值: 0 - 监控项处于“不支持”状态; 1 - 监控项处于“正常”状态; 2 - LLD 规则处于“不支持”状态; 3 - LLD 规则处于“正常”状态; 4 - 触发器处于“未知”状态; 5 - 触发器处于“正常”状态。 |
| 24 | 主机元数据 | 包含、 不包含、 匹配、 不匹配 |
自动注册主机的元数据。 支持在运算符匹配和不匹配中使用正则表达式。 |
| 25 | 标签 | 等于、 不等于、 包含、 不包含 |
事件标签。 |
| 26 | 标签值 | 等于、 不等于、 包含、 不包含 |
事件标签值。 |
| 27 | 服务 | 等于、 不等于 |
服务 ID。 |
| 28 | 服务名称 | 等于、 不等于 |
服务名称。 |
| 29 | proxy 组 | 等于、 不等于 |
proxy 组的 ID。 |