feat: WordPress Monitor API + Site Availability Checker
- Add POST /api/wp-monitor endpoint for WP plugin data - Add GET /api/wp-monitor for listing monitored sites - Add checkSiteAvailability() function for HTTP health checks - Add checkAllSitesAvailability() for batch checking - Add /api/scripts/check-sites.ts for cron execution - Add POST /api/monitor/check-sites for manual trigger DeskCRM Task: #1556 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
50
CHANGELOG.md
50
CHANGELOG.md
@@ -2,6 +2,56 @@
|
||||
|
||||
Todas as alterações notáveis neste projecto serão documentadas neste ficheiro.
|
||||
|
||||
## [2.2.0] - 2026-02-04
|
||||
|
||||
### Added
|
||||
- ✅ **WordPress Monitor API** - Endpoint para receber dados do plugin WP
|
||||
- Rota `POST /api/wp-monitor` - Recebe dados de sites WordPress
|
||||
- Rota `GET /api/wp-monitor` - Lista sites monitorizados
|
||||
- Rota `GET /api/wp-monitor?test` - Testar conexão
|
||||
- Autenticação via header `X-API-Key`
|
||||
|
||||
- ✅ **Site Availability Checker** - Verificação de disponibilidade HTTP
|
||||
- Função `checkSiteAvailability()` em `/api/services/monitoring.ts`
|
||||
- Função `checkAllSitesAvailability()` para verificar todos os sites
|
||||
- Script cron `/api/scripts/check-sites.ts` para verificação periódica
|
||||
- Rota `POST /api/monitor/check-sites` para trigger manual
|
||||
|
||||
### Changed
|
||||
- ✅ `/api/routes/monitor.ts` - Adicionada rota POST para check manual
|
||||
|
||||
### Technical Notes
|
||||
- Script de cron: `npx tsx api/scripts/check-sites.ts`
|
||||
- Recomendado: executar a cada 10 minutos via cron
|
||||
- Sites down são marcados com status `down` na BD
|
||||
- Plugin WP actualizado para usar `dash.descomplicar.pt/api/wp-monitor`
|
||||
|
||||
---
|
||||
|
||||
## [2.1.0] - 2026-02-04
|
||||
|
||||
### Added
|
||||
- ✅ **Hetzner Cloud Monitoring** - Monitorização de VPS Hetzner
|
||||
- Tabela `tbl_eal_hetzner_servers` - Inventário de servidores
|
||||
- Tabela `tbl_eal_hetzner_metrics` - Métricas time-series
|
||||
- View `v_eal_hetzner_latest` - Últimas métricas por servidor
|
||||
- Serviço `/api/services/hetzner.ts` - Integração API Hetzner Cloud
|
||||
- Rotas `/api/hetzner/*` para dashboard e collectors
|
||||
|
||||
### Endpoints Hetzner
|
||||
- `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/:id` - Recolher métricas de um servidor
|
||||
- `GET /api/hetzner/history/:id` - Histórico de métricas (24h default)
|
||||
- `POST /api/hetzner/cleanup` - Limpar métricas antigas (7 dias default)
|
||||
|
||||
### Technical Notes
|
||||
- Token Hetzner armazenado em `.env` (HETZNER_TOKEN)
|
||||
- Métricas: CPU%, disk IOPS/bandwidth, network bandwidth/pps
|
||||
- Retenção de dados: 7 dias (configurável)
|
||||
- Collector pode ser executado via cron: `curl -X POST localhost:3001/api/hetzner/collect`
|
||||
|
||||
## [2.0.1] - 2026-02-04
|
||||
|
||||
### Added
|
||||
|
||||
Reference in New Issue
Block a user