RousselTMLEARNING

Article · OpenObserve : de la découverte à l'expertise

Envoyer ses données vers OpenObserve

1. Les points de réception #

Quatre façons d'envoyer vos données.

Vue d'ensemble #

Sources, points de réception et flux d'OpenObserve
Le chemin contient toujours l'organisation, ici default.
FormatCheminEssai
JSON/api/default/<flux>/_jsonTesté
Bulk, compatible Elasticsearch/api/default/_bulkTesté
OTLP HTTP/api/default/v1/logs, /v1/metrics, /v1/tracesTesté
Prometheus remote write/api/default/prometheus/api/v1/writeDocumenté

2. OpenTelemetry #

La voie recommandée pour les applications.

Le Collector vers OpenObserve #

L'exportateur otlphttp ajoute lui-même /v1/logs, /v1/metrics et /v1/traces : indiquez seulement la base /api/default. L'en-tête stream-name choisit le flux des logs et des traces.

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

processors:
  batch:

exporters:
  otlphttp/openobserve:
    endpoint: http://openobserve:5080/api/default
    headers:
      Authorization: "Basic ${env:O2_AUTH}"
      stream-name: applis

service:
  pipelines:
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/openobserve]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/openobserve]
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/openobserve]
export O2_AUTH=$(printf 'root@example.com:Complexpass#123' | base64)

Où arrivent les données ? #

SignalRésultat constaté
LogsFlux nommé par stream-name, avec body, severity et service_name
TracesFlux de type traces (par défaut default)
MétriquesUn flux de type metrics par métrique, interrogeable en PromQL

3. Prometheus et Fluent Bit #

Réutiliser les collecteurs en place.

Prometheus remote write #

remote_write:
  - url: http://openobserve:5080/api/default/prometheus/api/v1/write
    basic_auth:
      username: root@example.com
      password: Complexpass#123

Fluent Bit #

La sortie http vise le point _json. Json_date_key _timestamp garde l'horodatage d'origine.

[OUTPUT]
  Name http
  Match *
  URI  /api/default/applis/_json
  Host openobserve
  Port 5080
  tls  Off
  Format json
  Json_date_key    _timestamp
  Json_date_format iso8601
  HTTP_User root@example.com
  HTTP_Passwd Complexpass#123

Filebeat ou tout client bulk #

Le point _bulk reprend le format d'Elasticsearch : la migration d'un collecteur en place est souvent un simple changement d'adresse. Le nom de l'index devient le nom du flux.

cat > lot.ndjson <<'EOF'
{"index":{"_index":"applis"}}
{"level":"warn","message":"file presque pleine"}
EOF
curl -u 'root@example.com:Complexpass#123' \
  -H 'Content-Type: application/x-ndjson' \
  --data-binary @lot.ndjson http://localhost:5080/api/default/_bulk

4. Authentification #

Ne pas tout envoyer avec le compte racine.

Utiliser un jeton d'ingestion #

Chaque utilisateur dispose d'un jeton d'ingestion, visible dans l'interface sous Data Sources ou via l'API. Créez un compte dédié à la collecte plutôt que d'utiliser le mot de passe racine.

curl -s -u 'root@example.com:Complexpass#123' http://localhost:5080/api/default/passcode

📄 Envoyer ses logs, métriques et traces vers OpenObserve →

Mon suivi

  • ⏱ Durée estimée : ≈ 11 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

💬 Poser une question

Articles recommandés

Les Data Sources dans Grafana : Connectez et unifiez vos données

Apprenez à étendre les capacités de Grafana via les Data Sources. Découvrez les plugins essentiel...

Projet fil rouge : les quatre signaux de l'OpenTelemetry Demo dans la stack Grafana

Un projet fil rouge qui traverse les formations d'observabilité : déployer l'OpenTelemetry Demo, ...

Envoyer des traces vers Tempo : instrumentation OpenTelemetry et Alloy

Produire et acheminer des traces vers Tempo : auto-instrumentation Python/Java/Node, SDK manuel, ...

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...

Les logs avec OpenTelemetry : modèle de données, appenders, corrélation et collecte

Maîtriser le signal log : modèle de données LogRecord, Logs Bridge API et appenders (Logback, Log...

Collecteurs de logs légers : Fluent Bit, Vector et les autres

Pourquoi un collecteur de logs, ce qui distingue les agents légers (Fluent Bit, Vector) des colle...

Corréler traces, métriques, logs et profils avec OpenTelemetry

Relier les quatre signaux pour diagnostiquer vite : ressource commune, trace_id dans les logs, ex...

OpenTelemetry et Dynatrace : OTLP, collecteur et instrumentation

Intégrer OpenTelemetry à Dynatrace : endpoint OTLP et jetons, Dynatrace OTel Collector, traces, m...

Fluent Bit sur Kubernetes : DaemonSet, multiline, tampon et supervision

Déployer Fluent Bit sur Kubernetes avec Helm, enrichir avec le filtre kubernetes, gérer les logs ...

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 !