La version 2.0 de Graylog disponible en alpha-test

Au fur et à mesure des mises à jour, Graylog est devenu plus rapide et plus riche en fonctionnalités. Avec la montée en puissance du cloud, de l’architecture microservices, de Docker, … la centralisation des logs devient une étape importante et cruciale au sein d’une entreprise pour bien comprendre son infrastructure. Aussi, pour suivre les besoins des utilisateurs, Graylog continue d’évoluer et nous propose aujourd’hui de tester une toute première version de Graylog 2.0.
Il s’agit d’une version alpha, on est donc encore loin d’avoir toutes les fonctionnalités qui seront disponible dans la version finale. L’architecture même de Graylog a beaucoup évolué :

  • Auparavant découpé en 2 applications : graylog-server et graylog-web-interface, il n’y a désormais plus qu’un seul module qui regroupe les deux. Cela permettra de proposer des plugins qui pourront agir sur la partie web.
  • De gros changements dans l’intégration des logs : on devrait en savoir plus un peu plus tard
  • Elasticsearch 2.x : elasticsearch est également un produit qui évolue et pour tirer parti des nouveautés, il faudra désormais avoir un cluster Elasticsearch en version 2.

Pour tester cette version (à ne pas mettre en production), vous pouvez :

 

Envoyer des logs applicatifs vers Graylog

Graylog permet de stocker tout type de messages, qu’il s’agisse de logs serveurs, de journaux web ou de logs applicatifs. Ces derniers sont important car ils permettent de savoir ce qu’il se passe dans le programme. Les logs peuvent être de type DEBUG pour aider les développeurs, de type INFO lorsqu’il est nécessaire de conserver un historique des actions ou bien ERROR / CRITICAL si un problème important survient et impacte le bon fonctionnement.
L’objectif est bien de conserver et centraliser ces informations sur une plateforme dédiée comme Graylog. Pour cela, vous devrez :

  • Configurer Graylog pour accepter les logs
  • Configurer votre applicatif pour envoyer les logs vers Graylog

Avant cela, vous allez devoir choisir un protocole pour l’envoi des logs :

  • GELF : il s’agit d’un format conçu par Graylog pour ne pas avoir les limitations du syslog
  • RAW/plaintext
  • Syslog

Personnellement, je vous conseille d’utiliser le format GELF qui est très bien adapté aux logs applicatifs. Il permet en effet d’envoyer en plus d’un message horodaté des informations complémentaires sous forme de clé/valeurs. Cela peut être des informations sur le client, sur l’environnement, … (idClient=5, plateforme=préproduction, … par exemple). Ces éléments seront ensuite disponible sur l’affichage des logs mais aussi dans la recherche pour ne récupérer que les logs générés par un client donné.

Configurer Graylog pour accepter les logs

Connectez-vous sur Graylog et allez dans le menu « System/Inputs » puis « Inputs ». Sélectionnez ensuite le flux d’entrée de log à créer (GELF UDP par exemple) puis cliquez sur « Launch new input ». Vous devrez renseigner quelques informations comme un nom, le port, … Une fois l’input créé, pensez à cliquer sur le bouton « Start input ».
graylog_creation_input_gelf

Configurer votre applicatif pour envoyer les logs vers Graylog

Maintenant il va falloir permettre à votre logiciel d’envoyer les logs vers l’input précédemment créé. Pour cela, plusieurs solutions existent :

Si les développeurs en ont la possibilité, l’idéal est d’utiliser une librairie GELF qui permettra d’envoyer directement les logs vers Graylog. Il en existe pour tous les langages : java, php, node, ruby, … Une liste complète est disponible sur le marketplace de Graylog.
Par exemple pour un projet en Java utilisant logback comme framework de log, il suffit d’ajouter une dépendance à logback-gelf et d’ajouter la configuration suivante :


<configuration>
<appender name="GELF UDP APPENDER" class="me.moocar.logbackgelf.GelfUDPAppender">
<remoteHost>somehost.com</remoteHost>
<encoder class="me.moocar.logbackgelf.GZIPEncoder">
<layout class="me.moocar.logbackgelf.GelfLayout"/>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="GELF UDP APPENDER" />
</root>
</configuration>

Il peut être intéressant de configurer une écriture dans un log fichier en local avec un historique des logs très court et d’envoyer l’ensemble des logs vers votre serveur Graylog.
Dans le cas ou vous ne souhaitez pas utiliser de librairie GELF ou que ce n’est pas possible, vous pouvez conserver l’écriture des logs dans un fichier texte et utiliser un outil comme logstash ou Graylog Collector pour lire ce fichier et envoyer chaque ligne vers votre serveur Graylog.
 

Graylog 1.2.1 disponible au téléchargement

Début septembre, il était possible de tester en bêta la version 1.2 de Graylog. La version de production est arrivée quelques jours plus tard et a été suivi par la version 1.2.1 contenant quelques corrections de bugs.
En comparaison de la version 1.1, cette mise à jour contient plus de 30 nouvelles fonctions et facilite son utilisation en production. Des optimisations ont également été apportées : l’utilisation CPU baisse de 16% en moyenne après être passé en 1.2. Les nouvelles règles de gestion pour les streams permettent également d’avoir un routage des messages 6x plus rapide.
Vous retrouverez un aperçu des nouveautés sur l’article précédent.
graylog2_dashboard_combinedchart
 

Graylog 1.2 arrive prochainement

Graylog continue d’évoluer et la version 1.2 est d’ores et déjà disponible en RC (release candidate). Une version stable sera prochainement publiée pour être utilisée en production. En attendant, voici un aperçu des principales nouveautés :
Sur le tableau de bord, il est maintenant possible d’ajouter des graphiques empilés comme ci-dessous le widget « Response code » qui affiche les code de retour 200 et les 500 et+.
graylog2_dashboard_combinedchart
La gestion des droits passent désormais par la création de « Rôles« . Il y a par défaut deux rôles : admin et reader mais vous pouvez en créer autant que nécessaire en définissant pour chacun les droits sur les streams et tableaux de bord.
graylog_role
Pour ceux qui utilisent une identification LDAP, vous pourrez mapper très facilement les droits LDAP avec les rôles Graylog.

Source de l'image : https://www.graylog.org/announcing-graylog-1-2-rc/
Source de l’image : https://www.graylog.org/announcing-graylog-1-2-rc/

Sur la gestion des streams, les performances ont été améliorées (jusqu’à 6x plus rapide que sur la précédente version) et il est désormais possible d’utiliser l’opérateur OR dans les règles définissant les streams.
graylog_stream_or_rules
Pour télécharger et tester cette version, suivez ce lien : https://www.graylog.org/download-graylog/

Graylog au rectorat d'académie de Rennes

Johan THOMAS (@jothoma1) est responsable DAIP Services au rectorat de l’académie de Rennes. Dans une vidéo enregistrée en avril, il propose un retour d’expérience sur la centralisation de logs dans le cadre d’un parc informatique (principalement Windows).
graylog_academie_rennes
Il détaille le choix des solutions Graylog et NX-Log ainsi que les usages en détaillant l’utilisation des streams, extracteurs, tableau de bord et les alertes.
Je vous laisse découvrir sa présentation :

Graylog disponible en version 1.0

Après plusieurs années de travail, les développeurs du logiciel open-source Graylog annoncent aujourd’hui la sortie de la version 1.0 ! La solution est prête pour la production, scalable, mature et adaptée à l’entreprise.
Cette version 1.0 apporte plusieurs nouveautés comme l’ajout d’un journal de messages dans lequel sont écrits l’ensemble des logs entrants avant d’être traité. Ceci permet de remplacer l’outil graylog-radio et d’obtenir de meilleures performances.
L’extraction de données des messages a été améliorée avec la possibilitée d’éditer les règles. Mais on peut surtout désormais utiliser des patterns Grok afin de simplifier la récupération des informations.
Enfin, pour rendre l’installation encore plus simple, des images OVA sont disponibles et prête à tourner en machine virtuelle.
graylog-1.0-accueil graylog-1.0-grok graylog-1.0-nodes graylog-1.0-search graylog-1.0-search-graph graylog-1.0-sources graylog-1.0-system

Graylog2 devient Graylog

Depuis l’annonce de la sortie de Graylog2 en version 1.0 bêta, il y a eu quelques nouveautés autour du produit qui laisse penser que la sortie de la version stable ne devrait plus tarder.

Un nouveau nom et un nouveau logo

Graylog2 devient en effet Graylog : une manière sans doute d’avoir un nom plus lisible et plus « pro ». Ce nouveau nom amène également un nouveau logo :
Le nouveau logo de Graylog
On peut supposer que l’approche de la version 1.0 a poussée l’équipe à avoir une identité visuelle plus nette. Le dernier logo datait pourtant de moins d’un an.

Deux nouveaux sites

Torch, la société à l’initiative de Graylog2 change également de dénomination pour devenir Graylog. Inc. Le rapprochement entre le nom de la société créatrice et le nom du produit devrait leur permettre de vendre un support technique officiel plus facilement.


Il existe désormais deux sites officiels pour Graylog :

  • www.graylog.com : il s’agit du site officiel des fondateurs où on retrouvera des informations sur la société Graylog ainsi que les prestations de supports.

site-graylog-com

  • www.graylog.org : il s’agit du site de la communauté de Graylog où on retrouvera de la documentation, des ressources ainsi que la page de téléchargement.

site-graylog-org

 Une levée de fond de 2,5 million de $

En milieu de semaine, la société Graylog a annoncé la levée de 2,5 million de dollars de la part du fond Mercury dans le but d’accélérer le développement technique et commercial de la solution.

Une version 1.0 dans les prochains jours ?

La troisième release candidate de Graylog en version 1.0.0 est disponible depuis jeudi. Cette mise à jour ne comporte que quelques correctifs mineurs et laisse penser que la version finale devrait arriver dans les prochains jours. Pour tester cette rc.3, rendez-vous sur cette page.

Graylog2 disponible en version bêta 1.0 !

Après 5 ans de développement, Lennart Koopmann, le créateur de Graylog2 annonce l’arrivée de la version 1.0. Il ne s’agit encore que d’une version bêta susceptible de comporter quelques bugs, mais la version finale devrait arriver dans les jours à venir. Voyons le détail des nouveautés :

  • Un journal de message : changement d’approche, chaque message sera écrit sur disque plutôt qu’en mémoire avant d’être traité. Cette solution permet de ne pas perdre de message en cas d’arrêt du graylog2-server et semble offrir une meilleure stabilité.
  • De nouveaux widgets : il est désormais possible d’afficher pour les widgets de type compteur une tendance (cf image d’illustration).
  • Le support de Grok pour l’extraction des données : pour extraire des messages certaines données, on peut utiliser un extracteur et y appliquer une expression régulière. Cela sera désormais facilité avec l’ajout du support de Grok (déjà inclus dans Logstash pour ceux qui connaissent).
  • ainsi que de nombreux autres changements…

Voici un aperçu des nouveaux widgets avec l’affichage d’une tendance. Il est possible de configurer qui de la hausse ou de la baisse de la valeur doit être affichée en vert.
Nouveau Widgets Graylog2
 
 

Graylog2 disponible en version 0.92

Je vous présentais il y a quelques semaines les nouveautés de la version 0.92 qui venaient de sortir en version bêta avec notamment l’ajout des packs de contenu, la refonte de la page « sources », … L’outil est disponible depuis quelques jours en version 0.92. Un correctif a même été publié peu de temps après et nous sommes donc actuellement sur la version 0.92.1.
Création d'un content pack
Parmi les nouveautés, une fonction intéressante permet de gérer la rétention des logs en fonction d’une période. Il est ainsi possible de créer 1 indice par jour et d’en garder 20 au maximum. Vous aurez ainsi un historique de 20 jours de logs avec des performances idéales. Pour configurer cela, vous devez éditer le fichier /etc/graylog2.conf comme indiqué ci-dessous :

#elasticsearch_max_docs_per_index = 20000000
#elasticsearch_max_size_per_index = 1073741824
# Permitted suffixes are: d for day, h for hour, m for minute, s for second.
elasticsearch_max_time_per_index = 1d
elasticsearch_max_number_of_indices = 20

Vous retrouverez les liens de téléchargement en cliquant ici.
 

Graylog2 0.92.0 est disponible en version beta

Depuis quelques jours, Graylog2 est disponible en version 0.92.0-beta.1 : cette version ajoute quelques nouveautés détaillées dans cet article.

Les packs de contenu

Création d'un content pack

Les packs de contenu (ou Content Pack) vont vous permettre d’exporter et d’importer des packs incluants vos inputs (avec les extracteurs), vos ouputs, streams et tableaux de bord. Il sera ainsi facile d’intégrer facilement un pack de contenu pour l’analyse des logs Nginx par exemple. Cet outils permettra également de tester votre configuration sur un serveur dédié avant de l’installer sur vos serveurs de production.
La création d’un pack se fait simplement en choisissant un nom, une description puis en cochant les éléments que vous souhaitez exporter. Cela produire un fichier json à télécharger. L’installation se fait tout simplement en uploadant ce fichier sur un autre serveur Graylog2.
Import d'un content pack Graylog2
Une petite icône de cadeau apparaît alors sur les éléments importés depuis un pack.
Import d'un dashboard depuis un content pack Graylog2

Refonte de la page « sources »

La page sources a été complètement revue pour devenir plus dynamique.
Refonte de la page source Graylog2
 
Il est désormais possible de voir le pourcentage de messages reçue depuis chaque source. En sélectionnant une source, les graphiques seront redessinés afin de mettre en évidence les valeurs associés.

Autres nouveautés

D’autres améliorations intègrent également cette version 0.92.0 comme notamment le fait de pouvoir utiliser l’API REST de Graylog2 via SSL ainsi que la possibilité de choisir une épuration des logs basée sur le temps plutôt que sur un nombre fixe. Cela permet par exemple de supprimer vos logs plus vieux de 6 mois automatiquement.