Insights — détection d'anomalies
/insights affiche les métriques qui sortent statistiquement de leur distribution normale. Ce n’est pas du machine learning et nous ne le prétendons nulle part — c’est un z-score sur une baseline 7 jours.
Méthode
Pour chaque (agent, metric) parmi {CPU%, memory%, network total bps} :
baseline = AVG(metric) ± STDDEV_POP(metric) sur [NOW-7d, NOW-1d]current = AVG(metric) sur [NOW-15min, NOW]z = (current - baseline_mean) / baseline_stddevUne métrique est flaggée anomalie si |z| > 2.5. Cela correspond à ~0.6% de faux-positifs si la métrique est normale-distribuée (en pratique le taux est plus élevé parce que les métriques sont rarement vraiment gaussiennes — mais c’est suffisant pour faire remonter les vrais outliers).
Seuls les agents avec ≥60 baseline samples (~1 jour à 15s metrics) sont éligibles. Sinon un agent nouvellement enregistré semblerait toujours “anormal”.
Ce que vous voyez dans l’UI
Quatre KPI cards en haut :
- Anomalies (live) — count des flags courants
- Agents covered — agents online dans la dernière heure
- Metrics (24h) — total datapoints analysés
- Method — “z-score, threshold |z| > 2.5”
Sous les KPI : tableau des top-50 anomalies, triées par |z|. Colonnes : agent (cliquable → agent detail), metric, current value, baseline mean, stddev, z-score, direction (↑ above / ↓ below).
Ce que ça fait BIEN
- Spikes soudaines où le système consomme 4× son usage normal
- Dips soudains (“pourquoi la CPU de ce webserver est tout à coup à 1% ?”)
- Pattern breaks : ranges que vous n’aviez pas à programmer explicitement
Ce que ça ne fait PAS
- Saisonnalité — si votre batch nightly tape CPU à 80% chaque nuit à 02:00, ça reste dans la baseline et n’est plus flaggé. Voulu.
- Corrélations entre métriques — un ML cross-metric le ferait ; pas cette méthode.
- Prédiction — pas de “ce serveur va tomber dans 3h”. Pour la prédiction de croissance voir Capacity planning.
Comment l’utiliser en opérations
- Check
/insightsune fois par shift dans votre status-check - Cliquez sur une ligne pour voir l’agent et ce qui se passe
- Si c’est une métrique attendue (“nightly batch”) → ça marche comme voulu, ignorez
- Si c’est une métrique inattendue → investiguer
Pas un remplacement d’alerte
Insights est de l’observation passive, pas un remplacement des alert rules. Une alert rule fire des push-notifications + audit-log + webhooks ; Insights vous demande de regarder proactivement. Pour les pages qui doivent vous réveiller la nuit : utilisez /alerts → Rules avec severity=critical.