7 脚本

概述

在 Administration → Scripts 中,可以配置和维护用户定义的全局脚本。

这些脚本取决于设置的用户权限,之后可以通过单击主机上各个前端位置(Dashboard, Problems, Latest data, Status of triggers, Maps)便可执行,同时也可以用作行动操作来运行。脚本在Zabbix sever或agent上执行。显示现有脚本及其详细信息的列表

7 脚本 - 图1

显示的数据:

描述
Name脚本名。点击该脚本名打开脚本 配置表格..
Type显示脚本类型- Script 或者 IPMI 命令
Execute on显示脚本执行在Zabbix sever或者agent上。
Commands显示在脚本中执行的所有命令。
User group显示该脚本可用的用户组(或者 All 针对所有用户组)。
Host group将显示该脚本可用的主机组(或者 All 针对所有主机组)。
Host access显示主机组的权限级别 Read 或者 Write. 只有具备所需权限级别的用户才能访问执行脚本。

配置新的脚本,请单击顶部右上角的 Create script 按键。

批量编辑选项

列表下面的按键会提供一些批量编辑选项:

  • Delete -删除脚本

要使用这个选项,请在各个脚本之前标记复选框,然后单击 Delete.

过滤器

因为列表中可能包含许多脚本,所以可能需要通过过滤得到您需要的内容。

Filter过滤器 链接位于脚本列表之上。 如果您点击它,则可以使用过滤器,您可以通过名称过滤媒脚本。

7 脚本 - 图2

配置全局脚本

7 脚本 - 图3

脚本属性:

参数描述
Name脚本的唯一名称。\ 从Zabbix 2.2起,名称可以以所需的路径为前缀,例如 Default/,将脚本放入相应的目录。 通过监控部分中的菜单访问脚本时,将根据给定的目录进行组织。脚本不能与现有目录名称相同(反之亦然)。 脚本名称在其目录中必须是唯一的。未转义的脚本名称具有唯一性验证,即“Ping”和“\ Ping”无法添加到同一文件夹中。 单个反斜杠在其后直接转义任何符号。 例如,字符'/'和'\'可以用反斜杠转义,即\ /或\。
Type点击相应的按键,来选择脚本类型 - IPMI command或者 Script.
Execute on单击对应的按键来在Zabbix server或agent上执行脚本。从Zabbix 2.0版本起,(在Zabbix agent配置文件中的EnableRemoteCommands参数中启用远程命令),可以使用Zabbix agent 执行脚本的选项。
Commands输入脚本执行命令的完整路径。命令中支持以下宏: {HOST.CONN}, {HOST.IP}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}.如果宏可能解析为具有空格的值(例如, host name),不要忘记使用引号。从Zabbix 2.2起,脚本命令开始支持用户宏
Description为脚本添加描述
User group选择脚本可用的用户组 ( All 是对所有的用户组)。
Host group选择脚本可用的主机组 ( All 是对所有主机组)。
Required host permissions选择主机组的权限级别 – Read 或 Write。 只有具有所需权限级别的用户才能访问执行脚本。
Enable confirmation在执行脚本之前选中复选框以显示确认消息。 对于潜在的危险操作(如重新启动脚本)可能需要很长的操作时间,此功能因此会特别有用。
Confirmation text使用复选框,输入确认弹出窗口的自定义确认文本 (例如, Remote system远程系统 将要重启,您确定吗?). 要查看文字的效果,请点击该字段旁边的 Test confirmation 。从Zabbix 2.2起, 确认文本讲扩展到主机名宏 - {HOST.HOST}, {HOST.NAME}, 主机连接宏 - {HOST.IP}, {HOST.DNS}, {HOST.CONN} 和用户宏。 Note注意: 测试确认消息时,宏不会被扩展。

脚本的执行和结果

由Zabbix sever运行的脚本由命令执行 部分中描述的顺序执行,包括退出代码检查。 脚本结果将显示在运行脚本后显示在弹窗中。

Note:脚本的返回值是标准输出以及标准错误。

请参见下面的脚本和结果窗口示例:

  1. uname
  2. uname --non-existing-flag
  3. /tmp/non_existing_script.sh

7 脚本 - 图4