Les prérequis #
Vous devez avoir fait le TP 'Mon premier pipeline'
Configuration des entrées #
Vous devez créer un fichier dans /etc/logstash/conf.d nommé "0-input-file-advanced.conf".
Lecture d'un fichier
Dans ce fichier, vous devez ajouter la configuration logstash pour lire le contenu de tous les fichiers de log commençant par : "/var/log/rousseltm/advanced-".Vous devez ajouter un type pour ce fichier avec comme valeur 'advanced'.
Configuration des filtres #
Vous devez créer un second fichier nommé "101-filter-advances.conf".
Extraction de données
Vous devez identifier le filtre le plus adapté pour un fichier plat et mettre la configuration qui va permettre d'extraire les champs du fichier de logs précédemment lu sachant que ces fichiers sont constitués de plusieurs formats de logs.
Modification de type
On souhaite transformer en entier le champ "HTTP_CODE". En effet, il y a souvent des opérations arithmétiques sur ce champ quand on fait des restitutions (tableau de bord, alertes...). Par exemple afficher tous les codes entre 200 et 205.
Suppression d'un champ
On va supprimer le champ message comme on a déjà extrait les informations qui nous intéressent.
Configuration des sorties #
Vous devez modifier le fichier "200-output-file-nginx-access".
Ecriture dans un fichier
Dans ce fichier, vous devez mettre à jour la configuration logstash pour qu'il écrive les logs dans le fichier qui correspond à son 'type'
Niveau de difficulté : ●●●○○ (3/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Glossaire de la formation
Observabilité
La capacité à connaître l'état interne d'un système à partir des données qu'il émet.Ces données sont classées en 3 piliers : logsmétriquestracesprofil...
Elastic Common Schema (ECS)
Une spécification open source qui permet de structurer vos données de manière homogène dans l'écosystème Elastic.
Logstash
Moteur de collecte de données permettant de traiter, d'enrichir et de transformer les logs et autres événements avant de les indexer.
Access Log
Fichier de journalisation enregistrant les requêtes traitées par un serveur web (Apache, Nginx, Lighttpd, etc.). Il permet de tracer l'activité du ser...
Client IP
L'adresse IP de l'utilisateur effectuant la requête vers le serveur web. Lorsqu'un utilisateur passe par un Load Balancer ou un proxy (ex: Cloudflare)...
Timestamp
La date et l'heure exactes auxquelles la requête a été reçue par le serveur.Configuration : %t dans Apache, $time_local ou $time_iso8601 dans Nginx.
Request
La ligne de requête initiale du client. Elle comprend généralement la méthode HTTP (ex: GET), l'URL demandée et la version du protocole HTTP.Configura...
Status Code
Le code de statut HTTP final renvoyé par le serveur au client (ex : 200 pour un succès, 404 pour ressource non trouvée).Configuration : %>s dans Apach...
Size
Le volume des données renvoyées au client, mesuré en octets (généralement sans les en-têtes HTTP).Configuration : %b ou %O dans Apache, $body_bytes_se...
Referrer
L'URL de la page web depuis laquelle le client a cliqué ou suivi un lien pour accéder à la ressource actuelle.Configuration : %{Referer}i dans Apache,...
User-Agent
Les informations d'identification fournies par le client concernant son navigateur, son système d'exploitation et son appareil. Sa structure standard ...
Response Time
La durée totale prise par le serveur pour traiter la requête et renvoyer la réponse au client.Configuration : %D (microsecondes) ou %T (secondes) dans...
Articles recommandés
Beats : aller plus loin (sécurité, performances, Elastic Agent et migration vers Alloy)
Industrialiser Filebeat, Metricbeat et les autres Beats : sorties sécurisées, processors, modules...
Bonnes pratiques Logstash : pipelines, performances, fiabilité et supervision
Bonnes pratiques Logstash : pipelines multiples, dissect plutôt que grok, conditionnels, persiste...
Fluent Bit : les inputs (entrées) du pipeline en détail
Tout sur les inputs de Fluent Bit : rôle des tags, lecture de fichiers avec tail (positions, rota...
Fluent Bit : pipeline, configuration et plugins essentiels
Les concepts de Fluent Bit (inputs, parsers, filters, tags et match, buffer, outputs), la configu...
Fluent Bit : parsers et filters, structurer et transformer les logs
Structurer et transformer les logs dans Fluent Bit : parsers (json, regex, logfmt, ltsv), parsers...
Fluent Bit : les outputs (sorties), routage et fiabilité de l'envoi
Envoyer les données de Fluent Bit : routage par Match et Match_Regex, sorties Loki, Elasticsearch...
Ingestion Elasticsearch : Bulk API, ingest pipelines, enrich et reindex
Ingérer et transformer des données dans Elasticsearch : Bulk API, ingest pipelines et processeurs...
Query DSL et agrégations avancées Elasticsearch, avec ES|QL
Écrire des requêtes Elasticsearch avancées : bool, filter et score, nested, function_score et per...
Alimenter OpenSearch : pipelines d'ingestion et Data Prepper
Transformer les données avec les pipelines d'ingestion, collecter avec Data Prepper, recevoir l'O...