docs(okf): entidades e relacionamentos OKF do DashDescomplicar
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
---
|
||||
type: Entity
|
||||
layer: wiki
|
||||
tags: [stack, dashdescomplicar, backend, integracao, beszel, monitorizacao]
|
||||
title: "Integracao-Beszel"
|
||||
---
|
||||
|
||||
# Integracao-Beszel
|
||||
|
||||
Integração com Beszel Hub (PocketBase API) para monitorização de frota de sistemas. Recolhe métricas de CPU, RAM, disco, containers e uptime de múltiplos hosts.
|
||||
|
||||
## Responsabilidades
|
||||
|
||||
- **Auth**: Autenticação PocketBase (token JWT com cache)
|
||||
- **Fleet Collection**: Recolher métricas de todos os sistemas Beszel
|
||||
- **Storage**: Guardar métricas em `tbl_eal_monitoring` (MySQL)
|
||||
- **Dashboard**: Agregar total/up/down por sistema
|
||||
|
||||
## Stack
|
||||
|
||||
- **API**: PocketBase (`descomplicar-beszel.i7zsqo.easypanel.host`)
|
||||
- **Auth**: Email + password → JWT token (cache em memória)
|
||||
- **Validação**: Zod 4.3 (`BeszelSystemInfo`, `BeszelSystem`, `BeszelListResponse`)
|
||||
- **DB**: MySQL via `db.ts`
|
||||
|
||||
## Rotas
|
||||
|
||||
| Método | Rota | Função |
|
||||
|---|---|---|
|
||||
| `GET` | `/api/beszel` | Fleet data do MySQL |
|
||||
| `POST` | `/api/beszel/collect` | Trigger fresh collection |
|
||||
|
||||
## Sistemas Ignorados
|
||||
|
||||
- `black`, `hp`, `kriku` — Tor exit nodes que duplicam máquinas reais
|
||||
|
||||
## Tipos de Dados
|
||||
|
||||
- `FleetSummary`: total, up, down, systems[]
|
||||
- `FleetSystem`: name, host, status, cpu, mem, disk, containers, load, uptime
|
||||
|
||||
## Localizações
|
||||
|
||||
- **Código**: `api/services/beszel.ts` (249 linhas), `api/routes/beszel.ts` (37 linhas)
|
||||
- **DB**: `tbl_eal_monitoring` (category=beszel)
|
||||
|
||||
## Dependências
|
||||
|
||||
- **Beszel Hub**: PocketBase API (`BESZEL_URL`, `BESZEL_EMAIL`, `BESZEL_PASSWORD`)
|
||||
- **MySQL-Pool**: Armazenamento de métricas
|
||||
|
||||
## Fornece a
|
||||
|
||||
- **Painel-Monitor**: Dados de fleet exibidos na secção "Frota Beszel"
|
||||
- **Express-API**: Rota `/api/beszel`
|
||||
Reference in New Issue
Block a user