GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Logstash sur Ubuntu 18.04

Logstash est un outil gratuit et open source, et la plate-forme d'analyse de journaux la plus populaire au monde pour la collecte, l'analyse et le stockage des journaux pour une utilisation future. Logstash est livré avec un riche ensemble de plugins et un langage de modèle très expressif qui facilite la transformation des flux de données. Logstash fait partie de la pile ELK, mais vous pouvez également l'utiliser indépendamment. Logstash a la capacité d'extraire de n'importe quelle source de données à l'aide de plug-ins d'entrée, d'appliquer une grande variété de transformations de données et d'expédier les données vers un grand nombre de destinations à l'aide de plug-ins de sortie.

Dans ce tutoriel, nous allons vous montrer comment installer et configurer Logstash sur le serveur Ubuntu 18.04.

Prérequis

  • Un serveur exécutant Ubuntu 18.04.
  • Un mot de passe root est configuré sur votre serveur.

Mise en route

Avant de commencer, mettez à jour votre système avec la dernière version. Vous pouvez le faire en exécutant la commande suivante :

apt-get update -y
apt-get upgrade -y

Une fois votre système mis à jour, redémarrez-le pour appliquer les modifications.

Installer Java

Avant d'installer Java, assurez-vous que Java 8 ou Java 11 est installé. Vous pouvez installer Java 8 avec la commande suivante :

apt-get install openjdk-8-jdk -y

Après avoir installé Java, vérifiez la version de Java à l'aide de la commande suivante :

java -version

Vous devriez voir le résultat suivant :

openjdk version "1.8.0_162"
OpenJDK Runtime Environment (build 1.8.0_162-8u162-b12-1-b12)
OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode)

Installer Logstash

Avant d'installer Logstash, vous devrez installer Elasticsearch sur votre serveur. Par défaut, Elasticsearch n'est pas disponible sur le serveur Ubuntu 18.04. Vous devrez donc ajouter le référentiel pour Elasticsearch.

Tout d'abord, installez le package requis avec la commande suivante :

apt-get install apt-transport-https -y

Ensuite, téléchargez et ajoutez la clé Elasticsearch GPG avec la commande suivante :

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

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

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

Ensuite, installez Elasticsearch et Logstash avec la commande suivante :

apt-get install elasticsearch logstash -y

Une fois les deux packages installés, démarrez Logstash et Elasticsearch, et autorisez-les à démarrer après le redémarrage du système avec la commande suivante :

systemctl start logstash
systemctl enable logstash
systemctl start elasticsearch
systemctl enable elasticsearch

Vous pouvez également vérifier l'état de Logstash avec la commande suivante :

systemctl status logstash

Vous devriez voir le résultat suivant :

? logstash.service - logstash
   Loaded: loaded (/etc/systemd/system/logstash.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-11-20 10:13:22 UTC; 5s ago
 Main PID: 3790 (java)
    Tasks: 13 (limit: 1110)
   CGroup: /system.slice/logstash.service
           ??3790 /usr/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly 

Nov 20 10:13:22 ubuntu systemd[1]: Started logstash.

Par défaut, Elasticsearch écoute sur le port 9200. Vous pouvez le vérifier avec la commande suivante :

netstat -ant | grep 9200

Vous devriez voir le résultat suivant :

tcp6       0      0 127.0.0.1:9200          :::*                    LISTEN     
tcp6       0      0 ::1:9200                :::*                    LISTEN  

Configurer Logstash

La configuration de Logstash est l'une des parties les plus difficiles de tout administrateur système. La configuration Logstash se compose de trois sections de configuration principales, les entrées Logstash, les filtres Logstash et les sorties Logstash. Chaque section est responsable de différentes fonctions et utilise différents plugins Logstash.

Configurer l'entrée Logstash

Tout d'abord, vous devrez créer un fichier de configuration d'entrée beats-input.conf pour recevoir les données de Beats sur le port TCP 5044 :

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

Ajoutez les lignes suivantes :

input {
  beats {
    port => 5044
  }
}

Enregistrez et fermez le fichier lorsque vous avez terminé.

Configurer les filtres Logstash

Ensuite, vous devrez configurer un plugin de filtre pour traiter les événements reçus des beats. Ici, nous allons configurer beats pour collecter les événements d'authentification SSH des systèmes Ubuntu. Pour ce faire, créez un nouveau fichier de configuration de filtre ssh-auth-filter.conf :

nano /etc/logstash/conf.d/ssh-auth-filter.conf

Ajoutez les lignes suivantes :

filter {
  grok {
    match => { "message" => "%{SYSLOGTIMESTAMP:timestamp}\s+%{IPORHOST:dst_host}\s+%{WORD:syslog_program}\[\d+\]:\s+(?\w+\s+password)\s+for\s+%{USER:auth_user}\s+from\s+%{SYSLOGHOST:src_host}.*" }
    add_field => { "activity" => "SSH Logins" }
    add_tag => "linux_auth"
    }
}

Enregistrez et fermez le fichier lorsque vous avez terminé.

Configurer la sortie Logstash

Ensuite, vous devrez configurer les plugins de sortie pour permettre à Logstash d'envoyer des données d'événement à des destinations spécifiques.

Ici, nous allons créer un fichier de configuration de sortie Logstash qui envoie des données à Elasticsearch exécuté sur un hôte local.

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

Ajoutez les lignes suivantes :

output {
   elasticsearch {
     hosts => ["localhost:9200"]
     manage_template => false
     index => "ssh_auth-%{+YYYY.MM}"
 }
  stdout { codec => rubydebug }
}

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service Logstash pour appliquer les modifications :

systemctl restart logstash

Tester Logstash

Logstash est maintenant installé et configuré. Il est temps de tester si cela fonctionne ou non.

Vous pouvez vérifier la configuration de Logstash avec la commande suivante :

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

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

Sending Logstash logs to /var/log/logstash which is now configured via log4j2.properties
[2019-11-26T06:27:48,104][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.queue", :path=>"/var/lib/logstash/queue"}
[2019-11-26T06:27:48,119][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.dead_letter_queue", :path=>"/var/lib/logstash/dead_letter_queue"}
[2019-11-26T06:27:50,331][INFO ][org.reflections.Reflections] Reflections took 47 ms to scan 1 urls, producing 20 keys and 40 values 
Configuration OK
[2019-11-26T06:27:51,899][INFO ][logstash.runner          ] Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash

Toutes nos félicitations! vous avez installé et configuré avec succès Logstash sur le serveur Ubuntu 18.04.


Ubuntu
  1. Comment installer R sur Ubuntu 20.04

  2. Comment installer XWiki sur Ubuntu 20.04

  3. Comment installer phpBB sur Ubuntu 20.04

  4. Comment installer MongoDB sur Ubuntu 20.04

  5. Comment installer R sur Ubuntu 18.04

Comment installer Go dans Ubuntu 20.04

Comment installer Go sur Ubuntu 22.04

Comment installer Jenkins sur Ubuntu 18.04

Comment installer Ruby sur Ubuntu 18.04

Comment installer Kanboard sur Ubuntu 20.04

Comment installer OpenMAINT sur Ubuntu 20.04