GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer ELK Stack sur Ubuntu 18.04

ELK Stack est la plateforme de gestion de journaux la plus populaire au monde. Il s'agit d'une collection de produits open source comprenant Elasticsearch, Logstash et Kibana. Tous ces 3 produits sont développés, gérés et maintenus par Elastic.

ELK Stack est une plate-forme puissante et open source capable de gérer une quantité massive de données enregistrées. Le journal des entrées provient généralement d'une interface Web graphique (GUI).

  • Elasticsearch est un moteur de recherche et d'analyse basé sur JSON conçu pour une évolutivité horizontale et une gestion simplifiée.
  • Logstash est une interface de traitement de données côté serveur qui a la capacité de collecter simultanément des données provenant de plusieurs sources. Il le transforme ensuite, puis envoie les données à la réserve souhaitée. Il s'agit d'une application open source.
  • Kibana est utilisé pour visualiser vos données et naviguer dans la Suite Elastic. C'est aussi un outil open source.

Installer et configurer ELK Stack sur Ubuntu

Dans ce tutoriel, nous allons utiliser filebeat pour envoyer les données du journal à Logstash. Les Beats sont des expéditeurs de données légers et pour commencer, nous devrions installer l'agent sur les serveurs.

Étape 1) Installation de Java 8

ElasticSearch prend en charge Java 8 et 9, mais le problème est que Logstash n'est compatible qu'avec Java 8. Java 9 n'est pas encore pris en charge. Par conséquent, nous allons installer Oracle Java 8.

Lancez le terminal et ajoutez le référentiel Oracle Java 8, suivi d'une mise à jour du système et de l'installation proprement dite.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt install oracle-java8-set-default

Faites attention au terminal. Vous devrez accepter les fenêtres du contrat de licence et sélectionner "oui" pour continuer. Une fois l'installation terminée, vous pouvez vérifier la version Java en utilisant les commandes suivantes :

.sudo java -version
sudo echo $JAVA_HOME

Étape 2) Installer et configurer Elasticsearch

Commençons par wget commande pour télécharger Elasticsearch suivie de la clé de signature publique :

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

Deuxièmement, installez le paquet apt-transport-https (les distributions basées sur Debian en ont besoin).

sudo apt-get install apt-transport-https

Ajouter le référentiel :

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 la liste des dépôts et installez le package :

sudo apt-get update
sudo apt-get install elasticsearch

Modifions le fichier "elasticsearch.yml":

sudo vim /etc/elasticsearch/elasticsearch.yml

Décommentez "network.host" et "http.port". La configuration suivante doit être ajoutée :

network.host :localhosthttp.port :9200

Ensuite, enregistrez et fermez le fichier.

Pour vous assurer qu'ElasticSearch fonctionne de manière transparente, activez-le au démarrage et démarrez ElasticSearch.

sudo systemctl activer elasticsearch.service
sudo systemctl démarrer elasticsearch.service

Vérifier l'installation :

sudo curl -XGET 'localhost:9200/?pretty'

Étape 3) Installer Kibana

Commençons maintenant à installer Kibana et modifions les paramètres de Kibana :

sudo apt-get install kibana
sudo vim /etc/kibana/kibana.yml

Décommentez les lignes suivantes :

server.port :5601server.host :"localhost"elasticsearch.url :"http://localhost:9200"

Enregistrez et quittez le fichier.

Activez-le au démarrage et démarrez le service Kibana :

sudo systemctl enable kibana.service
sudo systemctl start kibana.service

Étape 4) Configuration de Nginx en tant que proxy inverse pour Kibana

Dans les lignes similaires, installons Nginx, configurons-le et démarrons le service. Utilisez les commandes suivantes une par une :

sudo apt-get install nginx apache2-utils

Configurer l'hôte virtuel :

sudo vim /etc/nginx/sites-available/elk

