Graylog 2.2.0 est disponible

Graylog est disponible depuis quelques jours en version 2.2.0. Pour cette release, le focus a été mis sur l’amélioration de 4 fonctionnalités : la rétention des données, les alertes, le système de pipeline et enfin le collector sidecar.  Pour télécharger cette nouvelle version, je vous invite à vous rendre sur le site officiel.

Vous retrouvez plus d’informations sur les nouveautés dans le précédent article.

Présentation des nouveautés de Graylog 2.2

La prochaine version stable de Graylog sera la 2.2 et apportera plusieurs nouveautés. Cette version 2.2 est pour le moment en version beta : il est possible de la tester en utilisant une image OVA ou un script docker-compose (voir ici). Voici quelques détails sur les nouveautés :

Une page listant les alertes :

Une nouvelle page fait son apparition dans le menu permettant d’accéder à la liste des alertes qui ont été levées. Pour chacune des alertes, on trouvera un détail et le statut permettant de savoir si l’alerte est toujours d’actualité ou non.

La gestion « d’index set » :

Actuellement la rétention se configure de manière globale pour l’ensemble des logs. Avec la version 2.2, il sera possible de créer plusieurs « index set » permettant de configurer des règles de rétention différentes. Idéal si vous souhaitez par exemple conserver les logs de prod pendant 3 mois et les logs de dev/préprod pendant 15 jours seulement.

A la création d’un stream, il faudra spécifier l’index set qui sera à utiliser.

De meilleures performances pour les pipelines :

Les développeurs de Graylog ont améliorer le système des pipelines afin d’accélérer les traitements.

 

Voici une vidéo qui fait le tour des fonctionnalités de Graylog 2.2 :

Graylog est disponible en version 2.0

Le développement de Graylog a débuté en 2010 et ressemblait à ceci en version 0.9.x :

Aperçu d'écran Graylog2 dans ses premières versions

Aperçu de Graylog2 dans ses premières versions.

Aujourd’hui, Graylog est disponible en version 2.0 et ressemble plutôt à cela :

Dashboard Graylog 2.0

L’équipe en charge du développement a su améliorer l’outil au fur et à mesure en écoutant les besoins de la communauté des utilisateurs. Cette nouvelle mouture en version 2.0 apporte de nombreuses nouveautés. Voyons les améliorations disponibles :

Elasticsearch 2.0

Le stockage des logs est assurés par Elasticsearch qui était jusqu’à présent en version 1.x. Pour tirer profit des dernières nouveautés d’Elasticsearch 2, il vous faudra mettre à jour votre cluster. Une documentation (en anglais) est disponible pour l’upgrade.

Le serveur et l’interface Web ne font plus qu’un

Actuellement, il fallait installer la brique serveur ET la brique interface web. Désormais, l’ensemble des fonctionnalités sont disponible dans un seul package ce qui offre plusieurs avantages :

  • une installation plus simple à réaliser
  • une réécriture complète de l’interface web en react.js qui a permis d’enlever des limitations/bugs qui existaient dans la précédente version
  • la possibilité d’étendre les fonctionnalités de l’interface web grâce aux plugins

Tail -f et messages du contexte

Deux nouveautés étaient très demandées : la première correspondant à l’équivalent de la commande shell « tail -f » pour avoir un rafraîchissement automatique de la page afin d’avoir les derniers messages. La deuxième permet d’afficher les messages qui entourent un log précis : cela permet d’en savoir plus sur le contexte dans lequel se trouve le log en question.

L'équivalent du tail -f

L’équivalent du tail -f : il est possible de configurer la durée en haut de l’écran

graylog_surroundingmessages

L’option « surrounding message » permet d’afficher les messages enregistré avant et après

GeoIP et Map Widget

Grosse nouveauté là aussi, il est possible dans cette nouvelle version de mapper automatiquement une adresse ipv4 ou ipv6 avec une position géographique (latitude, longitude). Cela se fait en configurant le plugin « GeoIP resolver » (installé de base). Pour cela, il vous faudra :

  • télécharger la base de données sur le serveur dans le dossier de votre choix. Base de données que vous pouvez trouver ici.
  • activer et configurer le plugin GeoIP resolver en spécifiant le chemin sur disque e la base de données
  • et c’est tout 🙂

Configuration du GeoIp resolver plugin

graylog_pluginworldmap

Pipeline de messages

