GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Graylog 3.0 sur Ubuntu 18.04 / Ubuntu 16.04

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 se concentre sur l'installation de Graylog sur Ubuntu 18.04 / Ubuntu 16.04.

Composants

MongoDB – Agit comme une base de données, stocke les configurations et les méta-informations.

Elasticsearch – Il stocke les messages du journal et offre une fonction de recherche. Il est recommandé d'allouer plus de mémoire et d'utiliser des disques SAS ou SAN pour les nœuds Elasticsearch. Ici, où toutes vos recherches ont lieu.

Serveur Graylog – Analyseur de journal. Il collecte les journaux à partir de diverses entrées et fournit une sortie à une interface Web intégrée pour gérer les journaux.

Prérequis

Comme vous le savez, Elasticsearch est une application basée sur Java. Installez OpenJDK ou Oracle JDK sur votre ordinateur pour continuer.

Ici, je vais opter pour OpenJDK 8.

sudo apt update
sudo apt install -y apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen curl dirmngr

Vérifiez la version Java.

java -version

Sortie :

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Installer Elasticsearch

Elasticsearch est l'un des principaux composants qui nécessite l'exécution de Graylog, agit comme un serveur de recherche, offre une recherche et des analyses distribuées en temps réel avec l'interface Web RESTful.

Elasticsearch stocke tous les journaux envoyés par le serveur Graylog et affiche les messages à chaque demande de l'utilisateur via l'interface Web intégrée.

Téléchargez et installez la clé de signature GPG.

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

Configurez le référentiel Elasticsearch en exécutant la commande ci-dessous.

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

Mettez à jour le cache du référentiel et installez le package Elasticsearch.

sudo apt update
sudo apt install -y elasticsearch

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

sudo systemctl enable elasticsearch

La seule chose importante est de définir un nom de cluster comme graylog . Modifiez le fichier de configuration d'Elasticsearch et mettez-le à jour en conséquence.

sudo nano /etc/elasticsearch/elasticsearch.yml

Définissez le nom du cluster affiché comme ci-dessous.

cluster.name: graylog

Démarrez le service Elasticsearch pour lire les nouvelles configurations.

sudo systemctl restart elasticsearch

Attendez au moins une minute pour permettre à Elasticsearch de redémarrer complètement. Elastisearch devrait maintenant écouter sur 9200 pour le traitement de la requête HTTP. Utilisez un CURL pour vérifier la réponse.

curl -X GET http://localhost:9200

Sortie :

Assurez-vous que le nom du cluster s'affiche sous la forme graylog .

