Files
DashDescomplicar/okf/entidades/Integracao-Hetzner.md
T

2.1 KiB

type, layer, tags, title
type layer tags title
Entity wiki
stack
dashdescomplicar
backend
integracao
hetzner
api
Integracao-Hetzner

Integracao-Hetzner

Integração com Hetzner Cloud API para monitorização de servidores VPS. Sincroniza lista de servidores, recolhe métricas (CPU, disco, rede) e armazena histórico na MySQL do Desk CRM.

Responsabilidades

  • Sync: Sincronizar lista de servidores da API Hetzner → tbl_eal_hetzner_servers
  • Métricas: Recolher CPU%, disk IOPS, network BPS via /servers/{id}/metrics
  • Dashboard: Agregar servidores + últimas métricas para o painel Monitor
  • Histórico: Armazenar métricas em tbl_eal_hetzner_metrics para gráficos
  • Cleanup: Limpeza de métricas antigas (>30 dias)

Stack

  • API: https://api.hetzner.cloud/v1 (Bearer token HETZNER_TOKEN)
  • DB: MySQL via db.ts (pool)
  • Validação: Tipos TypeScript (sem Zod nesta rota)

Rotas

Método Rota Função
GET /api/hetzner Dashboard (servidores + últimas métricas)
POST /api/hetzner/sync Sincronizar lista de servidores
POST /api/hetzner/collect Recolher métricas de todos os servidores
POST /api/hetzner/collect/:hetzner_id Recolher métricas de servidor específico
GET /api/hetzner/history/:server_id Histórico de métricas para gráficos
POST /api/hetzner/cleanup Limpar métricas antigas

Servidores Monitorizados

  • CWP Server (VM 100): IP 5.9.90.105 — hosting clientes
  • EasyPanel (VM 101): IP 5.9.90.70 — Docker Swarm (46 serviços)
  • Gateway (VM 103): proxy Nginx
  • Proxmox Host: hypervisor físico

Localizações

  • Código: api/services/hetzner.ts (266 linhas), api/routes/hetzner.ts (141 linhas)
  • DB: tbl_eal_hetzner_servers, tbl_eal_hetzner_metrics

Dependências

  • Hetzner Cloud API: Token HETZNER_TOKEN em .env
  • MySQL-Pool: Armazenamento de servidores e métricas

Fornece a

  • Painel-Monitor: Dados de servidores exibidos na secção "Servidores"
  • Express-API: Rota /api/hetzner