Le pipeline de messages est une grosse nouveauté qui permet de configurer depuis l’IHM le routage des messages. Il est possible de configurer des règles pour masquer certains champs comme des numéros de CB, de blacklister certains messages, de router selon vos propres règles les messages dans des streams, …

L’objectif est de simplifier les différents outils qui existaient actuellement à différents endroits comme les extracteurs, les règles drools, les règles pour les streams, …

C’est une partie qui est encore jeune et qui devrait évoluer dans le bon sens dans les prochaines mises à jour. Cette nouvelle fonctionnalité mérite un article complet.

Graylog Entreprise

Il est intéressant de noter également que cette version 2.0 marque également le lancement du premier plugin commercial : un plugin d’archivage. Rassurez-vous, Graylog est et reste open-source et la société derrière Graylog compte bien continuer à ajouter des fonctionnalités au fur et à mesure. Mais pour répondre au besoin des grandes entreprises, certains plugins plus poussés pourront être payant. Actuellement, la partie Entreprise est facturée USD $1,500 par an et par instance de graylog-server.

graylog_entreprise

 

Pour finir, vous retrouverez les liens de téléchargement sur cette page.

Vous pouvez également tester très rapidement cette nouvelle version avec Docker :

$ docker run --name some-mongo -d mongo
$ docker run --name some-elasticsearch -d elasticsearch elasticsearch -Des.cluster.name="graylog"
$ docker run --link some-mongo:mongo --link some-elasticsearch:elasticsearch -d graylog2/server

 

RunAbove (OVH) lance un lab Paas Logs utilisant Graylog

RunAbove est le laboratoire technologique du groupe OVH chargé de transformer des idées en solutions techniques efficaces et répondant aux besoins des clients.

Dès lors qu’un nouveau produit est prêt à être testé, il est proposé sous forme de « lab » aux utilisateurs qui peuvent alors le tester gratuitement (il faut juste créer un compte sur la plateforme RunAbove). Après une période de plusieurs mois, l’équipe RunAbove peut décider en fonction des retours des utilisateurs de fermer le lab s’il ne répond pas au besoin initial ou de le transformer en produit OVH.

runabove_lifecycle

Actuellement, 10 labs sont proposés sur la plateforme RunAbove dont un dédié à la gestion des logs. Ce lab nommé « Paas Logs » utilise tout le potentiel de Graylog ! Une option permet même d’utiliser Kibana pour pouvoir créer des dashboards plus visuels.

paaslogs_schema

Pour tester cette solution, vous devrez au préalable créer un compte sur RunAbove en cliquant ici puis une documentation très complète vous accompagnera pas à pas pour envoyer vos premiers logs dans le cloud et ouvrir votre accès à Graylog.

Depuis votre compte RunAbove, vous allez pouvoir créer un utilisateur : le login et mot de passe vous permettront d’accéder à l’interface Graylog. L’interface vous permettra ensuite de configurer les Streams, Inputs, Dashboards, … Pour ce lab, il n’est pas possible de créer plus d’un stream ou plus d’un dashboard.

paas_logs_home

L’étape suivante consiste à créer un Stream : un token vous sera attribué et il devra être envoyé avec chaque log pour être routé dans le bon stream. Les logs peuvent être envoyés au format GELF, LTSV, RFC 5424 ou Cap’n’Proto.

paas_logs_create_stream

Exemple pour envoyer un log au format GELF en ligne de commande :

echo -e '{"version":"1.1",  
"_X-OVH-TOKEN":"d93eee2a-697f-4bac-a452-705416b98a04", 
"host": "example.org", 
"short_message": "A short message", 
"full_message": "Backtrace here\n\nmore stuff", 
"timestamp": 1385053862.3072, 
"level": 1, 
"_user_id": 9001, 
"_some_info": "foo", 
"some_metric_num": 42.0 }\0' | 
openssl s_client -quiet -no_ign_eof -connect laas.runabove.com:12202

Vous pouvez également depuis l’écran principal créer un dashboard, gérer des alertes sur vos streams pour être prévenu en cas de problème, créer des inputs pour logstash ou flowgger, …

RunAbove utilise toute la puissance des API proposées par Graylog pour créer automatiquement les users, les streams avec la règle de routage sur le X-OVH-TOKEN, les dashboards, … Vous avez ensuite accès à vos logs à l’adresse https://laas.runabove.com/graylog/login avec votre compte utilisateur initialement créé.

