Installation Elastic · 14 min read · Nov 25, 2025
Comment installer Elastic Stack sur Ubuntu 18.04 LTS

Elasticsearch est un moteur de recherche open source basé sur Lucene, développé en Java. Il fournit un moteur de recherche en texte intégral distribué et multitenant avec une interface web de tableau de bord HTTP (Kibana). Les données sont interrogées, récupérées et stockées dans un schéma de document JSON. Elasticsearch est un moteur de recherche évolutif qui peut être utilisé pour rechercher tous types de documents texte, y compris des fichiers journaux. Elasticsearch est le cœur de l ‘Elastic Stack’ ou ELK Stack.
Logstash est un outil open source pour la gestion des événements et des journaux. Il fournit un pipeline en temps réel pour la collecte de données. Logstash collectera vos données de journal, convertira les données en documents JSON et les stockera dans Elasticsearch.
Kibana est un outil de visualisation de données open source pour Elasticsearch. Kibana fournit une belle interface web de tableau de bord. Il vous permet de gérer et de visualiser les données d’Elasticsearch. Ce n’est pas seulement beau, mais aussi puissant.
Dans ce tutoriel, je vais vous montrer comment installer et configurer Elastic Stack sur un serveur Ubuntu 18.04 pour la surveillance des journaux du serveur. Ensuite, je vous montrerai comment installer et configurer ‘Elastic beats’ sur un serveur client Ubuntu 18.04 et CentOS 7.
Prérequis
- 3 serveurs - Ubuntu 18.04 avec 4 Go de RAM/mémoire en tant que ‘elk-master’ - 10.0.15.10
- Ubuntu 18.04 avec 512 Mo/1 Go de RAM/mémoire en tant que ‘elk-client01’ - 10.0.15.21
- CentOS 7.5 avec 512 Mo/1 Go de RAM/mémoire en tant que ‘elk-client02’ - 10.0.15.22
- Privilèges root
Que allons-nous faire ?
- Installer Elastic Stack 1. Installer Java
- Installer et configurer ElasticSearch
- Installer et configurer Kibana
- Installer et configurer Nginx en tant que proxy inverse pour Kibana
- Installer et configurer Logstash
- Installer et configurer Filebeat sur Ubuntu 18.04
- Installer et configurer Filebeat sur CentOS 7.5
- Tester
Étape 1 - Installer Elastic Stack
Dans cette première étape, nous allons installer et configurer l ‘Elastic Stack’ sur le serveur ‘elk-master’, donc exécutez toutes les commandes et étapes pour cette étape uniquement sur le serveur ‘elk-master’. Nous allons installer et configurer chaque composant de l’elastic stack, y compris Elasticsearch, le transporteur Logstash et le tableau de bord Kibana avec le serveur web Nginx.
Installer Java
Java est requis pour le déploiement de l’Elastic stack. Elasticsearch nécessite Java 8. Il est recommandé d’utiliser l’Oracle JDK 1.8, et nous allons installer Java 8 à partir d’un dépôt PPA.
Installez les paquets ‘software-properties-common’ et ‘apt-transport-https’, puis ajoutez le dépôt Java ‘webupd8team’ PPA. Exécutez la commande ‘apt install’ et ‘add-apt-repository’ ci-dessous.
sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:webupd8team/java -yMaintenant, installez le java8-installer.
sudo apt install oracle-java8-installer -yAprès l’installation, vérifiez la version de Java.
java -versionJava 1.8 installé sur le système.
Ensuite, nous allons configurer l’environnement Java. Vérifiez le fichier binaire Java en utilisant la commande ci-dessous.
update-alternatives --config javaEt vous obtiendrez le fichier binaire Java dans le répertoire ‘/usr/lib/jvm/java-8-oracle‘.
Maintenant, créez le fichier de profil ‘java.sh’ sous le répertoire ‘profile.d’.
vim /etc/profile.d/java.shCollez la configuration de l’environnement Java ci-dessous.
#Set JAVA_HOME
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATHEnregistrez et quittez.
Rendez le fichier exécutable et chargez le fichier de configuration.
chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.shMaintenant, vérifiez l’environnement Java en utilisant la commande ci-dessous.
echo $JAVA_HOMEEt vous obtiendrez que le répertoire Java est situé dans le répertoire ‘/usr/lib/jvm/java-8-oracle‘.

