1. SPLUNK CHEZ RTL
Bruno Bonfils, <asyd@asyd.net>
Responsable système et réseaux
Mardi 21 Septembre 2010
mardi 3 mai 2011
2. RTL, RADIO NUMÉRO 1
• Les différents métiers de RTL
• Régie publicitaire (IP France)
• La production et la diffusion broadcast
• La diffusion Internet
mardi 3 mai 2011
3. NOS PROBLÉMATIQUES
• Production, diffusion
• La diffusion broadcast est dépendante du réseau
• Des problématiques avec certains matériels récalcitrants
• Internet
• Accès et gestion des logs par les développeurs
• D’une manière générale, le traitement des logs
mardi 3 mai 2011
5. MA COMPRÉHENSION
a pour objet l’extraction
d’un savoir ou d’une
connaissance à partir de
grandes quantités de
données
• Définition commerciale : « Only Splunk enables you to search, report,
monitor and analyze streaming and historical data from any source. »
• Ma définition technique : « outil de log mining - une
spécialisation du data mining. »
mardi 3 mai 2011
6. CONCRÈTEMENT
• Splunk est un outil qui va lire des données (logs), les indexées,
et permettre aux utilisateurs des les consulter, analyser, et
éventuellement de faire des (jolis) rapports graphiques
mardi 3 mai 2011
7. LE GLOUTON SPUNK
• Techniquement illimité sur les canaux d’entrées
• Mais... doit
comprendre un minimum le contenu (cette
compréhension est apportée par l’administrateur)
mardi 3 mai 2011
8. QUE MANGE T’IL
• Par défaut, splunk reconnait un certain nombre de formats
(syslog, log4j, access/combined, etc.), qu’on appelle
sourcetype
• On peut créer ses propres sourcetypes
mardi 3 mai 2011
9. COMMENT LE NOURRIR
localement, ou via un agent
• Des données locales (fichiers)
• fichiers logs
• filemonitor (metadata et contenu du fichier)
• Des sockets TCP/UDP (syslog)
• Des scripts
mardi 3 mai 2011
10. COMMENT AVALE T’IL ?
• une sourcetype (déjà vu)
• une source (par exemple le nom du fichier)
• un hostname (statique ou dynamique)
• un timestamp
• d’autres champs, en fonction du sourcetype
mardi 3 mai 2011
11. LES SOURCETYPES
• En fonction du sourcetype, splunk est capable d’identifier
quelques champs
• Le programme, le level (syslog)
• l’adresse IP du client, le UserAgent (apache combined)
• Il est possible de créer ses propres champs
• Via fichier de configuration
• Via la WebUI
mardi 3 mai 2011
19. LA LIGNE DE RECHERCHE
• Une ligne de commande spécialisée pour la recherche des
différents événements
• Un mix entre shell/awk/sed, très unix way
• complétion / aide à la volée
mardi 3 mai 2011
20. LA WEBUI
• Une fois la recherche connue, il est possible de modifier
complètement l’interface Web de Splunk, aussi bien dans sa
forme que son contenu
• dashboard spécialisés, une liste de recherche prêtes à
l’emploi
• CSS, images personnalisées
mardi 3 mai 2011
22. ARCHITECTURE
• Splunk est écrit majoritairement en Python
• Un package ou un tarball est disponible, embarquant son
propre interpréteur python (peu pour ne pas dire pas de
dépendances systèmes)
• Une ligne de commande très complète (permet d’automatiser
son installation)
• Une API REST est disponible, permettant l’utilisation de Splunk
depuis des applications tierces
mardi 3 mai 2011
23. AUTHENTIFICATION
• Plusieurs méthodes d’authentification sont possibles
• Interne
• LDAP
• REMOTE_USER
mardi 3 mai 2011
25. RTL : NOS PROBLÉMATIQUES
• Production, diffusion
• La diffusion broadcast est dépendante du réseau
• Des problématiques avec certains matériels récalcitrants
• Internet
• Accès et gestion des logs par les développeurs
• D’une manière générale, le traitement des logs
mardi 3 mai 2011
26. POURQUOI SPLUNK ?
• Production, diffusion
• Injection des logs des équipements réseaux
• Internet
• Installation de forwarder sur les serveurs de production
• Injection des autres syslog
mardi 3 mai 2011
27. RTL, SYSLOG
• Indexation de tous les logs recus par rsyslog
• Un dossier par nom de machine, un fichier par jour
• On utilise le nom du dernier dossier pour définir le
hostname dans Splunk
mardi 3 mai 2011
28. RTL, SYSLOG
• Equipements Reseaux: Il arrive que des alimentations (voire
des modules) se mettent à flapper
• Une recherche sur "powered off" sur les logs des dernières
24h
• Condition sur le nombre d’occurrence
• Si une nouvelle occurrence, notification par mail
mardi 3 mai 2011
29. RTL, SYSLOG
• Quelques autres recherches
• flapping BGP
• flapping des interfaces réseaux (top, rare)
• Violation de restriction d’un port réseau (limité à n MAC
adresses)
mardi 3 mai 2011
30. RTL
RETOUR DES UTILISATEURS
"Splunk nous permet de voir en temps réel les messages de la
plateforme de production sans déranger les personnes en
charge de la production, et donc une meilleure réactivité sur
les problèmes éventuels"
mardi 3 mai 2011
31. LE FUTUR DE SPLUNK A RTL
• Indexation des logs des applications liés à la production et a la
diffusion
• Des indicateurs métiers
• Une supervision technique
mardi 3 mai 2011
32. EJBCA
• Une des autorités de confiance les plus utilisées
industriellement
• Génère plusieurs millions de certificats (passeports,
carte d’identité, etc.)
• Développé par des techniciens
• Très peu (pour ne pas dire aucun) rapport métier
• Des logs très techniques
mardi 3 mai 2011
33. EJBCA
• Mon objectif : création d’une application EJBCA
• Tout est fait par fichier de configuration, plutôt que par
l’interface (et donc stockée en base)
• Fournir une vision métier, plus que technique
mardi 3 mai 2011
34. EJBCA
• Exemple de vue métier fournie par l’application
mardi 3 mai 2011
35. EJBCA
• Activité des administrateurs
•| stats count(ejbca_event) BY ejbca_admin
• ejbca_event="ADDEDENDENTITY" | stats count
(ejbca_event) BY ejbca_admin
mardi 3 mai 2011
36. EJBCA
• Utilisation de table de mapping externe
• Script ou fichiers CSV
•|lookup ejbca-ca-names ejbca_caid OUTPUT
ejbca_caname
• Avant, uniquement un champ ejbca_caid cryptique
(499446711)
• Grâce à lookup, nouveau champ ejbca_caname
(exemple : asydca)
mardi 3 mai 2011