模块文件结构

所有与模块相关的代码都存储在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模块并开始使用

完成manifest.json file的create后即可注册并启用模块。 模块启用后,刷新Zabbix前端即可实时预览所有模块文件的修改效果。