SlideShare a Scribd company logo
1 of 68
Download to read offline
Architecture serveur virtualisée
Emission, transport, formatage, stockage des logs
Analyse des « dimensions » et « metrics »
Guillaume MOCQUET
contact@guillaumemocquet.com
NFE204 - Paris, 28/01/2014
 10 années d’expériences dans le web
 Chef de projet technique web
 Passionné d’open source
 Ancien DevOps
 Aguerri aux sites à très fort trafic (~20 MVU/mois)
 Sensibilisé à la haute disponibilité (HA)
 Sensibilisé à la tolérance de panne (FT)
2© 2014 Guillaume MOCQUET
 Introduction
 Architecture serveur
◦ Les différents services
◦ Virtualisation
 Superviser le service web
◦ Pourquoi ?
◦ Identifier les anomalies
 Focus sur l’analyse des logs applicatifs
◦ Qu’est qu’un log ?
◦ Manipulation des données
 Problématiques liées au fort trafic
◦ Trouver les informations pertinentes
◦ Priorité au service applicatif
 Solution : chaîne Syslog, Logstash, ElasticSearch, Kibana
◦ Plus-value
◦ Présentation de l’Architecture globale
◦ Présentation des différents services
 Démonstration
 Conclusion
 Questions / Réponses
3© 2014 Guillaume MOCQUET
4© 2014 Guillaume MOCQUET
 Comprendre le contexte
◦ Serveur web à très fort trafic
 Identifier le besoin
◦ Superviser le service web
 Les problématiques
◦ Liées au fort trafic
 La solution
 Démonstration
 Questions / Réponses
© 2014 Guillaume MOCQUET 5
6© 2014 Guillaume MOCQUET
Les différents services
7© 2014 Guillaume MOCQUET
8© 2014 Guillaume MOCQUET
Virtualisation
9© 2014 Guillaume MOCQUET
 Augmentation de la disponibilité des applications
 Déploiement rapide des nouvelles applications, services et données
 Amélioration du management (cf. monitoring précis des VMs)
 Meilleure orientation des demandes imprévues (nouvelles technologies,
tests, etc.)
 Optimisation du taux d’utilisation des ressources en virtualisation (60 à
80%) contre 10 à 20% en non virtualisation
 Orienté Cloud Computing
◦ Grille / Cluster
◦ Haute disponibilité (High Availability : HA)
◦ Basculement (Fail-over)
◦ Tolérance des pannes (Fault tolerance : FT)
10© 2014 Guillaume MOCQUET
Hyperviseur type1 : Nativ/ bare metal Hyperviseur type2 : Hosted
11© 2014 Guillaume MOCQUET
Hyperviseur type1 Hyperviseur type2
 Ressources dédiées
aux machines virtuelles
hébergées.
 1 seul Hyperviseur par
serveur.
 Faible perte de
performance (+/- 10%)
par rapport à un
système natif.
 Ressources allouées
pas seulement aux
machines virtuelles.
 Possibilité d’installer
plusieurs hyperviseurs
sur un même serveur.
12© 2014 Guillaume MOCQUET
 VMware
◦ Société américaine fondée en 1998 spécialisée dans la
virtualisation d’architecture x86
 vSphere
◦ Base de la plateforme de virtualisation Cloud VMware. Gestion des
serveurs « hosts »
◦ A partir de 1300 € (démonstration 60 jours gratuit)
 vCenter Operations Management (Extension vSphere)
◦ Plateforme de supervision du parc virtualisé
◦ A partir de 2100 € (démonstration 60 jours gratuit)
13© 2014 Guillaume MOCQUET
 Dupliquer une machine se fait en quelques minutes
14
2) Paramétrage de la nouvelle machine
1) Clic droit sur la machine
que l’on souhaite copier
3) Duplication en cours… 4) Machine prête à l’emploi
© 2014 Guillaume MOCQUET
 Sauvegarde de l’ensemble d’un système (mémoire
incluse) à un instant « t »
 Possibilité de revenir à un précédent snapshot en
quelques secondes : cela réduit considérablement le
temps d’indisponibilité du service.
15© 2014 Guillaume MOCQUET
 Machines types
 Possibilité d’interagir via l’API
◦ VMware vSphere Web Services SDK
16© 2014 Guillaume MOCQUET
17© 2014 Guillaume MOCQUET
Pourquoi ?
18© 2014 Guillaume MOCQUET
 Répercussion de l’indisponibilité
◦ Coût financier important
 Google aurait perdu 750 000$ en 10 minutes en 2012
◦ Image de marque négative
◦ Perte de client
◦ Perte de temps pour résoudre le problème
 Analyser les performances
◦ Améliorer la qualité de service
◦ Prévenir les risques
19© 2014 Guillaume MOCQUET
Identifier les anomalies
20© 2014 Guillaume MOCQUET
 Système
◦ Machine virtuelle « tombée »
◦ Service « planté »
◦ Espace disque saturé
◦ Problème réseau : synchronisation, firewall, etc.
◦ Problème de droits (fichier)
 Applicatif
◦ « Bug » langage script serveur : Erreur 500
◦ Ressource non trouvée : Erreur 404
◦ Problème de droits (utilisateur) : Erreur 403
21© 2014 Guillaume MOCQUET
© 2014 Guillaume MOCQUET
 Logiciel de supervision / Monitoring
22
 Analyse des logs applicatifs
◦ Shell
◦ RegExp
23© 2014 Guillaume MOCQUET
24© 2014 Guillaume MOCQUET
Qu’est qu’un log ?
25© 2014 Guillaume MOCQUET
 Un évènement daté
◦ Erreur
◦ Succès
◦ Information
 Une action utilisateur datée
◦ Appel de page « classique » (code 200)
◦ Appel d’une ressource qui n’existe pas (erreur 404)
26© 2014 Guillaume MOCQUET
27© 2014 Guillaume MOCQUET
28© 2014 Guillaume MOCQUET
Trouver les informations
pertinentes
29© 2014 Guillaume MOCQUET
 Flot de données colossale
◦ Différencier les logs d’erreurs des logs « normaux »
 Générer localement au niveau de chaque serveur
◦ Possibilité d’erreur présente uniquement sur un nombre
limité de serveurs
 Faible historique exploitable
