模块文件结构

与模块相关的所有代码都存储在 Zabbix 前端安装目录的 modules 目录内的单个文件夹中(例如,zabbix/ui/modules)。

模块文件树

example_module_directory/          (required)
   manifest.json                   (required)  Metadata and action definition.
   Module.php                                  Module initialization and event handling.
   actions/                                    Action controller files.
       SomethingView.php
       SomethingCreate.php
       SomethingDelete.php
       data_export/
           ExportAsXml.php
           ExportAsExcel.php
   views/                                      View files.
       example.something.view.php
       example.something.delete.php
   assets/                                     Any additional files to be used in views. Must be specified in manifest.json.
       js/                                     JavaScript files used in views.
           example.something.view.js.php
       css/                                    CSS files used in views.
           example.something.css
        image.png                              Images used in views.
        example.something.file                 Any file for using in views.

编写模块

一个示例模块编写流程包含以下步骤(如需查看步骤的详细信息,请点击对应的 file 或文件夹名称):

  1. zabbix/ui/modules/ 目录内为模块创建一个新的文件夹。
  2. 添加包含模块元数据的 manifest.json file。
  3. 创建 views 文件夹并定义模块视图。
  4. 创建 actions 文件夹并定义模块动作。
  5. 创建 Module.php(或用于仪表板小部件的 Widget.php)file,并定义初始化和事件处理规则。
  6. 创建 assets 文件夹用于存放 JavaScript 文件(放置在 assets/js 中)、CSS 样式(放置在 assets/css 中)或其他附加文件。
  7. 确保在 manifest.json 中指定了所需的视图、动作和资源文件。
  8. 在 Zabbix 前端 Register 模块并开始使用它。

一旦你 create manifest.json 文件,就可以注册并启用模块。 模块启用后,通过刷新 Zabbix 前端即可立即预览对模块文件所做的所有更改。