Cas Utilisateur

ERDF à Elastic{ON} Tour à Paris

La conférence utilisateur Elastic{ON} Tour s’est déroulée à Paris le 5 novembre 2015. Cet évènement rassemblait experts, partenaires et utilisateurs des solutions Elasticsearch, Logstash et Kibana dans un seul et même lieu !

Cette année, plusieurs sociétés sont montées sur scène pour partager leur expérience. Vladislav Pernin, Architecte chez ERDF, a présenté comment ils ont mis en place un système de centralisation des logs à l’échelle de l’entreprise.

elasticon_tour_vladislav_pernin_on_stage.png

Dès 2011, ERDF a fait le constat que, dans le contexte d’une architecture distribuée et asynchrone avec de nombreux serveurs et un accès limité, il était indispensable d’entamer un projet de centralisation des logs. L’objectif est d’obtenir une vue d’ensemble de l’activité et de la performance des machines tout en ayant une capacité accrue de détection et d’analyse des erreurs. Comme le rappelle justement, Vladislav Pernin, ce type d’utilisation d’Elasticsearch n’était pas encore courant à l’époque et il a dû considérer de nombreuses options pour construire une architecture technique.

La cible était une solution robuste et évolutive, simple à mettre en place, permettant d’accéder aux logs facilement et sans perte. Ainsi, depuis 4 ans, ERDF utilise une nouvelle architecture dans laquelle chacun des 900 serveurs d’ERDF dispose d’un agent Logstash qui effectue des “tails” sur les fichiers avant de les envoyer vers un broker de messages Kafka. Les logs à très forte vélocité sont directement streamés vers Kafka étant donné la charge CPU trop importante de Logstash sur des throughputs importants. Puis, ils sont poussés vers un cluster Logstash qui les découpe, les route et les pousse vers un cluster Elasticsearch. ERDF a aussi développé sa propre interface homme machine (IHM) pour visualiser les métriques souhaitées.

Dans sa présentation, Vladislav Pernin, offre également un retour d’expérience détaillé à propos de chacune des briques de cette architecture. Il insiste sur le fait que malgré des problèmes de jeunesse concernant notamment des pertes possibles de messages, heureusement corrigés dans les nouvelles versions, Logstash est fonctionnellement riche et qu’il est le seul à savoir faire un « tail intelligent », à savoir, capable de gérer les multi-lignes, la rotation de fichiers et la découverte de nouveaux fichiers. D’autre part, il considère Elasticsearch comme un outil mature qui jouit d’une communauté active et d’une bonne documentation même s’il requiert un certain niveau d’expertise. Il tempère néanmoins ses propos en regrettant un temps de recovery trop long qui s’avère problématique en cas de maintenance sur le cluster, ou encore, la complexité à définir correctement les mappings au-delà des valeurs par défaut.

En ce qui concerne la performance d’Elasticsearch, il ajoute que ERDF peut désormais « faire des recherches sur des centaines de millions de logs en quelques millisecondes » et que « le taux de compression est vraiment très efficace ». En effet, 1 milliard de documents sont stockés sur le cluster et ne représentent pas plus de 300 Go de stockage. Aussi, il indique qu’il existe un support unifié pour Logstash et Elasticsearch en prenant une souscription.

Finalement, il conclut son discours sur quelques remarques. Il précise notamment que la mise en place d’un système de centralisation des logs, apporte beaucoup de transparence sur la qualité des applications et des logs, obligeant alors à unifier leur structure et à les enrichir.

Pour plus d’informations, vous pouvez visionner sa présentation en cliquant ici.