Mais conteúdo relacionado Semelhante a Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2 (20) Bizarre... vous avez dit bizarre - Paris Monitoring meetup #21. Copyright © 2014 Criteo
Bizarre… vous avez dit bizarre?
Détection d’anomalie @ Criteo
Renaud Bauvin
DevLead Monitoring
r.bauvin@criteo.com
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
3. 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
4. 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
6. 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
7. 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
9. 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
10. 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
11. Copyright © 2014 Criteo
Questions?
…au fait, je vous ai déjà dit que Criteo recrutait?