SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
Copyright © 2014 Criteo
Bizarre… vous avez dit bizarre?
Détection d’anomalie @ Criteo
Renaud Bauvin
DevLead Monitoring
r.bauvin@criteo.com
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 
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
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
Copyright © 2014 Criteo
Visualisation
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
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
Copyright © 2014 Criteo
Visualisation
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
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
Copyright © 2014 Criteo
Questions?
…au fait, je vous ai déjà dit que Criteo recrutait?

Weitere ähnliche Inhalte

Andere mochten auch

EN - Criteo - BD Deck -July 2014 - rebrand
EN - Criteo - BD Deck -July 2014 - rebrandEN - Criteo - BD Deck -July 2014 - rebrand
EN - Criteo - BD Deck -July 2014 - rebrandDjilali Zitouni
 
New machine learning challenges at Criteo
New machine learning challenges at CriteoNew machine learning challenges at Criteo
New machine learning challenges at CriteoOlivier Koch
 
C# development workflow @ criteo
C# development workflow @ criteoC# development workflow @ criteo
C# development workflow @ criteoIbrahim Abubakari
 
Damien Lefortier, Senior Machine Learning Engineer and Tech Lead in the Predi...
Damien Lefortier, Senior Machine Learning Engineer and Tech Lead in the Predi...Damien Lefortier, Senior Machine Learning Engineer and Tech Lead in the Predi...
Damien Lefortier, Senior Machine Learning Engineer and Tech Lead in the Predi...MLconf
 
RecSys 2015: Large-scale real-time product recommendation at Criteo
RecSys 2015: Large-scale real-time product recommendation at CriteoRecSys 2015: Large-scale real-time product recommendation at Criteo
RecSys 2015: Large-scale real-time product recommendation at CriteoRomain Lerallut
 
Machine learning at Criteo - Paris Datageeks
Machine learning at Criteo - Paris DatageeksMachine learning at Criteo - Paris Datageeks
Machine learning at Criteo - Paris DatageeksNicolas Le Roux
 
Response prediction for display advertising - WSDM 2014
Response prediction for display advertising - WSDM 2014Response prediction for display advertising - WSDM 2014
Response prediction for display advertising - WSDM 2014Olivier Chapelle
 
Introduction Criteo - 2.0
Introduction Criteo - 2.0Introduction Criteo - 2.0
Introduction Criteo - 2.0Scott Turecek
 
Criteo, un projet SAP en 4,5 mois
Criteo, un projet SAP en 4,5 moisCriteo, un projet SAP en 4,5 mois
Criteo, un projet SAP en 4,5 moisSOA PEOPLE
 

Andere mochten auch (10)

EN - Criteo - BD Deck -July 2014 - rebrand
EN - Criteo - BD Deck -July 2014 - rebrandEN - Criteo - BD Deck -July 2014 - rebrand
EN - Criteo - BD Deck -July 2014 - rebrand
 
New machine learning challenges at Criteo
New machine learning challenges at CriteoNew machine learning challenges at Criteo
New machine learning challenges at Criteo
 
Hadoop summit-ams-2014-04-03
Hadoop summit-ams-2014-04-03Hadoop summit-ams-2014-04-03
Hadoop summit-ams-2014-04-03
 
C# development workflow @ criteo
C# development workflow @ criteoC# development workflow @ criteo
C# development workflow @ criteo
 
Damien Lefortier, Senior Machine Learning Engineer and Tech Lead in the Predi...
Damien Lefortier, Senior Machine Learning Engineer and Tech Lead in the Predi...Damien Lefortier, Senior Machine Learning Engineer and Tech Lead in the Predi...
Damien Lefortier, Senior Machine Learning Engineer and Tech Lead in the Predi...
 
RecSys 2015: Large-scale real-time product recommendation at Criteo
RecSys 2015: Large-scale real-time product recommendation at CriteoRecSys 2015: Large-scale real-time product recommendation at Criteo
RecSys 2015: Large-scale real-time product recommendation at Criteo
 
Machine learning at Criteo - Paris Datageeks
Machine learning at Criteo - Paris DatageeksMachine learning at Criteo - Paris Datageeks
Machine learning at Criteo - Paris Datageeks
 
Response prediction for display advertising - WSDM 2014
Response prediction for display advertising - WSDM 2014Response prediction for display advertising - WSDM 2014
Response prediction for display advertising - WSDM 2014
 
Introduction Criteo - 2.0
Introduction Criteo - 2.0Introduction Criteo - 2.0
Introduction Criteo - 2.0
 
Criteo, un projet SAP en 4,5 mois
Criteo, un projet SAP en 4,5 moisCriteo, un projet SAP en 4,5 mois
Criteo, un projet SAP en 4,5 mois
 

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

La migration continue vers Symfony
La migration continue vers SymfonyLa migration continue vers Symfony
La migration continue vers SymfonyFrancois Zaninotto
 
FME World TOur 2016: SWDE - recalage des données sur le PICC
FME World TOur 2016: SWDE - recalage des données sur le PICCFME World TOur 2016: SWDE - recalage des données sur le PICC
FME World TOur 2016: SWDE - recalage des données sur le PICCGIM_nv
 
Utilisation de l’IA dans le manufacturing - Retour d'expérience
Utilisation de l’IA dans le manufacturing - Retour d'expérienceUtilisation de l’IA dans le manufacturing - Retour d'expérience
Utilisation de l’IA dans le manufacturing - Retour d'expérienceMathieu Goeminne
 
Comprendre et accompagner les transformations à l’ère numérique
Comprendre et accompagner les transformations à l’ère numériqueComprendre et accompagner les transformations à l’ère numérique
Comprendre et accompagner les transformations à l’ère numériqueFing
 
Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...Microsoft
 
