Graylog est une plate-forme puissante pour une gestion simplifiée des journaux de données structurées ou non structurées. De plus, il est utile pour le débogage des applications.
Graylog est largement basé sur Scala, MongoDB et Elasticsearch. Il dispose d'un serveur principal pour recevoir les données des clients qui peuvent être installés sur différents serveurs. De même, Graylog propose une interface web pour la visualisation des données. Cela facilite le travail sur les journaux que le serveur principal agrège.
Graylog est principalement utilisé comme cache pour les journaux de toute application Web utilisée. Alternativement, Graylog est également efficace lorsque vous travaillez avec des chaînes brutes, telles que Syslog.
Dans ce tutoriel, nous allons vous montrer comment installer le serveur Graylog Monitoring sur CentOS 8.
Prérequis
- Un nouveau VPS CentOS 8 sur la plate-forme cloud Atlantic.Net
- Un mot de passe root configuré sur votre serveur
Étape 1 - Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant CentOS 8 comme système d'exploitation avec au moins 6 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Une fois que vous êtes connecté à votre serveur CentOS 8, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.
dnf update -y
Étape 2 - Installer les dépendances requises
Avant de commencer, vous devrez installer Java et les autres dépendances requises sur votre serveur.
Tout d'abord, installez le référentiel EPEL avec la commande suivante :
dnf install epel-release -y
Ensuite, installez Java à l'aide de la commande suivante :
dnf install -y java-1.8.0-openjdk-headless -y
Une fois Java installé, vous pouvez le vérifier avec la commande suivante :
java -version
Vous devriez obtenir le résultat suivant :
openjdk version "1.8.0_265" OpenJDK Runtime Environment (build 1.8.0_265-b01) OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
Ensuite, installez les autres packages requis avec la commande suivante :
dnf install wget pwgen perl-Digest-SHA -y
Étape 3 - Installer Elasticsearch
Graylog utilise Elasticsearch pour stocker les messages du journal et sa fonction de recherche. Par défaut, la dernière version d'Elasticsearch n'est pas disponible dans le référentiel par défaut CentOS 8, vous devrez donc ajouter le référentiel Elasticsearch à votre système.
Tout d'abord, importez la clé GPG avec la commande suivante :
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Ensuite, créez le référentiel Elasticsearch avec la commande suivante :
nano /etc/yum.repos.d/elasticsearch.repo
Ajoutez les lignes suivantes :
[elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/oss-6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
Enregistrez et fermez le fichier puis installez Elasticsearch avec la commande suivante :
dnf install elasticsearch-oss -y
Une fois Elasticsearch installé, modifiez le fichier de configuration principal d'Elasticsearch :
nano /etc/elasticsearch/elasticsearch.yml
Définissez le nom de votre cluster et ajoutez une autre ligne comme indiqué ci-dessous :
cluster.name: my-graylog action.auto_create_index: false
Enregistrez le fichier, puis rechargez le démon systemd et activez Elasticsearch pour qu'il démarre au redémarrage du système avec la commande suivante :
systemctl daemon-reload systemctl enable elasticsearch
Ensuite, redémarrez le service Elasticsearch avec la commande suivante :
systemctl restart elasticsearch
Vous pouvez maintenant vérifier la réponse d'Elasticsearch à l'aide de la commande suivante :
curl -X GET http://localhost:9200
Si tout est correct, vous devriez obtenir le résultat suivant :
{ "name" : "7FL0524", "cluster_name" : "my-graylog", "cluster_uuid" : "C4OvK0Y_TjCiVzBiHbz0pA", "version" : { "number" : "6.8.12", "build_flavor" : "oss", "build_type" : "rpm", "build_hash" : "7a15d2a", "build_date" : "2020-08-12T07:27:20.804867Z", "build_snapshot" : false, "lucene_version" : "7.7.3", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
Étape 4 - Installer le serveur MongoDB
Graylog utilise MongoDB pour stocker les configurations et les méta-informations. Par défaut, MongoDB n'est pas disponible dans le référentiel standard CentOS 8, vous devrez donc créer un référentiel pour MongoDB.
Vous pouvez le créer avec la commande suivante :
nano /etc/yum.repos.d/mongodb-org-4.0.repo
Ajoutez les lignes suivantes :
[mongodb-org-4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
Enregistrez et fermez le fichier, puis mettez à jour le référentiel avec la commande suivante :
dnf update -y
Ensuite, installez le serveur MongoDB avec la commande suivante :
dnf install mongodb-org -y
Une fois MongoDB installé, démarrez le service MongoDB et activez-le pour qu'il démarre au redémarrage du système :
systemctl start mongod systemctl enable mongod
Étape 5 - Installer et configurer le serveur Graylog
Vous pouvez installer le référentiel Graylog à l'aide de la commande suivante :
dnf install https://packages.graylog2.org/repo/packages/graylog-3.2-repository_latest.rpm -y
Une fois le dépôt créé, vous pouvez installer le serveur Graylog avec la commande suivante :
dnf install graylog-server -y
Après avoir installé le serveur Graylog, vous devrez générer une clé secrète pour Graylog. Vous pouvez le générer avec la commande suivante :
pwgen -N 1 -s 96
Sortie :
un5R8H7vmoq1japNYvHD2pEkawKyBzZpWeFsfVEk4Ustl5sWPtcdMbgTV18mHyqBnBK0sk83fcEmceTtyNzxntWqWhNPYe9N
Vous devrez également générer un mot de passe sécurisé pour Graylog. Vous pouvez le générer avec la commande suivante :
echo -n your-password | shasum -a 256
Vous devriez obtenir le résultat suivant :
616384da8ed2fb86db3462ec827bc433256324e323a2438f48ae32930e707065 -
Remarque :Vous pouvez utiliser ce mot de passe "votre-mot-de-passe" pour vous connecter à l'interface web Graylog.
Ensuite, modifiez le fichier de configuration principal de Graylog et définissez votre clé secrète, votre mot de passe et d'autres paramètres :
nano /etc/graylog/server/server.conf
Modifiez les lignes suivantes :
password_secret = un5R8H7vmoq1japNYvHD2pEkawKyBzZpWeFsfVEk4Ustl5sWPtcdMbgTV18mHyqBnBK0sk83 fcEmceTtyNzxntWqWhNPYe9N root_username = admin root_password_sha2 = 616384da8ed2fb86db3462ec827bc433256324e323a2438f48ae32930e707065 root_timezone = UTC http_bind_address = your-server-ip:9000
Enregistrez et fermez le fichier, puis rechargez le démon systemd avec la commande suivante :
systemctl daemon-reload
Ensuite, démarrez le service Graylog et activez-le au redémarrage du système avec la commande suivante :
systemctl start graylog-server systemctl enable graylog-server
Vous pouvez consulter le journal du serveur Graylog pour vérifier si le serveur Graylog est démarré ou non :
tail -f /var/log/graylog-server/server.log
Si le serveur Graylog est démarré avec succès, vous devriez obtenir le résultat suivant :
2020-10-02T11:46:15.649-04:00 INFO [InputSetupService] Triggering launching persisted inputs, node transitioned from Uninitialized [LB:DEAD] to Running [LB:ALIVE] 2020-10-02T11:46:15.654-04:00 INFO [ServerBootstrap] Graylog server up and running.
À ce stade, le serveur Graylog est démarré et écoute sur le port 9000.
Étape 6 - Accéder à l'interface Graylog
Maintenant, vous pouvez accéder à l'interface Web Graylog en utilisant l'URL http://your-server-ip:9000 . Vous devriez voir la page de connexion Graylog :
Fournissez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Signer –dans bouton. Vous devriez voir le tableau de bord Graylog sur la page suivante :
Conclusion
Toutes nos félicitations! Vous avez installé et configuré avec succès le serveur Graylog sur CentOS 8. Vous pouvez maintenant configurer votre serveur Graylog pour recevoir les journaux Rsyslog de serveurs externes. Pour plus d'informations, vous pouvez consulter la documentation Graylog. Commencez dès aujourd'hui avec Graylog sur l'hébergement VPS d'Atlantic.Net.