脚本 object

以下 objects 直接与 script API 相关。

脚本

script 对象具有以下属性。

Property Type Description
scriptid ID 脚本的 ID。

Property behavior:
- 只读
- 更新操作时必需
name string 脚本名称。

Property behavior:
- 创建操作时必需
type integer 脚本类型。

如果 scope 设置为 "action operation",可用值:
0 - Script;
1 - IPMI;
2 - SSH;
3 - TELNET;
5 - Webhook.

如果 scope 设置为 "manual host action" 或 "manual event action",可用值:
6 - URL.

Property behavior:
- 创建操作时必需
command string 要运行的命令。

Property behavior:
- 如果 type 设置为 "Script"、"IPMI"、"SSH"、"TELNET" 或 "Webhook",则必需
scope integer 脚本作用域。

可用值:
1 - action operation;
2 - manual host action;
4 - manual event action.

Property behavior:
- 创建操作时必需
execute_on integer 脚本运行位置。

可用值:
0 - 在 Zabbix agent 上运行;
1 - 在 Zabbix 服务器上运行。仅当 Zabbix 服务器启用了全局脚本执行时才支持
2 - (默认) 在 Zabbix 服务器或 proxy 上运行。

Property behavior:
- 如果 type 设置为 "Script",则支持
menu_path string 以斜杠分隔的文件夹路径,点击主机或事件时会在前端中形成类似菜单的导航。

Property behavior:
- 如果 scope 设置为 "manual host action" 或 "manual event action",则支持
authtype integer SSH 脚本类型使用的认证方式。

可用值:
0 - password;
1 - public key.

Property behavior:
- 如果 type 设置为 "SSH",则支持
username string 用于认证的用户名。

Property behavior:
- 如果 type 设置为 "SSH" 或 "TELNET",则必需
password string 用于采用密码认证的 SSH 脚本以及 TELNET 脚本的密码。

Property behavior:
- 如果 type 设置为 "SSH" 且 authtype 设置为 "password",或 type 设置为 "TELNET",则支持
publickey string 采用公钥认证的 SSH 脚本所使用的公钥文件名。

Property behavior:
- 如果 type 设置为 "SSH" 且 authtype 设置为 "public key",则必需
privatekey string 采用公钥认证的 SSH 脚本所使用的私钥文件名。

Property behavior:
- 如果 type 设置为 "SSH" 且 authtype 设置为 "public key",则必需
port string SSH 和 TELNET 脚本使用的端口号。

Property behavior:
- 如果 type 设置为 "SSH" 或 "TELNET",则支持
groupid ID 脚本可运行的主机组 ID。

如果设置为 "0",则该脚本对所有主机组都可用。

默认值:0。
usrgrpid ID 允许运行该脚本的用户组 ID。

如果设置为 "0",则该脚本对所有用户组都可用。

默认值:0。

Property behavior:
- 如果 scope 设置为 "manual host action" 或 "manual event action",则支持
host_access integer 运行脚本所需的主机权限。

可用值:
2 - (默认) 读;
3 - 写。

Property behavior:
- 如果 scope 设置为 "manual host action" 或 "manual event action",则支持
confirmation string 确认弹出窗口文本。
当尝试从 Zabbix 前端运行脚本时,会显示该弹出窗口。

Property behavior:
- 如果 scope 设置为 "manual host action" 或 "manual event action",则支持
timeout string Webhook 脚本执行超时时间,单位为秒。支持时间后缀(例如 30s、1m)。

可用值:1-60s。

默认值:30s。

Property behavior:
- 如果 type 设置为 "Webhook",则必需
parameters array webhook 输入参数 数组。

Property behavior:
- 如果 type 设置为 "Webhook",则支持
description string 脚本描述。
url string 用户定义的 URL。

Property behavior:
- 如果 type 设置为 "URL",则必需
new_window integer 在新窗口中打开 URL。

可用值:
0 - 否;
1 - (默认) 是。

Property behavior:
- 如果 type 设置为 "URL",则支持
manualinput integer 指示脚本是否接受用户提供的输入。

可用值:
0 - (默认) 禁用;
1 - 启用;

Property behavior:
- 如果 scope 设置为 "manual host action" 或 "manual event action",则支持
manualinput_prompt string 手动输入提示文本。

Property behavior:
- 如果 manualinput 设置为 "Enabled",则必需
manualinput_validator string 用于验证用户提供输入的字符串字段。该字符串可以是正则表达式,也可以是以逗号分隔的一组值。

Property behavior:
- 如果 manualinput 设置为 "Enabled",则必需
manualinput_validator_type integer 确定所需用户输入的类型。

可用值:
0 - (默认) String。表示 manualinput_validator 将被视为正则表达式;
1 - List。表示 manualinput_validator 将被视为以逗号分隔的可选输入值列表。

Property behavior:
- 如果 manualinput 设置为 "Enabled",则支持
manualinput_default_value string 用于自动填充用户输入的默认值。

Property behavior:
- 如果 manualinput_validator_type 设置为 "String",则支持

webhook 参数

调用 webhook 脚本时传递的参数具有以下属性。

Property Type Description
name string 参数名称。

属性行为:
- required
value string 参数值。支持

调试

已执行 webhook 脚本的调试信息。调试对象具有以下属性。

Property Type Description
logs array 日志条目数组。
ms string 脚本执行持续时间,单位为毫秒。

日志条目

日志条目对象具有以下属性。

Property Type Description
level integer 日志级别。
ms string 自脚本运行以来到添加日志条目之前经过的毫秒数。
message string 日志消息。