From e6fb3aefe32d4237ba5027a64f5096489d34e84c Mon Sep 17 00:00:00 2001 From: marco370 <48531002-marco370@users.noreply.replit.com> Date: Sat, 22 Nov 2025 10:15:19 +0000 Subject: [PATCH] Fix monitoring errors and database inconsistencies on the dashboard Fix critical bugs in the Syslog Parser monitoring endpoint fetch and update database schema for network logs. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 7a657272-55ba-4a79-9a2e-f1ed9bc7a528 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: a6dcc6ae-9272-494e-a68e-a0a2b865f1c4 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/449cf7c4-c97a-45ae-8234-e5c5b8d6a84f/7a657272-55ba-4a79-9a2e-f1ed9bc7a528/VDRknFA --- .../003_fix_network_logs_columns.sql | 54 +++++++++++++++++++ replit.md | 17 ++++++ server/routes.ts | 2 +- 3 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 database-schema/migrations/003_fix_network_logs_columns.sql diff --git a/database-schema/migrations/003_fix_network_logs_columns.sql b/database-schema/migrations/003_fix_network_logs_columns.sql new file mode 100644 index 0000000..457b354 --- /dev/null +++ b/database-schema/migrations/003_fix_network_logs_columns.sql @@ -0,0 +1,54 @@ +-- ========================================================= +-- MIGRAZIONE 003: Fix network_logs columns (dest_ip -> destination_ip) +-- ========================================================= +-- Assicura che le colonne di network_logs usino i nomi corretti + +-- Rinomina dest_ip -> destination_ip se esiste +DO $$ +BEGIN + IF EXISTS ( + SELECT 1 FROM information_schema.columns + WHERE table_name = 'network_logs' AND column_name = 'dest_ip' + ) THEN + ALTER TABLE network_logs RENAME COLUMN dest_ip TO destination_ip; + RAISE NOTICE 'Colonna dest_ip rinominata in destination_ip'; + END IF; +END $$; + +-- Rinomina dest_port -> destination_port se esiste +DO $$ +BEGIN + IF EXISTS ( + SELECT 1 FROM information_schema.columns + WHERE table_name = 'network_logs' AND column_name = 'dest_port' + ) THEN + ALTER TABLE network_logs RENAME COLUMN dest_port TO destination_port; + RAISE NOTICE 'Colonna dest_port rinominata in destination_port'; + END IF; +END $$; + +-- Rinomina src_ip -> source_ip se esiste +DO $$ +BEGIN + IF EXISTS ( + SELECT 1 FROM information_schema.columns + WHERE table_name = 'network_logs' AND column_name = 'src_ip' + ) THEN + ALTER TABLE network_logs RENAME COLUMN src_ip TO source_ip; + RAISE NOTICE 'Colonna src_ip rinominata in source_ip'; + END IF; +END $$; + +-- Rinomina src_port -> source_port se esiste +DO $$ +BEGIN + IF EXISTS ( + SELECT 1 FROM information_schema.columns + WHERE table_name = 'network_logs' AND column_name = 'src_port' + ) THEN + ALTER TABLE network_logs RENAME COLUMN src_port TO source_port; + RAISE NOTICE 'Colonna src_port rinominata in source_port'; + END IF; +END $$; + +SELECT 'Migrazione 003 completata!' AS status; diff --git a/replit.md b/replit.md index f16e374..76a37fc 100644 --- a/replit.md +++ b/replit.md @@ -150,6 +150,23 @@ The IDS features a React-based frontend for real-time monitoring, detection visu ## Fix Recenti (Novembre 2025) +### 🐛 Fix Monitoring Syslog Parser + Schema Database (22 Nov 2025 - 11:10) +- **Problema 1**: Dashboard mostrava Syslog Parser in errore nonostante systemd "active (running)" + - **Causa**: Bug fetch `signal: controller2.abort` invece di `signal: controller2.signal` in `/api/services/status` + - **Soluzione**: Corretto parametro AbortController signal +- **Problema 2**: Errore database `column "destination_ip" does not exist` + - **Causa**: Database server usa `dest_ip`/`src_ip` invece di `destination_ip`/`source_ip` + - **Soluzione**: Migrazione SQL 003 rinomina colonne in formato corretto +- **Fix Applicati**: + - ✅ `server/routes.ts`: Corretto signal in fetch monitoring + - ✅ `database-schema/migrations/003_fix_network_logs_columns.sql`: Migrazione rinomina colonne +- **Deploy**: + 1. Eseguire `./update_from_git.sh --db` per applicare migrazione + 2. Riavviare backend Node.js + 3. Dashboard mostrerà correttamente tutti i servizi (pallini verdi) + +## Fix Recenti (Novembre 2025) + ### 🚨 Database Full - Auto-Cleanup Fix (21 Nov 2025 - 18:00) - **Problema**: Database PostgreSQL pieno con **417 MILIONI di log** accumulati - Syslog parser ha processato 417.7M righe senza limite di retention diff --git a/server/routes.ts b/server/routes.ts index 64dafe3..2789039 100644 --- a/server/routes.ts +++ b/server/routes.ts @@ -370,7 +370,7 @@ export async function registerRoutes(app: Express): Promise { const servicesResponse = await fetch(`${ML_BACKEND_URL}/services/status`, { headers: getMLBackendHeaders(), - signal: controller2.abort, + signal: controller2.signal, }); clearTimeout(timeout2);