Graylog (anciennement connu sous le nom de Graylog2) est une plate-forme de gestion de journaux open source, vous aide à collecter, indexer et analyser tous les journaux de machine sur un emplacement centralisé. Ce guide vous aide à installer Graylog2 sur Ubuntu 14.04, se concentre également sur l'installation de quatre autres composants qui font de Graylog2 un puissant outil de gestion des journaux.
Composants :
1. MongoDB - Stocke les configurations et les méta-informations.
2. Elasticsearch - Stocke les messages du journal et offre une fonction de recherche, les nœuds doivent avoir une mémoire élevée car toutes les opérations d'E/S se produisent ici.
3. GrayLog - Analyseur de journaux, il collecte les journaux à partir de diverses entrées.
4. Interface Web GrayLog =vous fournit le portail Web pour la gestion des journaux.
Prérequis :
Étant donné que Elasticsearch est basé sur Java, nous aurions besoin d'installer openJDK ou Oracle JDK. Il est recommandé d'installer Oracle JDK, vérifiez la version Java en utilisant la commande suivante.
$ java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
Installez Elasticsearch :
Elasticsearch est un serveur de recherche open source, il offre une recherche et une analyse distribuées en temps réel avec une interface Web RESTful. Elasticsearch stocke tous les journaux envoyés par le serveur Graylog et affiche les messages lorsque l'interface Web graylog demande une demande complète de l'utilisateur via l'interface Web. Cette rubrique couvre les paramètres de configuration requis pour Graylog, vous pouvez également consulter Installer Elasticsearch sur CentOS 7 / Ubuntu 14.10 / Linux Mint 17.1 pour des instructions détaillées.
Installons Elasticsearch, il peut être téléchargé à partir du site officiel.
Téléchargez et installez la clé de signature GPG.
$ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Enregistrez la définition du référentiel dans /etc/apt/sources.list.d/elasticsearch.list
$ echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list
Mettre à jour le cache du référentiel.
$ sudo apt-get update
Installez Elasticsearch.
$ sudo apt-get install elasticsearch
Configurez Elasticsearch pour qu'il démarre au démarrage du système.
$ sudo update-rc.d elasticsearch defaults
La seule chose importante est de définir un nom de cluster comme "graylog2 “, qui est utilisé par graylog. Modifiez maintenant le fichier de configuration d'Elasticsearch.
$ sudo nano /etc/elasticsearch/elasticsearch.yml cluster.name: graylog2
Désactivez les scripts dynamiques pour éviter l'exécution à distance, ce qui peut être fait en ajoutant la ligne suivante à la fin du fichier ci-dessus.
script.disable_dynamic: true
Une fois que c'est fait, nous sommes prêts à partir. Avant cela, redémarrez les services Elasticsearch pour charger la configuration modifiée.
$ sudo service elasticsearch restart
Attendez au moins une minute pour permettre à Elasticsearch de redémarrer complètement, sinon les tests échoueront. Elastisearch devrait maintenant écouter sur 9200 pour traiter la requête HTTP, nous pouvons utiliser CURL pour obtenir la réponse. Assurez-vous qu'il renvoie avec le nom de cluster "graylog2 ”
$ curl -X GET http://localhost:9200 { "status" : 200, "name" : "Pistol", "cluster_name" : "graylog2", "version" : { "number" : "1.7.1", "build_hash" : "b88f43fc40b0bcd7f173a1f9ee2e97816de80b19", "build_timestamp" : "2015-07-29T09:54:16Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search" }
Facultatif : Utilisez la commande suivante pour vérifier la santé du cluster Elasticsearch, vous devez obtenir un statut de cluster comme "vert ” pour que graylog fonctionne.
$ curl -XGET 'http://localhost:9200/_cluster/health?pretty=true' { "cluster_name" : "graylog2", "status" : "green", "timed_out" : false, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_primary_shards" : 0, "active_shards" : 0, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0 }
Installez MongoDB :
MongoDB est disponible au format dep et peut être téléchargé à partir du site officiel. Ajoutez les informations de référentiel suivantes sur le système pour installer MongoDB. Avant cela, nous devons importer la clé publique.
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
Ajoutez un référentiel en créant le fichier de liste /etc/apt/sources.list.d/mongodb-org-3.0.list à l'aide de la commande.
$ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
Mettre à jour le cache du référentiel.
$ sudo apt-get update
Installez MongoDB à l'aide de la commande suivante.
$ sudo apt-get install mongodb-org
Démarrez le service MongoDB et activez-le pour qu'il démarre automatiquement lors du démarrage du système.
$ sudo service mongod start $ sudo update-rc.d mongod defaults
Installez Graylog2 :
Graylog-server accepte et traite les messages du journal, génère également la RESTAPI pour les requêtes provenant de graylog-web-interface. Téléchargez la dernière version de graylog sur graylog.org,
Utilisez la commande suivante pour installer le référentiel graylog2.
$ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb
Installez le support https et mettez à jour le cache du référentiel.
$ sudo apt-get install apt-transport-https $ sudo apt-get update
Installez le serveur Graylog à l'aide de la commande suivante.
$ sudo apt-get install graylog-server
Modifiez le fichier server.conf.
$ sudo nano /etc/graylog/server/server.conf
Configurez les variables suivantes dans le fichier ci-dessus.
Définissez un secret pour sécuriser les mots de passe des utilisateurs, utilisez la commande suivante pour générer un secret, utilisez au moins 64 caractères.
$ pwgen -N 1 -s 96 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP
Si vous obtenez un "pwgen :commande introuvable ", utilisez la commande suivante pour installer pwgen.
$ sudo apt-get install pwgen
Placez le secret.
password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP
Ensuite, définissez un mot de passe de hachage pour l'utilisateur root (à ne pas confondre avec l'utilisateur système, l'utilisateur root de graylog est admin). Vous utiliserez ce mot de passe pour vous connecter à l'interface Web, le mot de passe de l'administrateur ne peut pas être modifié à l'aide de l'interface Web, vous devez modifier cette variable pour la définir.
Remplacez "votre mot de passe ” avec votre choix.
# echo -n yourpassword | sha256sum e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Placez le mot de passe de hachage.
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Vous pouvez configurer l'utilisateur root (admin) de l'adresse e-mail.
root_email = "[email protected]"
Définir le fuseau horaire de l'utilisateur root (admin).
root_timezone = UTC
Graylog essaiera de trouver automatiquement les nœuds Elasticsearch, il utilise le mode multidiffusion pour la même chose. Mais lorsqu'il s'agit d'un réseau plus vaste, il est recommandé d'utiliser le mode monodiffusion qui convient le mieux aux configurations de production. Ajoutez donc les deux entrées suivantes au fichier graylog server.conf, remplacez ipaddress avec le nom d'hôte ou l'adresse IP en direct. Plusieurs hôtes peuvent être ajoutés en les séparant par des virgules.
elasticsearch_http_enabled = false elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300
Définissez un seul nœud maître en définissant la variable ci-dessous, le paramètre par défaut est vrai, vous devez le définir comme faux pour faire du nœud particulier un esclave. Le nœud maître effectue certaines tâches périodiques que l'esclave n'effectuera pas.
is_master = true
La variable suivante définit le nombre de messages de journal à conserver par index, il est recommandé d'avoir plusieurs index plus petits au lieu de plus grands.
elasticsearch_max_docs_per_index = 20000000
Le paramètre suivant définit le nombre total d'index, si ce nombre est atteint, l'ancien index sera supprimé.
elasticsearch_max_number_of_indices = 20
Le paramètre des fragments dépend vraiment du nombre de nœuds dans le cluster Elasticsearch, si vous n'avez qu'un seul nœud, définissez-le sur 1.
elasticsearch_shards = 1
Le nombre de réplicas pour vos index, si vous n'avez qu'un seul nœud dans le cluster Elasticsearch ; définissez-le sur 0.
elasticsearch_replicas = 0
Redémarrez le service Graylog.
$ sudo service graylog-server restart
Activer le démarrage automatique du service du serveur graylog lors du démarrage du système.
$ sudo update-rc.d graylog-server defaults
Vous pouvez consulter les journaux de démarrage du serveur, cela vous sera utile pour dépanner graylog en cas de problème.
# tailf /var/log/graylog-server/server.log
Au démarrage réussi de graylog-server, vous devriez obtenir le message suivant dans le fichier journal.
2015-09-17T09:35:22.895+02:00 INFO [ServerBootstrap] Graylog server up and running.
Installer l'interface Web Graylog :
Pour configurer graylog-web-interface, vous devez avoir au moins un nœud graylog-server. Installez l'interface Web Graylog à l'aide de "apt-get".
$ sudo apt-get install graylog-web
Modifiez le fichier de configuration et définissez les paramètres suivants.
$ sudo nano /etc/graylog/web/web.conf
Ceci est la liste des nœuds graylog-server, vous pouvez ajouter plusieurs nœuds, séparés par des virgules.
graylog2-server.uris="http://127.0.0.1:12900/"
Définit le secret d'application et peut être généré à l'aide de pwgen -N 1 -s 96.
application.secret="sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z"
Définir le fuseau horaire de l'interface Web.
timezone="Europe/Berlin"
Redémarrez l'interface gralog-web en utilisant la commande suivante,
$ sudo service graylog-web restart
Activer le démarrage automatique du service d'interface Web lors du démarrage du système.
$ sudo update-rc.d graylog-web defaults
Accéder à l'interface Web Graylog :
L'interface Web écoutera sur le port 9000, pointez votre navigateur sur http://ip-add-ress:9000 .
Connectez-vous avec le nom d'utilisateur "admin " et le mot de passe que vous avez configuré à root_password_sha2 surserveur.conf .
Une fois connecté, vous obtiendrez la page de recherche suivante.
C'est tout !, vous avez installé avec succès Graylog2 sur Ubuntu 14.04.