RousselTMLEARNING

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

Alertas y pipelines

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

1. Les alertes #

Du flux à la notification.

La chaîne #

Chaîne d'une alerte dans OpenObserve
Une alerte a besoin d'une destination, qui a elle-même besoin d'un modèle.

L'ordre de création compte : le modèle, puis la destination qui l'utilise, puis l'alerte. Nous avons testé cette chaîne avec un vrai webhook, qui a reçu : {"alerte":"erreurs_paiement","flux":"commandes","nb":"1"}.

A='root@example.com:Complexpass#123'
curl -u "$A" -H 'Content-Type: application/json' \
  http://localhost:5080/api/default/alerts/templates \
  -d '{"name":"tpl_simple","type":"http","title":"",
       "body":"{\"alerte\":\"{alert_name}\",\"flux\":\"{stream_name}\",\"nb\":\"{alert_count}\"}"}'

curl -u "$A" -H 'Content-Type: application/json' \
  http://localhost:5080/api/default/alerts/destinations \
  -d '{"name":"webhook_tp","url":"http://echo:8080/alerte","method":"post",
       "skip_tls_verify":false,"template":"tpl_simple","headers":{},"type":"http"}'
A='root@example.com:Complexpass#123'
curl -u "$A" -H 'Content-Type: application/json' \
  http://localhost:5080/api/v2/default/alerts \
  -d '{"name":"erreurs_paiement","stream_type":"logs","stream_name":"commandes",
       "is_real_time":false,"enabled":true,"owner":"root@example.com","folder_id":"default",
       "description":"Au moins une erreur en une minute","row_template":"","context_attributes":{},
       "query_condition":{"type":"sql","conditions":null,"promql":null,"promql_condition":null,
         "aggregation":null,"vrl_function":null,"multi_time_range":null,
         "sql":"SELECT count(*) AS nb FROM commandes WHERE level='"'"'error'"'"'"},
       "trigger_condition":{"period":1,"threshold":1,"frequency":1,"cron":"","operator":">=",
         "silence":0,"frequency_type":"minutes","timezone":null,"tolerance_in_seconds":null},
       "destinations":["webhook_tp"]}'

Planifiée ou temps réel #

TypeÉvaluationUsage
PlanifiéeUne requête SQL ou PromQL exécutée à intervalle régulierSeuils et agrégats : taux d’erreur, percentile
Temps réelÉvaluée à l’ingestion, événement par événementÉvénement précis à signaler aussitôt

Le piège du webhook local #

Message Destination URL blocked by SSRF guard ? Par sécurité, OpenObserve refuse les webhooks vers une adresse privée : conteneur voisin, réseau interne, 127.0.0.1. Autorisez précisément vos cibles avec ZO_SSRF_ALLOWED_HOSTS ou ZO_SSRF_ALLOWED_CIDRS. ZO_SKIP_SSRF_CHECKS=true désactive la protection : à réserver à une maquette.

2. Les pipelines #

Traiter les données avant de les stocker.

Temps réel et planifiés #

Un pipeline enchaîne une source, des conditions, des fonctions et une ou plusieurs destinations. Il se construit graphiquement dans l'interface.

TypeSourceUsage typique
Temps réelUn flux, à l’ingestionMasquer un champ, enrichir, router vers un autre flux
PlanifiéUne requête exécutée périodiquementProduire un flux d’agrégats, comme une recording rule
Bonne pratique : filtrez et masquez les données sensibles dans un pipeline temps réel, avant le stockage. Un filtre à la lecture ne retire rien du disque.

📄 Alertes et pipelines dans OpenObserve →

Mi seguimiento

  • ⏱ Duración estimada : ≈ 5 min

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

💬 Hacer una pregunta

Artículos recomendados

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

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

OpenObserve : architecture et concepts

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

Envoyer ses logs, métriques et traces vers OpenObserve

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

OpenObserve en production : bonnes pratiques

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

Transformer avec VRL et tester ses pipelines Vector

Le langage VRL (Vector Remap Language) : analyse de logs (JSON, regex, syslog), gestion des erreu...

OpenTelemetry Collector, Grafana Alloy et Bindplane : comparer trois approches des pipelines de télémétrie

Comparatif détaillé de trois façons de gérer des pipelines de télémétrie : l'OpenTelemetry Collec...

Alimenter OpenSearch : pipelines d'ingestion et Data Prepper

Transformer les données avec les pipelines d'ingestion, collecter avec Data Prepper, recevoir l'O...

Ingestion Elasticsearch : Bulk API, ingest pipelines, enrich et reindex

Ingérer et transformer des données dans Elasticsearch : Bulk API, ingest pipelines et processeurs...

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!