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

61 lines
2.9 KiB
Markdown

# 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](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:
```bash
unzip ipv0-olt-api.zip -d ipv0-olt-api
cd ipv0-olt-api
```
3. Execute o script de instalação como root:
```bash
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](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](doc/zabbix_integration.md).
## 📚 Guia do Desenvolvedor
Documentação técnica para manutenção e evolução do projeto:
* **Instalação (Ambiente Dev)**: [doc/install.md](doc/install.md) - *Como rodar o código fonte sem compilar.*
* **Expansão**: [doc/expansion.md](doc/expansion.md) - *Como criar novos drivers.*
* **Integração Zabbix (Guia Técnico)**: [doc/zabbix_integration.md](doc/zabbix_integration.md) - *Como criar templates e regras LLD.*
* **Build e Distribuição**: [doc/create_dist.md](doc/create_dist.md) - *Como gerar novas versões e licenças.*
* **Templates Oficiais**:
* **Nokia**: [doc/templates/template-nokia-api.xml](doc/templates/template-nokia-api.xml)
---
Desenvolvido com ❤️ e Python.