RousselTMLEARNING

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

Alertes et pipelines

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 →

Mon suivi

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

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

💬 Poser une question

Articles recommandés

Bonnes pratiques Datadog : tags, coûts, alertes et gouvernance

Check-list pour exploiter Datadog efficacement : tagging unifié, maîtrise des coûts (hôtes, logs,...

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

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

Grafana Alloy : Guide complet pour collecter métriques, logs et traces

Tutoriel complet sur Grafana Alloy. Découvrez comment installer, configurer et utiliser ce collec...

Grafana Alloy : Collecte et Transformation de Télémétrie

Apprenez à utiliser Grafana Alloy pour collecter, transformer et acheminer logs, métriques et tra...

Grafana Cloud : démarrer avec la plateforme managée (Mimir, Loki, Tempo, Alloy)

Découvrir Grafana Cloud : création d'une stack, offre gratuite, envoi de métriques, logs et trace...

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

Logs dans Datadog : collecte, pipelines, index et maîtrise du volume

Collecter les logs avec l'agent, les structurer avec pipelines et processeurs (grok), utiliser fa...

Bonnes pratiques Logstash : pipelines, performances, fiabilité et supervision

Bonnes pratiques Logstash : pipelines multiples, dissect plutôt que grok, conditionnels, persiste...

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 !