Qu'est-ce qu'OpenObserve ?
OpenObserve est une plateforme d'observabilité open source écrite en Rust, publiée sous licence AGPL-3.0. Elle ingère les logs, les métriques, les traces distribuées et les événements RUM (Real User Monitoring) et les stocke dans un format colonnaire compressé 140× plus économe en stockage qu'Elasticsearch.
En coulisses, OpenObserve s'appuie sur Apache Arrow et Parquet pour le stockage colonnaire, ce qui permet des requêtes SQL et PromQL en moins d'une seconde sur de grands volumes de données, sans la surcharge mémoire d'un moteur basé sur la JVM. Le projet est soutenu par 10 M$ de financement et publie de nouvelles versions toutes les une à deux semaines — la v0.91.1 est sortie le 2 juillet 2026.
Ce qu'OpenObserve vous apporte
- Ingestion unifiée : logs (syslog, Fluent Bit, Vector, OTLP), métriques (Prometheus remote_write, OTLP), traces (OTLP/Jaeger), événements RUM — le tout dans un seul service.
- Coût de stockage 140× inférieur à Elasticsearch : format colonnaire Parquet + compression Zstd.
- Interfaces de requête SQL et PromQL — aucun langage de requête propriétaire à apprendre.
- Tableaux de bord intégrés avec panneaux en glisser-déposer, sélecteurs de plage temporelle, variables et alertes.
- Suivi des traces LLM/IA : tracez nativement les appels OpenAI, LangChain, LiteLLM et Anthropic (latence, nombre de tokens, coût, erreurs).
- Alertes via des notifications Slack, PagerDuty, e-mail, webhook et Microsoft Teams.
- Backend de stockage objet compatible S3 : stockez des pétaoctets sur MinIO, R2 ou Backblaze B2.
- Moins de 10 Mo de RAM au repos — faites-le tourner sur n'importe quel VPS de 1 Go, aux côtés de vos applications.
Prérequis
N'importe quel VPS ServOrbit doté de 1 Go de RAM et d'un template Ubuntu 24.04 récent convient pour une installation mono-serveur. Docker doit être installé (l'installateur en un clic s'en charge). Pour une ingestion de logs intensive — des millions de lignes par jour issues de plusieurs services — prévoyez 2 à 4 Go de RAM. Aucun GPU, aucun flag noyau particulier, aucun réglage du noyau requis.
Déployer OpenObserve sur votre VPS ServOrbit
Déploiement en un clic depuis la marketplace
Dans votre panneau de contrôle ServOrbit, ouvrez l'onglet Marketplace, recherchez OpenObserve et cliquez sur Deploy. L'installateur provisionne Docker, récupère
public.ecr.aws/zinclabs/openobserve:latestet démarre le conteneur avec un volume nommé pour le stockage persistant. Les identifiants administrateur sont générés aléatoirement et affichés dans votre panneau.Ouvrir l'interface web
Rendez-vous sur
http://<your-vps-ip>:5080dans votre navigateur. Connectez-vous avec[email protected]et le mot de passe fourni dans votre panneau de contrôle. Vous arrivez sur l'écran d'accueil d'OpenObserve — l'organisation est déjà créée et le stream par défautdefaultest prêt à recevoir des données.Envoyer votre premier log
Testez l'endpoint d'ingestion depuis n'importe quel terminal :
curl -u [email protected]:YOUR_PASSWORD \ -XPOST http://YOUR_VPS_IP:5080/api/default/default/_json \ -H 'Content-Type: application/json' \ -d '[{"level":"info","message":"hello openobserve","service":"test"}]'Basculez vers l'explorateur Logs dans l'interface, sélectionnez le stream
defaultet votre ligne de log apparaît en moins d'une seconde.Acheminer les logs Docker avec Fluent Bit
Pour collecter les logs de tous les conteneurs de votre VPS, installez Fluent Bit sous forme de conteneur :
docker run -d --name fluent-bit \ -v /var/lib/docker/containers:/var/lib/docker/containers:ro \ -e FLB_OUTPUT_HOST=YOUR_VPS_IP \ fluent/fluent-bit:latest \ /fluent-bit/bin/fluent-bit \ -i tail -p path=/var/lib/docker/containers/*/*.log \ -p parser=docker \ -o http -p host=YOUR_VPS_IP -p port=5080 \ -p uri=/api/default/docker/_json \ -p format=json \ -p [email protected] -p http_passwd=YOUR_PASSWORDLa sortie stdout/stderr de chaque conteneur est désormais acheminée vers le stream de logs
dockerdans OpenObserve, où elle est consultable par nom de conteneur, image et niveau de log.Collecter les métriques Prometheus (optionnel)
Si vous utilisez déjà Prometheus (ou le collecteur Prometheus intégré à OpenObserve), ajoutez un bloc
remote_writeà votreprometheus.yml:remote_write: - url: http://YOUR_VPS_IP:5080/api/default/prometheus/api/v1/write basic_auth: username: [email protected] password: YOUR_PASSWORDLes métriques affluent dans le stockage de métriques d'OpenObserve et deviennent interrogeables en PromQL dans son éditeur de tableaux de bord.
Créer votre premier tableau de bord
Dans l'interface d'OpenObserve, cliquez sur Dashboards → New dashboard, ajoutez un panneau et saisissez une requête SQL comme
SELECT histogram(_timestamp, '1 minute') AS x, COUNT(*) AS y FROM default GROUP BY x. Passez en graphique en courbes et cliquez sur Save. Votre volume de logs au fil du temps est désormais visualisé — ajoutez d'autres panneaux pour les taux d'erreur, les requêtes lentes ou n'importe quelle métrique que vous ingérez.Se connecter la première fois
Connectez-vous avec l'adresse [email protected] et le mot de passe fourni (recopiez-le intégralement, suffixe compris). Changez ensuite l'adresse et le mot de passe du compte root depuis les paramètres.
Observabilité des LLM avec OpenObserve + LiteLLM
L'une des fonctionnalités phares d'OpenObserve en 2026 est le suivi natif des traces de LLM. Si vous utilisez déjà LiteLLM depuis la marketplace ServOrbit, vous pouvez acheminer toutes les traces d'appels de modèles — nom du modèle, latence, nombre de tokens en entrée/sortie, coût et détails des erreurs — directement vers OpenObserve via son endpoint OTLP.
Dans le config.yaml de LiteLLM, ajoutez :
general_settings:
otel_exporter: otlp
otel_exporter_otlp_endpoint: http://YOUR_VPS_IP:5081Chaque appel de modèle crée désormais un span dans l'explorateur Traces d'OpenObserve. Vous pouvez créer des tableaux de bord de coût par modèle, déclencher des alertes en cas de latence élevée ou de consommation excessive de tokens, et descendre jusqu'aux traces de requêtes individuelles — le tout sans envoyer vos données à un outil d'APM tiers.
OpenObserve face aux alternatives
| Critère | OpenObserve | Stack ELK | Grafana + Loki + Prometheus |
|---|---|---|---|
| Conteneurs nécessaires | 1 | 3–4 | 3 |
| RAM min. (au repos) | ~10 Mo | 2–4 Go | 512 Mo |
| Coût de stockage | ✅ 140× inférieur | ❌ Élevé | ⚠️ Moyen |
| Interface de requête | SQL + PromQL | KQL (Kibana) | LogQL + PromQL |
| Tracing distribué | ✅ Intégré | ❌ Nécessite un APM | ❌ Nécessite Tempo |
| Suivi des traces LLM | ✅ Natif | ❌ | ❌ |
| Licence | AGPL-3.0 (gratuit) | AGPL-3.0 (gratuit) | AGPL-3.0 (gratuit) |
Le véritable facteur différenciant, c'est l'efficacité en ressources : OpenObserve atteint la parité avec une stack ELK ou Grafana complète pour une fraction de l'empreinte, ce qui en fait le choix pragmatique pour les déploiements sur VPS où la RAM est rare.