Estrutura do arquivo do módulo
Todo o código relacionado a um módulo é armazenado em um único diretório dentro de modules do seu Zabbix frontend (por exemplo, zabbix/ui/modules).
Árvore de arquivos do módulo
example_module_directory/ (required)
manifest.json (required) Metadados e definição de ação.
Module.php Inicialização do módulo e tratamento de eventos.
actions/ Arquivos do controlador de ação.
SomethingView.php
SomethingCreate.php
SomethingDelete.php
data_export/
ExportAsXml.php
ExportAsExcel.php
views/ Visualizar arquivos.
example.something.view.php
example.something.delete.php
assets/ Quaisquer arquivos adicionais a serem usados nas visualizações. Deve ser especificado em manifest.json.
js/ Arquivos JavaScript usados nas exibições.
example.something.view.js.php
css/ Arquivos CSS usados em visualizações.
example.something.css
image.png Imagens usadas nas exibições.
example.something.file Qualquer arquivo para uso em visualizações.
Escrevendo um module
Um processo de escrita de um módulo de exemplo consiste nas seguintes etapas (quando disponível, clique no nome do arquivo ou da pasta para ver detalhes adicionais sobre a etapa):
- Crie um novo diretório para o módulo dentro de zabbix/ui/modules/.
- Adicione o arquivo manifest.json com os metadados do módulo.
- Crie a pasta views e defina uma ou mais views do módulo.
- Crie a pasta actions e defina uma ou mais actions do módulo.
- Crie o arquivo Module.php (ou Widget.php para widgets do dashboard) e defina as regras de inicialização e tratamento de eventos.
- Crie a pasta assets para arquivos JavaScript (coloque em assets/js), estilos CSS (coloque em assets/css) ou quaisquer outros arquivos adicionais.
- Certifique-se de especificar as views, actions e arquivos de assets necessários no manifest.json.
- Registre o módulo no frontend do Zabbix e comece a usá-lo.
Você pode registrar e habilitar um módulo assim que criar o arquivo manifest.json. Depois que o módulo estiver habilitado, você poderá visualizar imediatamente todas as alterações feitas nos arquivos do módulo ao atualizar o frontend do Zabbix.