模块文件结构

与模块相关的所有代码都存储在 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 前端即可立即预览对模块文件所做的所有更改。