Recherche élastique

Visualisez les journaux Apache avec ELK Stack

Visualisez les journaux Apache avec ELK Stack

La surveillance et l'analyse des journaux pour diverses infrastructures en temps réel peuvent être un travail très fastidieux. Lorsqu'il s'agit de services tels que des serveurs Web qui enregistrent constamment des données, le processus peut être très complexe et presque impossible.

En tant que tel, savoir comment utiliser des outils pour surveiller, visualiser et analyser les journaux en temps réel peut vous aider à tracer et à résoudre les problèmes et à surveiller les activités système suspectes.

Ce didacticiel expliquera comment vous pouvez utiliser l'une des meilleures collections de journaux en temps réel et des outils d'analyse - ELK. À l'aide d'ELK, communément appelé Elasticsearch, Logstash et Kibana, vous pouvez collecter, enregistrer et analyser les données d'un serveur Web Apache en temps réel.

Qu'est-ce qu'ELK Stack?

ELK est un acronyme utilisé pour désigner trois principaux outils open source : Elasticsearch, Logstash et Kibana.

Recherche élastique est un outil open source développé pour trouver des correspondances au sein d'une vaste collection d'ensembles de données à l'aide d'une sélection de langages et de types de requête. C'est un outil léger et rapide capable de gérer facilement des téraoctets de données.

Logstash Le moteur est un lien entre le côté serveur et Elasticsearch, vous permettant de collecter des données à partir d'une sélection de sources vers Elasticsearch. Il offre des API puissantes qui sont intégrables avec facilité avec des applications développées dans divers langages de programmation.

Kibana est la dernière pièce de la pile ELK. C'est un outil de visualisation de données qui vous permet d'analyser les données visuellement et de générer des rapports perspicaces. Il propose également des graphiques et des animations qui peuvent vous aider à interagir avec vos données.

La pile ELK est très puissante et peut faire des choses incroyables en matière d'analyse de données.

Bien que les différents concepts que nous aborderons dans ce didacticiel vous permettront de bien comprendre la pile ELK, consultez la documentation pour plus d'informations.

Recherche élastique: https://linkfy.à/Elasticsearch-Référence

Logstash: https://linkfy.à/LogstashRéférence

Kibana: https://linkfy.à/KibanaGuide

Comment installer Apache?

Avant de commencer à installer Apache et toutes les dépendances, il est bon de noter quelques points.

Nous avons testé ce tutoriel sur Debian 10.6, mais cela fonctionnera également avec d'autres distributions Linux.

Selon la configuration de votre système, vous avez besoin d'autorisations sudo ou root.

La compatibilité et la convivialité de la pile ELK peuvent varier selon les versions.

La première étape consiste à vous assurer que votre système est entièrement mis à jour :

sudo apt-get mise à jour
sudo apt-get mise à niveau

La commande suivante consiste à installer le serveur Web apache2. Si vous souhaitez installer un apache minimal, supprimez la documentation et les utilitaires de la commande ci-dessous.

sudo apt-get install apache2 apache2-utils apache2-doc -y
démarrage du service sudo apache2

A présent, vous devriez avoir un serveur Apache en cours d'exécution sur votre système.

Comment installer Elasticsearch, Logstash et Kibana?

Nous devons maintenant installer la pile ELK. Nous installerons chaque outil individuellement.

Recherche élastique

Commençons par installer Elasticsearch. Nous allons utiliser apt pour l'installer, mais vous pouvez obtenir une version stable à partir de la page de téléchargement officielle ici :

https://www.élastique.co/téléchargements/elasticsearch

Elasticsearch nécessite Java pour fonctionner. Heureusement, la dernière version est livrée avec un package OpenJDK, ce qui vous évite d'avoir à l'installer manuellement. Si vous devez effectuer une installation manuelle, reportez-vous à la ressource suivante :

https://www.élastique.co/guide/fr/elasticsearch/reference/current/setup.html#jvm-version

À l'étape suivante, nous devons télécharger et installer la clé de signature officielle Elastic APT à l'aide de la commande :

wget -qO - https://artefacts.élastique.co/GPG-KEY-elasticsearch | sudo apt-key ajouter -

Avant de continuer, vous pouvez avoir besoin d'un package apt-transport-https (requis pour les packages servis via https) avant de procéder à l'installation.

sudo apt-get install apt-transport-https

Maintenant, ajoutez les informations du référentiel apt aux sources.liste.d fichier.

echo "deb https://artefacts.élastique.co/forfaits/7.x/apt stable main” | sudo tee /etc/apt/sources.liste.d/élastique-7.X.liste

Ensuite, mettez à jour la liste des packages sur votre système.

sudo apt-get mise à jour

Installez Elasticsearch à l'aide de la commande ci-dessous :

sudo apt-get install Elasticsearch

Après avoir installé Elasticsearch, démarrez et activez un démarrage au démarrage avec les commandes systemctl :

sudo systemctl démon-recharger
sudo systemctl activer elasticsearch.un service
sudo systemctl démarrer la recherche élastique

Le service peut prendre un certain temps à démarrer. Attendez quelques minutes et confirmez que le service est opérationnel avec la commande :

sudo systemctl status elasticsearch.un service

À l'aide de cURL, testez si l'API Elasticsearch est disponible, comme indiqué dans la sortie JSON ci-dessous :

curl -X GET "localhost:9200/?joli"

"nom" : "debian",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "VZHcuTUqSsKO1ryHqMDWsg",
"version" :
"nombre" : "7.dix.1",
"build_flavor": "default",
"build_type": "deb",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"date_build" : "2020-12-05T01:00:33.671820Z",
"build_snapshot" : faux,
"lucene_version" : "8.7.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
,
"tagline": "Vous savez, pour la recherche"

Comment installer Logstash?

Installez le package logstash à l'aide de la commande :

sudo apt-get install logstash

Comment installer Kibana?

Saisissez la commande ci-dessous pour installer kibana :

sudo apt-get installer kibana

Comment configurer Elasticsearch, Logstash et Kibana?

Voici comment configurer la pile ELK :

Comment configurer Elasticsearch?

Dans Elasticsearch, les données sont classées dans des index. Chacun de ces index a une ou plusieurs partitions. Une partition est un moteur de recherche autonome utilisé pour gérer et gérer les index et les requêtes pour un sous-ensemble dans un cluster au sein d'Elasticsearch. Un fragment fonctionne comme une instance d'un index Lucene.

L'installation par défaut d'Elasticsearch crée cinq fragments et une réplique pour chaque index. C'est un bon mécanisme en production. Cependant, dans ce tutoriel, nous allons travailler avec un seul fragment et aucune réplique.

Commencez par créer un modèle d'index au format JSON. Dans le fichier, nous allons définir le nombre de fragments sur un et zéro répliques pour les noms d'index correspondants (à des fins de développement).

Dans Elasticsearch, un modèle d'index fait référence à la façon dont vous demandez à Elasticsearch de configurer l'index pendant le processus de création.

Dans le fichier de modèle json (index_template.json), saisissez les instructions suivantes :


"modèle":"*",
"Les paramètres":
"indice":
"number_of_shards":1,
"nombre_de_répliques":0


À l'aide de cURL, appliquez la configuration json au modèle, qui sera appliquée à tous les index créés.

curl -X PUT http://localhost:9200/_template/defaults -H 'Content-Type:application/json' -d @index_template.json
"reconnu":true

Une fois appliqué, Elasticsearch répondra avec une déclaration reconnue : vraie.

Comment configurer Logstash?

Pour que Logstash collecte les journaux d'Apache, nous devons le configurer pour surveiller tout changement dans les journaux en collectant, en traitant, puis en enregistrant les journaux dans Elasticsearch. Pour que cela se produise, vous devez configurer le chemin du journal de collecte dans Logstash.

