RousselTMLEARNING

TP · OpenObserve: del descubrimiento a la maestría

Práctica: instalar OpenObserve e ingerir los primeros logs con corrección

La corrección está integrada en el TP (Ver los recuadros verdes)

Lo que vas a aprender en este TP
  • Desplegar OpenObserve
  • Ingerir JSON
  • Consultar en SQL

Introducción #

Lo que vas a aprender en esta sección
  • Desplegar OpenObserve
  • Ingerir JSON
  • Consultar en SQL

Contexto. Tu equipo busca una plataforma de logs más ligera que un clúster de Elasticsearch. Montas una maqueta en unos minutos.

Requisitos: Docker Compose, curl, jq  ·  Duración estimada: 30 min

Una plataforma lista para recibir datos.

Puesta en marcha #

Pasos guiados, con su corrección.

  1. 1. Iniciar OpenObserve

    ¿Por qué? Basta un solo contenedor: es la principal ventaja del producto.

    Escribe el Compose, inícialo y comprueba /healthz.
    Ver la corrección
    services:
      openobserve:
        image: public.ecr.aws/zinclabs/openobserve:latest
        ports:
          - "5080:5080"
        environment:
          ZO_DATA_DIR: /data
          ZO_ROOT_USER_EMAIL: root@example.com
          ZO_ROOT_USER_PASSWORD: Complexpass#123
        volumes:
          - o2-data:/data
    
    volumes:
      o2-data:
    docker compose up -d
    curl http://localhost:5080/healthz
  2. 2. Enviar eventos

    ¿Por qué? No hay que declarar ningún esquema: el flujo nace con la primera escritura.

    Envía tres eventos al flujo commandes y lee el cuerpo de la respuesta.
    Ver la corrección
    curl -u 'root@example.com:Complexpass#123' \
      -H 'Content-Type: application/json' \
      http://localhost:5080/api/default/commandes/_json \
      -d '[
        {"level":"error","service":"paiement","message":"timeout vers la banque","duree_ms":3100},
        {"level":"info","service":"paiement","message":"ok","duree_ms":120},
        {"level":"info","service":"panier","message":"ok","duree_ms":40}
      ]'
    # {"code":200,"status":[{"name":"commandes","successful":3,"failed":0}]}
  3. 3. Encontrarlos en SQL

    ¿Por qué? La consulta siempre pide un periodo, en microsegundos.

    Calcula el número de eventos y la duración media por servicio. Espera unos segundos si el resultado está vacío.
    Ver la corrección
    NOW=$(date +%s)
    curl -s -u 'root@example.com:Complexpass#123' \
      -H 'Content-Type: application/json' \
      http://localhost:5080/api/default/_search \
      -d "{\"query\":{
            \"sql\":\"SELECT service, count(*) AS n, avg(duree_ms) AS moy FROM commandes GROUP BY service ORDER BY n DESC\",
            \"start_time\":$(( (NOW-3600)*1000000 )),
            \"end_time\":$(( (NOW+60)*1000000 )),
            \"from\":0,\"size\":10}}" | jq .hits
  4. 4. Observar las transformaciones

    ¿Por qué? Estas reglas explican muchas consultas que no devuelven nada.

    Envía [{"Level":"INFO","http":{"status":500}}] a un flujo essai y búscalo en la interfaz. ¿Cómo se llaman ahora los campos?
    Ver la corrección

    Los campos pasan a ser level (minúsculas) y http_status (aplanado).

    curl -u 'root@example.com:Complexpass#123' -H 'Content-Type: application/json' \
      http://localhost:5080/api/default/essai/_json -d '[{"Level":"INFO","http":{"status":500}}]'

Nivel de dificultad : ●○○○○ (1/5)

Mi seguimiento

  • ⏱ Duración estimada : ≈ 30 min

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

💬 Hacer una pregunta

Artículos recomendados

Installer OpenObserve et ingérer ses premières données

Installer OpenObserve avec Docker Compose ou le binaire, le configurer par ses variables ZO_*, en...

Envoyer ses logs, métriques et traces vers OpenObserve

Les points de réception d'OpenObserve : JSON, bulk, OTLP avec le Collector OpenTelemetry, Prometh...

Explorer ses données dans OpenObserve : SQL, PromQL et VRL

Chercher en SQL, interroger les métriques en PromQL, optimiser un flux (index, partitions, rétent...

OpenObserve : architecture et concepts

Comprendre OpenObserve : stockage Parquet, modes de déploiement, rôles (router, ingester, querier...

Alertes et pipelines dans OpenObserve

Créer un modèle, une destination et une alerte, éviter le blocage SSRF des webhooks et traiter le...

OpenObserve en production : bonnes pratiques

Choisir son mode de déploiement, organiser ses flux, sécuriser, sauvegarder et superviser OpenObs...

Utiliser SigNoz : APM, traces, logs, dashboards et alertes

Exploiter SigNoz au quotidien : vue APM des services, explorateur de traces et de logs, query bui...

Stocker et interroger la télémétrie directement dans ClickHouse

Envoyer logs et traces dans ClickHouse avec l'exportateur OpenTelemetry, comprendre le schéma des...

Grafana : maîtriser les requêtes (PromQL, LogQL, SQL et expressions)

Construire des requêtes efficaces dans Grafana : éditeur de requêtes, Query Inspector, PromQL, Lo...

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!