ADV_Innovation_Technos_2017_IOT.pdf
ADV_Innovation_Technos_2017_IOT.pdfADV_Innovation_Technos_2017_IOT.pdf
ADV_Innovation_Technos_2017_IOT.pdfKaoutarBaghaz
 
OVH Summit 2016 - Map as a Service by Löic Ortola
OVH Summit 2016 - Map as a Service by Löic OrtolaOVH Summit 2016 - Map as a Service by Löic Ortola
OVH Summit 2016 - Map as a Service by Löic OrtolaJawg Maps
 
L’informatique efficience
L’informatique efficienceL’informatique efficience
L’informatique efficienceMichel Bruchet
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Normandy JUG
 
Expérimentations pour la construction d'une représentation volumique à partir...
Expérimentations pour la construction d'une représentation volumique à partir...Expérimentations pour la construction d'une représentation volumique à partir...
Expérimentations pour la construction d'une représentation volumique à partir...ACSG Section Montréal
 
Comment nous avons amélioré notre produit avec ScrumBan
Comment nous avons amélioré notre produit avec ScrumBanComment nous avons amélioré notre produit avec ScrumBan
Comment nous avons amélioré notre produit avec ScrumBanJulien Rairat
 
Valtech - Mobile, Agile : Faire beau, vite et bien
Valtech - Mobile, Agile : Faire beau, vite et bienValtech - Mobile, Agile : Faire beau, vite et bien
Valtech - Mobile, Agile : Faire beau, vite et bienValtech
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Ippon
 
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...Amazon Web Services
 
Monitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal Thiery
Monitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal ThieryMonitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal Thiery
Monitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal ThieryParis Container Day
 
(5econf) 17h00 Groupe Trifide
(5econf) 17h00 Groupe Trifide(5econf) 17h00 Groupe Trifide
(5econf) 17h00 Groupe TrifideK2 Geospatial
 
Bonnes pratiques pour réussir votre projet de supervision Nagios
Bonnes pratiques pour réussir votre projet de supervision NagiosBonnes pratiques pour réussir votre projet de supervision Nagios
Bonnes pratiques pour réussir votre projet de supervision Nagiosguest3be047
 

Ähnlich wie Bizarre... vous avez dit bizarre - Paris Monitoring meetup #2 (20)

La migration continue vers Symfony
La migration continue vers SymfonyLa migration continue vers Symfony
La migration continue vers Symfony
 
REX Scrum mature
REX Scrum matureREX Scrum mature
REX Scrum mature
 
FME World TOur 2016: SWDE - recalage des données sur le PICC
FME World TOur 2016: SWDE - recalage des données sur le PICCFME World TOur 2016: SWDE - recalage des données sur le PICC
FME World TOur 2016: SWDE - recalage des données sur le PICC
 
Utilisation de l’IA dans le manufacturing - Retour d'expérience
Utilisation de l’IA dans le manufacturing - Retour d'expérienceUtilisation de l’IA dans le manufacturing - Retour d'expérience
Utilisation de l’IA dans le manufacturing - Retour d'expérience
 
Comprendre et accompagner les transformations à l’ère numérique
Comprendre et accompagner les transformations à l’ère numériqueComprendre et accompagner les transformations à l’ère numérique
Comprendre et accompagner les transformations à l’ère numérique
 
Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...
 
ADV_Innovation_Technos_2017_IOT.pdf
ADV_Innovation_Technos_2017_IOT.pdfADV_Innovation_Technos_2017_IOT.pdf
ADV_Innovation_Technos_2017_IOT.pdf
 
OVH Summit 2016 - Map as a Service by Löic Ortola
OVH Summit 2016 - Map as a Service by Löic OrtolaOVH Summit 2016 - Map as a Service by Löic Ortola
OVH Summit 2016 - Map as a Service by Löic Ortola
 
4 Etude De Faisabilite
4 Etude De Faisabilite4 Etude De Faisabilite
4 Etude De Faisabilite
 
L’informatique efficience
L’informatique efficienceL’informatique efficience
L’informatique efficience
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
 
Expérimentations pour la construction d'une représentation volumique à partir...
Expérimentations pour la construction d'une représentation volumique à partir...Expérimentations pour la construction d'une représentation volumique à partir...
Expérimentations pour la construction d'une représentation volumique à partir...
 
Comment nous avons amélioré notre produit avec ScrumBan
Comment nous avons amélioré notre produit avec ScrumBanComment nous avons amélioré notre produit avec ScrumBan
Comment nous avons amélioré notre produit avec ScrumBan
 
Valtech - Mobile, Agile : Faire beau, vite et bien
Valtech - Mobile, Agile : Faire beau, vite et bienValtech - Mobile, Agile : Faire beau, vite et bien
Valtech - Mobile, Agile : Faire beau, vite et bien
 
Urban Big Data .pdf
Urban Big Data .pdfUrban Big Data .pdf
Urban Big Data .pdf
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0
 
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
 
Monitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal Thiery
Monitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal ThieryMonitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal Thiery
Monitoring de conteneurs en production - Jonathan Raffre & Jean-Pascal Thiery
 
(5econf) 17h00 Groupe Trifide
(5econf) 17h00 Groupe Trifide(5econf) 17h00 Groupe Trifide
(5econf) 17h00 Groupe Trifide
 
Bonnes pratiques pour réussir votre projet de supervision Nagios
Bonnes pratiques pour réussir votre projet de supervision NagiosBonnes pratiques pour réussir votre projet de supervision Nagios
Bonnes pratiques pour réussir votre projet de supervision Nagios
 

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

  • 1. 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
  • 5. Copyright © 2014 Criteo 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
  • 8. Copyright © 2014 Criteo 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?