Installer Elasticsearch
Après avoir installé Java, nous allons installer le premier composant de l’Elastic Stack, nous allons installer l’elasticsearch.
Ajoutez la clé de l’elastic stack et ajoutez le dépôt elastic au système.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.listMaintenant, mettez à jour le dépôt et installez le paquet elasticsearch en utilisant la commande ci-dessous.
sudo apt update
sudo apt install elasticsearch -yAprès l’installation, allez dans le répertoire ‘/etc/elasticsearch’ et éditez le fichier de configuration ‘elasticsearch.yml’.
cd /etc/elasticsearch/
vim elasticsearch.ymlDécommentez la ligne ‘network.host’ et changez la valeur en ‘localhost’, et décommentez la ligne ‘http.port’ pour la configuration du port elasticsearch.
network.host: localhost
http.port: 9200Enregistrez et quittez.
Maintenant, démarrez le service elasticsearch et activez-le pour qu’il se lance à chaque démarrage du système.
systemctl start elasticsearch
systemctl enable elasticsearchL’elasticsearch est maintenant en cours d’exécution, vérifiez-le en utilisant la commande netstat et les commandes curl ci-dessous.
netstat -plntu
curl -XGET 'localhost:9200/?pretty'Maintenant, vous obtiendrez que la version elasticsearch ‘6.2.4’ est en cours d’exécution sur le port par défaut ‘9200’.

