Hands-On Workshop Elasticsearch MAI 2015 Stack ELK, quoi de neuf? Oxalide 25 boulevard de Strasbourg 75010 Paris France 01 75 77 16 66
Paris - 26 mai 2015 - Hôtel Renaissance de La Défense à Paris : "Hands-on Workshop" avec l'équipe d'elasticsearch autour de la fameuse stack ELK. 1 Elasticsearch, Logstash, Kibana Dans l'ordre, Logstash réceptionne les logs en provenance de diverses sources comme les access.log Apache, les fitre à votre convenance puis les envoie dans Elasticsearch, un moteur d'indexation. Enfin Kibana, une interface web, utilise l'api REST d'elasticsearch pour fournir des dashboards analytiques avec les résultats de la requête. Oxalide connait bien la stack ELK depuis ses premières versions (Kibana 1, Elasticsearch 0.90.2). De nos jours avec Kibana 3, nous l'exploitons à son maximum pour nos usages internes (surveillance, sauvegarde, réseau), mais aussi avec nos clients pour l'analyse de leurs applications métiers. Depuis la version 1.0, Elasticsearch intègre les agrégations de résultats pour pousser encore plus loin les analyses de données. Il s'agit en fait de pouvoir réaliser des filtres de filtres comme par exemple, récupérer la répartition homme/femme, puis par tranche d'âge, puis par pays etc. La conception de Kibana 3 ne permettant pas une intégration facile de cette nouveauté, il a fallu complètement revoir son architecture : ainsi naquit Kibana 4.
2 Au revoir grep, bonjour Logstash De nos jours, vos logs peuvent provenir de n'importe où : serveur web, framework, RabbitMQ ou encore Amazon. Qui ne s'est jamais arraché les cheveux avec les différents formats de dates ou des expressions régulières imbuvables pour obtenir des informations pertinentes de nos logs? Logstash vous simplifie la vie en fournissant un nombre important de filtres pratiques et personnalisables pour faire correspondre au mieux vos besoins d'analyses avec vos logs. Dans les précédentes versions de Logstash, il fallait faire attention à la connectivité en cas de panne avec un nœud Elasticsearch. Désormais, vous pouvez exploiter les informations de votre cluster ES pour conserver une connectivité permanente même en cas de panne d'un nœud. Les conditions sont également une grande nouveauté de Logstash qui vous permettront de facilement appliquer certains filtres à certains logs. On peut alors facilement mettre en place un système d'alertes par email, par exemple en cas de détection d'une erreur 500 dans vos logs apache.
3 Elasticsearch still in the place On ne présente plus ce moteur d'indexation sur le devant de la scène open source depuis maintenant 3 ans. Sa facilité de configuration dans la mise en place d'un cluster hautement performant et tolérant en panne lui permet une scalabilité horizontale sans limite. Au fur et à mesure que votre infrastructure augmente, la quantité de logs augmente. Il vous suffit de rajouter un serveur ES pour immédiatement améliorer la capacité du cluster entier. Parmi les dernières nouveautés, on trouvera la possibilité de faire des snapshots incrémentaux de vos index, ou encore les "shadow replicas" qui permettent d'exploiter plus efficacement les systèmes de fichiers dédupliqués. Côté plugins, le Shield apporte une couche de sécurité à Elasticsearch, tandis que Watcher, fraichement sorti, vous permettra de faire de l'alerting. Elasticsearch n'est donc plus seulement un moteur d'indexation, il devient peu à peu un véritable écosystème qui peut fonctionner de manière totalement indépendante des autres services de votre infrastructure.
4 Et la cabane est devenue une maison... Kibana 3 est une interface web à la sauce Bootstrap/AngularJs. Un des inconvénients de ce modèle était l'exposition directe du backend Elasticsearch au client. Il était alors difficile de fournir des fonctionnalités avancées telles que l'export PDF, l'authentification, ou encore les restrictions d'accès aux index ES. Kibana 4 possède maintenant sa propre partie serveur. Pas d'inquiétude, vous n'avez pas besoin d'un serveur puissant supplémentaire, il ne s'agit que d'un "passe-plat" entre l'interface Web (front) et la base Elasticsearch. Le simple fait d'avoir rajouté un backend à Kibana permet immédiatement la mise en place des fonctionnalités citées précédemment. Le plus intéressant en terme de sécurité est qu'il n'est donc plus nécessaire de rendre le cluster Elasticsearch accessible aux clients. D'un point de vue utilisateur, l'interface a été revue pour utiliser plus agréablement les agrégations de données proposées par Elasticsearch. Les dashboards sont moins "statiques" tels de simples pages web pré-configurées, vous pouvez dynamiquement créer des vues ou des scripts puis les partager entre dashboards.
5 Pour conclure Donnez donc de la valeur à vos logs. La stack ELK plaira autant aux développeurs, aux administrateurs systèmes ou encore aux commerciaux et marketeux. Suivez les évènements de votre infrastructure ou les impacts de la mise en production de la nouvelle version de votre site web en temps réel. Kibana 4 est toujours très activement en développement. Si vous commencez l'aventure, ne perdez pas de temps avec Kibana 3 d'une conception totalement différente. Si vous possédez déjà une stack ELK avec Kibana 3, faites bien l'étude des fonctionnalités de Kibana 4 avant de sauter le pas, surtout si vous ne comptez pas utiliser les agrégations qui sont l essence même de cette version. Chez Oxalide, nous réalisons des ateliers avec nos clients pour répondre à leurs besoins d'analyses de données, autant sur la partie infrastructure que métier. Nous surveillons donc le sujet de près, pour nous et pour nos clients, pour tirer parti au mieux de cette merveilleuse stack ELK qui a encore de beaux jours devant elle. Jérémy ITWO chez Oxalide