GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Graylog 3.0 sur CentOS 7 / RHEL 7

Graylog est un outil de gestion de journaux open source qui vous aide à collecter, indexer et analyser de manière centralisée tous les journaux de machine. Ce guide vous aidera à installer Graylog sur CentOS 7 / RHEL 7.

Composants

  1. MongoDB – Être une base de données pour stocker les configurations et les méta-informations.
  2. Elasticsearch - Il stocke les messages de journal reçus du serveur Graylog et fournit une fonction pour les rechercher chaque fois que nécessaire. Elasticsearch est un marchand de ressources car il indexe les données, alors allouez plus de mémoire et utilisez des disques SAS ou SAN.
  3. Serveur Graylog :il analyse les journaux provenant de diverses entrées et fournit une interface Web intégrée pour gérer ces journaux.

Prérequis

Assurez-vous que votre système est configuré avec le référentiel EPEL.

Installez les packages requis pour l'installation de Graylog.

yum -y install wget pwgen

Elasticsearch nécessite l'installation de Java sur la machine. Installez donc OpenJDK ou Oracle JDK.

yum install -y java-1.8.0-openjdk-headless

Vérifiez la version Java.

version Java

Sortie :

openjdk version "1.8.0_191"Environnement d'exécution OpenJDK (build 1.8.0_191-b12)OpenJDK 64-Bit Server VM (build 25.191-b12, mode mixte)

Installer Elasticsearch

Elasticsearch est l'un des composants importants de la configuration de Graylog. Il stocke les données provenant de l'entrée Graylog et affiche les messages chaque fois qu'un utilisateur demande via l'interface Web intégrée Graylog.

Elasticseach est principalement utilisé ici pour indexer les données/journaux et fournir la fonctionnalité de recherche lorsque l'interface Web Graylog demande des informations.

Ce guide couvre la configuration de base requise pour Graylog.

Importez la clé de signature GPG avant l'installation.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Créez un fichier de référentiel pour obtenir la dernière version du package Elasticsearch à partir du référentiel officiel.

vi /etc/yum.repos.d/elasticsearch.repo

Ajoutez le contenu ci-dessous au fichier ci-dessus.

[elasticsearch-6.x]name=Référentiel Elasticsearch pour les packages 6.xbaseurl=https://artifacts.elastic.co/packages/6.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/ GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md

Maintenant, installez le package Elasticsearch à l'aide de la commande yum.

yum install -y elasticsearch

Rechargez le démon systemctl et activez Elasticsearch pour qu'il démarre automatiquement au démarrage du système.

démon systemctl-reloadsystemctl activer elasticsearch

Pour faire fonctionner Elasticsearch avec la configuration de Graylog, nous devons définir le nom du cluster sur graylog . Modifiez le fichier elasticsearch.yml.

vi /etc/elasticsearch/elasticsearch.yml

Mettez-le à jour comme indiqué ci-dessous.

cluster.name :graylog 

Redémarrez Elasticsearch.

systemctl redémarre elasticsearch

Donnez une minute pour permettre à Elasticsearch de redémarrer complètement. Elastisearch devrait maintenant écouter 9200 pour traiter les requêtes HTTP. Utilisez la commande CURL pour vérifier la réponse.

curl -X GET http://localhost:9200

Le nom du cluster doit être graylog.

{ "name" :"DF8QK3-", "cluster_name" :"graylog", "cluster_uuid" :"_wAgUfN9RJeQ0npCKBswVA", "version" :{ "number" :"6.6.0", "build_flavor" :"default ", "build_type" :"rpm", "build_hash" :"a9861f4", "build_date" :"2019-01-24T11:27:09.439740Z", "build_snapshot" :faux, "lucene_version" :"7.6.0" , "minimum_wire_compatibility_version" :"5.6.0", "minimum_index_compatibility_version" :"5.0.0" }, "tagline" :"Vous savez, pour la recherche"}

Effectuez une vérification de l'état du cluster Elasticsearch.

curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'

Assurez-vous que l'état du cluster est vert .

