Splunk : une plateforme, plus qu’un logiciel
La grande force de Splunk est son ouverture. Splunk est en effet une plateforme ouverte sur laquelle chacun peut venir bâtir ses propres applications et extensions. Et générer ses propres tableaux de bord.
C’est sans doute là le principal différenciateur entre Splunk et les autres solutions d’agrégation de logs du marché.
Grâce aux API REST exposées par le Daemon Splunk, les développeurs peuvent aisément venir greffer leurs propres logiques, leurs propres analyses, leurs propres enrichissements fonctionnels au cœur de la solution. Que ce soit lors de la collecte, lors de l’exploitation des données stockées ou sur la représentation des informations et les mécanismes d’alertes.
Philippe Bourrel, ancien développeur Splunk chez Umanis aujourd’hui chez Tisséo, explique que cette ouverture permet aux développeurs d’utiliser différents langages selon leurs compétences pour se greffer aux différents niveaux de l’architecture Splunk.
« Par exemple, au niveau de la collecte, nous avons eu l’occasion de développer des scripts Python afin de collecter des données stockées en JSON dans une base ElasticSearch. Dans un même ordre d’idées, nous utilisons nos propres scripts PERL qui sont déclenchés par la fonctionnalité Alerting de Splunk afin de déclencher automatiquement des actions à l’intention de l’outil Nagios. Coté restitution et tableaux de bords, nous avons développé nos propres applications et visualisations à partir des technologies Web classiques (HTML, JavaScript et CSS). »
Splunk fournit en réalité deux mécanismes d’extensions :
Les Splunk Add-Ons : ils enrichissent les fonctionnalités de base du logiciel, soit pour collecter les données, soit pour les analyser, soit pour enrichir le moteur de recherche, soit pour délivrer des recherches pré-définies ou des macros. On trouve par exemple des Add-on pour Checkpoint Opsec LEA, pour Box ou DropBox, pour McAfee, pour Windows, Linux, Unix, AWS, Azure, etc.
Les Splunk Apps : ce sont de véritables applications, avec une interface utilisateur évoluée, reposant sur Splunk. Typiquement, Splunk ES, Splunk ITSI et Splunk UBA sont des Splunk Apps.
Les Apps font souvent appel à (et sont souvent livrées avec) plusieurs Add-ons pour faciliter la collecte et la mise en corrélation des données.
En outre, on notera l’existence d’une App spéciale qui permet de créer et valider vos propres Add-ons : Splunk Add-On Builder.
Splunk : aussi un monde d’apps et de tableaux de bord
Splunk a su surfer sur cette ouverture et les tendances actuelles pour créer un véritable Store d’Apps, la Splunkbase, ouvert à tout son écosystème de partenaires.
Nombreux sont les fournisseurs de matériels ou de logiciels informatiques à proposer des connecteurs et des tableaux de bord préconfigurés pour leurs baies de stockage (Nimble, NetApp, IBM, …), leurs équipements réseaux (Cisco, F5, Palo Alto Networks, Juniper …), mais aussi leurs Cloud (AWS, Azure, …), leurs OS (Linux, Windows, …), leurs ERP, leurs CRM, etc.
Aujourd’hui, plus d’un millier d’Apps et Add-Ons sont ainsi disponibles dans la « Splunkbase ». Ces extensions ne se contentent pas de fournir des fonctionnalités directement exploitables telles quelles mais viennent enrichir tout l’univers Splunk.
Dès lors, les entreprises peuvent combiner les tableaux de bords et les fonctionnalités apportées par ses Apps pour leurs propres développements et dashboards.
« Bien des tableaux de bord que nous avons mis en œuvre n’ont pas été créés ‘from scratch’ mais sont des assemblages d’informations et d’indicateurs livrés par les Apps des constructeurs et des éditeurs » explique Pierre Kirchner, Responsable sécurité des applications et des infrastructures chez Natixis. « Typiquement on exploite les Apps Splunk de nos antivirus, de nos Web Gateways, ou encore les scans de Qualys, etc. Implémenter de telles Apps fournit immédiatement des tableaux de bord prêts à l’emploi ou à être intégrés dans nos propres écrans de surveillance. »