monsitj - Fotolia

Splunk veille sur les salles de marché d'Engie

Dans les salles de marché du groupe Engie, la disponibilité et les performances de l'application de trading sont critiques. Pour assurer la surveillance de son infrastructure informatique, Engie Global Markets a fait le choix de Splunk.

En 2016, ses traders ont acheté ou vendu l'équivalent de 16 635 TWh. Que ce soit de l'électricité, du gaz, du pétrole, du charbon, la salle de marché d'Engie Global Markets (anciennement GDF Suez Trading) agit pour le compte de 350 clients internes et externes au groupe Engie, présents dans une quarantaine de pays. Cette filiale d'Engie emploie plus de 400 personnes et dispose d'un système d’information autonome.

Le cœur de l'activité de l'entreprise est bien évidement son application de trading, Chronos. De sa disponibilité et de ses performances dépendent très directement l'activité des 4 "trading floors" d'Engie Global Markets. Pour assurer la disponibilité de cette application, Gabriel Dausque, ancien développeur .Net passé DevOps a fait le choix de la solution Splunk : "J’ai longtemps travaillé sur l’outil d’analyse de risque et de valorisation de la salle de marché qui disposait d’un outil de monitoring où nous centralisions les logs. Dans le cadre de la modernisation de cette application, nous avons souhaité disposer d'une infrastructure qui puisse exposer un service de log management et qui offrirait pour l’ensemble des applications le même niveau de qualité que ce que nous avions pu atteindre pour cette application."

Un outil d'analyse des logs pour l'application de trading

La nouvelle application de trading, Chronos, arrivait pour remplacer l'ancienne application de trading qui avait plus de quinze ans d'existence et qui posait des problèmes de performance. "C'est une application extrêmement critique pour une salle de marché. Or Chronos est une application complexe, distribuée et sur laquelle il est nécessaire de faire de la concentration et de la corrélation des logs pour faire du diagnostic. La mise en production de notre nouvelle application était conditionnée à la capacité de pouvoir suivre les processus engagés avec un niveau de qualité au moins similaire à ce que nous savions faire avec notre ancienne application."

Deux options s'offrent alors à Gabriel Dausque : soit déployer ELK (aujourd'hui Elastic Stack), soit exploiter Splunk, une solution déjà utilisée en interne mais à très faible échelle. Le seul cas d'usage de Splunk était alors l'analyse des logs BlueCoat par l'équipe de sécurité informatique. "Il fallait prendre une décision rapidement et nous n’avions pas de budget, j’ai donc décidé de faire un ODT (One Day Trip) sur notre ancienne application que je connaissais bien et voir ce qu’il était possible de faire en une journée."

L'ex-développeur qui ne connaissait ni Splunk, ni ELK, s'est fixé comme objectif de mettre en place un premier tableau de bord présentant le nombre de logs, de debug, d'erreurs en une journée seulement. "Splunk m'est apparu comme étant le meilleur choix. La montée en compétence sur Splunk est extrêmement rapide puisqu'en moins d'une demi-journée, j'avais créé mon tableau de bord contre une bonne journée de travail pour parvenir au même résultat avec l'autre solution."

Un déploiement réalisé en un seul sprint

La suite allait donner raison à Gabriel Dausque puisque le développement des tableaux de bord de Chronos ont finalement représenté 3 semaines de travail, soit un seul sprint, alors que cela avait représenté un an de développements spécifiques pour l'application précédente. Comme l'administrateur Splunk ne disposait pas de budget pour acheter de nouveaux serveurs, Splunk a initialement été mis en œuvre sur des serveurs "recyclés".

"J'ai récupéré des serveurs très hétérogènes, avec certaines machines capables d'absorber beaucoup de flux et d'autres beaucoup moins. L'idée a été de répartir les flux en fonction des capacités de chaque serveur." Au départ, la configuration retenue comprenait un serveur indexeur et un serveur "Search Head". Aujourd'hui, la configuration mise en œuvre compte 4 indexeurs dont un qui stocke jusqu'à 25 To de données. La configuration est aujourd'hui en phase d'industrialisation et le serveur "Search Head" sera prochainement remplacé par un cluster VMware. Actuellement, la configuration mise en place s'appuie sur environ 800 forwarders (agents de collecte de données) Splunk, avec de 110 à 120 Go de données générées chaque jour. La plateforme compte entre 50 et 60 utilisateurs réguliers.

Du "log management" au Big Data, il n'y a qu'un pas

Depuis sa mise en place, les usages de Splunk se sont élargis au suivi des autres applications de l'entreprise et l'outil est utilisé pour faire du "Trouble Shooting". Ainsi, Gabriel Dausque évoque l'épisode d'un incident significatif sur le volet reporting de la salle de marché : "Un matin, nous avons eu à déplorer des crash récurrents sur Microsoft Analysis Services qui ne pouvait plus générer de cubes. Dans ce genre de situations, les échanges entre développeurs et responsables d'infrastructure ne sont pas simples. Les développeurs pointent l'infrastructure comme la source du problème et l'infrastructure répond que tout fonctionne bien. Pour sortir de cette opposition frontale, j'ai écris une requête Splunk. Cela m'a pris une quinzaine de minutes et j'ai pu faire la corrélation entre les erreurs applicatives et les erreurs Microsoft qui indiquaient des droits inadéquats lors des connexions. Au bout d'une demi-heure, la salle de marché a pu reprendre son activité normale." Splunk a permis d'accélérer l'investigation du problème, mais aussi de faciliter la collaboration entre "dev" et "infra". Un outil précieux dans l'approche DevOps.

Engie Global Markets exploite également la solution Splunk ITSI (IT Service Intelligence). Celle-ci lui a permis de mettre en place des indicateurs synthétiques sur la santé du système d'information. Avec les "Glass Tables", Splunk propose une représentation arborescente de l'ensemble des composantes de l'infrastructure. L'application permet de fixer des seuils d'alerte et affiche des notes de synthèse quant à l'état de santé du SI. Il est toujours possible d'effectuer des drilldowns dans les arborescences pour identifier rapidement la source d'une baisse de performance. Un outil intéressant pour proposer des indicateurs synthétiques aux managers.

 "Quand j'ai démarré la plateforme Splunk, je l'ai vraiment considérée comme une plateforme de log management, mais très rapidement il m'est apparu évident qu'il s'agissait d'une véritable plateforme Big Data capable de gérer une grande hétérogénéité des données."

Pour l'administrateur Splunk, la solution peut potentiellement voir ses usages élargis aux métiers. "Ce n'est pas encore le cas chez EGM, mais il est évident que Splunk pourrait très bien être utilisé comme outil prédictif pour calculer le PNL (Pertes et Profits) des traders par exemple. Pour moi, la prochaine grosse étape dans notre déploiement de Splunk sera d'étendre les usages de la plateforme aux métiers, et ne plus les limiter à la seule IT", conclut d'administrateur Splunk.

Pour approfondir sur Base de données

Close