paas_log_graylog

Pour ceux qui le souhaite, il est également possible d’activer une option pour Kibana. En installant alors Kibana sur votre serveur web, vous pourrez le configurer pour se connecter directement à votre compte sur le lab Paas Logs de RunAbove et ainsi visualiser vos données sous toutes les coutures.

Cette solution est idéale pour ceux qui ne souhaite pas gérer les serveurs et l’installation de Graylog mais qui veulent malgré tout pouvoir centraliser les logs, les consulter facilement et être alerté en cas de problèmes. Pour le moment, le test est gratuit. Nous verrons d’ici quelques mois si cette solution imaginée par RunAbove rencontre le succès qu’elle mérite et si elle passe en production chez OVH. Restera alors à voir le coût d’une telle solution.

 

 

Graylog v2.0 disponible en bêta.1

Après plusieurs version alpha, Graylog 2.0 arrive en version bêta. On est proche de la version finale mais quelques bugs peuvent encore exister. Parmi les nouveautés, on retrouve certaines améliorations déjà évoquée dans un précédent article :

  • Le rafraîchissement automatique des résultats (comme un tail -f)
  • La configuration des périodes sur la recherche
  • La configuration de la rotation des index et de la rétention via l’interface
  • L’intégration de Geoip pour obtenir des informations de géolocalisation en fonction d’une IP et ajout d’un widget de type carte géographique

Mais les évolutions sont encore plus complètes avec beaucoup d’autres nouveautés :

  • Le support d’Elasticsearch 2.0
  • Un nouveau système de routage des messages « Pipelines » pour être plus modulaires
  • Un plugin d’archivage (soumis à licence)
  • Un plugin « Collector sidecar » qui aura pour objectif de simplifier la configuration des outils tiers comme nxlog, logstash, …
  • L’affichage des messages entourant un log particulier permettant de voir les messages enregistrés juste avant et juste après à X secondes

Cette nouvelle version se veut résolument plus modulaire : la communauté pourra très facilement étendre les fonctionnalités en développant des plugins.

Le fondateur de Graylog a également annoncé le lancement d’un plugin d’archivage qui ne sera pas open-source. Ce plugin sera payant et permettra à l’équipe de développement de travailler au mieux sur la partie open-source du logiciel. Lennart Koopmann précise par ailleurs que les principales fonctionnalités de Graylog sont et resteront toujours open-source.

 

Tester les nouveautés de Graylog 2.0 avec Docker

Graylog 2.0 est actuellement en phase de développement et depuis début février, il est possible de tester les dernières nouveautés grâce à des releases en alpha-test. Toutes les nouvelles fonctionnalités ne sont pas encore disponible, mais cela permet de tester et remonter d’éventuels bugs aux développeurs.

Actuellement, la 5ème version alpha est disponible en cliquant ici sous forme d’OVA (image virtuelle) ou dans une archive avec le livrable qu’il faut configurer soi-même.

Pour tester, on peut également utiliser Docker. Voici comment procéder :

Pré-requis : vous devez avoir Git et Docker d’installer sur le serveur.


$ # Récupération du Dockerfile 
$ git clone https://github.com/Graylog2/graylog2-images.git
$ cd graylog2-images/docker

$ # Construction de l'image en local
$ docker build -t graylog-server -  < Dockerfile.server

$ # Démarrage des containers pour mongodb et elasticsearch
$ docker run --name some-mongo -d mongo
$ docker run --name some-elasticsearch -d elasticsearch elasticsearch -Des.cluster.name="graylog"

$ # Démarrage du container pour la version alpha de Graylog 2.0
$ docker run --link some-mongo:mongo --link some-elasticsearch:elasticsearch -d graylog-server

Attendez  ensuite quelques secondes que les services démarrent correctement puis vous pourrez accéder à Graylog via l’ip du container : http://<container-ip>:9000

Le login et mot de passe par défaut sont : admin / admin
Pour récupérer l’ip du container, vous pouvez utiliser les commandes suivantes :


$ # Affichage de la liste des containers et des ids
$ docker ps

$ # Affichage des propriétés du container (dont l'ip)
$ docker inspect 

Avec la version alpha-5, vous allez pouvoir tester :

  • le rafraichissement automatique des résultats de recherche
  • le nouveau système de pipeline (je reviendrais dessus dans un prochain article)
  • le nouveau widget affichant une mappemonde