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