{ "cluster_name" :"graylog", "status" :"green", "timed_out" : false, "number_of_nodes" :1, "number_of_data_nodes" :1, "active_primary_shards" :0, "active_shards" :0, "relocation_shards" :0, "initializing_shards" :0, "unassigned_shards" :0, "delayed_unassigned_shards" :0, "number_of_pending_tasks" :0, "number_of_in_flight_fetch" :0, "task_max_waiting_in_queue_millis" :0, "active_shards_percent_as_number" :10 pré> 

Installer MongoDB

MongoDB agit comme une base de données pour stocker les configurations et les méta-informations. Nous utiliserons le référentiel officiel de MongoDB pour obtenir la dernière version de MongoDB.

vi /etc/yum.repos.d/mongodb-org-4.0.repo

Ajoutez les informations du référentiel au fichier ci-dessus.

[mongodb-org-4.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/gpgcheck=1enabled=1gpgkey=https:// www.mongodb.org/static/pgp/server-4.0.asc

Installez l'édition communautaire de MongoDB à l'aide de la commande suivante.

yum install -y mongodb-org

Démarrez le service MongoDB et activez-le au démarrage du système.

systemctl démarrer mongodsystemctl activer mongod

Installer Graylog

Le serveur Graylog accepte et traite les messages de journal provenant des différentes entrées, affiche les données aux requêtes provenant de l'interface Web graylog.

Téléchargez et installez le référentiel graylog 3.x.

rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.rpm

Installez le serveur Graylog à l'aide de la commande suivante.

yum -y install graylog-server

Modifiez le fichier server.conf pour commencer la configuration du graylog.

vi /etc/graylog/server/server.conf

Utilisez la commande suivante pour créer un secret

pwgen -N 1 -s 96

Sortie :

OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP

Placez le secret comme ci-dessous dans server.conf

password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP 

Définissez le mot de passe de hachage pour l'utilisateur root, c'est-à-dire l'administrateur de graylog. Vous auriez besoin de ce mot de passe pour vous connecter au site Graylog.

Si jamais vous voulez changer/réinitialiser le mot de passe oublié de l'admin, vous pouvez éditer/mettre à jour le server.conf avec un mot de passe haché.

Générez un mot de passe haché à l'aide de la commande ci-dessous. Remplacez votre mot de passe avec votre choix.

echo -n votremotdepasse | somme sha256

Sortie :

e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Placez le mot de passe de hachage.

root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951 

Vous pouvez configurer une adresse e-mail pour l'utilisateur administrateur.

root_email ="[email protected] "

Définir le fuseau horaire de l'utilisateur root (admin).

root_timezone =UTC 

Définissez un seul nœud maître en définissant la variable ci-dessous, le paramètre par défaut est vrai.

Si ce serveur est votre deuxième nœud Graylog dans votre environnement, définissez-le sur false pour faire de ce nœud un esclave. Le nœud maître effectue certaines tâches périodiques que les nœuds esclaves n'exécutent pas.

is_master =vrai 

Définissez 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 un nombre total d'indices. Si ce nombre est atteint, l'ancien index sera supprimé.

elasticsearch_max_number_of_indices =20 

Le paramètre des partitions dépend du nombre de nœuds dans le cluster Elasticsearch particulier. Si vous n'avez qu'un seul nœud, définissez-le sur 1.

elasticsearch_shards =1 

Cela définit le nombre de répliques pour vos index. Si vous n'avez qu'un seul nœud dans le cluster Elasticsearch, définissez-le sur 0.

elasticsearch_replicas =0 

Installer l'interface Web Graylog

A partir de la version 2.x de Graylog, l'interface web est servie directement par le serveur Graylog. Activez l'interface Web Graylog en modifiant le fichier server.conf.

vi /etc/graylog/server/server.conf

Modifiez les entrées pour permettre à l'interface Web Graylog de se connecter au serveur Graylog. Remplacez 192.168.1.10 par l'adresse IP de votre système.

http_bind_address =192.168.1.10 :9000

Redémarrez le service Graylog.

systemctl daemon-reloadsystemctl redémarre graylog-server

Faites en sorte que le serveur Graylog démarre automatiquement au démarrage du système.

systemctl activer graylog-server

Vous pouvez consulter les journaux de démarrage du serveur ; il vous sera utile de dépanner Graylog pour tout problème.

tailf /var/log/graylog-server/server.log

Si tout se passe bien, vous devriez voir le message ci-dessous dans le fichier server.log.

2019-02-25T21:00:23.157+05:30 INFO [ServerBootstrap] Serveur Graylog opérationnel.

Pare-feu

Dans CentOS 7 / RHEL 7, les règles de pare-feu sont définies pour bloquer la plupart du trafic provenant des machines externes par défaut. Vous devrez ajouter des règles d'autorisation pour que Graylog fonctionne correctement.

firewall-cmd --permanent --add-port=9000/tcp

Rechargez firewalld pour appliquer les nouvelles règles.

firewall-cmd --reload

Accéder à l'interface Web Graylog

L'interface Web va maintenant écouter sur le port 9000. Pointez votre navigateur vers.

http://ip.add.re.ss:9000

Connectez-vous avec le nom d'utilisateur admin et le mot de passe que vous avez configuré à root_password_sha2 sur server.conf .

Une fois connecté, vous verrez la page de démarrage.

Cliquez sur Système>> Aperçu pour connaître l'état du serveur Graylog.

Créer des entrées Graylog

L'entrée Graylog doit être configurée pour recevoir les journaux de sources externes, c'est-à-dire syslog ou tout autre système de journalisation. Pour cet exemple, nous allons configurer une entrée pour recevoir les journaux de syslog sur le numéro de port UDP 514.

Mais il y a un problème. Si vous commencez à essayer une entrée sur l'un des ports privilégiés, tout numéro de port TCP/UDP inférieur à 1024, vous verrez une erreur d'autorisation refusée dans les journaux Graylog.

Pour résoudre le problème, nous allons créer une entrée pour démarrer sur le port 1514, et nous redirigerons le trafic arrivant du 514 vers le 1514 avec des règles de pare-feu.

Cliquez sur Système >> Entrée >> sélectionnez Syslog UDP puis cliquez sur Lancer une nouvelle entrée.

Remplissez les valeurs indiquées ci-dessous.

Nœud : Sélectionnez votre nœud Graylog

Titre : Nommez votre entrée

Adresse de liaison : 0.0.0.0 (Laissez celui par défaut)

Port : 1514

Assurez-vous que l'entrée Syslog créée est en cours d'exécution.

Configurer Rsyslog

Une fois que vous avez créé les entrées, configurez Rsyslog ou transférez les journaux système vers votre serveur Graylog.

Modifiez le fichier de configuration Rsyslog.

vi /etc/rsyslog.conf

La configuration typique de Rsyslog ressemblera à celle ci-dessous pour envoyer les journaux sur UDP 514.

Si vous ne souhaitez pas utiliser UDP 514 et souhaitez envoyer les journaux directement à UDP 1514 de Graylog, vous pouvez modifier le numéro de port dans le fichier de configuration Rsyslog
*.info;mail.none;authpriv.none;cron. aucun @192.168.1.10:514

Redémarrez le service Rsyslog pour envoyer les journaux.

systemctl redémarre rsyslog

Pare-feu

Configurez le pare-feu en fonction de la configuration de Rsyslog que vous avez effectuée à l'étape précédente.

Port 514

Exécutez les commandes ci-dessous sur le serveur Graylog pour rediriger le trafic provenant du port UDP 514 vers UDP 1514 de l'entrée Graylog.

firewall-cmd --add-masquerade --permanentfirewall-cmd --add-forward-port=port=514:proto=udp:toport=1514 --permanentfirewall-cmd --reload

Port 1514

Exécutez les commandes ci-dessous sur le serveur Graylog pour autoriser le numéro de port UDP 1514 sur le pare-feu à recevoir les journaux de Rsyslog.

firewall-cmd --permanent --add-port=1514/udpfirewall-cmd --reload

Afficher les journaux à l'aide de Graylog

Attendez quelques minutes. Vous devriez commencer à recevoir des messages de journal de la machine cliente lorsque l'événement est généré.

La capture d'écran suivante montre les journaux reçus par Graylog (console Graylog>> Rechercher h ).

Conclusion

Vous avez installé avec succès Graylog 3.0 sur CentOS 7 / RHEL 7 et configuré Graylog pour recevoir les journaux Rsyslog de sources externes. Pour en savoir plus, vous pouvez essayer de configurer Nginx ou Apache en tant que proxy inverse et configurer HTTPS pour l'interface Web Graylog.


Cent OS
  1. Comment installer phpMyAdmin sur RHEL 8 / CentOS 8

  2. Comment installer Graylog2 sur CentOS 7 / RHEL 7 - Utilisation de la source

  3. Comment installer Graylog2 sur CentOS 7 / RHEL 7

  4. Comment installer Elasticsearch sur CentOS 8 / RHEL 8

  5. Comment installer Elasticsearch sur CentOS/RHEL 8

Comment installer mongodb sur RHEL 8 / CentOS 8

Comment installer Elasticsearch sur CentOS 7

Comment installer Elasticsearch sur CentOS 8

Comment installer Graylog avec Elasticsearch sur CentOS 8

Comment installer Graylog sur CentOS 8 / RHEL 8

Comment installer Graylog sur CentOS 7