◦ Archivage automatique
 Information fastidieuse à extraire
◦ Politique de sécurité, shell / ssh, perl, regexp
30© 2014 Guillaume MOCQUET
 Monitoring / collecte de logs
◦ Transparent
 La plus faible consommation de ressource possible
 CPU, mémoire, I/O
 Aucun impact sur les services applicatifs
◦ Fiable
 Eviter les « faux positifs »
◦ Robuste
 Tenir la charge
 Haute disponibilité
31© 2014 Guillaume MOCQUET
32© 2014 Guillaume MOCQUET
Plus-value
33© 2014 Guillaume MOCQUET
 Plateforme centralisée
◦ Un seul point d’entrée
◦ Analyse de différents programmes
 Serveur web
 Serveur de base de données
 Evènements de toutes sortes (ex. : AdServer)
 Temps réel
 Recherche / Analyse ciblée
 Historique robuste
 Scalabilité horizontale
34© 2014 Guillaume MOCQUET
 Formatage des données
◦ Identification des informations
 Adresse IP client
 Page demandée
 Statut de retour
 Enrichissement des données
◦ Géolocalisation
 Pays
 Ville
 Open source
 Gratuit
 Grande communauté
© 2014 Guillaume MOCQUET 35
Architecture globale
36© 2014 Guillaume MOCQUET
37© 2014 Guillaume MOCQUET
Présentation des différents
services
© 2014 Guillaume MOCQUET 38
 Service / Programme
◦ Apache (natif, personnalisable)
◦ HAProxy (natif, personnalisable)
◦ DynDNS (personnalisé)
 Recommandations
◦ Structurer les logs
◦ Formater les logs directement en JSON
 LogFormat "{ "@timestamp": "%{%Y-%m-%dT%H:%M:%S%z}t", "@fields": {
"client": "%a", "duration_usec": %D, "status": %s, "request":
"%U%q", "method": "%m", "referrer": "%{Referer}i" } }" logstash_json
39© 2014 Guillaume MOCQUET
 Exemple de structure (standard)
◦ LogFormat "%h %{X-Forwarded-For}i %l %u %t HTTP %{X-Forwarded-Proto}i "%r" %>s
%O "%{Referer}i" "%{User-Agent}i" t=%D" time_combined_HTTP
◦ LogFormat "%h %{X-Forwarded-For}i %l %u %t HTTPS %{X-Forwarded-Proto}i "%r"
%>s %O "%{Referer}i" "%{User-Agent}i" t=%D" time_combined_HTTPS
 Emission des logs
◦ CustomLog "|/usr/bin/tee -a /var/log/apache2/access.log | /usr/bin/logger -p
local7.info -t 'apache2-access'" time_combined_HTTP
◦ ErrorLog "|/usr/bin/tee -a /var/log/apache2/error.log | /usr/bin/logger -p local7.err
-t 'apache2-error'"
40© 2014 Guillaume MOCQUET
 Natif aux plateformes Linux / Unix
◦ Requiert de faibles ressources
◦ Simple à configurer, fiable et robuste
◦ Buffer
◦ Supporté par de nombreux services
 Identification des évènements
◦ Origine de l’évènement (Facility)
 0 (kernel messages) >> 23 (local7)
◦ Niveau de gravité (Severity)
 0 (Emergency) >> 7 (Debug)
41© 2014 Guillaume MOCQUET
 Personnalisable
◦ Nombreux plug-in
 ElasticSearch Output plug-in existant
 /! Difficulté à formater et enrichir les logs
42© 2014 Guillaume MOCQUET
 Configuration
