Upload
bruno-bonfils
View
2.341
Download
4
Embed Size (px)
DESCRIPTION
Citation preview
SPLUNK CHEZ RTLBruno Bonfils, <[email protected]>Responsable système et réseaux
Mardi 21 Septembre 2010
mardi 3 mai 2011
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
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
PRÉSENTATION TECHNIQUE DE SPLUNK
mardi 3 mai 2011
MA COMPRÉHENSION
• 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. »
a pour objet l’extraction d’un savoir ou d’une connaissance à partir de grandes quantités de données
mardi 3 mai 2011
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
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
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
COMMENT LE NOURRIR
• Des données locales (fichiers)
• fichiers logs
• filemonitor (metadata et contenu du fichier)
• Des sockets TCP/UDP (syslog)
• Des scripts
⇒ localement, ou via un agent
mardi 3 mai 2011
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
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 WebUImardi 3 mai 2011
SPLUNK, SON UTILISATION
mardi 3 mai 2011
mardi 3 mai 2011
mardi 3 mai 2011
mardi 3 mai 2011
LA WEBUI
mardi 3 mai 2011
LA WEBUI
mardi 3 mai 2011
LA WEBUI
mardi 3 mai 2011
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
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
INTÉGRATION DE SPLUNK DANS UN SI
mardi 3 mai 2011
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
AUTHENTIFICATION
• Plusieurs méthodes d’authentification sont possibles
• Interne
• LDAP
• REMOTE_USER
mardi 3 mai 2011
MES CAS D’UTILISATIONRTL
EJBCA
mardi 3 mai 2011
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
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
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
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
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
RTLRETOUR 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
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
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
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
EJBCA
• Exemple de vue métier fournie par l’application
mardi 3 mai 2011
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
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