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

 

Rejoindre la conversation

5 commentaires

  1. Bonjour,
    Merci pour ce billet très intéressant, il y a cependant une petite coquille sur les commandes docker. Il faut utiliser –name pour spécifier le nom du container et –link pour le lien dans la dernière commande :
    $ 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
    ++
    Fabien.

      1. Yep, beaucoup plus pratique avec le docker-compose 🙂
        Petite dernière remarque :
        Sur la commande docker avec elasticsearch il faut bien spécifier que l’on prend la version 2 (graylog ne fonctionne pas avec une version 5).
        ++

  2. Bonjour,
    Serait-il possible d’avoir un lien vers un tutoriel complet pour l’installation et la configuration de Graylog2 svp ?
    Et que me conseillez-vous pour envoyer les logs d’une machine Windows vers le serveur Graylog ? (J’ai trouvé NxLog mais je ne connais pas)
    Merci beaucoup,
    Cordialement,
    Sébastien

    1. Bonsoir Sébastien,
      Tu trouveras les informations pour l’installation sur la doc officielle (en anglais) à cette adresse (version 2.2 actuellement) : http://docs.graylog.org/en/2.2/pages/installation.html
      Pour l’envoi des logs depuis une machine Windows, il y a en effet NxLog qui est très souvent utilisé. C’est notamment ce qui est utilisé dans l’académie de Rennes : cf http://asiqaaw.cluster031.hosting.ovh.net/2015/05/graylog-au-rectorat-dacademie-de-rennes/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *