Installer Graylog2 sur un serveur linux

Attention, ce tutoriel concerne une ancienne version de Graylog et n’est donc pas à jour. 

Voici comment installer Graylog2 en version 0.20.0 sur votre serveur.

Les pré-requis :

Vous devez avoir d’installer sur votre serveur les outils suivants :

Installation de la partie serveur :

Télécharger l’archive via ce lien https://github.com/Graylog2/graylog2-server/releases/download/0.20.0/graylog2-server-0.20.0.tgz puis l’extraire.

~$ tar xvfz graylog2-server-0.20.0.tgz
~$ cd graylog2-server-0.20.0

Il faut ensuite préparer la configuration de la partie serveur et modifier celle d’Elasticsearch.
Editer le fichier de configuration elasticsearch.yml et modifier la ligne cluster.name pour y renseigner graylog2.

# Cluster name identifies your cluster for auto-discovery. If you're running
# multiple clusters on the same network, make sure you're using unique names.
#
cluster.name: graylog2

Copier ensuite le fichier de configuration graylog2.conf.example

~# cp graylog2.conf.example /etc/graylog2.conf

Editer ce nouveau fichier de configuration pour y modifier les paramètres password_secret et root_password_sha2 :

  • password_secret : il s’agit d’une clé secrète qui sera utilisée pour le cryptage des mots de passe. Vous pouvez générer une clé facilement avec la commande :  pwgen -s 96 1
  • root_password_sha2 : il s’agit du hash SHA2 du mot de passe utilisé pour la première connexion. Vous pouvez le générer avec la commande : echo -n votreMotDePasse| shasum -a 256

Il ne reste plus qu’à démarrer le serveur :

~$ cd bin/
~$ ./graylog2ctl start

Vous pouvez vérifier qu’il n’y a pas d’erreurs dans le fichier de log présent dans le dossier log/

Installer la partie web :

De la même façon que pour la partie serveur, il faut télécharger l’archive via ce lien https://github.com/Graylog2/graylog2-web-interface/releases/download/0.20.0/graylog2-web-interface-0.20.0.tgz puis l’extraire.

~$ tar xvfz graylog2-web-interface-0.20.0.tgz
~$ cd graylog2-web-interface-0.20.0/

Il faut ensuite éditer le fichier de configuration conf/graylog2-web-interface.conf pour modifier ces 2 variables :

  • graylog2-server.uris= »http://127.0.0.1:12900/ » : il s’agit de la liste des serveurs graylog2 sur lesquels va se connecter l’interface. Dans notre cas, il suffit de mettre l’uri du serveur local
  • application.secret : il s’agit d’une clé secrète. Comme plus haut, vous pouvez la générer avec la commande : pwgen -s 96 1

L’interface se démarre ensuite simplement en lançant le script bin/graylog2-web-interface ou comme ci-dessous pour lancer le script en arrière plan :

~$ nohup bin/graylog2-web-interface &

Graylog2 est alors accessible sur le port 9000. Vous devriez avoir cet écran :

Ecran de connexion à Graylog2
Ecran de connexion

Vous pouvez alors vous connecter avec le login admin et le mot de passe configuré plus haut.

L'histoire de Graylog2

Le développement de Graylog2 a été initié par Lennart Koopmann en mai 2010 et la première version a vu le jour dès le mois de juillet de la même année. Le projet était découpé en 2 partie : une partie serveur codée en Java et une partie web écrite en Ruby. Le projet à très vite pris de l’ampleur grâce à un développement continue et des mises à jour régulière. Des entreprises comme uservoice, xing, backupify se sont alors mises à utiliser Graylog2 pour gérer leur logs donnant ainsi plus de crédibilité à l’outil.
Les premières versions et jusqu’à la branche 0.10.x, voici à quoi ressemblait l’interface web qui était très … rose :
Aperçu d'écran Graylog2 dans ses premières versions
Aperçu d'écran Graylog2 dans ses premières versions
En 2012, Lennart Koopmann et Hass Chapman créent la société Torch dans le but de promouvoir l’outil et de proposer des services de support notamment.
Logo de la société Torch
Depuis le début de l’année 2013, l’équipe travaille sur la prochaine grosse version de Graylog2 : la branche 0.20 ! Les premières versions de tests sont déjà là même si toutes les fonctionnalités ne sont pas encore disponible. La partie serveur expose désormais une API Rest qui est utilisée par la partie web. Cette dernière a été réécrite en Java et utilise le framework Play!. L’interface se veut plus « professionnelle » (moins rose…) et de nouvelles fonctionnalités devrait apparaître.

Ecran de connexion à Graylog2
Ecran de connexion

graylog2_ecran_accueil
L’écran de recherche

La première « release candidate » devrait arriver très prochainement. Je détaillerais dans un prochain article comment installer Graylog2.
 

Un blog pour suivre l'actualité de Graylog2

Il existe de nombreux outils pour gérer les logs : des gratuits, payants, open-source, dans le cloud, … Graylog2 est l’un  de ses outils. Il est open-source et propose de collecter les logs ainsi qu’une interface permettant de visualiser et rechercher des informations.
graylog2_ecran_accueil
Les versions 0.10.x étaient écrits en ruby et java. Actuellement en cours de réécriture pour la version 0.20.0, l’ensemble sera en Java.
Je vous propose de suivre ici l’actualité de Graylog2 ainsi que des tutoriels pour pouvoir maîtriser l’outil. A bientôt.