Skip to content

Importar hosts e grupos do Zabbix #103

Closed

Description

@acacio90

Nova opção em Importar: buscar os hosts e grupos de um servidor Zabbix pela API e montar a árvore de sessões a partir deles.

Como funciona

  1. O usuário informa a URL do Zabbix (https://<servidor>/api_jsonrpc.php) e um API token. Há um botão para testar a conexão.
  2. O MultTerm busca os grupos (hostgroup.get) e o usuário escolhe quais importar.
  3. Busca os hosts desses grupos (host.get, com interfaces, inventário e tags).
  4. Cada grupo vira uma pasta (<pasta raiz>/<grupo>; um / no nome do grupo cria subpasta) e cada host vira uma sessão.

Como cada host vira uma sessão

  • Nome: o nome visível do host, com / trocado por -.
  • Endereço: a interface principal do agente (o IP se useip=1, senão o DNS). Se o host não tiver agente, usa a interface SNMP.
  • SSH ou RDP: a tag multterm.type; senão "Windows" no campo os do inventário; senão um template do Windows; senão SSH.
  • Porta e usuário: opcionais, pelas tags multterm.port e multterm.user.

Detalhes técnicos

  • A versão do servidor (apiinfo.version) define os parâmetros da chamada: selectHostGroups a partir da 6.2, selectGroups antes; o token vai no cabeçalho Authorization: Bearer a partir da 6.4, no campo auth antes.
  • A URL e as opções ficam no config.json. O token fica criptografado com o safeStorage e nunca vai para a interface.
  • Opção para aceitar certificado autoassinado e para usar um site de VPN que precisa estar conectado.
  • Antes de gravar, o app mostra uma prévia das sessões que serão adicionadas.
  • Cada sessão guarda o hostid do Zabbix, para permitir sincronizar depois.

A decidir

  • Importar uma vez ou sincronizar sempre (atualizar e remover pelo hostid, mantendo os campos editados à mão).
  • Host que está em vários grupos: aparece em todas as pastas ou só em uma.
  • Versões mínimas do Zabbix a suportar.

Testes

  • Testes de unidade para transformar a resposta da API em sessões, com respostas de exemplo das versões 6.0 e 7.0.
  • Teste do cliente contra um servidor JSON-RPC falso.
  • Teste de interface do diálogo.

Activity

  1. added this to the v0.10.0 milestone on Oct 22, 2026
  2. acacio90 commented on Oct 23, 2026

    @acacio90
    OwnerAuthor

    Entrou na develop pelo #104.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions