RousselTMLEARNING

Observabilité

OpenObserve : architecture et concepts

Comprendre OpenObserve : stockage Parquet, modes de déploiement, rôles (router, ingester, querier, compactor, scheduler), éditions open source et Enterprise, flux et organisations.

1. OpenObserve en bref #

Une plateforme d'observabilité en un seul binaire.

Présentation #

OpenObserve est une plateforme d'observabilité open source écrite en Rust. Elle réunit dans un même produit les logs, métriques et traces, les tableaux de bord, les alertes et les pipelines de données. Sa particularité : elle stocke les données en colonnes au format Parquet, sur disque ou dans un stockage objet, sans index plein texte complet comme Elasticsearch. Le stockage y gagne beaucoup en coût ; l'éditeur annonce des écarts très importants, à vérifier sur vos propres données.

Un seul binaire suffit pour démarrer : pas de cluster à monter, pas de JVM. Lors de nos essais, un nœud local occupait environ 370 Mo de mémoire.

Open source ou Enterprise ? #

Open source (AGPL-3.0)Enterprise
Logs, métriques, traces, tableaux de bord, alertesOuiOui
Rétention configurableOuiOui
PipelinesOui, destinations distantes en moinsOui
Droits fins (rôles personnalisés)NonOui
SSO, recherche fédérée, journal d’audit completNonOui
À vérifier : la répartition et les conditions évoluent. L'éditeur propose aussi l'édition Enterprise gratuite en auto-hébergement sous un seuil d'ingestion quotidien : consultez la page officielle. Cette formation utilise l'édition open source.

2. L'architecture #

Du binaire unique au cluster.

Deux modes de déploiement #

Architecture d'OpenObserve en mode local et en haute disponibilité
Le mode local suffit à de nombreux usages ; le mode haute disponibilité impose Kubernetes et un stockage objet.
RôleFonction
RouterReçoit les requêtes, les aiguille et sert l'interface
IngesterReçoit les données, écrit le WAL, produit le Parquet et l’envoie au stockage
QuerierExécute les recherches ; sans état
CompactorFusionne les petits fichiers et applique la rétention
SchedulerExécute les alertes planifiées et les rapports

En haute disponibilité, PostgreSQL conserve les métadonnées et NATS assure la coordination. Le disque local n'y est pas pris en charge.

Le trajet d'une donnée #

  1. L'ingester écrit l'événement dans un WAL et en mémoire.
  2. Les données sont converties périodiquement en fichiers Parquet locaux, déjà interrogeables.
  3. Ces fichiers partent vers le stockage objet.
  4. Le compactor fusionne les petits fichiers pour accélérer les recherches.

3. Les concepts #

Le vocabulaire à connaître.

Organisation, flux et schéma #

ConceptSens
OrganisationEspace isolé ; c'est le default des URL
Flux (stream)Équivalent d'un index ; il a un type : logs, metrics ou traces
SchémaCréé et enrichi automatiquement à l’ingestion
_timestampHorodatage de chaque événement, en microsecondes

OpenObserve face aux autres outils #

BesoinOpenObserveAutre choix
Tout-en-un simple à déployerUn binaire, trois signauxSigNoz, ClickStack (ClickHouse)
Recherche plein texte très richePlus simple, SQLElasticsearch, OpenSearch
Écosystème GrafanaInterface propre, PromQL compatibleLoki, Mimir, Tempo

Articles liés

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

Installer OpenObserve avec Docker Compose ou le binaire, le configurer par ses variables ZO_*, envoyer du JSO…

Envoyer ses logs, métriques et traces vers OpenObserve

Les points de réception d'OpenObserve : JSON, bulk, OTLP avec le Collector OpenTelemetry, Prometheus remote w…

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étention) et tran…

Pour aller plus loin

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 !