动作对象
以下对象与动作
API 直接相关。
动作
动作对象具有以下属性。
属性 | 类型 | 描述 |
---|---|---|
actionid | ID | 动作的ID。 属性行为: - 只读 - 更新操作必需 |
esc_period | string | 默认操作步骤持续时间。必须至少为60秒。接受秒数、带后缀的时间单位或用户宏。 属性行为: - 如果 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 设置为”由触发器创建的事件”,则支持 |
动作操作
动作操作对象定义了一个将在执行动作时执行的操作,具有以下属性。
属性 | 类型 | 描述 |
---|---|---|
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 设置为”通知所有相关人员”,则支持 |
message | string | 动作消息文本。 属性行为: - 如果 default_msg 设置为”使用来自动作的数据”,则支持 |
subject | string | 动作消息主题。 属性行为: - 如果 default_msg 设置为”使用来自动作的数据”,则支持 |
动作操作条件
动作操作条件对象定义了一个必须满足的条件,以便执行当前操作。它具有以下属性。
属性 | 类型 | 描述 |
---|---|---|
conditiontype | integer | 条件类型。 可能的值: 14 - 事件已确认。 属性行为: - 必填 |
value | string | 要与之比较的值。 属性行为: - 必填 |
operator | integer | 条件操作符。 可能的值: 0 - (默认) = |
每种操作条件类型都支持以下操作符和值。
条件 | 条件名称 | 支持的操作符 | 预期值 |
---|---|---|---|
14 | 事件已确认 | = | 事件是否已确认。 可能的值: 0 - 未确认; 1 - 已确认。 |
动作恢复操作
动作恢复操作对象定义了在问题得到解决时将执行的操作。 恢复操作仅适用于触发器、内部和服务动作。 它具有以下属性。
属性 | 类型 | 描述 |
---|---|---|
operationtype | integer | 操作类型。 如果动作对象的 eventsource 设置为”由触发器创建的事件”或”服务状态更新时创建的事件”:0 - 发送消息; 1 - 全局脚本; 11 - 通知所有相关人员。 如果动作对象的 eventsource 设置为”内部事件”:0 - 发送消息; 11 - 通知所有相关人员。 属性行为: - 必填 |
opcommand | object | 要执行的全局脚本。 全局脚本必须定义 scriptid 属性。属性行为: - 如果 operationtype 设置为”全局脚本”,则必填 |
opcommand_grp | array | 运行全局脚本的主机组。 主机组必须定义 groupid 属性。属性行为: - 如果动作对象的 eventsource 设置为”由触发器创建的事件”,并且operationtype 设置为”全局脚本”,且未设置opcommand_hst ,则必填 |
opcommand_hst | array | 运行全局脚本的主机。 主机必须定义 hostid 属性。属性行为: - 如果动作对象的 eventsource 设置为”由触发器创建的事件”,并且operationtype 设置为”全局脚本”,且未设置opcommand_grp ,则必填 |
opmessage | object | 包含恢复操作发送的消息数据的对象。 操作消息对象在上面详细描述。 属性行为: - 如果 operationtype 设置为”send message”,则必填 |
opmessage_grp | array | 要发送消息的用户组。 用户组必须定义 usrgrpid 属性。属性行为: - 如果 operationtype 设置为”send message”且未设置opmessage_usr ,则必填 |
opmessage_usr | array | 要发送消息的用户。 用户必须定义 userid 属性。属性行为: - 如果 operationtype 设置为”send message”且未设置opmessage_grp ,则必填 |
动作更新操作
动作更新操作对象定义了在问题更新(评论、确认、严重性变更或手动关闭)时将执行的操作。 更新操作仅适用于触发器和服务动作。 它具有以下属性。
属性 | 类型 | 描述 |
---|---|---|
operationtype | integer | 操作类型。 可能的值: 0 - 发送消息; 1 - 全局脚本; 12 - 通知所有相关人员。 属性行为: - 必填 |
opcommand | object | 要执行的全局脚本。 全局脚本必须定义 scriptid 属性。属性行为: - 如果 operationtype 设置为”全局脚本”,则必填 |
opcommand_grp | array | 运行全局脚本的主机组。 主机组必须定义 groupid 属性。属性行为: - 如果动作对象的 eventsource 设置为”由触发器创建的事件”,并且operationtype 设置为”全局脚本”,且未设置opcommand_hst ,则必填 |
opcommand_hst | array | 运行全局脚本的主机。 这些主机必须定义 hostid 属性。属性行为: - 如果动作对象的 eventsource 设置为”由触发器创建的事件”,operationtype 设置为”全局脚本”,并且未设置opcommand_grp ,则必填 |
opmessage | object | 包含更新操作发送的消息数据的对象。 操作消息对象的详细描述见上方链接。 |
opmessage_grp | array | 要发送消息的用户组。 用户组必须定义 usrgrpid 属性。属性行为: - 如果 operationtype 设置为”发送消息”且未设置opmessage_usr ,则必填 |
opmessage_usr | array | 要发送消息的用户。 用户必须定义 userid 属性。属性行为: - 如果 operationtype 设置为”发送消息”且未设置opmessage_grp ,则必填 |
动作过滤
动作过滤对象定义了一组必须满足的条件,以便执行配置的动作操作。它具有以下属性。
属性 | 类型 | 描述 |
---|---|---|
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完全匹配,并且没有条件被遗漏或未使用,是一个重要的验证步骤。属性行为: - 如果 evaltype 设置为”自定义表达式”,则必填 |
动作过滤条件
动作过滤条件对象定义了在执行动作操作之前必须检查的具体条件。
属性 | 类型 | 描述 |
---|---|---|
conditiontype | integer | 条件的类型。 如果动作对象的 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 - 服务名称。 属性行为: - 必填 |
value | string | 要与之比较的值。 属性行为: - 必填 |
value2 | string | 要与之比较的次要值。 属性行为: - 如果动作对象的 eventsource 设置为”由触发器创建的事件”,conditiontype 设置为触发器动作的任何可能值,并且条件类型(见下文)为”26”,则为必填- 如果动作对象的 eventsource 设置为”内部事件”,conditiontype 设置为内部动作的任何可能值,并且条件类型(见下文)为”26”,则为必填- 如果动作对象的 eventsource 设置为”基于服务状态更新创建的事件”,conditiontype 设置为服务动作的任何可能值,并且条件类型(见下文)为”26”,则为必填 |
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 | 触发器严重级别 | 等于, 不等于, 大于等于, 小于等于 | 触发器严重级别。请参考触发器 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。 |
20 | Proxy | 等于, 不等于 | Proxy ID。 |
21 | 发现对象 | 等于 | 触发发现事件的对象的类型。 可能值: 1 - 被发现的主机; 2 - 被发现的服务。 |
22 | 主机名 | 包含, 不包含, 匹配, 不匹配 | 主机名。 在自动注册条件下,对于匹配和不匹配运算符支持使用正则表达式。 |
23 | 事件类型 | 等于 | 特定的内部事件。 可能值: 0 - 监控项处于“不支持”状态; 1 - 监控项处于“正常”状态; 2 - LLD规则处于“不支持”状态; 3 - LLD规则处于“正常”状态; 4 - 触发器处于“未知”状态; 5 - 触发器处于“正常”状态。 |
24 | 主机元数据 | 包含, 不包含, 匹配, 不匹配 | 自动注册主机的元数据。 对于匹配和不匹配运算符支持使用正则表达式。 |
25 | 标签 | 等于, 不等于, 包含, 不包含 | 事件标签。 |
26 | 标签值 | 等于, 不等于, 包含, 不包含 | 事件标签值。 |
27 | 服务 | 等于, 不等于 | 服务ID。 |
28 | 服务名称 | 等于, 不等于 | 服务名称。 |