L’installation d’elasticsearch est terminée.
Installer et configurer le tableau de bord Kibana
Le deuxième composant est un tableau de bord kibana. Nous allons installer le tableau de bord Kibana à partir du dépôt elastic, et configurer le service kibana pour qu’il fonctionne sur l’adresse localhost.
Installez le tableau de bord Kibana en utilisant la commande apt ci-dessous.
sudo apt install kibana -yMaintenant, allez dans le répertoire ‘/etc/kibana’ et éditez le fichier de configuration ‘kibana.yml’.
cd /etc/kibana/
vim kibana.ymlDécommentez ces lignes ‘server.port’, ‘server.host’ et ‘elasticsearch.url’.
server.port: 5601
server.host: "localhost"
elasticsearch.url: "http://localhost:9200"Enregistrez et quittez.
Maintenant, démarrez le service kibana et activez-le pour qu’il se lance à chaque démarrage du système.
sudo systemctl enable kibana
sudo systemctl start kibanaLe tableau de bord kibana est maintenant en cours d’exécution sur l’adresse ‘localhost’ et le port par défaut ‘5601’. Vérifiez-le en utilisant la commande netstat ci-dessous.
netstat -plntu
L’installation du tableau de bord Kibana est terminée.
Installer et configurer Nginx en tant que proxy inverse pour Kibana
Dans ce tutoriel, nous allons utiliser le serveur web Nginx comme proxy inverse pour le tableau de bord Kibana.
Installez Nginx et les paquets ‘apache2-utils’ sur le système.
sudo apt install nginx apache2-utils -yAprès l’installation, allez dans le répertoire de configuration ‘/etc/nginx’ et créez un nouveau fichier d’hôte virtuel nommé ‘kibana’.
cd /etc/nginx/
vim sites-available/kibanaCollez la configuration de l’hôte virtuel Nginx ci-dessous.
server {
listen 80;
server_name elastic-stack.io;
auth_basic "Accès restreint";
auth_basic_user_file /etc/nginx/.kibana-user;
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 quittez.
Ensuite, nous allons créer un nouveau serveur web d’authentification de base pour accéder au tableau de bord Kibana. Nous allons créer l’authentification de base en utilisant la commande htpasswd comme ci-dessous.
sudo htpasswd -c /etc/nginx/.kibana-user elastic
Tapez le mot de passe de l'utilisateur elasticActivez l’hôte virtuel kibana et testez toute la configuration nginx.
ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/
nginx -tAssurez-vous qu’il n’y a pas d’erreur, maintenant démarrez le service Nginx et activez-le pour qu’il se lance à chaque démarrage du système.
systemctl enable nginx
systemctl restart nginxL’installation et la configuration de Nginx en tant que proxy inverse pour le tableau de bord Kibana sont terminées.

Installer et configurer Logstash
Le dernier composant pour l’Elastic Stack pour ce guide est le ‘Logstash’. Nous allons installer et configurer Logstash pour centraliser les journaux du serveur à partir des sources clientes avec filebeat, puis filtrer et transformer toutes les données (Syslog) et les transporter vers le stash (Elasticsearch).
Avant d’installer logstash, assurez-vous de vérifier la version d’OpenSSL de votre serveur.
openssl version -aPour ce guide, nous allons utiliser l’OpenSSL ‘1.0.2o’. Si vous utilisez encore la version OpenSSL 1.1.2, vous obtiendrez une erreur lors de la connexion SSL de logstash et filebeat.
Installez logstash en utilisant la commande apt ci-dessous.
sudo apt install logstash -yAprès l’installation, nous allons générer la clé de certificat SSL pour sécuriser le transfert de données de journal du client filebeat au serveur logstash.
Éditez le fichier ‘/etc/hosts’ en utilisant vim.
vim /etc/hostsAjoutez la configuration ci-dessous.
10.0.15.10 elk-master elk-masterEnregistrez et quittez.
Maintenant, créez un nouveau répertoire SSL sous le répertoire de configuration logstash ‘/etc/logstash’ et allez dans ce répertoire.
mkdir -p /etc/logstash/ssl
cd /etc/logstash/Générez le certificat SSL pour Logstash en utilisant la commande openssl comme ci-dessous.
openssl req -subj '/CN=elk-master/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crtLes fichiers de certificat SSL pour Logstash ont été créés dans le répertoire ‘/etc/logstash/ssl’.
Ensuite, nous allons créer de nouveaux fichiers de configuration pour logstash. Nous allons créer un fichier de configuration ‘filebeat-input.conf’ comme fichier d’entrée de filebeat, ‘syslog-filter.conf’ pour le traitement syslog, puis un fichier ‘output-elasticsearch.conf’ pour définir la sortie Elasticsearch.
Allez dans le répertoire de configuration logstash et créez les nouveaux fichiers de configuration ‘filebeat-input.conf’ dans le répertoire ‘conf.d’.
cd /etc/logstash/
vim conf.d/filebeat-input.confCollez la configuration suivante là-bas.
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 quittez.
Pour le traitement des données de journal syslog, nous utilisons le plugin de filtre nommé ‘grok’ pour analyser les fichiers syslog.
Créez une nouvelle configuration ‘syslog-filter.conf’.
vim conf.d/syslog-filter.confCollez la configuration suivante là-bas.
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 d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}Enregistrez et quittez.
Et pour la sortie elasticsearch, nous allons créer le fichier de configuration nommé ‘output-elasticsearch.conf’.
vim conf.d/output-elasticsearch.confCollez la configuration suivante là-bas.
output {
elasticsearch { hosts => ["localhost:9200"]
hosts => "localhost:9200"
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}Enregistrez et quittez.
Lorsque cela est fait, démarrez le service logstash et activez-le pour qu’il se lance à chaque démarrage du système.
sudo systemctl enable logstash
sudo systemctl start logstash
Vérifiez le service logstash en utilisant les commandes netstat et systemctl ci-dessous.
netstat -plntu
systemctl status logstashEt le service logstash est maintenant en cours d’exécution. Fonctionnant sur l’adresse IP publique avec le port ‘5443’.

L’installation de l’Elastic Stack est terminée.
Étape 2 - Installer et configurer Filebeat sur Ubuntu 18.04
Dans cette étape, nous allons configurer le client Ubuntu 18.04 ‘elk-client01’ en installant les expéditeurs de données Elastic Beats ‘Filebeat’ dessus.
Avant d’installer le filebeat sur le système, nous devons éditer le fichier ‘/etc/hosts’ et télécharger le fichier de certificat logstash ‘logstash-forwarder.crt’ sur le serveur ‘elk-client01’.
Éditez le fichier ‘/etc/hosts’ en utilisant l’éditeur vim.
vim /etc/hostsCollez la configuration suivante là-bas.
10.0.15.10 elk-master elk-masterEnregistrez et quittez.
Copiez le fichier de certificat logstash ‘logstash-forwarder.crt’ en utilisant la commande scp.
scp root@elk-master:/etc/logstash/ssl/logstash-forwarder.crt .
Ensuite, installez les Elastic Beats ‘Filebeat’ en ajoutant la clé elastic et en ajoutant le dépôt elastic.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.listMettez à jour le dépôt et installez le paquet ‘filebeat’ en utilisant la commande apt ci-dessous.
sudo apt update
sudo apt install filebeat -yAprès l’installation, allez dans le répertoire ‘/etc/filebeat’ et éditez le fichier de configuration ‘filebeat.yml’.
cd /etc/filebeat/
vim filebeat.ymlMaintenant, activez les prospecteurs filebeat en changeant la valeur de la ligne ‘enabled’ en ‘true’.
enabled: trueDéfinissez les fichiers journaux système à envoyer au serveur logstash. Pour ce guide, nous allons ajouter le fichier de journal ssh ‘auth.log’ et le fichier syslog.
paths:
- /var/log/auth.log
- /var/log/syslogConfigurez la sortie vers logstash en commentant la sortie ‘elasticsearch’ par défaut et en décommentant la ligne de sortie logstash ci-dessous.
output.logstash:
# Les hôtes Logstash
hosts: ["elk-master:5443"]
ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]Enregistrez et quittez.
Ensuite, nous devons éditer le fichier ‘filebeat.reference.yml’ pour activer les modules filebeat, et nous allons activer le module ‘syslog’.
vim filebeat.reference.ymlActivez le module système syslog pour filebeat comme ci-dessous.
- module: system
# Syslog
syslog:
enabled: trueEnregistrez et quittez.
Copiez le fichier de certificat logstash ‘logstash-forwarder.crt’ dans le répertoire ‘/etc/filebeat’.
cp ~/logstash-forwarder.crt /etc/filebeat/logstash-forwarder.crtL’installation et la configuration de Filebeat sont terminées. Maintenant, démarrez le service filebeat et activez-le pour qu’il se lance à chaque démarrage du système.
systemctl start filebeat
systemctl enable filebeatVérifiez le service filebeat en utilisant les commandes ci-dessous.
systemctl status filebeat
tail -f /var/log/filebeat/filebeatLes expéditeurs filebeat sont en cours d’exécution sur le serveur Ubuntu 18.04.

