脚本对象

以下对象与 脚本 API直接相关。

脚本

脚本对象具有以下属性。

属性 类型 描述
scriptid ID 脚本的 ID。

属性行为
- 只读
- 对于更新操作为必需
name string 脚本名称。

属性行为
- 对于创建操作为必需
type integer 脚本类型。

scope 设置为“action operation”时,可能的值:
0 - Script;
1 - IPMI;
2 - SSH;
3 - TELNET;
5 - Webhook。

scope 设置为“manual host action”或“manual event action”时,可能的值:
6 - URL。

属性行为
- 对于创建操作为必需
command string 要运行的命令。

属性行为
- 当 type 设置为“Script”、“IPMI”、“SSH”、“TELNET”或“Webhook”时为必需
scope integer 脚本范围。

可能的值:
1 - action operation;
2 - manual host action;
4 - manual event action。

属性行为
- 对于创建操作为必需
execute_on integer 脚本运行的位置。

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

属性行为
- 当 type 设置为“Script”时支持
menu_path string 用斜杠分隔的文件夹路径,在前端中点击主机或事件时形成类似菜单的导航。

属性行为
- 当 scope 设置为“manual host action”或“manual event action”时支持
authtype integer 用于 SSH 脚本类型的认证方式。

可能的值:
0 - 密码;
1 - 公钥。

属性行为
- 当 type 设置为“SSH”时支持
username string 用于认证的用户名。

属性行为
- 当 type 设置为“SSH”或“TELNET”时为必需
password string 用于基于密码认证的 SSH 脚本以及 TELNET 脚本的密码。

属性行为
- 当 type 设置为“SSH”且 authtype 设置为“password”,或 type 设置为“TELNET”时支持
publickey string 用于基于公钥认证的 SSH 脚本的公钥文件名称。

属性行为
- 当 type 设置为“SSH”且 authtype 设置为“public key”时为必需
privatekey string 用于基于公钥认证的 SSH 脚本的私钥文件名称。

属性行为
- 当 type 设置为“SSH”且 authtype 设置为“public key”时为必需
port string 用于 SSH 和 TELNET 脚本的端口号。

属性行为
- 当 type 设置为“SSH”或“TELNET”时支持
groupid ID 允许运行该脚本的主机组 ID。

如果设置为“0”,则该脚本将在所有主机组中可用。

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

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

默认值:0。

属性行为
- 当 scope 设置为“manual host action”或“manual event action”时支持
host_access integer 运行该脚本所需的主机权限。

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

属性行为
- 当 scope 设置为“manual host action”或“manual event action”时支持
confirmation string 确认弹出框文本。
当尝试从 Zabbix 前端运行该脚本时,将显示该弹出框。

属性行为
- 当 scope 设置为“manual host action”或“manual event action”时支持
timeout string webhook 脚本执行超时时间,单位为秒。支持时间后缀(例如 30s、1m)。

可能的值:1-60s。

默认值:30s。

属性行为
- 当 type 设置为“Webhook”时为必需
parameters array webhook 输入参数数组。

属性行为
- 当 type 设置为“Webhook”时支持
description string 脚本描述。
url string 用户定义的 URL。

属性行为
- 当 type 设置为“URL”时为必需
new_window integer 在新窗口中打开 URL。

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

属性行为
- 当 type 设置为“URL”时支持
manualinput integer 指示脚本是否接受用户提供的输入。

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

属性行为
- 当 scope 设置为“manual host action”或“manual event action”时支持
manualinput_prompt string 手动输入提示文本。

属性行为
- 当 manualinput 设置为“Enabled”时为必需
manualinput_validator string 用于验证用户输入的字符串字段。该字符串由正则表达式或一组以逗号分隔的值组成。

属性行为
- 当 manualinput 设置为“Enabled”时为必需
manualinput_validator_type integer 确定期望的用户输入类型。

可能的值:
0 - (默认) 字符串。表示 manualinput_validator 将被视为正则表达式;
1 - 列表。表示 manualinput_validator 将被视为可能输入值的逗号分隔列表。

属性行为
- 当 manualinput 设置为“Enabled”时支持
manualinput_default_value string 用于自动填充用户输入的默认值。

属性行为
- 当 manualinput_validator_type 设置为“String”时支持

webhook 参数

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

属性 Type 说明
name string 参数名称。

Property behavior:
- required
value string 参数值。支持

调试

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

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

日志条目

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

属性 类型 描述
level integer 日志级别。
ms string 从脚本运行开始到添加日志条目为止所经过的时间(以毫秒为单位)。
message string 日志消息。