Files
olt-api/README.md
2026-02-18 10:18:46 -03:00

2.9 KiB

IPv0 OLT API (Middleware Zabbix)

API RESTful intermediária desenvolvida em Python (Flask) para facilitar o monitoramento de OLTs (Nokia, Fiberhome, etc.) no Zabbix via Low Level Discovery (LLD).

🎯 Objetivo

Transformar comandos complexos de CLI (Telnet/SSH) e estruturas SNMP proprietárias em JSON limpo e otimizado para o Zabbix, com cache inteligente para proteger a OLT de sobrecarga.

🚀 Recursos Principais

  • Multi-Vendor: Arquitetura baseada em drivers. Suporta Nokia (ISAM/FW específicos) com suporte futuro para Fiberhome, Huawei e ZTE.
  • Smart Cache: Cache em memória evita múltiplas conexões para a mesma coleta de dados.

📂 Estrutura do Projeto

/
├── app.py              # Aplicação Principal (Flask)
├── drivers/            # Camada de abstração (Factory Pattern)
│   ├── __init__.py     # Contrato (Interface OltDriver)
│   ├── nokia.py        # Driver concreto Nokia (Implementa connect/get_pon_stats)
│   └── fiberhome.py    # Placeholder para expansão futura
├── utils/              # Cache, SNMP, Helpers
├── tools/              # Scripts de Manutenção (Build, Clean, License)
└── doc/                # Documentação detalhada

📦 Instalação (Usuário Final)

Para um guia detalhado, consulte: doc/install_dist.md.

  1. Transfira o arquivo ipv0-olt-api.zip para o servidor (ex: /opt).
  2. Descompacte o arquivo e entre na pasta:
    unzip ipv0-olt-api.zip -d ipv0-olt-api
    cd ipv0-olt-api
    
  3. Execute o script de instalação como root:
    sudo ./install.sh
    
    Este script instalará as dependências e configurará o serviço.

⚠️ Atenção: Ao final, ele exibirá o Machine ID. Copie este código para solicitar sua licença.

🔌 Expansão (Novos Drivers/Recursos)

A API foi desenhada para ser estendida e suportar outros fabricantes. Consulte o guia de desenvolvimento: doc/expansion.md.

📊 Integrando no Zabbix

Para um guia passo-a-passo detalhado de como criar Master Items, regras LLD e protótipos de itens, consulte: doc/zabbix_integration.md.

📚 Guia do Desenvolvedor

Documentação técnica para manutenção e evolução do projeto:


Desenvolvido com ❤️ e Python.