RousselTMLEARNING

Observabilité

Elastic Agent autonome, sorties Logstash et Kafka, et OpenTelemetry (EDOT)

Écrire une configuration autonome, envoyer vers Logstash ou Kafka, et utiliser Elastic Agent comme Collector OpenTelemetry (distribution EDOT) pour collecter logs, métriques et traces au format OTel.

1. Configuration autonome #

Tout dans elastic-agent.yml.

Exemple minimal #

outputs:
  default:
    type: elasticsearch
    hosts: ["https://es.exemple.fr:9200"]
    api_key: "${ES_API_KEY}"
    ssl.certificate_authorities: [/etc/pki/ca.crt]
inputs:
  - id: system-logs
    type: filestream
    use_output: default
    data_stream.namespace: prod
    streams:
      - id: syslog
        data_stream.dataset: system.syslog
        paths: [/var/log/syslog, /var/log/messages]
  - id: system-metrics
    type: system/metrics
    use_output: default
    data_stream.namespace: prod
    streams:
      - metricsets: [cpu, memory, filesystem, network]
        data_stream.dataset: system.cpu
        period: 30s
À savoir : En mode autonome, installez les ressources des intégrations (pipelines, mappings, tableaux de bord) depuis Kibana › Integrations › Settings, sinon les données arrivent sans structure.

2. Sorties Logstash et Kafka #

Quand passer par un intermédiaire.

Choisir #

Envoi direct, via Logstash ou via Kafka.
SortieQuand
ElasticsearchCas général : simple et le plus performant
LogstashTransformations complexes, enrichissement externe, routage vers plusieurs destinations
KafkaTampon durable, découplage des producteurs et des consommateurs, très gros volumes

Logstash #

# Logstash : entrée dédiée aux agents
input {
  elastic_agent { port => 5044 ssl_enabled => true ssl_certificate => "/etc/pki/ls.crt" ssl_key => "/etc/pki/ls.key" }
}
output {
  elasticsearch { hosts => ["https://es.exemple.fr:9200"] data_stream => true api_key => "${LS_API_KEY}" }
}

3. OpenTelemetry avec EDOT #

Le Collector distribué par Elastic.

Le mode otel #

Applications et hôte envoient au Collector EDOT qui écrit dans Elasticsearch au format OpenTelemetry.

Elastic publie EDOT (Elastic Distribution of OpenTelemetry) : un Collector et des SDK supportés par Elastic. Le binaire Elastic Agent peut lancer ce Collector avec elastic-agent otel : les données sont stockées au format OpenTelemetry natif (champs resource.attributes.*, attributes.*) dans des data streams dédiés.

sudo elastic-agent otel --config /etc/elastic-agent/otel.yml
# ou valider la configuration
elastic-agent otel validate --config /etc/elastic-agent/otel.yml
Selon la version : le mode OpenTelemetry d'Elastic Agent et la gestion d'EDOT par Fleet évoluent rapidement entre les versions 8.x et 9.x : vérifiez la documentation de votre version avant de l'utiliser en production. Le chapitre « OpenTelemetry et Elasticsearch » de la formation Elasticsearch détaille les configurations.

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 !