Commencez par créer la configuration Logstash dans le fichier /etc/logstash/conf.d/apache.conf

contribution
déposer
chemin => '/var/www/*/logs/access.Journal'
tapez => "apache"


filtre
grok
match => "message" => "%COMBINEDAPACHELOG"


production
recherche élastique

Assurez-vous maintenant d'activer et de démarrer le service logstash.

sudo systemctl activer logstash.un service
sudo systemctl démarrer logstash.un service

Comment activer et configurer Kibana?

Pour activer Kibana, modifiez le .fichier de configuration yml situé dans /etc/kibana/kibana.yml. Localisez les entrées suivantes et décommentez-les. Une fois cela fait, utilisez systemctl pour démarrer le service Kibana.

serveur.port : 5601
serveur.hôte : "localhost"
sudo systemctl activer kibana.service && sudo systemctl démarrer kibana.un service

Kibana crée des modèles d'index en fonction des données traitées. Par conséquent, vous devez collecter les journaux à l'aide de Logstash et les stocker dans Elasticsearch, que Kibana peut utiliser. Utiliser curl pour générer des journaux à partir d'Apache.

Une fois que vous avez les logs d'Apache, lancez Kibana dans votre navigateur en utilisant l'adresse http://localhost:5601, qui lancera la page d'index de Kibana.

En général, vous devez configurer le modèle d'index utilisé par Kibana pour rechercher des journaux et générer des rapports. Par défaut, Kibana utilise le modèle d'index logstash*, qui correspond à tous les index par défaut générés par Logstash.

Si vous n'avez aucune configuration, cliquez sur créer pour commencer à afficher les journaux.

Comment afficher les journaux Kibana?

Au fur et à mesure que vous continuez à effectuer des requêtes Apache, Logstash collectera les journaux et les ajoutera à Elasticsearch. Vous pouvez consulter ces journaux dans Kibana en cliquant sur l'option Découvrir dans le menu de gauche.

L'onglet découvrir permet de visualiser les logs au fur et à mesure que le serveur les génère. Pour afficher les détails d'un journal, cliquez simplement sur le menu déroulant.

Lire et comprendre les données des journaux Apache.

Comment rechercher des journaux?

Dans l'interface Kibana, vous trouverez une barre de recherche qui vous permet de rechercher des données à l'aide de chaînes de requête.

Exemple: état:actif

En savoir plus sur les chaînes de requête ELK ici :

https://www.élastique.co/guide/fr/elasticsearch/reference/5.5/query-dsl-query-string-query.html#query-string-syntaxe

Étant donné que nous avons affaire à des journaux Apache, une correspondance possible est un code d'état. Par conséquent, recherchez :

réponse : 200

Ce code recherchera les journaux avec le code d'état 200 (OK) et l'affichera à Kibana.

Comment visualiser les journaux?

Vous pouvez créer des tableaux de bord visuels dans Kibana en sélectionnant l'onglet Visualiser. Sélectionnez le type de tableau de bord à créer et sélectionnez votre index de recherche. Vous pouvez utiliser la valeur par défaut à des fins de test.

Conclusion

Dans ce guide, nous avons expliqué comment utiliser la pile ELK pour gérer les journaux. Cependant, il y a plus à ces technologies que cet article peut couvrir. Nous vous recommandons d'explorer par vous-même.

Trackpad et pointeur de souris à l'écran AppyMouse pour tablettes Windows
Les utilisateurs de tablettes ratent souvent le pointeur de la souris, surtout lorsqu'ils ont l'habitude d'utiliser les ordinateurs portables. Les sma...
Le bouton central de la souris ne fonctionne pas sous Windows 10
le bouton central de la souris vous aide à faire défiler de longues pages Web et des écrans contenant beaucoup de données. Si cela s'arrête, et bien v...
Comment changer les boutons gauche et droit de la souris sur un PC Windows 10
Il est tout à fait normal que tous les appareils de souris d'ordinateur soient conçus de manière ergonomique pour les droitiers. Mais il existe des so...