Dans cet article, nous aurons expliqué les étapes nécessaires pour installer et configurer ELK Stack sur Ubuntu 20.04 LTS. Avant de poursuivre ce tutoriel, assurez-vous d'être connecté en tant qu'utilisateur avec sudo
privilèges. Toutes les commandes de ce didacticiel doivent être exécutées en tant qu'utilisateur non root.
ELK, actuellement connu sous le nom d'Elastic Stack, est l'acronyme de projets open source comprenant
- Elasticsearch est un moteur de recherche qui fournit un moteur de recherche en texte intégral distribué et mutualisé, ainsi que des documents JSON sans schéma sur un stockage partagé distribué.
- Logstash est un composant de traitement de données côté serveur gratuit et ouvert qui collecte, analyse et transforme les données avant de les envoyer à d'autres sources, y compris Elasticsearch.
- Kibana est une interface utilisateur gratuite et ouverte qui vous permet d'explorer et de visualiser les données Elasticsearch. Les Beats sont des agents de transport légers qui collectent les données d'application et les envoient à Elasticsearch ou à une autre plate-forme.
Il s'agit d'une open-source et l'une des plates-formes de gestion de journaux les plus populaires qui collectent, traitent et visualisent les données de plusieurs sources de données. Il est principalement utilisé pour l'analyse des journaux dans les environnements informatiques. Il est très utile pour un administrateur système de rechercher et d'analyser un grand volume de données pour prendre des décisions en temps réel, tout le temps.
Installer la pile ELK sur Ubuntu 20.04
Étape 1. Tout d'abord, avant de commencer à installer un package sur votre serveur Ubuntu, nous vous recommandons de toujours vous assurer que tous les packages système sont mis à jour.
sudo apt update sudo apt upgrade sudo apt install wget apt-transport-https curl gnupg2
Étape 2. Installez Java.
Elasticsearch est un composant Java et nécessite l'installation de Java. Si Java n'est pas installé, installez-le en ouvrant une fenêtre de terminal et en saisissant ce qui suit :
sudo apt install openjdk-11-jdk
Une fois tous les packages installés, vérifiez la version installée de Java avec la commande suivante :
java -version
Étape 3. Installez Elasticsearch.
Exécutez la commande suivante pour importer la clé GPG publique Elasticsearch dans APT :
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Ensuite, ajoutez la liste des sources élastiques au sources.list.d
répertoire, où APT cherchera de nouvelles sources :
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Ensuite, installez Elasticsearch avec cette commande :
sudo apt update sudo apt install elasticsearch
Démarrez et activez maintenant les services Elasticsearch :
sudo systemctl start elasticsearch sudo systemctl enable elasticsearch
Étape 4. Installez Kibana.
Exécutez les commandes ci-dessous pour installer, démarrer et activer les services Kibana :
sudo apt install kibana sudo systemctl start kibana sudo systemctl enable kibana
Kibana fournit une interface Web qui peut être sécurisée avec un reverse proxy Kibana communique sur le port 5601 :
http://localhost:5601/status
Étape 5. Installez Logstash.
Logstash est la plate-forme d'analyse de journaux la plus populaire et est chargée d'agréger les données de différentes sources, de les traiter et de les envoyer dans le pipeline, généralement pour être directement indexées dans Elasticsearch. Exécutez les commandes ci-dessous pour installer, démarrer et activer ses services :
sudo apt install logstash sudo systemctl start logstash sudo systemctl enable logstash
Cela devrait permettre à Logstash d'être installé et prêt à être utilisé. La configuration par défaut de Logstash se trouve dans /etc/logstash/conf.d:
sudo nano /etc/logstash/conf.d/02-beats-input.conf
Ajoutez le fichier suivant :
input { beats { port => 5044 } }
Ensuite, créez un fichier pour définir la sortie vers Elasticsearch :
sudo nano /etc/logstash/conf.d/30-elasticsearch-output.conf
Ajoutez le fichier suivant :
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}" } } }
Assurez-vous que les configurations sont correctes en exécutant les commandes de validation ci-dessous :
sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t
Étape 6. Installez Filebeat.
Filebeat est utilisé pour envoyer des journaux à Logstash ou Elasticsearch pour analyse. Exécutez les commandes ci-dessous pour installer, démarrer et activer les services Filebeat :
sudo apt install filebeat sudo systemctl start filebeat sudo systemctl enable filebeat
Une fois l'installation, suivez le lien ci-dessous pour configurer Filebeat pour la collecte de données :
sudo nano /etc/filebeat/filebeat.yml
Ajoutez le fichier suivant :
# Configure what output to use when sending the data collected by the beat.
# ---------------------------- Elasticsearch Output ---------------------------- #output.elasticsearch: # Array of hosts to connect to. # hosts: ["localhost:9200"] # Protocol - either `http` (default) or `https`. #protocol: "https" # Authentication credentials - either API key or username/password. #api_key: "id:api_key" #username: "elastic" #password: "linuxtips890" # ------------------------------ Logstash Output ------------------------------- output.logstash: # The Logstash hosts hosts: ["localhost:5044"] # Optional SSL. By default is off. # List of root certificates for HTTPS server verifications
Une fois terminé, exécutez les commandes ci-dessous pour activer les modules Filebeat et les processus d'analyse :
sudo filebeat modules enable system sudo filebeat setup --pipelines --modules system
Charger le modèle Filebeat :
sudo filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
Aussi, intégrez Filebeat à Kibana :
sudo filebeat setup -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200'] -E setup.kibana.host=localhost:5601
Enfin, redémarrez tous les services de composants :
sudo systemctl restart elasticsearch sudo systemctl restart kibana sudo systemctl restart logstash sudo systemctl restart filebeat
Étape 7. Accédez à l'interface Web de Kibana.
Vous pouvez y accéder en utilisant l'URL http://your-server-ip:5601
. Vous devriez voir le tableau de bord Kibana sur l'écran suivant :
C'est tout ce que vous avez à faire pour installer ELK sur Ubuntu 20.04 LTS Focal Fossa. J'espère que vous trouverez cette astuce rapide utile. Pour en savoir plus sur ELK Stack, veuillez vous référer à leur base de connaissances officielle. Si vous avez des questions ou des suggestions, n'hésitez pas à laisser un commentaire ci-dessous.