◦ /etc/rsyslog.conf
◦ /etc/rsyslog.d/*.conf
 Véhiculer les messages via TCP (ou UDP)
43© 2014 Guillaume MOCQUET
Transferer tous les
messages d’origine 7
(local7) au serveur
192.168.1.19 via TCP
 « Standalone » Java
 Supporté par ElasticSearch
 Même philosophie de fonctionnement que
syslog
 Nombreux plug-in
44© 2014 Guillaume MOCQUET
 Scalabilité horizontale
◦ Flexible en fonction de la charge
45© 2014 Guillaume MOCQUET
 Configuration modulaire
◦ /etc/logstash/conf.d/*.conf
46© 2014 Guillaume MOCQUET
 Très grand nombre de protocoles supportés
◦ Local (files), réseau (tcp) ou externe (Twitter, AWS)
47© 2014 Guillaume MOCQUET
Ecoute sur toutes les
adresses IP disponibles, sur
le port 514 (TCP + UDP)
 Principal filtre : Grok (formatage)
© 2014 Guillaume MOCQUET 48
 Date
49© 2014 Guillaume MOCQUET
 XML, CSV, JSON, Etc.
◦ Pour plus d’informations
consulter la
documentation de
chacun des filtres
50© 2014 Guillaume MOCQUET
 Geoip
51© 2014 Guillaume MOCQUET
 Remplacement, suppression, etc.
52© 2014 Guillaume MOCQUET
 Conditions (filter seulement)
53© 2014 Guillaume MOCQUET
 Très grand nombre de protocoles supportés
◦ Local (files), réseau (tcp) ou externe (Twitter, AWS)
 Output ElasticSearch
◦ Index dynamique (logstash-%{+YYYY.MM.dd})
◦ Options « tempate »
 Mapping dynamique
◦ Workers
◦ flush_size
 Bluk API
54© 2014 Guillaume MOCQUET
 Requiert Java
 Scalabilité horizontale
 API REST
55© 2014 Guillaume MOCQUET
 ElasticSearch Mapping
56© 2014 Guillaume MOCQUET
 « Standalone » HTML / JavaScript
◦ Requiert seulement un navigateur récent
◦ Configuration en 1 ligne via le fichier /config.js
 elasticsearch: "http://192.168.1.16:9200",
 Préconise un index ElasticSearch / jour (cf. Logstash)
◦ Possibilité de rechercher sur plusieurs jours (ainsi que
d’agréger les résultats)
 Supporté par ElasticSearch
 Crée des tableaux de bords 100% personnalisés
57© 2014 Guillaume MOCQUET
 Interface riche pour ElasticSearch
 Personnalisable à souhait
 Multi requêtes
 Filtrage des résultats
 Syntaxe de requête Lucene
 Possibilité de rechercher par « facets »
58© 2014 Guillaume MOCQUET
 Requête simple
◦ response:403
 Requête de négation
◦ response:(-200 AND -301)
 Date
◦ @timestamp:>now
◦ @timestamp:>now-1d
 Intervalle
◦ @timestamp:["2014-01-27T19:53:23.877Z" TO now]
 Recherche
◦ @message:((+"Server apache2_http/" +"DOWN, reason:") OR
@message:"has no server available!")
59© 2014 Guillaume MOCQUET
 Log brut
◦ <182>Jan 28 14:12:09 haproxy[4446]: 90.3.218.220:35069
[28/Jan/2014:14:12:04.489] frontend_http apache2_http/dc01-www-04
1/0/0/5267/5268 200 205 - - ---- 0/0/0/0/0 0/0 "POST /wp-
cron.php?doing_wp_cron=1390914724.4278941154479980468750 HTTP/1.0“
60© 2014 Guillaume MOCQUET
 Formatage et enrichissement
◦ 192.168.1.48 157.56.92.160 - - [27/Jan/2014:09:42:11 +0100] HTTP http "GET /robots.txt
HTTP/1.1" 200 329 "-" "Mozilla/5.0 (compatible; bingbot/2.0;
+http://www.bing.com/bingbot.htm)" t=3495
61© 2014 Guillaume MOCQUET
 Facet @timestamp
62© 2014 Guillaume MOCQUET
 Calcul de métriques : min, max, comptage, moyenne
63© 2014 Guillaume MOCQUET
http://demo.kibana.org/
© 2014 Guillaume MOCQUET 64
Démo
© 2014 Guillaume MOCQUET 65
 Virtualisation
◦ Meilleure réactivité
◦ Favorise la montée en compétence de l’équipe technique
(cf. DevOps)
 Plateforme d’analyse de logs
◦ Rend accessible une information souvent réservée à une
audience limitée (administrateur réseaux, personne non
technique)
◦ Open source et gratuite
◦ Scalabilité horizontale
◦ Flexibilité : analyse technique, analyse commerciale, etc.
◦ Temps réel
© 2014 Guillaume MOCQUET 66
Avez-vous des questions ?
© 2014 Guillaume MOCQUET 67
 Virtualisation (VMware vSphere)
◦ http://www.vmware.com/fr/products/vsphere/
 Syslog
◦ http://tools.ietf.org/html/rfc5424
 Logstash
◦ http://logstash.net/
◦ http://cookbook.logstash.net/
 ElasticSearch
◦ http://www.elasticsearch.org/
◦ http://dev.af83.com/2013/05/22/quelques-bases-pour-preparer-une-indexation-dans-
elasticsearch.html
◦ http://dev.af83.com/2012/01/13/tire-pour-les-francophones.html
 Kibana
◦ http://www.elasticsearch.org/overview/kibana/
 Lucene
◦ http://lucene.apache.org/core/2_9_4/queryparsersyntax.html
 Divers
◦ http://blog.iweb.com/fr/2012/11/combien-de-temps-dindisponibilite-est-
acceptable/13220.html
68© 2014 Guillaume MOCQUET

More Related Content

What's hot

Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Benoît de CHATEAUVIEUX
 
Gestion de parc avec OCS et GLPI
Gestion de parc avec OCS et GLPI Gestion de parc avec OCS et GLPI
Gestion de parc avec OCS et GLPI guest3be047
 
Webperformance #rouendayvous
Webperformance #rouendayvousWebperformance #rouendayvous
Webperformance #rouendayvousOlivier MARTINEAU
 
Optimisation de la plateforme de Supervision Zabbix
Optimisation de la plateforme de Supervision ZabbixOptimisation de la plateforme de Supervision Zabbix
Optimisation de la plateforme de Supervision ZabbixAlain Ganuchaud
 
Présentation GLPI aux RMLL 2007
Présentation GLPI aux RMLL 2007Présentation GLPI aux RMLL 2007
Présentation GLPI aux RMLL 2007Nouh Walid
 
Meetup #13 osfr - ops - hubiC - pulbic
Meetup #13 osfr - ops - hubiC - pulbicMeetup #13 osfr - ops - hubiC - pulbic
Meetup #13 osfr - ops - hubiC - pulbicJean-Daniel Bonnetot
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
 
Meetup kafka 21 Novembre 2017
Meetup kafka 21 Novembre 2017Meetup kafka 21 Novembre 2017
Meetup kafka 21 Novembre 2017Saïd Bouras
 
Zabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvertZabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvertLook a box
 
CocoaHeads Rennes #16: OHHTTPStubs
CocoaHeads Rennes #16: OHHTTPStubsCocoaHeads Rennes #16: OHHTTPStubs
CocoaHeads Rennes #16: OHHTTPStubsCocoaHeadsRNS
 
Manipulation GLPI / OCS
Manipulation GLPI / OCSManipulation GLPI / OCS
Manipulation GLPI / OCSChris Dogny
 
Architecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAPArchitecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAPLINAGORA
 
Stockage et analyse temps réel d'événements avec Riak chez Booking.com
Stockage et analyse temps réel d'événements avec Riak chez Booking.comStockage et analyse temps réel d'événements avec Riak chez Booking.com
Stockage et analyse temps réel d'événements avec Riak chez Booking.comDamien Krotkine
 
Migrer 3 millions de sites sans maitriser leur code source ? Impossible mais ...
Migrer 3 millions de sites sans maitriser leur code source ? Impossible mais ...Migrer 3 millions de sites sans maitriser leur code source ? Impossible mais ...
Migrer 3 millions de sites sans maitriser leur code source ? Impossible mais ...OVHcloud
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkMSDEVMTL
 
EBIZNEXT-RIAK
EBIZNEXT-RIAKEBIZNEXT-RIAK
EBIZNEXT-RIAKebiznext
 
Des cas d'intégration client par Sword: XL Airways, Ministere de la Culture...
Des cas d'intégration client par Sword: XL Airways, Ministere de la Culture...Des cas d'intégration client par Sword: XL Airways, Ministere de la Culture...
Des cas d'intégration client par Sword: XL Airways, Ministere de la Culture...Nuxeo
 

What's hot (20)

Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
 
Gestion de parc avec OCS et GLPI
Gestion de parc avec OCS et GLPI Gestion de parc avec OCS et GLPI
Gestion de parc avec OCS et GLPI
 
Webperformance #rouendayvous
Webperformance #rouendayvousWebperformance #rouendayvous
Webperformance #rouendayvous
 
Zabbix
ZabbixZabbix
Zabbix
 
Optimisation de la plateforme de Supervision Zabbix
Optimisation de la plateforme de Supervision ZabbixOptimisation de la plateforme de Supervision Zabbix
Optimisation de la plateforme de Supervision Zabbix
 
Pentest bus pirate
Pentest bus piratePentest bus pirate
Pentest bus pirate
 
Présentation GLPI aux RMLL 2007
Présentation GLPI aux RMLL 2007Présentation GLPI aux RMLL 2007
Présentation GLPI aux RMLL 2007
 
Meetup #13 osfr - ops - hubiC - pulbic
Meetup #13 osfr - ops - hubiC - pulbicMeetup #13 osfr - ops - hubiC - pulbic
Meetup #13 osfr - ops - hubiC - pulbic
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Meetup kafka 21 Novembre 2017
Meetup kafka 21 Novembre 2017Meetup kafka 21 Novembre 2017
Meetup kafka 21 Novembre 2017
 
Zabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvertZabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvert
 
CocoaHeads Rennes #16: OHHTTPStubs
CocoaHeads Rennes #16: OHHTTPStubsCocoaHeads Rennes #16: OHHTTPStubs
CocoaHeads Rennes #16: OHHTTPStubs
 
Riak introduction
Riak introductionRiak introduction
Riak introduction
 
Manipulation GLPI / OCS
Manipulation GLPI / OCSManipulation GLPI / OCS
Manipulation GLPI / OCS
 
Architecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAPArchitecture d'annuaire hautement disponible avec OpenLDAP
Architecture d'annuaire hautement disponible avec OpenLDAP
 
Stockage et analyse temps réel d'événements avec Riak chez Booking.com
Stockage et analyse temps réel d'événements avec Riak chez Booking.comStockage et analyse temps réel d'événements avec Riak chez Booking.com
Stockage et analyse temps réel d'événements avec Riak chez Booking.com
 
Migrer 3 millions de sites sans maitriser leur code source ? Impossible mais ...
Migrer 3 millions de sites sans maitriser leur code source ? Impossible mais ...Migrer 3 millions de sites sans maitriser leur code source ? Impossible mais ...
Migrer 3 millions de sites sans maitriser leur code source ? Impossible mais ...
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity framework
 
EBIZNEXT-RIAK
EBIZNEXT-RIAKEBIZNEXT-RIAK
EBIZNEXT-RIAK
 
Des cas d'intégration client par Sword: XL Airways, Ministere de la Culture...
Des cas d'intégration client par Sword: XL Airways, Ministere de la Culture...Des cas d'intégration client par Sword: XL Airways, Ministere de la Culture...
Des cas d'intégration client par Sword: XL Airways, Ministere de la Culture...
 

Viewers also liked

Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...
Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...
Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...Guillaume MOCQUET
 
Tunis big data_meetup__21_nov2015__aymenzaafouri
Tunis big data_meetup__21_nov2015__aymenzaafouriTunis big data_meetup__21_nov2015__aymenzaafouri
Tunis big data_meetup__21_nov2015__aymenzaafouriAymen ZAAFOURI
 
Chapitre2 prise en_main_kibana
Chapitre2 prise en_main_kibanaChapitre2 prise en_main_kibana
Chapitre2 prise en_main_kibanaFabien SABATIER
 
Chapitre3 elk concepts_avances
Chapitre3 elk concepts_avancesChapitre3 elk concepts_avances
Chapitre3 elk concepts_avancesFabien SABATIER
 
A la recherche d'ElasticSearch
A la recherche d'ElasticSearchA la recherche d'ElasticSearch
A la recherche d'ElasticSearchNinnir
 
Logs serveurs : du terme barbare à la simplicité de la réalité
Logs serveurs :  du terme barbare à la simplicité de la réalitéLogs serveurs :  du terme barbare à la simplicité de la réalité
Logs serveurs : du terme barbare à la simplicité de la réalitéKarles Nine
 
Découverte de Elastic search
Découverte de Elastic searchDécouverte de Elastic search
Découverte de Elastic searchJEMLI Fathi
 
Logging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaLogging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaAmazee Labs
 
Présentation de ElasticSearch / Digital apéro du 12/11/2014
Présentation de ElasticSearch / Digital apéro du 12/11/2014Présentation de ElasticSearch / Digital apéro du 12/11/2014
Présentation de ElasticSearch / Digital apéro du 12/11/2014Silicon Comté
 
ElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementMohamed hedi Abidi
 
Elasticsearch - Montpellier JUG
Elasticsearch - Montpellier JUGElasticsearch - Montpellier JUG
Elasticsearch - Montpellier JUGDavid Pilato
 
Gestion et surveillance du reseau syslogng
Gestion et surveillance du reseau  syslogngGestion et surveillance du reseau  syslogng
Gestion et surveillance du reseau syslogngKiemde Franck
 
Sécurité d’une plateforme VoIP Open Source « Elastix »
Sécurité d’une plateforme VoIP Open Source « Elastix »Sécurité d’une plateforme VoIP Open Source « Elastix »
Sécurité d’une plateforme VoIP Open Source « Elastix »Yassine Brahmi
 
Formation Flash
Formation FlashFormation Flash
Formation Flashjplesault
 

Viewers also liked (20)

Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...
Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...
Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...
 
Tunis big data_meetup__21_nov2015__aymenzaafouri
Tunis big data_meetup__21_nov2015__aymenzaafouriTunis big data_meetup__21_nov2015__aymenzaafouri
Tunis big data_meetup__21_nov2015__aymenzaafouri
 
Chapitre2 prise en_main_kibana
Chapitre2 prise en_main_kibanaChapitre2 prise en_main_kibana
Chapitre2 prise en_main_kibana
 
Chapitre3 elk concepts_avances
Chapitre3 elk concepts_avancesChapitre3 elk concepts_avances
Chapitre3 elk concepts_avances
 
A la recherche d'ElasticSearch
A la recherche d'ElasticSearchA la recherche d'ElasticSearch
A la recherche d'ElasticSearch
 
Logs serveurs : du terme barbare à la simplicité de la réalité
Logs serveurs :  du terme barbare à la simplicité de la réalitéLogs serveurs :  du terme barbare à la simplicité de la réalité
Logs serveurs : du terme barbare à la simplicité de la réalité
 
Découverte de Elastic search
Découverte de Elastic searchDécouverte de Elastic search
Découverte de Elastic search
 
IPTV
IPTVIPTV
IPTV
 
Logging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaLogging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & Kibana
 
Présentation de ElasticSearch / Digital apéro du 12/11/2014
Présentation de ElasticSearch / Digital apéro du 12/11/2014Présentation de ElasticSearch / Digital apéro du 12/11/2014
Présentation de ElasticSearch / Digital apéro du 12/11/2014
 
Séminaire Log Management
Séminaire Log ManagementSéminaire Log Management
Séminaire Log Management
 
Rapport projet pfe
Rapport projet pfeRapport projet pfe
Rapport projet pfe
 
ElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementElasticSearch : Architecture et Développement
ElasticSearch : Architecture et Développement
 
Elk stack
Elk stackElk stack
Elk stack
 
Elasticsearch - Montpellier JUG
Elasticsearch - Montpellier JUGElasticsearch - Montpellier JUG
Elasticsearch - Montpellier JUG
 
Gestion et surveillance du reseau syslogng
Gestion et surveillance du reseau  syslogngGestion et surveillance du reseau  syslogng
Gestion et surveillance du reseau syslogng
 
Sécurité d’une plateforme VoIP Open Source « Elastix »
Sécurité d’une plateforme VoIP Open Source « Elastix »Sécurité d’une plateforme VoIP Open Source « Elastix »
Sécurité d’une plateforme VoIP Open Source « Elastix »
 
Elk
Elk Elk
Elk
 
Chapitre1 elk chez_psa
Chapitre1 elk chez_psaChapitre1 elk chez_psa
Chapitre1 elk chez_psa
 
Formation Flash
Formation FlashFormation Flash
Formation Flash
 

Similar to [Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps réel dans un milieu virtualisé

Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017AFUP_Limoges
 
Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx FranceMarc Bojoly
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...Microsoft Technet France
 
Astroclermont @clermontech
Astroclermont @clermontechAstroclermont @clermontech
Astroclermont @clermontechBaptiste MOREAU
 
DevoxxFR Présentation des portails en 2014
DevoxxFR Présentation des portails en 2014DevoxxFR Présentation des portails en 2014
DevoxxFR Présentation des portails en 2014Stéphane Liétard
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteMicrosoft
 
La diffusion vidéo avec le Cloud Azure
La diffusion vidéo avec le Cloud AzureLa diffusion vidéo avec le Cloud Azure
La diffusion vidéo avec le Cloud AzureMicrosoft
 
Power shell saturday Paris 2017 Omiossec
Power shell saturday  Paris 2017 OmiossecPower shell saturday  Paris 2017 Omiossec
Power shell saturday Paris 2017 OmiossecOlivier Miossec
 
Production logicielle, outils et pratiques
Production logicielle, outils et pratiquesProduction logicielle, outils et pratiques
Production logicielle, outils et pratiquesJohan Moreau
 
Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Kenny Dits
 
Support formation : Construire et administrer vos conteneurs avec Docker
Support formation : Construire et administrer vos conteneurs avec DockerSupport formation : Construire et administrer vos conteneurs avec Docker
Support formation : Construire et administrer vos conteneurs avec DockerSmartnSkilled
 
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSupport formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSmartnSkilled
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)Restlet
 
Développer ou debugger ?
Développer ou debugger ? Développer ou debugger ?
Développer ou debugger ? Microsoft
 

Similar to [Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps réel dans un milieu virtualisé (20)

Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017
 
Perf university
Perf universityPerf university
Perf university
 
Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx France
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
 
Astroclermont @clermontech
Astroclermont @clermontechAstroclermont @clermontech
Astroclermont @clermontech
 
DevoxxFR Présentation des portails en 2014
DevoxxFR Présentation des portails en 2014DevoxxFR Présentation des portails en 2014
DevoxxFR Présentation des portails en 2014
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
cookbook-fr
cookbook-frcookbook-fr
cookbook-fr
 
Cahier des charges
Cahier des charges Cahier des charges
Cahier des charges
 
MVC / Frameworks PHP
MVC / Frameworks PHPMVC / Frameworks PHP
MVC / Frameworks PHP
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
 
La diffusion vidéo avec le Cloud Azure
La diffusion vidéo avec le Cloud AzureLa diffusion vidéo avec le Cloud Azure
La diffusion vidéo avec le Cloud Azure
 
Power shell saturday Paris 2017 Omiossec
Power shell saturday  Paris 2017 OmiossecPower shell saturday  Paris 2017 Omiossec
Power shell saturday Paris 2017 Omiossec
 
Production logicielle, outils et pratiques
Production logicielle, outils et pratiquesProduction logicielle, outils et pratiques
Production logicielle, outils et pratiques
 
Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?
 
Support formation : Construire et administrer vos conteneurs avec Docker
Support formation : Construire et administrer vos conteneurs avec DockerSupport formation : Construire et administrer vos conteneurs avec Docker
Support formation : Construire et administrer vos conteneurs avec Docker
 
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSupport formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 
Développer ou debugger ?
Développer ou debugger ? Développer ou debugger ?
Développer ou debugger ?
 

More from Guillaume MOCQUET

Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...
Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...
Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...Guillaume MOCQUET
 
2017 Gartner Magic Quadrant for Digital Marketing Hubs - Ysance
2017 Gartner Magic Quadrant for Digital Marketing Hubs - Ysance2017 Gartner Magic Quadrant for Digital Marketing Hubs - Ysance
2017 Gartner Magic Quadrant for Digital Marketing Hubs - YsanceGuillaume MOCQUET
 
Ysance DMP - The People-Based Marketing Platform overview
Ysance DMP - The People-Based Marketing Platform overviewYsance DMP - The People-Based Marketing Platform overview
Ysance DMP - The People-Based Marketing Platform overviewGuillaume MOCQUET
 
Ysance Stories™ : Ysance People-based marketing platform overview
Ysance Stories™ : Ysance People-based marketing platform overviewYsance Stories™ : Ysance People-based marketing platform overview
Ysance Stories™ : Ysance People-based marketing platform overviewGuillaume MOCQUET
 
Graph Link Prediction : mise en œuvre sur l’enron email corpus pour prédire l...
Graph Link Prediction : mise en œuvre sur l’enron email corpus pour prédire l...Graph Link Prediction : mise en œuvre sur l’enron email corpus pour prédire l...
Graph Link Prediction : mise en œuvre sur l’enron email corpus pour prédire l...Guillaume MOCQUET
 
Analyse des imprimantes multifonction pour un usage bureautique
Analyse des imprimantes multifonction pour un usage bureautiqueAnalyse des imprimantes multifonction pour un usage bureautique
Analyse des imprimantes multifonction pour un usage bureautiqueGuillaume MOCQUET
 
Initiation au couplage réalité augmentée (RA) - système d’information géograp...
Initiation au couplage réalité augmentée (RA) - système d’information géograp...Initiation au couplage réalité augmentée (RA) - système d’information géograp...
Initiation au couplage réalité augmentée (RA) - système d’information géograp...Guillaume MOCQUET
 
Bases de données image : structuration de l'espace des descripteurs et recher...
Bases de données image : structuration de l'espace des descripteurs et recher...Bases de données image : structuration de l'espace des descripteurs et recher...
Bases de données image : structuration de l'espace des descripteurs et recher...Guillaume MOCQUET
 

More from Guillaume MOCQUET (8)

Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...
Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...
Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...
 
2017 Gartner Magic Quadrant for Digital Marketing Hubs - Ysance
2017 Gartner Magic Quadrant for Digital Marketing Hubs - Ysance2017 Gartner Magic Quadrant for Digital Marketing Hubs - Ysance
2017 Gartner Magic Quadrant for Digital Marketing Hubs - Ysance
 
Ysance DMP - The People-Based Marketing Platform overview
Ysance DMP - The People-Based Marketing Platform overviewYsance DMP - The People-Based Marketing Platform overview
Ysance DMP - The People-Based Marketing Platform overview
 
Ysance Stories™ : Ysance People-based marketing platform overview
Ysance Stories™ : Ysance People-based marketing platform overviewYsance Stories™ : Ysance People-based marketing platform overview
Ysance Stories™ : Ysance People-based marketing platform overview
 
Graph Link Prediction : mise en œuvre sur l’enron email corpus pour prédire l...
Graph Link Prediction : mise en œuvre sur l’enron email corpus pour prédire l...Graph Link Prediction : mise en œuvre sur l’enron email corpus pour prédire l...
Graph Link Prediction : mise en œuvre sur l’enron email corpus pour prédire l...
 
Analyse des imprimantes multifonction pour un usage bureautique
Analyse des imprimantes multifonction pour un usage bureautiqueAnalyse des imprimantes multifonction pour un usage bureautique
Analyse des imprimantes multifonction pour un usage bureautique
 
Initiation au couplage réalité augmentée (RA) - système d’information géograp...
Initiation au couplage réalité augmentée (RA) - système d’information géograp...Initiation au couplage réalité augmentée (RA) - système d’information géograp...
Initiation au couplage réalité augmentée (RA) - système d’information géograp...
 
Bases de données image : structuration de l'espace des descripteurs et recher...
Bases de données image : structuration de l'espace des descripteurs et recher...Bases de données image : structuration de l'espace des descripteurs et recher...
Bases de données image : structuration de l'espace des descripteurs et recher...
 

Recently uploaded

ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attalcontact Elabe
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023France Travail
 
analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxHadJer61
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...France Travail
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformersbahija babzine
 

Recently uploaded (6)

ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023
 
analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptx
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformers
 

[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps réel dans un milieu virtualisé

  • 1. Architecture serveur virtualisée Emission, transport, formatage, stockage des logs Analyse des « dimensions » et « metrics » Guillaume MOCQUET contact@guillaumemocquet.com NFE204 - Paris, 28/01/2014
  • 2.  10 années d’expériences dans le web  Chef de projet technique web  Passionné d’open source  Ancien DevOps  Aguerri aux sites à très fort trafic (~20 MVU/mois)  Sensibilisé à la haute disponibilité (HA)  Sensibilisé à la tolérance de panne (FT) 2© 2014 Guillaume MOCQUET
  • 3.  Introduction  Architecture serveur ◦ Les différents services ◦ Virtualisation  Superviser le service web ◦ Pourquoi ? ◦ Identifier les anomalies  Focus sur l’analyse des logs applicatifs ◦ Qu’est qu’un log ? ◦ Manipulation des données  Problématiques liées au fort trafic ◦ Trouver les informations pertinentes ◦ Priorité au service applicatif  Solution : chaîne Syslog, Logstash, ElasticSearch, Kibana ◦ Plus-value ◦ Présentation de l’Architecture globale ◦ Présentation des différents services  Démonstration  Conclusion  Questions / Réponses 3© 2014 Guillaume MOCQUET
  • 5.  Comprendre le contexte ◦ Serveur web à très fort trafic  Identifier le besoin ◦ Superviser le service web  Les problématiques ◦ Liées au fort trafic  La solution  Démonstration  Questions / Réponses © 2014 Guillaume MOCQUET 5
  • 7. Les différents services 7© 2014 Guillaume MOCQUET
  • 10.  Augmentation de la disponibilité des applications  Déploiement rapide des nouvelles applications, services et données  Amélioration du management (cf. monitoring précis des VMs)  Meilleure orientation des demandes imprévues (nouvelles technologies, tests, etc.)  Optimisation du taux d’utilisation des ressources en virtualisation (60 à 80%) contre 10 à 20% en non virtualisation  Orienté Cloud Computing ◦ Grille / Cluster ◦ Haute disponibilité (High Availability : HA) ◦ Basculement (Fail-over) ◦ Tolérance des pannes (Fault tolerance : FT) 10© 2014 Guillaume MOCQUET
  • 11. Hyperviseur type1 : Nativ/ bare metal Hyperviseur type2 : Hosted 11© 2014 Guillaume MOCQUET
  • 12. Hyperviseur type1 Hyperviseur type2  Ressources dédiées aux machines virtuelles hébergées.  1 seul Hyperviseur par serveur.  Faible perte de performance (+/- 10%) par rapport à un système natif.  Ressources allouées pas seulement aux machines virtuelles.  Possibilité d’installer plusieurs hyperviseurs sur un même serveur. 12© 2014 Guillaume MOCQUET
  • 13.  VMware ◦ Société américaine fondée en 1998 spécialisée dans la virtualisation d’architecture x86  vSphere ◦ Base de la plateforme de virtualisation Cloud VMware. Gestion des serveurs « hosts » ◦ A partir de 1300 € (démonstration 60 jours gratuit)  vCenter Operations Management (Extension vSphere) ◦ Plateforme de supervision du parc virtualisé ◦ A partir de 2100 € (démonstration 60 jours gratuit) 13© 2014 Guillaume MOCQUET
  • 14.  Dupliquer une machine se fait en quelques minutes 14 2) Paramétrage de la nouvelle machine 1) Clic droit sur la machine que l’on souhaite copier 3) Duplication en cours… 4) Machine prête à l’emploi © 2014 Guillaume MOCQUET
  • 15.  Sauvegarde de l’ensemble d’un système (mémoire incluse) à un instant « t »  Possibilité de revenir à un précédent snapshot en quelques secondes : cela réduit considérablement le temps d’indisponibilité du service. 15© 2014 Guillaume MOCQUET
  • 16.  Machines types  Possibilité d’interagir via l’API ◦ VMware vSphere Web Services SDK 16© 2014 Guillaume MOCQUET
  • 18. Pourquoi ? 18© 2014 Guillaume MOCQUET
  • 19.  Répercussion de l’indisponibilité ◦ Coût financier important  Google aurait perdu 750 000$ en 10 minutes en 2012 ◦ Image de marque négative ◦ Perte de client ◦ Perte de temps pour résoudre le problème  Analyser les performances ◦ Améliorer la qualité de service ◦ Prévenir les risques 19© 2014 Guillaume MOCQUET
  • 20. Identifier les anomalies 20© 2014 Guillaume MOCQUET
  • 21.  Système ◦ Machine virtuelle « tombée » ◦ Service « planté » ◦ Espace disque saturé ◦ Problème réseau : synchronisation, firewall, etc. ◦ Problème de droits (fichier)  Applicatif ◦ « Bug » langage script serveur : Erreur 500 ◦ Ressource non trouvée : Erreur 404 ◦ Problème de droits (utilisateur) : Erreur 403 21© 2014 Guillaume MOCQUET
  • 22. © 2014 Guillaume MOCQUET  Logiciel de supervision / Monitoring 22
  • 23.  Analyse des logs applicatifs ◦ Shell ◦ RegExp 23© 2014 Guillaume MOCQUET
  • 25. Qu’est qu’un log ? 25© 2014 Guillaume MOCQUET
  • 26.  Un évènement daté ◦ Erreur ◦ Succès ◦ Information  Une action utilisateur datée ◦ Appel de page « classique » (code 200) ◦ Appel d’une ressource qui n’existe pas (erreur 404) 26© 2014 Guillaume MOCQUET
  • 30.  Flot de données colossale ◦ Différencier les logs d’erreurs des logs « normaux »  Générer localement au niveau de chaque serveur ◦ Possibilité d’erreur présente uniquement sur un nombre limité de serveurs  Faible historique exploitable ◦ Archivage automatique  Information fastidieuse à extraire ◦ Politique de sécurité, shell / ssh, perl, regexp 30© 2014 Guillaume MOCQUET
  • 31.  Monitoring / collecte de logs ◦ Transparent  La plus faible consommation de ressource possible  CPU, mémoire, I/O  Aucun impact sur les services applicatifs ◦ Fiable  Eviter les « faux positifs » ◦ Robuste  Tenir la charge  Haute disponibilité 31© 2014 Guillaume MOCQUET
  • 34.  Plateforme centralisée ◦ Un seul point d’entrée ◦ Analyse de différents programmes  Serveur web  Serveur de base de données  Evènements de toutes sortes (ex. : AdServer)  Temps réel  Recherche / Analyse ciblée  Historique robuste  Scalabilité horizontale 34© 2014 Guillaume MOCQUET
  • 35.  Formatage des données ◦ Identification des informations  Adresse IP client  Page demandée  Statut de retour  Enrichissement des données ◦ Géolocalisation  Pays  Ville  Open source  Gratuit  Grande communauté © 2014 Guillaume MOCQUET 35
  • 36. Architecture globale 36© 2014 Guillaume MOCQUET
  • 38. Présentation des différents services © 2014 Guillaume MOCQUET 38
  • 39.  Service / Programme ◦ Apache (natif, personnalisable) ◦ HAProxy (natif, personnalisable) ◦ DynDNS (personnalisé)  Recommandations ◦ Structurer les logs ◦ Formater les logs directement en JSON  LogFormat "{ "@timestamp": "%{%Y-%m-%dT%H:%M:%S%z}t", "@fields": { "client": "%a", "duration_usec": %D, "status": %s, "request": "%U%q", "method": "%m", "referrer": "%{Referer}i" } }" logstash_json 39© 2014 Guillaume MOCQUET
  • 40.  Exemple de structure (standard) ◦ LogFormat "%h %{X-Forwarded-For}i %l %u %t HTTP %{X-Forwarded-Proto}i "%r" %>s %O "%{Referer}i" "%{User-Agent}i" t=%D" time_combined_HTTP ◦ LogFormat "%h %{X-Forwarded-For}i %l %u %t HTTPS %{X-Forwarded-Proto}i "%r" %>s %O "%{Referer}i" "%{User-Agent}i" t=%D" time_combined_HTTPS  Emission des logs ◦ CustomLog "|/usr/bin/tee -a /var/log/apache2/access.log | /usr/bin/logger -p local7.info -t 'apache2-access'" time_combined_HTTP ◦ ErrorLog "|/usr/bin/tee -a /var/log/apache2/error.log | /usr/bin/logger -p local7.err -t 'apache2-error'" 40© 2014 Guillaume MOCQUET
  • 41.  Natif aux plateformes Linux / Unix ◦ Requiert de faibles ressources ◦ Simple à configurer, fiable et robuste ◦ Buffer ◦ Supporté par de nombreux services  Identification des évènements ◦ Origine de l’évènement (Facility)  0 (kernel messages) >> 23 (local7) ◦ Niveau de gravité (Severity)  0 (Emergency) >> 7 (Debug) 41© 2014 Guillaume MOCQUET
  • 42.  Personnalisable ◦ Nombreux plug-in  ElasticSearch Output plug-in existant  /! Difficulté à formater et enrichir les logs 42© 2014 Guillaume MOCQUET
  • 43.  Configuration ◦ /etc/rsyslog.conf ◦ /etc/rsyslog.d/*.conf  Véhiculer les messages via TCP (ou UDP) 43© 2014 Guillaume MOCQUET Transferer tous les messages d’origine 7 (local7) au serveur 192.168.1.19 via TCP
  • 44.  « Standalone » Java  Supporté par ElasticSearch  Même philosophie de fonctionnement que syslog  Nombreux plug-in 44© 2014 Guillaume MOCQUET
  • 45.  Scalabilité horizontale ◦ Flexible en fonction de la charge 45© 2014 Guillaume MOCQUET
  • 46.  Configuration modulaire ◦ /etc/logstash/conf.d/*.conf 46© 2014 Guillaume MOCQUET
  • 47.  Très grand nombre de protocoles supportés ◦ Local (files), réseau (tcp) ou externe (Twitter, AWS) 47© 2014 Guillaume MOCQUET Ecoute sur toutes les adresses IP disponibles, sur le port 514 (TCP + UDP)
  • 48.  Principal filtre : Grok (formatage) © 2014 Guillaume MOCQUET 48
  • 49.  Date 49© 2014 Guillaume MOCQUET
  • 50.  XML, CSV, JSON, Etc. ◦ Pour plus d’informations consulter la documentation de chacun des filtres 50© 2014 Guillaume MOCQUET
  • 51.  Geoip 51© 2014 Guillaume MOCQUET
  • 52.  Remplacement, suppression, etc. 52© 2014 Guillaume MOCQUET
  • 53.  Conditions (filter seulement) 53© 2014 Guillaume MOCQUET
  • 54.  Très grand nombre de protocoles supportés ◦ Local (files), réseau (tcp) ou externe (Twitter, AWS)  Output ElasticSearch ◦ Index dynamique (logstash-%{+YYYY.MM.dd}) ◦ Options « tempate »  Mapping dynamique ◦ Workers ◦ flush_size  Bluk API 54© 2014 Guillaume MOCQUET
  • 55.  Requiert Java  Scalabilité horizontale  API REST 55© 2014 Guillaume MOCQUET
  • 56.  ElasticSearch Mapping 56© 2014 Guillaume MOCQUET
  • 57.  « Standalone » HTML / JavaScript ◦ Requiert seulement un navigateur récent ◦ Configuration en 1 ligne via le fichier /config.js  elasticsearch: "http://192.168.1.16:9200",  Préconise un index ElasticSearch / jour (cf. Logstash) ◦ Possibilité de rechercher sur plusieurs jours (ainsi que d’agréger les résultats)  Supporté par ElasticSearch  Crée des tableaux de bords 100% personnalisés 57© 2014 Guillaume MOCQUET
  • 58.  Interface riche pour ElasticSearch  Personnalisable à souhait  Multi requêtes  Filtrage des résultats  Syntaxe de requête Lucene  Possibilité de rechercher par « facets » 58© 2014 Guillaume MOCQUET
  • 59.  Requête simple ◦ response:403  Requête de négation ◦ response:(-200 AND -301)  Date ◦ @timestamp:>now ◦ @timestamp:>now-1d  Intervalle ◦ @timestamp:["2014-01-27T19:53:23.877Z" TO now]  Recherche ◦ @message:((+"Server apache2_http/" +"DOWN, reason:") OR @message:"has no server available!") 59© 2014 Guillaume MOCQUET
  • 60.  Log brut ◦ <182>Jan 28 14:12:09 haproxy[4446]: 90.3.218.220:35069 [28/Jan/2014:14:12:04.489] frontend_http apache2_http/dc01-www-04 1/0/0/5267/5268 200 205 - - ---- 0/0/0/0/0 0/0 "POST /wp- cron.php?doing_wp_cron=1390914724.4278941154479980468750 HTTP/1.0“ 60© 2014 Guillaume MOCQUET
  • 61.  Formatage et enrichissement ◦ 192.168.1.48 157.56.92.160 - - [27/Jan/2014:09:42:11 +0100] HTTP http "GET /robots.txt HTTP/1.1" 200 329 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" t=3495 61© 2014 Guillaume MOCQUET
  • 62.  Facet @timestamp 62© 2014 Guillaume MOCQUET
  • 63.  Calcul de métriques : min, max, comptage, moyenne 63© 2014 Guillaume MOCQUET
  • 65. © 2014 Guillaume MOCQUET 65
  • 66.  Virtualisation ◦ Meilleure réactivité ◦ Favorise la montée en compétence de l’équipe technique (cf. DevOps)  Plateforme d’analyse de logs ◦ Rend accessible une information souvent réservée à une audience limitée (administrateur réseaux, personne non technique) ◦ Open source et gratuite ◦ Scalabilité horizontale ◦ Flexibilité : analyse technique, analyse commerciale, etc. ◦ Temps réel © 2014 Guillaume MOCQUET 66
  • 67. Avez-vous des questions ? © 2014 Guillaume MOCQUET 67
  • 68.  Virtualisation (VMware vSphere) ◦ http://www.vmware.com/fr/products/vsphere/  Syslog ◦ http://tools.ietf.org/html/rfc5424  Logstash ◦ http://logstash.net/ ◦ http://cookbook.logstash.net/  ElasticSearch ◦ http://www.elasticsearch.org/ ◦ http://dev.af83.com/2013/05/22/quelques-bases-pour-preparer-une-indexation-dans- elasticsearch.html ◦ http://dev.af83.com/2012/01/13/tire-pour-les-francophones.html  Kibana ◦ http://www.elasticsearch.org/overview/kibana/  Lucene ◦ http://lucene.apache.org/core/2_9_4/queryparsersyntax.html  Divers ◦ http://blog.iweb.com/fr/2012/11/combien-de-temps-dindisponibilite-est- acceptable/13220.html 68© 2014 Guillaume MOCQUET