Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

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

868 vues

Publié le

Présentation de Renaud Bauvin, Dev Lead de l'équipe Monitoring Criteo lors du Paris Monitoring meetup #2

"Le talk discutera d'approches de détection d'anomalie implémentées chez Criteo et des leçons que nous en avons tirées pour définir des exigences pour notre système de Monitoring as a Service."

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

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

  1. 1. Copyright © 2014 Criteo Bizarre… vous avez dit bizarre? Détection d’anomalie @ Criteo Renaud Bauvin DevLead Monitoring r.bauvin@criteo.com
  2. 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. 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. 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
  5. 5. Copyright © 2014 Criteo Visualisation
  6. 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. 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
  8. 8. Copyright © 2014 Criteo Visualisation
  9. 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. 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. 11. Copyright © 2014 Criteo Questions? …au fait, je vous ai déjà dit que Criteo recrutait?

×