type, layer, tags, title
| type |
layer |
tags |
title |
| Entity |
wiki |
| stack |
| dashdescomplicar |
| backend |
| integracao |
| ssh |
| metricas |
|
Integracao-SSH-Metrics |
Integracao-SSH-Metrics
Colector de métricas de servidores via SSH (biblioteca ssh2). Recolhe CPU, RAM, disco, load e containers do EasyPanel Server.
Responsabilidades
- SSH Connection: Ligação ao EasyPanel (
5.9.90.70:22) com password auth
- Métricas: Executa comandos remotos para recolher CPU%, RAM%, disco%, load avg, nº containers
- Parsing: Extrai valores de output formatado (
CPU:, MEM:, DISK:, LOAD:, CONTAINERS:)
- Sync: Sincroniza servidores Hetzner para
tbl_eal_monitoring
Stack
- Library:
ssh2 1.17 (Client, exec)
- Timeout: 20 segundos por ligação SSH
- Auth: Password (não suporta chave privada no container)
Servidores
| Nome |
Host |
Porta |
Auth |
Notas |
| EasyPanel |
5.9.90.70 |
22 |
Password |
Docker Swarm — 46 serviços |
| CWP Server |
5.9.90.105 |
22 |
❌ Chave ed25519 |
NÃO acessível do container |
Rotas
| Método |
Rota |
Função |
POST |
/api/server-metrics/collect |
Recolher todas as métricas |
POST |
/api/server-metrics/ssh |
Apenas métricas SSH |
POST |
/api/server-metrics/hetzner |
Sync Hetzner → monitoring |
Localizações
- Código:
api/services/server-metrics.ts (188 linhas), api/routes/server-metrics.ts (68 linhas)
- DB:
tbl_eal_monitoring
Dependências
- EasyPanel Server: SSH acesso (
.env: EASY_HOST, EASY_USER, EASY_PASS)
- MySQL-Pool: Armazenamento de métricas
Fornece a
- Painel-Monitor: Métricas SSH exibidas na secção "Infraestrutura"
- Express-API: Rota
/api/server-metrics