RousselTMLEARNING

Artículo · OpenObserve: del descubrimiento a la maestría

Enviar datos a OpenObserve

Este artículo está disponible en francés.

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 →

Mi seguimiento

  • ⏱ Duración estimada : ≈ 11 min

Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión

💬 Hacer una pregunta

Artículos recomendados

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

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

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

Collecter des logs vers Loki : Alloy, Promtail, Docker et OpenTelemetry

Envoyer des logs vers Loki : Grafana Alloy, Promtail, driver Docker, OTLP, bons labels, parsing e...

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

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

Fluent Bit : parsers et filters, structurer et transformer les logs

Structurer et transformer les logs dans Fluent Bit : parsers (json, regex, logfmt, ltsv), parsers...

Bonnes pratiques de collecte de logs avec Fluent Bit et Vector

Check-list de production pour la collecte de logs : structure, filtrage à la source, masquage, ta...

Apoyar

♥ APOYAR

Apoya RousselTM Learning

Los cursos, artículos, prácticas y certificados siguen siendo gratuitos y sin publicidad intrusiva. Una contribución libre, por el importe que elijas, financia el alojamiento, los entornos de prácticas y nuevos contenidos.

Contribuir con PayPal Importe libre · tarjeta o cuenta PayPalMás información
QR code PayPal
O escanea este código QR con tu teléfono

¡Gracias, cada contribución cuenta!