Insights — anomaly detection
/insights toont metrieken die statistisch buiten hun normaal-verdeling liggen. Het is geen machine learning en we beweren dat ook nergens — het is z-score over een 7-dagen baseline.
Methode
Voor elke (agent, metric) in {CPU%, memory%, network total bps}:
baseline = AVG(metric) ± STDDEV_POP(metric) over [NOW-7d, NOW-1d]current = AVG(metric) over [NOW-15min, NOW]z = (current - baseline_mean) / baseline_stddevEen metric wordt als anomalie geflagd als |z| > 2.5. Dat correspondeert met ~0.6% false-positive rate als de metric normaal-verdeeld is (in praktijk hogere FP-rate omdat metrieken zelden echt gaussiaans zijn — maar wel goed genoeg om de échte uitbijters bovenaan te krijgen).
Alleen agents met ≥60 baseline samples (~1 dag aan 15s metrics) komen in aanmerking. Anders zou een nieuw geregistreerde agent altijd “abnormaal” lijken.
Wat je in de UI ziet
Vier KPI-kaarten bovenaan:
- Anomalies (live) — count van huidige flags
- Agents covered — agents online in laatste uur
- Metrics (24h) — totaal aantal datapoints geanalyseerd
- Method — “z-score, threshold |z| > 2.5”
Onder de KPI’s: tabel met top-50 anomalies, sortering op |z|. Kolommen: agent (klikbaar → agent detail), metric, current value, baseline mean, stddev, z-score, direction (↑ above / ↓ below).
Wat dit WEL goed doet
- Plotse spikes waar het systeem ineens 4× zijn normaal gebruik heeft
- Plotse dips (“waarom is CPU op deze webserver ineens 1%?”)
- Pattern-breaks: ranges die je niet expliciet hoefde te programmeren
Wat dit NIET doet
- Seizoenspatronen — als je nightly batch elke nacht om 02:00 CPU naar 80% trekt, blijft dat in je baseline en wordt het niet meer geflagd. Bewust.
- Correlaties tussen metrieken — kruis-metric ML zou dat doen; deze methode niet.
- Voorspellen — geen “deze server gaat over 3 uur omvallen”. Voor predictive groei zie Capacity planning.
Hoe het te gebruiken in operations
- Check
/insightséén keer per shift als deel van je status-check - Klik door op een rij om de agent te zien en wat er aan de hand is
- Als een metric daar staat die je verwacht (“nightly batch”) → het werkt zoals bedoeld, ignoreer
- Als een metric staat die je niet verwacht → log probleem onderzoeken
Geen alert-replacement
Insights is passieve observatie, geen replacement voor alert-rules. Een alert-rule fire’t push-notificaties + audit-log + webhooks; Insights vraagt je om proactief te kijken. Voor pages die je ‘s nachts moeten wakker bellen: gebruik /alerts → Rules met severity=critical.