Installer Graylog
Dans cette étape, vous allez installer Graylog, une puissante plateforme open-source de gestion de journaux (logs), dans votre environnement de machine virtuelle (VM) LabEx. Graylog permet de centraliser et d'analyser les données de journaux pour la surveillance de la sécurité et la résolution de problèmes en collectant les journaux à partir de diverses sources et en offrant des fonctionnalités de recherche et de visualisation.
Étant donné que nous utilisons des conteneurs Docker, nous allons déployer Graylog à l'aide de Docker Compose pour une configuration facile. Docker Compose nous permet de définir et d'exécuter des applications multi-conteneurs avec un seul fichier de configuration. Cette approche simplifie le processus d'installation et garantit que tous les composants requis fonctionnent correctement ensemble. Suivez attentivement ces étapes :
- Tout d'abord, assurez-vous d'être dans le bon répertoire. Le répertoire
project
est là où nous allons organiser nos fichiers d'installation de Graylog :
cd ~/project
- Créez un nouveau répertoire dédié à la configuration de Graylog. Cela permet de séparer et d'organiser nos fichiers d'installation :
mkdir graylog && cd graylog
- Créez un fichier
docker-compose.yml
avec le contenu suivant en utilisant nano. Ce fichier définit tous les services dont Graylog a besoin pour fonctionner :
nano docker-compose.yml
- Collez cette configuration (appuyez sur Ctrl+O pour enregistrer, puis Ctrl+X pour quitter). La configuration comprend trois services principaux :
- MongoDB pour stocker les données de configuration
- Elasticsearch pour indexer et rechercher les journaux
- Graylog lui-même en tant qu'interface web et moteur de traitement
version: "3"
services:
mongodb:
image: mongo:4.2
volumes:
- mongo_data:/data/db
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
volumes:
- es_data:/usr/share/elasticsearch/data
environment:
- "discovery.type=single-node"
- "bootstrap.memory_lock=true"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
graylog:
image: graylog/graylog:4.3
volumes:
- graylog_data:/usr/share/graylog/data
environment:
- GRAYLOG_PASSWORD_SECRET=somepasswordpepper
- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
- GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
depends_on:
- mongodb
- elasticsearch
ports:
- "9000:9000"
- "1514:1514"
- "1514:1514/udp"
- "12201:12201"
- "12201:12201/udp"
volumes:
mongo_data:
es_data:
graylog_data:
- Démarrez la pile (stack) Graylog avec Docker Compose. Le flag
-d
exécute les conteneurs en arrière-plan :
docker-compose up -d
- Vérifiez que les conteneurs fonctionnent correctement. Cette commande affiche l'état de tous les services définis dans notre fichier docker-compose :
docker-compose ps
Vous devriez voir trois services (mongodb, elasticsearch et graylog) avec l'état "Up". L'interface web de Graylog sera accessible à l'adresse http://127.0.0.1:9000
(nom d'utilisateur : admin
, mot de passe : admin
). Cela termine l'installation de base de Graylog, et nous sommes maintenant prêts à configurer les entrées de journaux dans les étapes suivantes.