GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer ELK Stack (Elasticsearch, Logstash et Kibana) sur Ubuntu 18.04 / 20.04

Présentation

La pile ELK est un ensemble d'applications permettant de récupérer et de gérer les fichiers journaux.

Il s'agit d'une collection de trois outils open source, Elasticsearch , Kibana , et Logstash . La pile peut être encore améliorée avec Beats , un plugin léger pour agréger les données de différents flux de données.

Dans ce didacticiel, découvrez comment installer la pile logicielle ELK sur Ubuntu 18.04 / 20.04.

Prérequis

  • Un système Linux exécutant Ubuntu 20.04 ou 18.04
  • Accès à une fenêtre de terminal/ligne de commande (Rechercher> Terminal )
  • Un compte utilisateur avec sudo ou racine privilèges
  • Java version 8 ou 11 (nécessaire pour Logstash)

Étape 1 :Installer les dépendances

Installer Java

La pile ELK nécessite l'installation de Java 8. Certains composants sont compatibles avec Java 9, mais pas Logstash.

Si vous avez déjà installé Java 8, passez à Installer Nginx.

1. Si vous n'avez pas installé Java 8, installez-le en ouvrant une fenêtre de terminal et en saisissant ce qui suit :

sudo apt-get install openjdk-8-jdk

2. Si vous y êtes invité, saisissez y et appuyez sur Entrée pour que le processus se termine.

Installer Nginx

Nginx fonctionne comme un serveur Web et un serveur proxy. Il est utilisé pour configurer l'accès contrôlé par mot de passe au tableau de bord Kibana.

1. Installez Nginx en saisissant ce qui suit :

sudo apt-get install nginx

2. Si vous y êtes invité, saisissez y et appuyez sur Entrée pour que le processus se termine.

Étape 2 :Ajouter un référentiel élastique

Les référentiels élastiques permettent d'accéder à tous les logiciels open source de la pile ELK. Pour les ajouter, commencez par importer la clé GPG.

1. Saisissez ce qui suit dans une fenêtre de terminal pour importer la clé PGP pour Elastic :

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

2. Le système doit répondre par OK , comme le montre l'image ci-dessous.


3. Ensuite, installez le apt-transport-https paquet :

sudo apt-get install apt-transport-https

4. Ajoutez le référentiel Elastic à la liste des référentiels de votre système :

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

Étape 3 :Installez Elasticsearch

1. Avant d'installer Elasticsearch, mettez à jour les référentiels en saisissant :

sudo apt-get update

2. Installez Elasticsearch avec la commande suivante :

sudo apt-get install elasticsearch

Configurer Elasticsearch

1. Elasticsearch utilise un fichier de configuration pour contrôler son comportement. Ouvrez le fichier de configuration pour le modifier dans un éditeur de texte de votre choix. Nous utiliserons nano :

sudo nano /etc/elasticsearch/elasticsearch.yml

2. Vous devriez voir un fichier de configuration avec plusieurs entrées et descriptions différentes. Faites défiler vers le bas pour trouver les entrées suivantes :

#network.host: 192.168.0.1
#http.port: 9200

3. Décommentez les lignes en supprimant le hash (# ) signer au début des deux lignes et remplacez 192.168.0.1 avec localhost .

Il devrait se lire :

network.host: localhost
http.port: 9200

4. Juste en dessous, retrouvez la Découverte section. Nous ajoutons une ligne supplémentaire, car nous configurons un cluster à nœud unique :

discovery.type: single-node

Pour plus de détails, voir l'image ci-dessous.

5. Par défaut, taille du tas JVM est fixé à 1 Go. Nous vous recommandons de ne pas le régler sur plus de la moitié de la taille de votre mémoire totale. Ouvrez le fichier suivant pour le modifier :

sudo nano /etc/elasticsearch/jvm.options

6. Trouvez les lignes commençant par -Xms et -Xmx . Dans l'exemple ci-dessous, le maximum (-Xmx ) et minimum (-Xms ) la taille est définie sur 512 Mo.

Démarrer Elasticsearch

1. Démarrez le service Elasticsearch en exécutant un systemctl commande :

sudo systemctl start elasticsearch.service

Le démarrage du service par le système peut prendre un certain temps. Il n'y aura pas de sortie en cas de succès.

2. Activez Elasticsearch pour qu'il démarre au démarrage :

sudo systemctl enable elasticsearch.service

Tester Elasticsearch

Utilisez la curl commande pour tester votre configuration. Saisissez ce qui suit :

curl -X GET "localhost:9200"

Le nom de votre système doit s'afficher, et elasticsearch pour le nom du cluster. Cela indique qu'Elasticsearch est fonctionnel et écoute sur le port 9200 .

Étape 4 :Installer Kibana

Il est recommandé d'installer Kibana ensuite. Kibana est une interface utilisateur graphique permettant d'analyser et d'interpréter les fichiers journaux collectés.

1. Exécutez la commande suivante pour installer Kibana :

sudo apt-get install kibana

2. Laissez le processus se terminer. Une fois terminé, il est temps de configurer Kibana.

Configurer Kibana

1. Ensuite, ouvrez le kibana.yml fichier de configuration pour l'édition :

sudo nano /etc/kibana/kibana.yml

2. Supprimez le # signez au début des lignes suivantes pour les activer :

#server.port: 5601
#server.host: "your-hostname"
#elasticsearch.hosts: ["http://localhost:9200"]

Les lignes mentionnées ci-dessus doivent ressembler à ceci :

server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]

