GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installer et configurer le serveur de surveillance Graylog Ubuntu 20.04

Graylog est un outil logiciel de gestion de journal gratuit et open source qui peut être utilisé pour surveiller le journal des systèmes réseau à partir du serveur central. Il utilise Elasticsearch pour stocker les données des journaux et fournir des fonctionnalités de recherche, et MongoDB pour stocker les méta-informations. Il vous aide à surveiller, rechercher et analyser une grande quantité de données dans un format simple et lisible.

Dans ce tutoriel, nous allons vous montrer comment installer Graylog sur le serveur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04 avec au moins 4 Go de RAM
  • Un mot de passe root est configuré sur.

Mise en route

Tout d'abord, vous devrez mettre à jour vos packages système vers la dernière version. Vous pouvez tous les mettre à jour avec la commande suivante :

apt-get update -y

Après avoir mis à jour tous les packages, vous devrez également installer certaines dépendances sur votre serveur. Vous pouvez tous les installer avec la commande suivante :

apt-get install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y

Une fois toutes les dépendances requises installées, vous pouvez passer à l'étape suivante.

Installer Java

Graylog nécessite l'installation de Java sur votre serveur. S'il n'est pas installé, vous pouvez l'installer avec la commande suivante :

apt-get install openjdk-11-jre-headless -y

Une fois Java installé, vous pouvez vérifier la version installée de Java en exécutant la commande suivante :

java -version

Vous devriez obtenir le résultat suivant :

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Installer et configurer Elasticsearch

Graylog utilise Elasticsearch pour stocker les journaux provenant de la ressource externe. Vous devrez donc installer Elasticsearch dans votre système.

Par défaut, la dernière version d'Elasticsearch n'est pas disponible dans le référentiel par défaut d'Ubuntu. Vous devrez donc ajouter le référentiel Elasticsearch dans votre système.

Tout d'abord, téléchargez et ajoutez la clé Elasticsearch GPG avec la commande suivante :

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -

Ensuite, ajoutez le référentiel Elasticsearch avec la commande suivante :

echo "deb https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Ensuite, mettez à jour le référentiel et installez Elasticsearch avec la commande suivante :

apt-get update -y
apt-get install elasticsearch-oss -y

Après avoir installé Elasticsearch, vous devrez modifier le fichier de configuration Elasticsearch et définir le nom du cluster. Vous pouvez le faire avec la commande suivante :

nano /etc/elasticsearch/elasticsearch.yml

Définissez le nom de votre cluster sur graylog et ajoutez une autre ligne comme indiqué ci-dessous :

cluster.name: graylog
action.auto_create_index: false

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, démarrez le service Elasticsearch et activez-le au démarrage avec la commande suivante :

systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearch

Vous pouvez également vérifier l'état du service Elasticsearch avec la commande suivante :

systemctl status elasticsearch

Vous devriez obtenir le résultat suivant :

? elasticsearch.service - Elasticsearch
     Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 08:41:18 UTC; 9s ago
       Docs: http://www.elastic.co
   Main PID: 7085 (java)
      Tasks: 17 (limit: 2353)
     Memory: 1.1G
     CGroup: /system.slice/elasticsearch.service
             ??7085 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly ->

Sep 05 08:41:18 ubuntu2004 systemd[1]: Started Elasticsearch.

Maintenant, vérifiez la réponse d'Elasticcsearch avec la commande suivante :

curl -X GET http://localhost:9200

Vous devriez obtenir le résultat suivant :

