Documentação completa dos endpoints disponíveis
http://localhost:5000/api
/uso/atual
Retorna o uso atual (última métrica) de todos os servidores.
Exemplo de resposta:
[
{
"id": 1,
"nome": "web01",
"status": "online",
"cpu_percent": 45.2,
"ram_percent": 62.1,
"hd_percent": 58.3,
"temperature": 52.5,
"date": "2024-01-15 10:30:00"
},
{
"id": 2,
"nome": "db01",
"status": "online",
"cpu_percent": 23.5,
"ram_percent": 78.4,
"hd_percent": 45.2,
"temperature": 48.3,
"date": "2024-01-15 10:30:00"
}
]
/media/{periodo}
Retorna médias das métricas por período.
Parâmetros:
periodo - Obrigatório: 30min, 1h, 6h, 12h, 24h?servidor_id=1 - Opcional: Filtrar por servidor específicoExemplos:
GET /media/30minGET /media/1h?servidor_id=1GET /media/24hExemplo de resposta:
[
{
"servidor_id": 1,
"quantidade_registros": 60,
"cpu_medio": 42.5,
"ram_medio": 58.3,
"hd_medio": 45.2,
"temp_media": 52.1,
"cpu_max": 78.3,
"ram_max": 85.6
}
]
/setup
Retorna todos os servidores cadastrados com suas configurações de hardware.
Exemplo de resposta:
[
{
"id": 1,
"nome": "web01",
"status": "online",
"hd_nome": "SSD NVMe Samsung 980",
"hd_tamanho_gb": 512,
"cpu_nome": "Intel i9-13900K",
"cpu_ghz_total": 5.8,
"ram_nome": "DDR5 Corsair",
"ram_tamanho_mb": 32768,
"criado_em": "2024-01-15 10:00:00",
"ultima_atualizacao": "2024-01-15 10:30:00"
},
{
"id": 2,
"nome": "db01",
"status": "online",
"hd_nome": "NVMe WD Black",
"hd_tamanho_gb": 1024,
"cpu_nome": "AMD Ryzen 9 7950X",
"cpu_ghz_total": 5.7,
"ram_nome": "DDR5 Kingston",
"ram_tamanho_mb": 65536,
"criado_em": "2024-01-15 10:00:00",
"ultima_atualizacao": "2024-01-15 10:30:00"
}
]
/setup
Cadastra ou atualiza um servidor.
Body (JSON):
{
"nome": "web01",
"status": "online",
"hd_nome": "SSD NVMe",
"hd_tamanho_gb": 512,
"cpu_nome": "Intel i9-13900K",
"cpu_ghz_total": 5.8,
"ram_nome": "DDR5",
"ram_tamanho_mb": 32768
}
Exemplo de resposta:
{
"mensagem": "Servidor salvo",
"id": 1
}
/setup/{id}/status
Atualiza o status de um servidor.
Body (JSON):
{
"status": "offline"
}
Valores: online, offline, manutencao
Exemplo de resposta:
{
"mensagem": "Status atualizado"
}
/metricas
Insere métricas de um servidor (todos campos são opcionais exceto servidor_id).
Body (JSON):
{
"servidor_id": 1,
"cpu_percent": 45.2,
"ram_percent": 62.1,
"ram_mb_usando": 20480,
"cpu_ghz_usando": 2.5,
"hd_percent": 58.3,
"hd_mb_usados": 298560,
"network_rx_mb": 125.5,
"network_tx_mb": 45.2,
"process_count": 142,
"temperature": 58.5,
"uptime": 86400
}
O campo date é opcional (padrão: CURRENT_TIMESTAMP)
Exemplo de resposta:
{
"mensagem": "Métricas salvas",
"id": 123
}
monitoramento.db (SQLite)