Files

1.6 KiB

type, layer, tags, title
type layer tags title
Entity wiki
stack
dashdescomplicar
backend
integracao
beszel
monitorizacao
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