{
  "name" : "vzg8H4j",
  "cluster_name" : "graylog",
  "cluster_uuid" : "6R9SlXxNSUGe6aclcJa9VQ",
  "version" : {
    "number" : "6.8.12",
    "build_flavor" : "oss",
    "build_type" : "deb",
    "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"
}

Installer le serveur MongoDB

Graylog utilise MongoDB comme base de données. Vous devrez donc installer la base de données MongoDB sur votre serveur. Vous pouvez l'installer avec la commande suivante :

apt-get install mongodb-server -y

Une fois MongoDB installé, démarrez le service MongoDB et activez-le pour qu'il démarre au redémarrage du système avec la commande suivante :

systemctl start mongodb
systemctl enable mongodb

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Installer et configurer Graylog

Par défaut, le package Graylog n'est pas disponible dans le référentiel par défaut d'Ubuntu. Vous devrez donc installer le dépôt graylog sur votre serveur.

Vous pouvez télécharger le package de référentiel Graylog avec la commande suivante :

wget https://packages.graylog2.org/repo/packages/graylog-3.3-repository_latest.deb

Une fois le téléchargement terminé, installez le package téléchargé avec la commande suivante :

dpkg -i graylog-3.3-repository_latest.deb

Ensuite, mettez à jour le référentiel et installez le serveur Graylog avec la commande suivante :

apt-get update -y
apt-get install graylog-server -y

Après avoir installé le serveur Graylog, vous devrez générer un secret pour sécuriser les mots de passe des utilisateurs. Vous pouvez le générer avec la commande suivante :

pwgen -N 1 -s 96

Vous devriez voir le résultat suivant :

Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c

Ensuite, vous devrez également générer un mot de passe sécurisé pour l'utilisateur administrateur Graylog. Vous aurez besoin de ce mot de passe pour vous connecter à l'interface Web Graylog. Vous pouvez le générer avec la commande suivante :

echo -n password | sha256sum

Vous devriez voir le résultat suivant :

5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8  -

Maintenant, éditez le fichier de configuration principal de Graylog et définissez les deux mots de passe :

nano /etc/graylog/server/server.conf

Collez les deux mots de passe que vous avez générés ci-dessus comme indiqué ci-dessous :

password_secret = Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c
root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8   

Ensuite, vous devrez également définir une adresse de liaison pour votre serveur, comme indiqué ci-dessous :

http_bind_address = 127.0.0.1:9000

Enregistrez et fermez le fichier lorsque vous avez terminé, puis démarrez le service Graylog et activez-le pour qu'il démarre au redémarrage du système avec la commande suivante :

systemctl daemon-reload
systemctl start graylog-server
systemctl enable graylog-server

Ensuite, vous pouvez vérifier l'état du serveur Graylog à l'aide de la commande suivante :

systemctl status graylog-server

Vous devriez voir le résultat suivant :

? graylog-server.service - Graylog server
     Loaded: loaded (/lib/systemd/system/graylog-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 08:50:16 UTC; 15min ago
       Docs: http://docs.graylog.org/
   Main PID: 8693 (graylog-server)
      Tasks: 156 (limit: 2353)
     Memory: 865.0M
     CGroup: /system.slice/graylog-server.service
             ??8693 /bin/sh /usr/share/graylog-server/bin/graylog-server
             ??8726 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX>

Sep 05 08:50:16 ubuntu2004 systemd[1]: Started Graylog server.

Vous pouvez également vérifier le journal du serveur Graylog avec la commande suivante :

tail -f /var/log/graylog-server/server.log

Une fois le serveur Graylog démarré avec succès, vous devriez obtenir le résultat suivant :

2020-09-05T08:51:36.473Z INFO  [ServerBootstrap] Services started, startup times in ms: {InputSetupService [RUNNING]=59, JobSchedulerService [RUNNING]=105, GracefulShutdownService [RUNNING]=106, OutputSetupService [RUNNING]=110, BufferSynchronizerService [RUNNING]=111, UrlWhitelistService [RUNNING]=153, JournalReader [RUNNING]=166, KafkaJournal [RUNNING]=222, MongoDBProcessingStatusRecorderService [RUNNING]=240, ConfigurationEtagService [RUNNING]=259, EtagService [RUNNING]=302, StreamCacheService [RUNNING]=306, LookupTableService [RUNNING]=376, PeriodicalsService [RUNNING]=655, JerseyService [RUNNING]=58701}
2020-09-05T08:51:36.477Z INFO  [ServerBootstrap] Graylog server up and running.

À ce stade, le serveur Graylog est démarré et écoute sur le port 9000.

Configurer Nginx en tant que proxy inverse pour Graylog

Ensuite, vous devrez installer et configurer Nginx en tant que proxy inverse pour accéder au serveur Graylog.

Tout d'abord, installez le serveur Nginx avec la commande suivante :

apt-get install nginx -y

Après avoir installé le serveur Nginx, créez un nouveau fichier de configuration d'hôte virtuel Nginx avec la commande suivante :

nano /etc/nginx/sites-available/graylog.conf

Ajoutez les lignes suivantes :

server {
    listen 80;
    server_name graylog.example.org;

    location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Graylog-Server-URL http://$server_name/;
      proxy_pass       http://127.0.0.1:9000;
    }
}

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, vérifiez le Nginx pour toute erreur de syntaxe avec la commande suivante :

nginx -t

Vous devriez obtenir le résultat suivant :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ensuite, activez le fichier de configuration de l'hôte virtuel Nginx avec la commande suivante :

ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/

Enfin, redémarrez le service Nginx pour appliquer les modifications :

systemctl restart nginx

Ensuite, vérifiez l'état du Graylog avec la commande suivante :

systemctl status nginx

Vous devriez obtenir le résultat suivant :

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 09:07:50 UTC; 20s ago
       Docs: man:nginx(8)
    Process: 9408 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 9419 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 9423 (nginx)
      Tasks: 3 (limit: 2353)
     Memory: 10.2M
     CGroup: /system.slice/nginx.service
             ??9423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??9424 nginx: worker process
             ??9425 nginx: worker process

Sep 05 09:07:50 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Sep 05 09:07:50 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.

Accéder à l'interface Web Graylog

Maintenant, ouvrez votre navigateur Web et tapez l'URL http://graylog.example.com. Vous serez redirigé vers la page de connexion Graylog comme indiqué ci-dessous :

Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord Graylog sur la page suivante :

Maintenant, cliquez sur Système>> Présentation . Vous devriez voir l'état du serveur Graylog sur la page suivante :

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès le serveur Graylog avec Nginx en tant que proxy inverse sur Ubuntu 20.04. Vous pouvez maintenant explorer le Graylog et créer une entrée pour recevoir les journaux Rsyslog de sources externes. N'hésitez pas à me demander si vous avez des questions.


Ubuntu
  1. Comment installer et utiliser Elasticsearch sur Ubuntu 20.04

  2. Comment installer et configurer le serveur DHCP sur Ubuntu 20.04

  3. Comment installer et configurer le serveur Redis dans Ubuntu

  4. Utiliser Ansible pour installer et configurer Elasticsearch sur Ubuntu 20.04

  5. Comment installer et configurer Elasticsearch sur Ubuntu 20.04

Comment installer et configurer le serveur LAMP sur Ubuntu

Comment installer et configurer le serveur OpenLDAP sur Ubuntu 16.04

Comment installer et configurer le serveur VNC sur Ubuntu 20.04

Comment installer et configurer VNC sur Ubuntu Server 20.04

Comment installer et configurer Elasticsearch sur Ubuntu 20.04

Installer le serveur de surveillance Graylog sur CentOS 8