Ajoutez la configuration suivante au fichier :

 serveur { écouter 80 ; nom_serveur elk.fosslinux.com ; auth_basic "Accès restreint" ; auth_basic_user_file /etc/nginx/.elkusersecret ; emplacement / { proxy_pass http://localhost:5601; proxy_http_version 1.1 ; proxy_set_header Mettre à jour $http_upgrade ; proxy_set_header Connexion 'mise à niveau' ; proxy_set_header Hôte $hôte ; proxy_cache_bypass $http_upgrade ; }}

Créez un fichier d'utilisateur et de mot de passe pour l'authentification du navigateur Web :

sudo htpasswd -c /etc/nginx/.elkusersecret elkusr

Entrez le mot de passe et répétez. Vérifiez les configurations Nginx :

sudo nginx -t

Activez Nginx au démarrage du système et redémarrez le service :

sudo systemctl enable nginx.service
sudo systemctl redémarrer nginx.service

Étape 5) Installer et configurer Logstash

Installer Logstash :

sudo apt-get install logstash

Ici, nous allons générer une clé de certificat SSL pour sécuriser le transfert de journaux à partir du client file beat. Modifiez le fichier "hosts" avant de créer le certificat SSL.

sudo vim /etc/hosts

Ajoutez la ligne suivante au fichier. Assurez-vous de changer l'IP et le nom du serveur pour le vôtre.

172.31.31.158 elk-server elk-server

Une fois terminé, enregistrez et quittez le fichier.

Changez maintenant de répertoire pour Logstash.

sudo cd /etc/logstash/

Créez un dossier pour SSL :

sudo mkdir ssl

Générer un certificat SSL. Remplacez elk-server par le nom de votre serveur dans la commande ci-dessous.

sudo openssl req -subj '/CN=elk-server/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crt 

Créez les fichiers suivants dans "/etc/logstash/conf.d".

sudo cd /etc/logstash/conf.d/

créer un fichier filebeat-input en utilisant vim.

sudo vim filebeat-input.conf

Ajoutez-y les lignes suivantes.

input { beats { port => 5443 type => syslog ssl => true ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt" ssl_key => "/etc/logstash/ssl/logstash-forwarder .key" }}

Enregistrez et fermez le fichier et créez un nouveau fichier de configuration.

sudo vim syslog-filter.conf

Ajoutez-y le contenu suivant.

filter { if [type] =="syslog" { grok { match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[ %{POSINT:syslog_pid}\]) ? : %{GREEDYDATA:syslog_message}" } add_field => [ "received_at", "%{@timestamp}" ] add_field => [ "received_from", "%{host}" ] } date { match => [ "syslog_timestamp", "MMM j HH:mm:ss", "MMM jj HH:mm:ss" ] } }}

Enregistrez et quittez le fichier. Créer elasticsearch fichier de sortie.

sudo vim output-elasticsearch.conf

Ajoutez-y les lignes suivantes.

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

Activons Logstash au démarrage et démarrons le service :

sudo systemctl enable logstash.service
sudo systemctl démarrer logstash.service

Étape 6) Installation et configuration de Filebeat sur les serveurs clients

Commencez par modifier les hôtes fichier pour ajouter des entrées d'hôte elk. Assurez-vous de remplacer l'adresse IP et le nom par les vôtres.

sudo vim /etc/hosts
172.31.31.158 serveur elk

Enregistrez et quittez le fichier.

Téléchargez et installez la clé de signature publique :

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

Installez "apt-transport-https" et ajoutez le dépôt.

sudo apt-get install apt-transport-https
sudo 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 dépôt et installez Filebeat.

sudo apt-get update
sudo apt-get install filebeat

Modifier les configurations Filebeat.

sudo vim /etc/filebeat/filebeat.yml

Trouvez la ligne suivante et modifiez la valeur en "true".

activé :vrai

Ici, nous ne modifions pas le chemin du journal et Filebeat transmettra tous les journaux dans le dossier "var/log"

 chemins :- /var/log/*.log

Décommentez les lignes suivantes :

output.logstash :# Les hôtes Logstash hébergent :["elk-server:5443"] ssl.certificate_authorities :["/etc/filebeat/logstash-forwarder.crt"]

Commentaire Elasticsearch :

#output.elasticsearch :# tableau d'hôtes auxquels se connecter. # hôtes :["localhost:9200"]

Enregistrez et quittez le fichier.

Allez maintenant sur le serveur ELK et obtenez le contenu de "logstash-forwarder.crt"

sudo cat /etc/logstash/ssl/logstash-forwarder.crt

copiez la sortie, puis accédez au client-serveur Elk.

Créer un fichier de certificat

sudo vim /etc/filebeat/logstash-forwarder.crt

insérez la sortie copiée et enregistrez et quittez.

Activer filebeat au démarrage du système Lancer filebeat services.

sudo systemctl enable filebeat.service
sudo systemctl start filebeat.service

Étape 7) Parcourir le tableau de bord Kibana

Lancez votre navigateur Web préféré et entrez le nom de domaine suivi du nom d'utilisateur et du mot de passe.

http://elk.fosslinux.com

Entrez le nom d'utilisateur et le mot de passe créés. Vous devriez voir la page d'accueil de Kibana. Cliquez sur le bouton "Explorer le mien".

Vous devriez être redirigé vers la page d'accueil de Kibana.

Cliquez sur "Découvrir" sur le côté gauche. Cliquez sur "Créer un modèle d'index".

Définissez ensuite le modèle d'index "filebeat-*".

Cliquez sur suivant et choisissez @horodatage", puis cliquez sur "Créer un modèle d'index".

Le modèle d'index devrait être créé.

Cliquez sur le menu "Découvrir" pour voir les journaux du serveur.

Les journaux seront affichés selon l'horodatage. Cliquez sur n'importe quel horodatage pour le développer et voir le contenu du fichier journal et ses détails.

Si vous êtes arrivé ici, cela signifie que vous avez installé et configuré avec succès la pile ELK avec filebeat. Vous avez des problèmes ? N'hésitez pas à nous le faire savoir dans les commentaires ci-dessous.


Ubuntu
  1. Comment installer Elasticsearch sur Ubuntu 18.04

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

  3. Installation de la pile ELK sur Ubuntu 14.04

  4. Comment installer la communauté Zammad dans Ubuntu 20.04

  5. Comment installer ELK Stack sur Ubuntu 16.04

Comment installer la pile ELK sur CentOS 8

Comment installer Elasticsearch sur Ubuntu 18.04 LTS

Comment installer ELK Stack sur Ubuntu 20.04 LTS

Comment installer Elasticsearch sur Ubuntu 20.04 LTS

Comment installer la pile ELK sur Debian 8

Comment installer ELK Stack sur Ubuntu 20.04