Este artículo está disponible en francés.
1. Les alertes #
Du flux à la notification.
La chaîne #
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 | Évaluation | Usage |
|---|---|---|
| Planifiée | Une requête SQL ou PromQL exécutée à intervalle régulier | Seuils 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 #
MessageDestination 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 avecZO_SSRF_ALLOWED_HOSTSouZO_SSRF_ALLOWED_CIDRS.ZO_SKIP_SSRF_CHECKS=truedé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.
| Type | Source | Usage typique |
|---|---|---|
| Temps réel | Un flux, à l’ingestion | Masquer un champ, enrichir, router vers un autre flux |
| Planifié | Une requête exécutée périodiquement | Produire 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.
Mi seguimiento
Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión
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...