La gestion efficace des logs de serveurs web peut être complexe et chronophage pour les développeurs.
Sans un outil approprié, analyser ces logs en temps réel devient un défi, ce qui peut entraîner des pertes de temps et des erreurs dans la gestion des serveurs.
Cet article vous guide sur l’installation de Filebeat pour simplifier la collecte et l’analyse des logs NGINX, en les centralisant dans Elasticsearch et Kibana.
Devenez expert dans l'utilisation d'Elastic pour analyser les données !
Dans cette section, nous allons installer Filebeat , un des Beats de la suite Elastic conçu pour collecter et expédier les logs vers Elasticsearch. Filebeat est particulièrement utile pour les environnements où de multiples logs sont générés, comme dans les serveurs web. Afin de démontrer son fonctionnement, nous allons installer un serveur NGINX qui générera des fichiers de logs, puis utiliser Filebeat pour les collecter et les visualiser dans Kibana. Ce processus nous permettra d’analyser les logs en temps réel et de mieux comprendre l’activité du serveur.
Accéder à la Machine Ubuntu Client : Étant donné que c’est la première fois que nous ouvrons cette machine, nous commencerons par mettre à jour les paquets installés avec la commande suivante :
Sudo apt update
Installer NGINX en entrant la commande suivante :
Sudo apt install nginx
Vérifier le Statut de NGINX : Pour s’assurer que l’installation a été réussie et que NGINX fonctionne correctement, exécutez :
Sudo service nginx status
Vous devriez voir un résultat confirmant que le service est actif. Cela ressemble à ceci :
Naviguer vers le Répertoire des Logs : Accédez au répertoire des logs de NGINX en utilisant les commandes suivantes :
cd /var/log/
ls
cd nginx/
Le résultat de ces commandes vous amènera au répertoire contenant les fichiers de log de NGINX :
Afficher les Logs : Pour visualiser le contenu du fichier access.log, utilisez la commande :
cat access.log
Puis, pour afficher les dernières lignes du fichier en temps réel, utilisez :
tail -f access.log
Notez que si vous exécutez cat access.log avant d’avoir reçu des requêtes, il se peut que vous ne voyiez pas encore de résultats, ce qui est normal.
Tester NGINX : Ouvrez votre navigateur et entrez l’adresse suivante pour voir la page d’accueil de NGINX : 127.0.0.1
Cela affichera la page « Welcome to nginx », confirmant que l’installation est réussie. Dans le terminal, vous devriez également voir les requêtes correspondantes apparaître dans tail -f access.log.
Installer Filebeat avec Curl
Pour commencer, nous allons utiliser Curl pour télécharger Filebeat . Curl est un outil en ligne de commande qui permet de transférer des données depuis ou vers un serveur.
Voici les étapes à suivre :
Installer Curl avec la commande suivante :
sudo apt install curl
Télécharger Filebeat : Une fois Curl installé, utilisez la commande suivante pour télécharger le fichier d’archive de Filebeat :
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.0.1-linux-x86_64.tar.gz
Extraire le Fichier : Après le téléchargement, vous pouvez extraire le contenu du fichier compressé en utilisant la commande suivante :
tar xfv filebeat-8.0.1-linux-x86_64.tar.gz
Vous devriez obtenir un résultat similaire à ceci :
Accéder au Répertoire Filebeat
Pour configurer Filebeat, accédez au répertoire où vous avez extrait les fichiers. Commencez par lister le contenu du dossier Documents pour confirmer la présence de l’archive extraite :
ls
Ensuite, accédez au répertoire de Filebeat :
cd filebeat-8.0.1-linux-x86_64/
Éditer le Fichier de Configuration : Pour modifier le fichier de configuration de Filebeat (filebeat.yml), utilisez un éditeur de texte comme Gedit :
Pour configurer Filebeat afin d’envoyer les logs vers Elasticsearch , il est nécessaire de spécifier l’output dans le fichier filebeat.yml. Voici comment configurer la section Elasticsearch Output :
# ---------------------------- Elasticsearch Output ----------------------------
output.elasticsearch:
hosts: ["https://192.168.95.132:9200"]
username: "elastic"
password: " x*7YakTLxxqL*CGHY8P "
# If using Elasticsearch's default certificate
ssl.ca_trusted_fingerprint: "8E712FD4D95EDDB2CAC2608310178E1762891C066B182E22ECB4041E6A616F57"
setup.kibana:
host: "http://192.168.95.132:5601"
username: "elastic"
password: "x*7YakTLxxqL*CGHY8Pi"
Et on aura :
Activer Module NGINX dans Filebeat
Une fois la configuration terminée, il est temps d’activer le module NGINX dans Filebeat pour collecter les logs de votre serveur web. Voici les commandes à exécuter :
Listez les fichiers dans le répertoire de Filebeat pour confirmer la présence des modules :
ls
Activez le module NGINX avec la commande suivante :
./filebeat modules enable nginx
Le module NGINX est maintenant activé.
Pour vérifier les modules activés, exécutez :
./filebeat modules list
Vous devriez voir quelque chose comme :
Le module NGINX est désormais activé et prêt à collecter les logs.
Configurer NGINX pour Elasticsearch
Pour collecter les logs du serveur NGINX, il est nécessaire d’activer et de configurer le module NGINX dans Filebeat. Vous avez déjà navigué vers le répertoire des modules et remarqué que le module NGINX est activé (sans l’extension .disabled). Le fichier de configuration du module NGINX se trouve dans nginx.yml, et voici comment l’éditer pour adapter la collecte de logs à votre environnement.
Étapes :
- Vérification des Modules Disponibles :En exécutant la commandelsdans le répertoiremodules.d,vous voyez une liste des modules disponibles. Le module NGINX est déjà activé.
- Ouverture du Fichier de Configuration du Module NGINX :Pour personnaliser les paramètres de collecte de logs pour NGINX, éditez le fichier nginx.yml à l’aide de la commande suivante :
gedit nginx.yml
Dans cette étape, nous avons configuré le module NGINX dans Filebeat pour qu’il collecte les logs d’accès générés par le serveur NGINX. Voici les détails de la modification :
- module: nginx
# Access logs
access:
enabled: true
var.paths: ["/var/log/nginx/access.log*"]
Modifications pour Logs NGINX
- module :nginx: Cette ligne spécifie que vous configurez le module NGINX pour la collecte des logs.
- access :: Cette section se réfère aux logs d’accès NGINX, qui enregistrent les requêtes reçues par le serveur.
- enabled :true: Cette option active la collecte des logs d’accès.
- var.paths :[« /var/log/nginx/access.log »]*: Ici, vous définissez le chemin des fichiers logs d’accès NGINX. Le caractère * permet de prendre en charge plusieurs fichiers (par exemple, des logs d’accès archivés).
En activant cette configuration, Filebeat va commencer à surveiller les fichiers logs d’accès à NGINX et à envoyer ces données à Elasticsearch pour être visualisées dans Kibana.
Et maintenant pour charger notre index en fait :
./filebeat setup -e
En exécutant ./filebeat setup -e, Filebeat configure automatiquement les éléments nécessaires comme les dashboards, templates d’index, et pipelines d’ingestion dans Elasticsearch et Kibana. Cela permet une visualisation et une analyse optimales des logs une fois qu’ils sont envoyés par Filebeat.
Puis on faite un Changement de propriété du fichier filebeat.yml :
sudo chown root filebeat.yml
Cette commande attribue la propriété du fichier de configuration filebeat.yml à l’utilisateur root . Cela permet de s’assurer que seul l’utilisateur root peut modifier ce fichier, ce qui est une bonne pratique pour protéger les configurations critiques.
Changement de propriété du fichier nginx.yml :
sudo chown root modules.d/nginx.yml
Cette commande fait la même chose pour le fichier de module NGINX (nginx.yml), qui a été modifié précédemment. Cela garantit que les configurations du module sont également protégées et ne peuvent être modifiées que par l’administrateur.
Exécution de Filebeat avec élévation de privilèges :
sudo ./filebeat -e
Changez la propriété des fichiers de configuration pour les sécuriser :
Ouvrez votre navigateur et accédez à l’interface Kibana
Dans Kibana, naviguez vers la section « Index Management » pour vérifier que l’index Filebeat a été créé correctement. :
Voici notre service filebeat en mode running :
Après avoir suivi ces étapes, Filebeat devrait collecter activement les logs de NGINX et les envoyer à Elasticsearch. Vous pouvez maintenant accéder à Kibana pour visualiser et analyser ces logs en temps réel. N’oubliez pas de vérifier régulièrement les mises à jour de Filebeat et d’ajuster la configuration selon vos besoins spécifiques.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment installer Filebeat pour NGINX ?
Quelles sont les commandes pour configurer Filebeat ?
Comment activer le module NGINX dans Filebeat ?
Comment configurer Elasticsearch pour recevoir les logs de Filebeat ?
Comment visualiser les logs NGINX dans Kibana ?
Conclusion
En suivant ces étapes, vous pouvez efficacement collecter et analyser vos logs NGINX en temps réel. Quel autre outil de monitoring pourriez-vous intégrer pour améliorer votre infrastructure ?