Installer Graylog sous Rocky Linux

Introduction
Auparavant, j’utilisais la suite ELK (Elasticsearch, Logstash, Kibana), qui offre une solution robuste et très personnalisable pour la gestion des logs. Cependant, j’ai constaté que sa gestion demandait un investissement en temps important, notamment pour la configuration et la maintenance.
Pour simplifier, j’ai migré vers Graylog, qui présente plusieurs avantages :
- Interface conviviale : Tout peut être configuré à travers l’interface graphique.
- Centralisation : Graylog regroupe toutes les fonctionnalités nécessaires à la gestion des logs en un seul endroit.
- Facilité de mise en œuvre : Une installation et une configuration simplifiées par rapport à ELK.
Voici une procédure pas à pas pour installer Graylog version 6.0.x sous Rocky Linux 8.
Prérequis
- Graylog Version : 6.0.x
- MongoDB Version : Minimum 5.0.7, Maximum 7.x
- OpenSearch Version : Minimum 1.1.x (1.3.x pour la sécurité), Maximum 2.13.x
Installation
Étape 1 : Installation de MongoDB
MongoDB est une base de données NoSQL largement utilisée pour stocker des données de manière flexible et rapide. Dans le contexte de Graylog, MongoDB sert principalement à stocker les métadonnées telles que les utilisateurs, les permissions et les configurations.
Ajoutez le dépôt MongoDB :
sudo vi /etc/yum.repos.d/mongodb-org.repoAjoutez :
[mongodb-org-6.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-6.0.ascInstallez MongoDB :
sudo yum install -y mongodb-orgConfigurez MongoDB pour démarrer automatiquement :
sudo systemctl daemon-reload sudo systemctl enable mongod sudo systemctl start mongod sudo systemctl status mongodEmpêchez les mises à jour automatiques :
sudo yum versionlock add mongodb-orgNote : Lorsque vous souhaitez mettre à niveau le package, assurez-vous de supprimer la version verrouillée :
sudo yum versionlock delete mongodb-org
Étape 2 : Installation d’OpenSearch
OpenSearch est un moteur de recherche et d’analyse distribué basé sur Elasticsearch. Il est utilisé par Graylog pour indexer, rechercher et analyser les données de logs.
Ajoutez le dépôt OpenSearch :
sudo curl -SL https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/opensearch-2.x.repo -o /etc/yum.repos.d/opensearch-2.x.repo sudo sed -i "s/^gpgcheck=.*/gpgcheck=0/g" /etc/yum.repos.d/opensearch-2.x.repoInstallez OpenSearch :
sudo OPENSEARCH_INITIAL_ADMIN_PASSWORD=$(tr -dc A-Z-a-z-0-9_@#%^-_=+ < /dev/urandom | head -c${1:-32}) yum -y install opensearchEmpêchez les mises à jour automatiques :
sudo yum versionlock add opensearch.x86_64-2.13Note : Lorsque vous souhaitez mettre à niveau le package, assurez-vous de supprimer la version verrouillée :
sudo yum versionlock delete opensearch.x86_64-2.13Configurez OpenSearch pour un environnement mono-nœud :
sudo cp /etc/opensearch/opensearch.yml /etc/opensearch/opensearch.yml.orig sudo vi /etc/opensearch/opensearch.ymlModifications clés :
cluster.name: graylog node.name: ${HOSTNAME} network.host: 0.0.0.0 discovery.type: single-node action.auto_create_index: false plugins.security.disabled: true indices.query.bool.max_clause_count: 32768Ajustez les paramètres JVM pour allouer plus de mémoire :
sudo vi /etc/opensearch/jvm.optionsModifications :
-Xms2g -Xmx2gConfigurez les paramètres du noyau :
Lors de l’installation de services comme MongoDB et OpenSearch, il est nécessaire d’augmenter la limite du nombre de mappages mémoire autorisés. Ces applications, qui manipulent de grandes quantités de données, ont besoin d’un nombre élevé de mappages mémoire pour fonctionner correctement.
sudo sysctl -w vm.max_map_count=262144 sudo echo 'vm.max_map_count=262144' >> /etc/sysctl.confUn mappage mémoire permet à ces services d’accéder directement à une portion de la mémoire physique, optimisant ainsi l’utilisation des ressources et améliorant les performances du système.
Note : Cette configuration est essentielle pour garantir le bon fonctionnement des services qui exigent une gestion optimale de la mémoire.
Démarrez OpenSearch :
sudo systemctl daemon-reload sudo systemctl enable opensearch sudo systemctl start opensearch sudo systemctl status opensearch
Étape 3 : Installation de Graylog
Graylog est une plateforme centralisée de gestion des logs qui facilite la collecte, l’analyse et la visualisation des données issues de diverses sources. Il offre une interface intuitive pour naviguer dans les logs et identifier rapidement les problèmes.
Ajoutez le dépôt Graylog et installez :
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-6.0-repository_latest.rpm sudo yum install graylog-serverEmpêchez les mises à jour automatiques :
sudo yum versionlock add graylog-server-6.0Note : Lorsque vous souhaitez mettre à niveau le package, assurez-vous de supprimer la version verrouillée :
sudo yum versionlock delete graylog-server-6.0Générez les secrets de configuration :
password_secret=$(< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c96) root_password_sha2=$(echo -n "<your_secure_password>" | sha256sum | cut -d" " -f1)Configurez le serveur Graylog :
sudo vi /etc/graylog/server/server.confModifications clés :
password_secret = $password_secret root_password_sha2 = $root_password_sha2 http_bind_address = 0.0.0.0:9000Démarrez Graylog :
sudo systemctl daemon-reload sudo systemctl enable graylog-server sudo systemctl start graylog-serverAjoutez une règle de pare-feu :
sudo firewall-cmd --add-port=9000/tcp --permanent sudo firewall-cmd --reload
Conclusion
Graylog est une excellente alternative à ELK pour les environnements où la simplicité de gestion et la centralisation sont primordiales. Cette procédure devrait vous permettre de configurer Graylog rapidement tout en évitant les erreurs courantes. Si vous avez des questions ou des suggestions, n’hésitez pas à les partager dans les commentaires !