GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer le logiciel Logstash Logfile Analytics sur Ubuntu 20.04

ELK est une combinaison de trois produits open source ElasticSearch, Logstash et Kibana. C'est l'une des plateformes de gestion de journaux les plus populaires dans le monde. Elasticsearch est un moteur de recherche et d'analyse. Logstash est un pipeline de traitement des journaux qui transporte simultanément les journaux de plusieurs sources, les transforme, puis les envoie à une « réserve » comme Elasticsearch. Kibana est utilisé pour visualiser vos données que Logstash a indexées dans l'index Elasticsearch

Dans ce tutoriel, nous expliquerons comment installer Logstash sur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04.
  • Un mot de passe root est configuré sur le serveur.

Installer les dépendances requises

Pour installer Elasticsearch, vous devrez installer Java sur votre système. Vous pouvez installer le JDK Java avec la commande suivante :

apt-get install openjdk-11-jdk -y

Une fois installé, vérifiez la version installée de Java avec la commande suivante :

java -version

Vous devriez voir le résultat suivant :

openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Ensuite, installez les autres dépendances requises en exécutant la commande suivante :

apt-get install nginx curl gnupg2 wget -y

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

Installer et configurer Elasticsearch

avant de commencer, vous devrez installer Elasticsearch sur votre système. Il stocke les journaux et les événements de Logstash et offre la possibilité de rechercher les journaux en temps réel.

Tout d'abord, ajoutez le référentiel Elastic à votre système avec la commande suivante :

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list

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

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

Une fois installé, modifiez le fichier de configuration par défaut d'Elasticsearch :

nano /etc/elasticsearch/elasticsearch.yml

Décommentez et modifiez sa valeur comme indiqué ci-dessous :

network.host: localhost  

Enregistrez et fermez le fichier, puis démarrez le service Elasticsearch et activez-le au démarrage avec la commande suivante :

systemctl start elasticsearch
systemctl enable elasticsearch

À ce stade, Elasticsearch est installé et écoute sur le port 9200. Vous pouvez maintenant tester si Elasticsearch fonctionne ou non en exécutant la commande suivante :

curl -X GET "localhost:9200"

Si tout va bien, vous devriez voir le résultat suivant :

