Sistema de monitoramento e visualização de topologia de redes com coleta SNMP em tempo real. Suporte a roteadores e switches Huawei, MikroTik e Datacom.
- Mapa de topologia interativo com Cytoscape.js (arrastar, zoom, clique)
- Descoberta automática de dispositivos via LLDP/CDP
- Coleta SNMP de métricas de interfaces (tráfego, erros, status)
- Monitoramento em tempo real via WebSocket
- Dashboard com resumo de saúde da rede
- Gerenciamento de dispositivos (CRUD completo)
- Interface responsiva com tema claro profissional
┌─────────────────────────────────────────────────────────┐
│ Frontend (React + Cytoscape.js) :80 │
│ ─ Dashboard ─ Mapa de Rede ─ Dispositivos │
└────────────────────┬────────────────────────────────────┘
│ HTTP / WebSocket
┌────────────────────▼────────────────────────────────────┐
│ Backend (FastAPI + Python) :8000 │
│ ─ API REST ─ WebSocket ─ Scheduler SNMP │
└──────────┬─────────────────────┬───────────────────────┘
│ │
┌──────────▼──────┐ ┌──────────▼──────────────────────┐
│ PostgreSQL :5432│ │ InfluxDB :8086 │
│ Topologia │ │ Métricas de interfaces │
│ Dispositivos │ │ Séries temporais │
│ Links │ │ │
└──────────────────┘ └──────────────────────────────────┘
- Docker Engine 24+
- Docker Compose v2+
- Debian 13 (ou qualquer Linux com Docker)
- Acesso de rede aos dispositivos SNMP (porta UDP 161)
git clone https://github.com/Br10Consultoria/mapas.git
cd mapascp .env.example .env
# Edite .env com suas configurações (senhas, comunidade SNMP, etc.)# Produção
docker compose up -d
# Desenvolvimento (com hot reload)
docker compose -f docker-compose.dev.yml up| Serviço | URL |
|---|---|
| Interface Web | http://localhost |
| API (Swagger) | http://localhost:8000/docs |
| InfluxDB UI | http://localhost:8086 |
- Acesse Dispositivos na interface web
- Clique em Adicionar Dispositivo
- Informe IP, hostname, comunidade SNMP e fabricante
- Clique em Consultar Agora para forçar o primeiro polling
- Acesse Mapa de Rede e clique em Descoberta LLDP
snmp-agent
snmp-agent community read public
snmp-agent sys-info version v2c
lldp enable
/snmp set enabled=yes community=public
/ip neighbor discovery-settings set discover-interface-list=all
snmp-server community public ro
lldp run
mapas/
├── backend/
│ ├── app/
│ │ ├── api/v1/ # Rotas REST (devices, topology, metrics)
│ │ ├── collectors/ # Coletor SNMP
│ │ ├── core/ # Config, Database
│ │ ├── models/ # Modelos SQLAlchemy
│ │ ├── services/ # Poller, Discovery
│ │ └── main.py # Entrypoint FastAPI
│ ├── Dockerfile
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── components/ # Layout, NetworkMap
│ │ ├── hooks/ # useWebSocket
│ │ ├── pages/ # Dashboard, Topology, Devices
│ │ ├── services/ # API client (axios)
│ │ └── styles/ # Tailwind CSS
│ ├── Dockerfile
│ └── package.json
├── docker/
│ └── nginx/default.conf # Proxy reverso
├── docker-compose.yml # Produção
├── docker-compose.dev.yml # Desenvolvimento
└── .env.example
- Coleta NetFlow/sFlow para tráfego detalhado
- Gráficos de banda por interface (Recharts)
- Alertas por e-mail/Webhook quando dispositivo cai
- Suporte SNMP v3 (autenticação + criptografia)
- Importação de topologia via CSV
- Múltiplos mapas (por site, por VLAN)
MIT — Br10 Consultoria