bizarre... vous avez dit bizarre - paris monitoring meetup #2

11
Copyright © 2014 Criteo Bizarre… vous avez dit bizarre? Détection d’anomalie @ Criteo Renaud Bauvin DevLead Monitoring [email protected]

Upload: paris-monitoring

Post on 14-Apr-2017

765 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2

Copyright © 2014 Criteo

Bizarre… vous avez dit bizarre?Détection d’anomalie @ Criteo

Renaud BauvinDevLead [email protected]

Page 2: Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2

Copyright © 2014 Criteo

La plateforme Criteo en quelques chiffres

• 7 datacenters sur 3 continents• >23k devices, >15k servers• 37 milliards de requêtes HTTP/jour - pic: 2 millions/sec• 3 milliards de bannières uniques servies/jour• Temps de réponse aux enchères: 80ms ou moins, 24/7

• … et bien entendu, il faut monitorer tout ça (206K checks Nagios/5 min)!• … et bien entendu, on recrute pour ça

Page 3: Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2

Copyright © 2014 Criteo

Détection d’anomalie chez Criteo

• 2 contextes d’utilisation:• Pur monitoring• Validation de releases

• Différentes approches explorées• Mesures agglomérées

• Approche historique (prédiction sur base d’un historique long – 2 semaines)• Approche locale (prédiction sur base d’un historique court – 1h)• Approche globale (analyse de la forme des journées)• Approche jointe (corrélation entre 2 métriques différentes)

• Mesures fines par machine• Approche par comparaison

• Dans la suite:• Approches historique et locale dans un contexte de pur monitoring

Page 4: Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2

Copyright © 2014 Criteo

Approche basée sur l’historique

• Principe• ‘Oublier’ la dernière heure du dernier mois et la prédire• Comparer la prédiction à la réalité

• Modèle• ARIMA (2,0,1) avec régresseurs périodiques (voir blog post de Hyndman)• Décompose la série temporelle en

• une tendance,• une période et• quelque chose que l’on espère proche d’un bruit blanc

• Décision• type ‘carte de contrôle’ sur l’erreur résiduelle (e.g. 1 point au-delà de 4)

• Techno• R package ‘Forecast’ appelé depuis un script Python• Matplotlib pour la visualisation

Page 5: Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2

Copyright © 2014 Criteo

Visualisation

Page 6: Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2

Copyright © 2014 Criteo

Leçons

• Conditions• Courbes présentant une composante périodique marquée• Longs historiques• Règles sur plusieurs points

• Avantages• Prédictions réalistes à moyen/long terme

• Attention• Peu intuitif à analyser• Changement d’heures• Un incident dans le passé peut polluer la prédiction• Calcul assez lourd

Page 7: Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2

Copyright © 2014 Criteo

Approche locale

• Principe• ‘Oublier’ les dernières minutes de la dernière heure et les prédire• Comparer la prédiction à la réalité

• Modèles• Gaussien:

• Hypothèse: tous les points sont des tirages d’une même distribution gaussienne• On peut en calculer la moyenne et la variance

• Linéaire:• Hypothèse: les points présentent une tendance linéaire sur la dernière heure• On peut calculer l’équation de cette tendance et en inférer la moyenne et la variance des points à

prédire• Décision

• type ‘carte de contrôle’ sur l’erreur de prédiction• Techno

• script Python utilisant numpy• Matplotlib pour la visualisation

Page 8: Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2

Copyright © 2014 Criteo

Visualisation

Page 9: Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2

Copyright © 2014 Criteo

Leçons

• Conditions• Courbes présentant un comportement lisse

• Avantages• Besoin en historique très limité (et donc effet d’un incident précédent limité)• Très rapide à calculer• Intuitif à analyser

• Attention• Sensibilité à des variations violentes mais récurrente de la courbe (e.g. pic à midi au

Japon)• Ne peut pas prédire à moyen ou long-terme

Page 10: Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2

Copyright © 2014 Criteo

Exigences pour un futur MAAS

• Scalabilité de la partie calcul (comme le reste de l’infra)• Visualisation du côté du client• Self-service

• Liste détaillée des checks supportés et de leur domaine d’application• Guidance pour la sélection/configuration des checks et l’interprétation des résultats• Outil de validation de la configuration (‘Replay on past’)• Seuils différents par utilisateur possibles• Abonnement individuel possible à des alertes existantes

• Moyen de contrôle de la charge

Page 11: Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2

Copyright © 2014 Criteo

Questions?

…au fait, je vous ai déjà dit que Criteo recrutait?