{
  "name" : "ubuntu2004",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AVRzLjAbQTK-ayYQc0GaMA",
  "version" : {
    "number" : "7.8.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
    "build_date" : "2020-06-14T19:35:50.234439Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

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

Installer et configurer Kibana

Ensuite, vous devrez installer Kibana sur votre système. Kibana vous permet d'analyser les données stockées sur Elasticsearch. Vous pouvez l'installer en exécutant simplement la commande suivante :

apt-get install kibana -y

Une fois Kibana installé, démarrez le service Kibana et activez-le au démarrage avec la commande suivante :

systemctl start kibana
systemctl enable kibana

Ensuite, vous devrez créer un utilisateur administratif pour Kibana afin d'accéder à l'interface Web de Kibana. Exécutez la commande suivante pour créer l'utilisateur et le mot de passe administratifs de Kibana, et stockez-les dans le fichier htpasswd.users.

echo "admin:`openssl passwd -apr1`" | tee -a /etc/nginx/htpasswd.users

Il vous sera demandé de fournir un mot de passe comme indiqué dans la sortie suivante :

Password: 
Verifying - Password: 
admin:$apr1$8d05.YO1$E0Q8QjfNxxxPtD.unmDs7/

Ensuite, créez un fichier de configuration d'hôte virtuel Nginx pour servir Kibana :

nano /etc/nginx/sites-available/kibana

Ajoutez les lignes suivantes :

server {
    listen 80;

    server_name kibana.example.com;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/htpasswd.users;

    location / {
        proxy_pass http://localhost:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Enregistrez et fermez le fichier puis activez le fichier d'hôte virtuel Nginx avec la commande suivante :

ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/

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

systemctl restart nginx

Ensuite, ouvrez votre navigateur Web et vérifiez l'état du Kibana à l'aide de l'URL http://kibana.example.com/status. Il vous sera demandé de fournir un nom d'utilisateur et un mot de passe comme indiqué ci-dessous :

Indiquez votre nom d'utilisateur et votre mot de passe Kibana, puis cliquez sur le bouton Se connecter. Vous devriez voir l'écran suivant :

À ce stade, le tableau de bord Kibana est installé sur votre système. Vous pouvez maintenant passer à l'étape suivante.

Installer et configurer Logstash

Logstash est utilisé pour le traitement des logs envoyés par beats. Vous pouvez l'installer en exécutant la commande suivante :

apt-get install logstash -y

Une fois Logstash installé, créez un nouveau fichier de configuration de beat avec la commande suivante :

nano /etc/logstash/conf.d/02-beats-input.conf

Ajoutez les lignes suivantes :

input {
  beats {
    port => 5044
  }
}

Enregistrez et fermez le fichier puis créez un fichier de configuration Elasticsearch avec la commande suivante :

nano /etc/logstash/conf.d/30-elasticsearch-output.conf

Ajoutez les lignes suivantes :

output {
  if [@metadata][pipeline] {
    elasticsearch {
    hosts => ["localhost:9200"]
    manage_template => false
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    pipeline => "%{[@metadata][pipeline]}"
    }
  } else {
    elasticsearch {
    hosts => ["localhost:9200"]
    manage_template => false
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    }
  }
}

Enregistrez et fermez le fichier puis vérifiez votre configuration Logstash avec cette commande :

sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t

Si tout va bien, vous devriez voir le résultat suivant :

Config Validation Result: OK. Exiting Logstash

Ensuite, démarrez le service Logstash et activez-le au démarrage avec la commande suivante :

systemctl start logstash
systemctl enable logstash

À ce stade, Logstash est installé sur votre système. Vous pouvez maintenant passer à l'étape suivante.

Installer et configurer Filebeat

La pile ELK utilise Filebeat pour collecter des données provenant de diverses sources et les transporter vers Logstash.

Vous pouvez installer Filebeat avec la commande suivante :

apt-get install filebeat -y

Une fois installé, vous devrez configurer Filebeat pour vous connecter à Logstash. Vous pouvez le configurer avec la commande suivante :

nano /etc/filebeat/filebeat.yml

Commentez les lignes suivantes :

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

Décommentez ensuite les lignes suivantes :

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

Enregistrez et fermez le fichier puis activez le module système avec la commande suivante :

filebeat modules enable system

Par défaut, Filebeat est configuré pour utiliser des chemins par défaut pour les journaux syslog et d'autorisation.

Vous pouvez charger le pipeline d'ingestion pour le module système avec la commande suivante :

filebeat setup --pipelines --modules system

Ensuite, chargez le modèle avec la commande suivante :

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

Vous devriez voir le résultat suivant :

Index setup finished.

Par défaut, Filebeat est fourni avec des exemples de tableaux de bord Kibana qui vous permettent de visualiser les données Filebeat dans Kibana. Vous devez donc désactiver la sortie Logstash et activer la sortie Elasticsearch. Vous pouvez le faire avec la commande suivante :

filebeat setup -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200'] -E setup.kibana.host=localhost:5601

Vous devriez voir le résultat suivant :

Overwriting ILM policy is disabled. Set `setup.ilm.overwrite:true` for enabling.

Index setup finished.
Loading dashboards (Kibana must be running and reachable)
Loaded dashboards
Setting up ML using setup --machine-learning is going to be removed in 8.0.0. Please use the ML app instead.
See more: https://www.elastic.co/guide/en/elastic-stack-overview/current/xpack-ml.html
Loaded machine learning job configurations
Loaded Ingest pipelines

Maintenant, démarrez le service Filebeat et activez-le au démarrage avec la commande suivante :

systemctl start filebeat
systemctl enable filebeat

Accéder au tableau de bord Kibana

À ce stade, tous les composants d'ELK sont installés et configurés. Maintenant, ouvrez votre navigateur Web et tapez l'URL http://kibana.example.com. Vous devriez voir le tableau de bord Kibana dans l'écran suivant :

Dans le volet de gauche, cliquez sur Découvrir et sélectionnez le modèle d'index filebeat-* prédéfini pour afficher les données Filebeat dans l'écran suivant :

Désormais, Kibana propose de nombreuses fonctionnalités. N'hésitez pas à les explorer à votre guise.

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès Logstash sur le serveur Ubuntu 20.04. Vous pouvez désormais collecter et analyser les journaux système à partir d'un emplacement central. N'hésitez pas à me demander si vous avez des questions.


Ubuntu
  1. Comment installer Logstash sur Ubuntu 18.04

  2. Comment installer Graylog2 sur Ubuntu 14.04

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

  4. Comment installer Graylog2 sur Ubuntu 15.04 / 14.10

  5. Comment installer Elasticsearch sur Ubuntu 20.04

Comment installer Graylog 3.0 sur Ubuntu 18.04 / Ubuntu 16.04

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

Comment installer Thunderbird sur Ubuntu 20.04

Comment installer un logiciel via Flatpak sur Ubuntu

Comment installer le logiciel Flarum Forum sur Ubuntu 22.04 | 20.04

Comment installer Graylog sur Ubuntu 18.04 LTS