{
  "name" : "bgVbYrc",
  "cluster_name" : "graylog",
  "cluster_uuid" : "-wECQlwnSZWftd_XdWSz-g",
  "version" : {
    "number" : "6.6.1",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "1fd8f69",
    "build_date" : "2019-02-13T17:10:04.160291Z",
    "build_snapshot" : false,
    "lucene_version" : "7.6.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Facultatif : Testez la santé du cluster Elasticsearch.

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

Sortie :

Assurez-vous que la sortie donne l'état du cluster en tant que 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,
  "relocating_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" : 100.0
}

Installer MongoDB

Téléchargez et installez la dernière version de MongoDB depuis le site officiel. Importez la clé publique sur le terminal pour commencer.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Ajoutez le référentiel mongodb en créant le /etc/apt/sources.list.d/mongodb-org.list fichier à l'aide de la commande suivante.

### Ubuntu 18.04 ###

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

### Ubuntu 16.04 ###

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Installez MongoDB à l'aide de la commande suivante.

sudo apt update
sudo apt install -y mongodb-org

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

sudo systemctl start mongod
sudo systemctl enable mongod

Installer Graylog

Graylog Server accepte et traite les messages du journal, puis les affiche pour les requêtes provenant de l'interface Web graylog.

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

wget https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.deb
sudo dpkg -i graylog-3.0-repository_latest.deb

Mettez à jour le cache du référentiel.

sudo apt update

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

sudo apt install -y graylog-server

Configurer Graylog

Vous devez définir un secret pour sécuriser les mots de passe des utilisateurs. Utilisez la commande pwgen pour le même.

pwgen -N 1 -s 96

Sortie :

fGoTI07CooB6xNy5sdPVSKSuq6QSu2QyWf6G9z3haolgwbERTQ9ZbfbF6hxRYbJMMAlEZX7CXHxJLBkNyfM0420u8aFuZy9M

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

sudo nano /etc/graylog/server/server.conf

Placez le secret comme ci-dessous.

password_secret = fGoTI07CooB6xNy5sdPVSKSuq6QSu2QyWf6G9z3haolgwbERTQ9ZbfbF6hxRYbJMMAlEZX7CXHxJLBkNyfM0420u8aFuZy9M

Ensuite, définissez un mot de passe de hachage (sha256) pour l'utilisateur root (à ne pas confondre avec l'utilisateur système, l'utilisateur root de graylog est admin).

Vous aurez besoin de ce mot de passe pour vous connecter à l'interface Web Graylog. Le mot de passe de l'administrateur ne peut pas être modifié à l'aide de l'interface Web. Vous devez donc modifier cette variable pour la définir.

Remplacez votre mot de passe avec votre choix.

echo -n yourpassword | sha256sum

Sortie :

e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Modifiez le server.conf fichier à nouveau.

sudo nano /etc/graylog/server/server.conf

Placez le mot de passe de hachage.

root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

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

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. Si vous ajoutez un deuxième nœud Graylog, définissez-le sur false pour faire du deuxième nœud un esclave, car le nœud maître effectue certaines tâches périodiques que les nœuds esclaves n'effectueront pas.

is_master = true

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 d'avoir un nombre total d'index 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

Ce paramètre 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

Configurer l'interface Web Graylog

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

sudo nano /etc/graylog/server/server.conf

Mettez à jour l'entrée ci-dessous avec l'adresse IP de votre système à partir de laquelle vous accéderez à l'interface Web Graylog.

http_bind_address = your-server-ip:9000

Redémarrez le service Graylog.

sudo systemctl restart graylog-server

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

sudo systemctl enable graylog-server

Vous pouvez consulter les journaux de démarrage du serveur, et il vous sera utile de dépanner Graylog en cas de problème.

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

Au démarrage réussi de graylog-server, vous devriez obtenir le message suivant dans le fichier journal.

2019-02-22T10:07:49.398+05:30 INFO  [ServerBootstrap] Graylog server up and running.

Accéder à 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 surserveur.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 1514. Parce que 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 l'autorisation refusée erreur dans les journaux Graylog.

Nous allons donc créer une entrée pour démarrer sur le port 1514.

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

Remplissez avec les valeurs, puis cliquez sur Enregistrer.

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

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.

sudo nano /etc/rsyslog.conf

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

*.info;mail.none;authpriv.none;cron.none @192.168.1.10:1514

Redémarrez le service Rsyslog pour envoyer les journaux.

systemctl restart rsyslog

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 Ubuntu 18.04 / Ubuntu 16.04 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.


Ubuntu
  1. Comment installer Elasticsearch sur Ubuntu 18.04

  2. Comment installer Graylog2 sur Ubuntu 14.04

  3. Comment installer Graylog2 sur Ubuntu 15.04 / 14.10

  4. Comment installer Elasticsearch sur Ubuntu 20.04

  5. Comment installer le serveur Graylog sur Ubuntu 16.04

Comment installer Graylog sur Debian 9

Comment installer Graylog sur Ubuntu 16.04 LTS

Comment installer Graylog sur Ubuntu 18.04 LTS

Comment installer Graylog sur Ubuntu 20.04 LTS

Comment installer Go dans Ubuntu 20.04

Comment installer Go sur Ubuntu 22.04