Étape 3 - Installer et configurer Filebeat sur CentOS 7.5
Dans cette étape, nous allons configurer le client CentOS 7.5 ‘elk-client02’ en installant les expéditeurs de données Elastic Beats ‘Filebeat’ dessus.
Avant d’installer le Filebeat sur le système, nous devons éditer le fichier ‘/etc/hosts’ et télécharger le fichier de certificat logstash ‘logstash-forwarder.crt’ sur le serveur ‘elk-client02’.
Éditez le fichier ‘/etc/hosts’ en utilisant vim.
vim /etc/hostsCollez la configuration ci-dessous.
10.0.15.10 elk-master elk-masterEnregistrez et quittez.
Copiez le fichier de certificat logstash ‘logstash-forwarder.crt’ en utilisant la commande scp.
scp root@elk-master:/etc/logstash/ssl/logstash-forwarder.crt .
Ensuite, installez les Elastic Beats ‘Filebeat’ en ajoutant la clé elastic et en ajoutant le dépôt elastic.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
cat < /etc/yum.repos.d/elastic.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF Installez filebeat en utilisant la commande yum ci-dessous.
yum install filebeat -yAprès l’installation, allez dans le répertoire ‘/etc/filebeat’ et éditez le fichier de configuration ‘filebeat.yml’.
cd /etc/filebeat/
vim filebeat.ymlMaintenant, activez les prospecteurs filebeat en changeant la valeur de la ligne ‘enabled’ en ‘true’.
enabled: trueDéfinissez les fichiers journaux système à envoyer au serveur logstash. Pour ce guide, nous allons ajouter le fichier de journal ssh ‘auth.log’ et le fichier syslog.
paths:
- /var/log/secure
- /var/log/messagesConfigurez la sortie vers logstash en commentant la sortie ‘elasticsearch’ par défaut et en décommentant la ligne de sortie logstash ci-dessous.
output.logstash:
# Les hôtes Logstash
hosts: ["elk-master:5443"]
ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]Enregistrez et quittez.
Ensuite, nous devons éditer le fichier ‘filebeat.reference.yml’ pour activer les modules filebeat, et nous allons activer le module ‘syslog’.
vim filebeat.reference.ymlActivez le module système syslog pour filebeat comme ci-dessous.
- module: system
# Syslog
syslog:
enabled: trueEnregistrez et quittez.
Copiez le fichier de certificat logstash ‘logstash-forwarder.crt’ dans le répertoire ‘/etc/filebeat’.
cp ~/logstash-forwarder.crt /etc/filebeat/logstash-forwarder.crtL’installation et la configuration de Filebeat sont terminées. Maintenant, démarrez le service filebeat et ajoutez-le au démarrage.
systemctl start filebeat
systemctl enable filebeatVérifiez le service filebeat en utilisant les commandes ci-dessous.
systemctl status filebeat
tail -f /var/log/filebeat/filebeatLes expéditeurs filebeat sont en cours d’exécution sur le serveur CentOS 7.5.