3. Enregistrez le fichier (Ctrl+o ) et quitter (Ctrl+ x ).

Démarrer et activer Kibana

1. Démarrez le service Kibana :

sudo systemctl start kibana

Il n'y a pas de sortie si le service démarre avec succès.

2. Ensuite, configurez Kibana pour qu'il se lance au démarrage :

sudo systemctl enable kibana

Autoriser le trafic sur le port 5601

Si le pare-feu UFW est activé sur votre système Ubuntu, vous devez autoriser le trafic sur le port 5601 pour accéder au tableau de bord Kibana.

Dans une fenêtre de terminal, exécutez la commande suivante :

sudo ufw allow 5601/tcp

La sortie suivante devrait s'afficher :

Tester Kibana

Pour accéder à Kibana, ouvrez un navigateur Web et accédez à l'adresse suivante :

http://localhost:5601

Le tableau de bord Kibana se charge.

Si vous recevez un message "Le serveur Kibana n'est pas encore prêt" erreur, vérifiez si les services Elasticsearch et Kibana sont actifs.

Étape 5 :Installer Logstash

Logstash est un outil qui collecte des données à partir de différentes sources. Les données qu'il collecte sont analysées par Kibana et stockées dans Elasticsearch.

Installez Logstash en exécutant la commande suivante :

sudo apt-get install logstash

Démarrer et activer Logstash

1. Démarrez le service Logstash :

sudo systemctl start logstash

2. Activez le service Logstash :

sudo systemctl enable logstash

3. Pour vérifier l'état du service, exécutez la commande suivante :

sudo systemctl status logstash

Configurer Logstash

Logstash est une partie hautement personnalisable de la pile ELK. Une fois installé, configurez son INPUT , FILTRES , et SORTIE pipelines en fonction de votre propre cas d'utilisation.

Tous les fichiers de configuration Logstash personnalisés sont stockés dans /etc/logstash/conf.d/ .

Étape 6 :Installer Filebeat

Filebeat est un plugin léger utilisé pour collecter et envoyer des fichiers journaux. C'est le module Beats le plus couramment utilisé. L'un des principaux avantages de Filebeat est qu'il ralentit son rythme si le service Logstash est submergé de données.

Installez Filebeat en exécutant la commande suivante :

sudo apt-get install filebeat

Laissez l'installation se terminer.

Configurer Filebeat

Filebeat, par défaut, envoie des données à Elasticsearch. Filebeat peut également être configuré pour envoyer des données d'événement à Logstash.

1. Pour configurer cela, modifiez le filebeat.yml fichier de configuration :

sudo nano /etc/filebeat/filebeat.yml

2. Sous Elasticsearch osortie section, commentez les lignes suivantes :

# output.elasticsearch:
   # Array of hosts to connect to.
   # hosts: ["localhost:9200"]

3. Sous la sortie Logstash section,supprimez le signe dièse (# ) dans les deux lignes suivantes :

# output.logstash
     # hosts: ["localhost:5044"]

Cela devrait ressembler à ceci :

output.logstash
     hosts: ["localhost:5044"]

Pour plus de détails, voir l'image ci-dessous.

4. Ensuite, activez le système Filebeat module, qui examinera les journaux système locaux :

sudo filebeat modules enable system

La sortie doit indiquer Enabled system .

5. Ensuite, chargez le modèle d'index :

sudo filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

Le système effectuera un certain travail, en analysant votre système et en se connectant à votre tableau de bord Kibana.

Démarrer et activer Filebeat

Démarrez et activez le service Filebeat :

sudo systemctl start filebeat
sudo systemctl enable filebeat

Vérifier la réception des données par Elasticsearch

Enfin, vérifiez si Filebeat envoie les fichiers journaux à Logstash pour traitement. Une fois traitées, les données sont envoyées à Elasticsearch.

curl -XGET http://localhost:9200/_cat/indices?v

Ubuntu
  1. Comment installer Elasticsearch, Logstash et Kibana (ELK Stack) sur CentOS 8

  2. Comment installer Elastic Stack (Elasticsearch, Logstash et Kibana) sur CentOS 8

  3. Comment installer Elasticsearch, Logstash et Kibana 4 sur Ubuntu 14.04 / 15.04

  4. Comment installer ELK Stack sur Ubuntu 16.04

  5. Installez Elasticsearch, Logstash et Kibana sur Ubuntu 20.04

Comment installer la pile ELK sur CentOS 8

Comment installer ELK Stack sur Ubuntu 18.04 LTS

Comment installer ELK Stack sur Ubuntu 20.04 LTS

Comment installer Elasticsearch Logstash Kibana (Elastic Stack) sur Ubuntu 18.04

Comment installer la pile ELK sur Debian 8

Comment installer ELK Stack sur Ubuntu 20.04