docs(okf): entidades e relacionamentos OKF do DashDescomplicar

This commit is contained in:
2026-10-28 16:01:20 +00:00
parent f063a2ec8c
commit 61ae4697f9
48 changed files with 2610 additions and 0 deletions
+55
View File
@@ -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`