Étape 4 - Tester
Ouvrez votre navigateur web et tapez le nom de domaine de la pile élastique, le mien est : ‘elastic-stack.io’.
Vous serez invité à entrer le nom d’utilisateur et le mot de passe de l’authentification de base pour le tableau de bord Kibana.

Tapez le nom d’utilisateur ‘elastic’ avec votre mot de passe.
Maintenant, vous obtiendrez le beau tableau de bord kibana, cliquez sur le bouton ‘Configurer les modèles d’index’ à droite.

Définissez le modèle d’index ‘filebeat-*’ et cliquez sur le bouton ‘Étape suivante’.

Pour le ‘nom du champ de filtre temporel’, choisissez le ‘@timestamp’ et cliquez sur ‘Créer le modèle d’index’.

Et le modèle d’index filebeat a été créé.

Ensuite, nous allons essayer d’obtenir les informations de journal pour les échecs de connexion SSH sur chaque serveur client ‘elk-client01’ système Ubuntu et ‘elk-client02’ système CentOS.
Dans le tableau de bord Kibana, cliquez sur le menu ‘Découvrir’ pour obtenir tous les journaux du serveur.
Définissez ‘beat.hostname’ sur le serveur ‘elk-client01’, la ‘source’ est le fichier ‘/var/log/auth.log’, et vous obtiendrez le résultat comme indiqué ci-dessous.

Et voici les détails d’exemple du journal pour le mot de passe SSH échoué à partir du fichier ‘auth.log’.

Pour le serveur ‘elk-client02’ CentOS, définissez ‘beat.hostname’ sur le serveur ‘elk-client02’, la ‘source’ est le fichier ‘/var/log/secure’, et vous obtiendrez le résultat comme indiqué ci-dessous.

Et voici les détails d’exemple du journal pour le mot de passe SSH échoué à partir du fichier ‘secure’.

L’installation et la configuration de l’Elastic Stack et de l’Elastic Beat ‘Filebeat’ ont été complétées avec succès.
Référence
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.