RousselTMLEARNING

Observabilité

Politiques d'agent, intégrations, data streams et pipelines

Construire des politiques d'agent, ajouter des intégrations (System, Nginx, Custom Logs), choisir les namespaces, personnaliser l'ingestion avec les pipelines @custom et les processeurs, et gérer les variables.

1. Concevoir les politiques #

Une politique par rôle.

Découpage #

Une politique regroupe ce qu'un ensemble d'hôtes doit collecter. Découpez par rôle (serveurs web, bases de données, postes Windows) et par environnement via le namespace, plutôt qu'une politique géante pour tout le parc.

PolitiqueIntégrationsNamespace
web-prodSystem, Nginxprod
db-prodSystem, PostgreSQLprod
windows-postesSystem, Windows, Elastic Defendcorp

Réglages de la politique #

  • Namespace par défaut, sortie de données et sortie de supervision.
  • Collecte des logs et métriques de l'agent lui-même (supervision).
  • Délai de désinscription des agents inactifs, protection contre la désinstallation (Elastic Defend).

2. Les intégrations #

System, Nginx, Custom Logs.

Ce que contient une intégration #

Source, intégration, pipeline, data stream, Kibana.

Une intégration fournit la configuration de collecte, les pipelines d'ingestion qui structurent les données (ECS), les mappings et des tableaux de bord. Ses ressources sont installées dans Elasticsearch et Kibana dès qu'on l'ajoute à une politique.

Logs personnalisés #

# Intégration « Custom Logs (Filestream) » : paramètres principaux
paths:
  - /var/log/monapp/*.log
data_stream.dataset: monapp
parsers:
  - multiline:
      type: pattern
      pattern: '^\d{4}-\d{2}-\d{2}'
      negate: true
      match: after
processors:
  - add_fields:
      target: ''
      fields:
        service.name: monapp

3. Personnaliser l'ingestion #

Sans modifier les ressources gérées.

Le pipeline @custom #

Chaque data stream d'une intégration appelle un pipeline <type>-<dataset>@custom s'il existe. C'est l'endroit pour ajouter vos traitements : ils survivent aux mises à jour de l'intégration.

PUT _ingest/pipeline/logs-nginx.access@custom
{
  "processors": [
    { "set": { "field": "labels.equipe", "value": "web" } },
    { "drop": { "if": "ctx.url?.original?.startsWith('/health') == true" } }
  ]
}
Erreur courante : Modifier directement le pipeline géré de l'intégration (logs-nginx.access-1.x.y) : la prochaine mise à jour l'écrase.

Variables et secrets #

Bonne pratique : Pour les mots de passe d'intégrations (bases, API), utilisez les champs secrets de Fleet : ils sont stockés chiffrés et ne réapparaissent pas dans la politique exportée.

Articles liés

Elastic Agent : architecture, Fleet et intégrations

Comprendre Elastic Agent : agent unique de collecte, Fleet et Fleet Server, politiques d'agent, intégrations,…

Elastic Agent ou Beats ? Choisir et migrer

Comparer Elastic Agent et les Beats (Filebeat, Metricbeat, Winlogbeat), savoir quand garder les Beats et migr…

Installer Fleet Server et enrôler des Elastic Agent

Mettre en place Fleet Server, créer une politique, enrôler des agents Linux, Windows et Docker, comprendre le…

Pour aller plus loin

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !