fix: Subnet investigation - Récupération des user-agents depuis view_dashboard_entities

- Utilisation de 2 requêtes séparées + fusion en Python
- 1ère requête: ml_detected_anomalies pour les détections récentes
- 2ème requête: view_dashboard_entities avec IN clause pour les user-agents
- La clause IN permet d'utiliser l'index ClickHouse (splitByChar ne l'utilise pas)
- PREWHERE optimise les performances de requête

Problème résolu:
- unique_ua était toujours à 0 car la jointure LEFT JOIN ne fonctionnait pas
- La solution avec IN clause fonctionne car elle utilise l'index sur entity_value

Testé avec 141.98.11.0/24:
- 5 IPs, 8 détections, 65 user-agents uniques
- 141.98.11.209: 68 user-agents différents

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
SOC Analyst
2026-03-15 19:41:48 +01:00
parent 05d21ae8fb
commit ee2b24b277
7 changed files with 727 additions and 45 deletions

View File

@ -0,0 +1,73 @@
-- =============================================================================
-- Script de modification de la rétention des données
-- =============================================================================
--
-- Ce script modifie les politiques de rétention pour conserver les données
-- plus longtemps (90 jours au lieu de 30/7 jours)
--
-- Instructions:
-- -------------
-- 1. Se connecter à ClickHouse:
-- clickhouse-client --host test-sdv-anubis.sdv.fr --port 8123 \
-- --user admin --password SuperPassword123! --database mabase_prod
--
-- 2. Exécuter ce script:
-- clickhouse-client --host test-sdv-anubis.sdv.fr --port 8123 \
-- --user admin --password SuperPassword123! < update_retention_policy.sql
--
-- 3. Vérifier les modifications:
-- SHOW TABLES LIKE 'view_dashboard%';
--
-- =============================================================================
USE mabase_prod;
-- =============================================================================
-- 1. Modifier la rétention de view_dashboard_entities (30 → 90 jours)
-- =============================================================================
ALTER TABLE mabase_prod.view_dashboard_entities
MODIFY TTL log_date + INTERVAL 90 DAY;
-- =============================================================================
-- 2. Modifier la rétention de view_dashboard_user_agents (7 → 90 jours)
-- =============================================================================
ALTER TABLE mabase_prod.view_dashboard_user_agents
MODIFY TTL log_date + INTERVAL 90 DAY;
-- =============================================================================
-- 3. (Optionnel) Modifier la rétention de ml_detected_anomalies
-- =============================================================================
-- Attention: Cette table est gérée par bot_detector_ai
-- Décommenter uniquement si vous avez accès à cette table
-- =============================================================================
-- ALTER TABLE mabase_prod.ml_detected_anomalies
-- MODIFY TTL detected_at + INTERVAL 30 DAY;
-- =============================================================================
-- 4. Appliquer immédiatement le nouveau TTL (optionnel)
-- =============================================================================
-- Cette commande peut prendre plusieurs minutes selon la taille des données
-- =============================================================================
-- OPTIMIZE TABLE mabase_prod.view_dashboard_entities FINAL;
-- OPTIMIZE TABLE mabase_prod.view_dashboard_user_agents FINAL;
-- =============================================================================
-- 5. Vérification des modifications
-- =============================================================================
SELECT
name AS table_name,
engine,
create_table_query
FROM system.tables
WHERE database = 'mabase_prod'
AND name LIKE 'view_dashboard%'
FORMAT Vertical;
-- =============================================================================
-- FIN DU SCRIPT
-- =============================================================================