Splunk : le collecteur universel de logs
J’ai récemment eu l’occasion de tester Splunk, un collecteur de journaux et un moteur de recherche puissant fonctionnant au travers d’une interface web simple.
Présentation du logiciel
Splunk permet de collecter les journaux des différents équipements d’une infrastructure informatique (serveurs Linux/Windows, pare-feu, applicatifs…). Sa grande force est de pouvoir indexer tout type de données, quel qu’en soit l’origine : un fichier local, un fichier écrit en permanence (live), un port réseau, et tout ce qui est imaginable via des scripts Python.
Cela permet de pouvoir grapher, analyser et rechercher toutes les données d’un Système d’Information en temps réel et ainsi trouver rapidement les incidents de sécurité, suivre les processus d’applications et analyser le trafic réseau. Côté reporting, Splunk permet de planifier des recherches, de mettre en place des alertes sur des événements et fournit des rapports détaillés paramétrables.
Fonctionnement du logiciel
L’installation n’est qu’une formalité, rendue aisée par disponibilité de paquets pour bon nombre de systèmes d’exploitations : Linux (deb, rpm et tgz), FreeBSD, Solaris, AIX, OSX et Windows.
L’application est conçue autour d’apps, sorte de plugins qui se téléchargent et s’installent pour surveiller des équipements génériques (plateformes Unix, Linux et Windows, compte IMAP, POST et GET de pages internet, trafic multicast) ou plus spécifiques : Cisco, Blue Coat, F5 et même Nabaztag !
En pratique, Splunk base son processus d’authentification sur une liste interne d’utilisateurs mais peut être couplé à un serveur LDAP avec un mapping des différents champs. La granularité des droits d’accès est excessivement fine puisqu’il est possible de gérer des rôles (admin, can_delete, user) et de définir pas moins d’une quarantaine de droits !
Splunk peut par exemple indexer en temps réel les logs d’un service Linux (Apache, SSH…) via un partage réseau, les remontées syslog de différents équipements sur le port UDP/64, les journaux Windows par l’ajout d’un plugin sur les serveurs distants…
Splunk s’interface aussi très bien avec les solutions de virtualisation ESX ou les serveurs Windows. Suivez le guide !
La quantité de logs collectés est couplée à un outil de recherches relativement pointu. C’est le but de l’apps « Search » qui permet grâce à sa syntaxe de lancer des recherches évoluées sur plusieurs critères.
Trier les résultats en fonction des valeurs « src » ou « dst » :
src= »10.9.165.* » OR dst= »10.9.165.8″Rechercher les évènements avec le code 10 ou 29, avec un hôte qui n’est pas « localhost » et avec un xqp supérieur à 5 :
(code=10 OR code=29) host!= »localhost » xqp>5Rechercher les évènements contenant « 404″ en provenance de « webserver1″ :
404 host= »webserver1″
Le résultat est présenté graphiquement sur une timeline qui s’ajuste automatiquement à la période mettant en avant le nombre d’alertes par heure, jour, semaine, etc.
« Forwarding and receiving » : le logiciel autorise aussi des configurations plus complexes en permettant à chaque serveur Splunk de rediriger tout ou partie des données qu’il collecte vers un autre serveur Splunk.
Côté licensing
Splunk n’est pas un logiciel libre et fonctionne de base avec une licence gratuite de 60 jours autorisant un volume de données collectées de 500MB par jour. Au delà de ce délai, il est possible de prolonger sa licence gratuitement ou d’évoluer vers l’offre Enterprise dont le coût est fonction du volume de données collectées.
Pour recevoir les données d’autres serveurs en mode « forwarding and receiving », un serveur Splunk doit fonctionner avec une licence professionnelle.
Quels sont les utilisateurs potentiels de Splunk
D’un avis personnel, ce logiciel s’adresse d’avantage aux grandes structures dont la quantité de journaux est très importante et dont la variété d’informations est structuré de manière différente. Si seules les remontées SYSLOG vous intéressent, mieux vaut se tourner vers les logiciels spécifiques qui existent…
Et c’est un peu ce qui m’a surpris. Au lieu de découvrir un syslog-ng permettant de facilement identifier facility et criticity, je me suis retrouvé face à un logiciel très puissant avec une tout autre approche de la collecte de données.
Alors en résumé :
Avantages :
- déploiement facilité par la disponibilité de paquets pour les principales distributions Linux
- langage dédié pour les recherches qui permet des requêtes avancées
- prise en compte d’un nombre important de type de logs
- SplunkBase, une base de connaissance très riche (paramétrage, résolution d’incidents)
Inconvénients :
- temps nécessaire pour une bonne prise en main
- interface en anglais (peu en rebuter certains)
La centralisation de données de nature et de structure différentes facilite grandement le processus de datamining Elle permet également de corréler avec une grande précision plusieurs évènements/incidents sur une architecture informatique. Splunk s’inscrit directement dans cette démarche.
Les articles sur le même sujet :
Tags logiciel, monitoring + Dans la catégorie Actu libre


Merci Sidney pour votre engouement pour Splunk.
A propos du « Licensing », je voulais apporter une petite précision.
Splunk a toujours offert une version gratuite du produit et nous lançons la version gratuite pour Splunk 4.0 à la fin du mois d’Octobre.
Merci encore pour votre soutien.
Nous portons grand interet à vos commantaires et si vous avez d’autres questions ou suggestions, n’hésitez pas à me contacter directement.
Lionel Hartmann
–> Mon adresse de courrier électronique est:
mon prénom, arrobase, splunk, point com.
Merci d’avoir pris le temps de réagir à cet article. Splunk est un véritable outil d’entreprise qui gagne à être connu.
À l’occasion, n’hésitez pas à nous faire savoir combien de développeurs emploie Splunk, votre place au sein de la structure éditrice…