Comment installer l’outil de gestion des journaux Graylog sur les systèmes RHEL
Graylog est une solution de gestion de journaux open source de pointe pour la collecte, le stockage, l’indexation et l’analyse des données en temps réel provenant d’applications et d’une myriade d’appareils dans les infrastructures informatiques telles que les serveurs, les routeurs et les pare-feu.
Graylog vous aide à obtenir plus d’informations sur les données collectées en combinant plusieurs recherches pour une analyse et des rapports détaillés. Il détecte également les menaces et les éventuelles activités néfastes en effectuant une analyse approfondie des journaux provenant de sources distantes.
Graylog comprend les éléments suivants :
- Le serveur Graylog – Il s’agit du serveur principal et est utilisé pour le traitement des journaux.
- L’interface Web Graylog – Il s’agit d’une application de navigateur qui donne un aperçu des données et des journaux collectés à partir de plusieurs points de terminaison.
- MongoDB – Un serveur de base de données NoSQL pour le stockage des données de configuration.
- ElasticSearch – Il s’agit d’un moteur de recherche et d’analyse gratuit et open-source qui analyse et indexe des données brutes provenant de diverses sources.
L’architecture de Graylog accepte tout type de données structurées, y compris le trafic réseau et les journaux des éléments suivants :
- Syslog (TCP, UDP, AMQP, Kafka).
- AWS – Journaux AWS, CloudTrail et FlowLogs.
- Netflow (UDP).
- GELF (TCP, UDP, AMQP, Kafka).
- ELK – Beats et Logstash.
- Chemin d’accès JSON à partir de l’API HTTP.
Parmi les géants de la technologie qui implémentent Graylog dans leurs piles technologiques, citons Fiverr, CircleCI, CraftBase et BitPanda.
Dans ce guide, nous allons vous montrer comment installer l’outil de gestion des journaux Graylog sur RHEL 8 et les distributions basées sur RHEL comme AlmaLinux, CentOS Stream et Rocky Linux.
Étape 1 : Installer le référentiel EPEL et les packages prérequis
Pour commencer, vous avez besoin de quelques forfaits essentiels qui vous seront utiles au fur et à mesure que vous avancez dans ce guide. Tout d’abord, installez le référentiel EPEL qui fournit un ensemble complet de progiciels pour les distributions RHEL et RHEL.
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Ensuite, installez les packages suivants qui seront nécessaires en cours de route.
$ sudo dnf install -y pwgen wget curl perl-Digest-SHA
Étape 2 : Installer Java (OpenJDK) dans RHEL
L’une des conditions préalables à l’installation de Graylog est Java 8 et les versions ultérieures. Ici, nous allons installer la dernière version LTS de Java qui est Java 11 qui sera fournie par OpenJDK 11.
Par conséquent, exécutez la commande suivante pour installer OpenJDK.
$ sudo dnf install java-11-openjdk java-11-openjdk-devel -y
Cela installe les dépendances Java et une foule d’autres dépendances.
Une fois l’installation terminée, vérifiez la version installée.
$ java -version
Étape 3 : Installer Elasticsearch dans RHEL
Elasticsearch est un moteur de recherche et d’analyse gratuit et open-source qui gère une grande variété de données, notamment des données structurées, non structurées, numériques, géospatiales et textuelles.
Il s’agit d’un composant clé de la pile Elastic, également connu sous le nom d’ELK (Elasticsearch, Logstash et Kibana), et il est largement utilisé pour ses API REST simples, son évolutivité et sa vitesse.
Graylog nécessite Elasticsearch 6.x ou 7.x. Nous allons installer Elasticsearch 7.x qui est la dernière version au moment de la publication de ce guide.
Créez le fichier de référentiel Elasticsearch.
$ sudo vim /etc/yum.repos.d/elasticsearch.repo
Ensuite, collez les lignes de code suivantes dans le fichier.
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
Enregistrez les modifications et quittez.
Ensuite, installez Elasticsearch à l’aide du gestionnaire de packages DNF, comme indiqué.
$ sudo dnf install elasticsearch-oss
Pour qu’Elasticsearch fonctionne avec Graylog, quelques modifications sont nécessaires. Ouvrez donc le fichier elasticsearch.yml.
$ sudo vim /etc/elasticsearch/elasticsearch.yml
Mettez à jour le nom du cluster en Graylog, comme indiqué.
cluster.name: graylog
Enregistrez les modifications et quittez.
Rechargez ensuite la configuration du gestionnaire systemd.
$ sudo systemctl daemon-reload
Ensuite, activez et démarrez le service Elasticsearch en exécutant les commandes suivantes.
$ sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service
Par défaut, Elasticsearch écoute le port 9200 afin de traiter les requêtes HTTP. Vous pouvez le confirmer en envoyant une requête CURL comme indiqué.
$ curl -X GET http://localhost:9200
Étape 4 : Installer MongoDB dans RHEL
Graylog utilise un serveur de base de données MongoDB pour stocker les données de configuration.
Nous allons installer MongoDB 4.4, mais d’abord, nous allons créer un fichier de configuration pour MongoDB.
$ sudo vim /etc/yum.repos.d/mongodb-org-4.repo
Collez ensuite la configuration suivante.
[mongodb-org-4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
Enregistrez les modifications et quittez.
Ensuite, installez MongoDB comme suit.
$ sudo dnf install mongodb-org
Une fois installé, démarrez et activez MongoDB pour qu’il démarre au démarrage du système.
$ sudo systemctl start mongod
sudo systemctl enable mongod
Pour vérifier la version de MongoDB, exécutez la commande :
$ mongo --version
Étape 5 : Installer le serveur Graylog dans RHEL
Une fois tous les composants prérequis installés, installez maintenant Graylog en exécutant les commandes suivantes.
$ sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.2-repository_latest.rpm
sudo dnf install graylog-server
Vous pouvez vérifier l’installation de Graylog comme indiqué :
$ rpm -qi graylog-server
Maintenant, démarrez et activez le serveur Graylog pour qu’il démarre au démarrage.
$ sudo systemctl start graylog-server.service
sudo systemctl enable graylog-server.service
Étape 6 : Configurer le serveur Graylog dans RHEL
Pour que Graylog fonctionne comme prévu, certaines étapes supplémentaires sont nécessaires. Vous devez définir les paramètres suivants dans le fichier de configuration :
root_password_sha2
password_secret
root_username
http_bind_address
Nous allons définir ces variables dans le fichier /etc/graylog/server/server.conf qui est le fichier de configuration par défaut.
Le root_password_sha2 est le mot de passe haché de l’utilisateur root. Pour le générer, exécutez la commande suivante. Le P@ssword321 n’est qu’un espace réservé. N’hésitez pas à spécifier votre propre mot de passe.
$ echo -n P@ssword321 | shasum -a 256
Sortie
68e865af8ddbeffc494508bb6181167fccf0bb7c0cab421c54ef3067bdd8d85d
Prenez note de ce mot de passe et enregistrez-le quelque part.
Ensuite, générez le password_secret comme suit :
$ pwgen -N 1 -s 96
Sortie
T1EtSsecY0QE4jIG3t6e96A5qLU5WhS9p5SliveX9kybWjC3WKhN4246oqGYPe4BTLXaaiOcM7LyuSd9bGAonQxkTsTjuqBf
Encore une fois, prenez note de ce mot de passe haché.
Ensuite, ouvrez le fichier de configuration Graylog.
$ sudo vim /etc/graylog/server/server.conf
Collez les valeurs que vous avez générées pour root_password_sha2 et password_secret comme indiqué.
root_username = admin
root_password_sha2 = 68e865af8ddbeffc494508bb6181167fccf0bb7c0cab421c54ef3067bdd8d85d
password_secret = T1EtSsecY0QE4jIG3t6e96A5qLU5WhS9p5SliveX9kybWjC3WKhN4246oqGYPe4BTLXaaiOcM7LyuSd9bGAonQxkTsTjuqBf
De plus, rendez Graylog accessible aux utilisateurs externes en définissant le paramètre http_bind_address comme suit.
http_bind_address = 0.0.0.0:9000
Configurez également le fuseau horaire du serveur Graylog.
root_timezone = UTC
Enregistrez et quittez le fichier de configuration.
Pour appliquer les modifications, redémarrez le serveur Graylog.
$ sudo systemctl restart graylog-server.service
Vous pouvez confirmer à partir des fichiers journaux et vérifier si Graylog s’exécute comme prévu.
$ tail -f /var/log/graylog-server/server.log
La sortie suivante à la dernière ligne montre que tout va bien.
Graylog écoute sur le port 9000 qui permet d’accéder à l’interface web. Alors, ouvrez ce port sur le pare-feu.
$ sudo firewall-cmd --add-port=9000/tcp --permanent
sudo firewall-cmd --reload
Étape 7 : Accéder à l’interface utilisateur Web de Graylog
Pour accéder à Graylog, parcourez l’URL suivante.
http://server-ip:9000
OR
http://domain-name:9000
Connectez-vous avec votre nom d’utilisateur admin et le mot de passe configuré pour root_password_sha2 dans le fichier server.conf.
Une fois connecté, vous devriez voir le tableau de bord suivant.
À partir de là, vous pouvez procéder à l’analyse des données et des journaux collectés à partir de diverses sources de données.
Graylog continue d’être une solution de gestion centralisée des journaux populaire pour les développeurs et les équipes d’exploitation. L’analyse des données collectées fournit des informations approfondies sur l’état de fonctionnement de diverses applications et appareils, et permet de détecter les erreurs et d’optimiser les opérations informatiques.
C’est tout pour ce guide. Dans ce tutoriel, nous avons montré comment installer Graylog Server sur des distributions Linux basées sur RHEL.









