[{"data":1,"prerenderedAt":189},["ShallowReactive",2],{"seo-verification":3,"blog-self-host-greptimedb-vps-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-self-host-greptimedb-vps-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":124,"ctaBody":125,"ctaButton":126,"ctaUrl":127,"relatedPosts":128},565,"self-host-greptimedb-vps",{"fr":10,"en":12,"ar":13,"es":14},"self-host-greptimedb-vps-observability-sql","استضافة-greptimedb-على-vps-قاعدة-بيانات-المراقبة","autoalojar-greptimedb-vps-observabilidad-sql","GreptimeDB sur VPS : métriques, logs et traces en SQL","Installez GreptimeDB sur un VPS : une base d'observabilité qui réunit métriques, logs et traces, interrogeables en SQL, en PromQL et depuis Grafana.",6,0,false,"2026-11-04T00:00:00+00:00","2026-11-04T16:30:20+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-greptimedb-vps-poster.svg",{"categorySlug":34,"appSlug":35},"bases-de-donnees","greptimedb","Surveiller une application, c'est souvent faire tourner trois stockages : un Prometheus pour les métriques, un Loki ou un Elasticsearch pour les logs, un Tempo ou un Jaeger pour les traces. Trois services à mettre à jour, trois langages de requête, et aucune façon simple de croiser une erreur avec sa latence. GreptimeDB est une base de données d'observabilité open source (licence Apache-2.0) qui range les trois signaux dans un même moteur et les rend interrogeables en SQL comme en PromQL. Ce guide l'installe sur un VPS avec Docker Compose, la protège par mot de passe, y branche Prometheus, OpenTelemetry et Grafana, puis règle la rétention et la sauvegarde.",[38,42,52,83,86,102,106,109,112,115,118,121],{"type":39,"title":40,"body":41},"h2","Pourquoi une base unique pour l'observabilité","Métriques, logs et traces décrivent le même incident sous trois angles. Quand ils vivent dans trois outils, on passe d'un onglet à l'autre en recopiant des horodatages, et la question « quelles requêtes lentes ont précédé ces erreurs ? » demande trois requêtes dans trois langages.\n\nGreptimeDB les range tous dans des tables, dans un moteur en colonnes conçu pour les séries temporelles. Les métriques reçues de Prometheus restent interrogeables en PromQL, et tout — métriques, logs et traces — s'interroge aussi en SQL, avec jointures et agrégats. Grafana la voit comme une source Prometheus ordinaire.",{"type":43,"title":44,"items":45},"ul","Ce que GreptimeDB apporte",[46,47,48,49,50,51],"**Trois signaux, un moteur** — métriques, logs et traces dans des tables d'un même stockage en colonnes.","**SQL et PromQL** — jointures, fenêtres et agrégats en SQL ; vos requêtes PromQL fonctionnent telles quelles.","**Compatible Prometheus** — cible `remote_write`, API de requête Prometheus, source de données Grafana sans plugin.","**OpenTelemetry natif** — ingestion OTLP\u002FHTTP des métriques, des logs et des traces.","**Autres protocoles** — API push de Loki, line protocol d'InfluxDB, API SQL en HTTP.","**Tableau de bord intégré** — éditeur SQL et PromQL, exploration des tables, graphiques des résultats.",{"type":53,"title":54,"headers":55,"rows":58},"comparison","GreptimeDB face à une pile Prometheus, Loki et Tempo",[5,56,57],"GreptimeDB","Prometheus + Loki + Tempo",[59,63,67,71,75,79],[60,61,62],"Services à exploiter","Un seul conteneur","Trois services, trois configurations",[64,65,66],"Langages de requête","SQL et PromQL","PromQL, LogQL et TraceQL",[68,69,70],"Croiser logs et métriques","Une requête SQL","Plusieurs requêtes, à la main",[72,73,74],"Ingestion","remote_write, OTLP, Loki, InfluxDB, SQL","Un protocole par service",[76,77,78],"Grafana","Source de données Prometheus","Une source par service",[80,81,82],"Rétention","Par base ou par table, en SQL","Un réglage par service",{"type":39,"title":84,"body":85},"Prérequis","Un VPS Ubuntu 24.04 avec **2 Go de RAM** suffit pour démarrer ; prévoyez 4 Go et davantage de disque si vous centralisez de nombreux services, car les logs et les traces occupent bien plus de place que les métriques. Il vous faut Docker avec le plugin Compose, et un **nom de domaine** pointant vers le VPS, avec nginx et un certificat HTTPS : vos serveurs y enverront leurs données et Grafana l'interrogera.",{"type":87,"title":88,"steps":89},"steps","Installer GreptimeDB avec Docker Compose",[90,93,96,99],{"title":91,"body":92},"Préparer le répertoire et le mot de passe","Créez le répertoire de l'application et un fichier `.env` qui porte le mot de passe de l'utilisateur `admin`.\n```bash\nmkdir -p \u002Fopt\u002Fgreptimedb && cd \u002Fopt\u002Fgreptimedb\necho \"ADMIN_PASSWORD=$(openssl rand -hex 16)\" > .env\nchmod 600 .env\n```",{"title":94,"body":95},"Écrire le docker-compose.yml","Le port n'est publié que sur la boucle locale : seul nginx y accède. L'option `--user-provider` déclare l'utilisateur `admin` et protège **toute** l'API HTTP. La variable `GREPTIMEDB_STANDALONE__ENABLE_TELEMETRY` coupe le rapport d'usage anonyme envoyé à l'éditeur.\n```yaml\nservices:\n  greptimedb:\n    image: greptime\u002Fgreptimedb:v1.3.0\n    restart: unless-stopped\n    ports:\n      - \"127.0.0.1:4000:4000\"\n    environment:\n      GREPTIMEDB_STANDALONE__ENABLE_TELEMETRY: \"false\"\n    command:\n      - standalone\n      - start\n      - --http-addr=0.0.0.0:4000\n      - --data-home=\u002Fgreptimedb_data\n      - --user-provider=static_user_provider:cmd:admin=${ADMIN_PASSWORD}\n    volumes:\n      - greptimedb-data:\u002Fgreptimedb_data\n\nvolumes:\n  greptimedb-data: {}\n```",{"title":97,"body":98},"Démarrer et vérifier","Le démarrage prend quelques secondes. `\u002Fhealth` répond sans authentification ; l'API SQL, elle, renvoie 401 sans identifiants.\n```bash\ndocker compose up -d\ncurl -fsS http:\u002F\u002F127.0.0.1:4000\u002Fhealth\ncurl -u admin:VOTRE_MOT_DE_PASSE http:\u002F\u002F127.0.0.1:4000\u002Fv1\u002Fsql -d 'sql=SHOW TABLES'\n```",{"title":100,"body":101},"Publier en HTTPS avec nginx","Dans le vhost de votre domaine (certificat obtenu par certbot), proxifiez vers le port local. Relevez `client_max_body_size` : les lots `remote_write` et OTLP dépassent vite la limite par défaut.\n```nginx\nlocation \u002F {\n    proxy_pass http:\u002F\u002F127.0.0.1:4000;\n    proxy_set_header Host $host;\n    proxy_set_header X-Forwarded-Proto $scheme;\n    client_max_body_size 32m;\n}\n```",{"type":103,"title":104,"body":105},"tip","Sans --user-provider, la base est ouverte à tous","Sans fournisseur d'utilisateurs, GreptimeDB accepte toute requête : quiconque connaît l'adresse peut lire vos logs **et** écrire, modifier ou supprimer des tables en SQL. Gardez l'authentification active, et ne publiez jamais le port 4000 directement sur l'IP publique : passez toujours par le reverse proxy HTTPS. Les ports gRPC, MySQL et PostgreSQL de GreptimeDB n'ont pas à être publiés non plus.",{"type":39,"title":107,"body":108},"Envoyer les métriques de Prometheus","Dans le `prometheus.yml` de chaque serveur, ajoutez un bloc `remote_write` vers GreptimeDB. Le paramètre `db` désigne la base de destination ; `public` existe dès le premier démarrage.\n```yaml\nremote_write:\n  - url: https:\u002F\u002Fgreptime.example.ma\u002Fv1\u002Fprometheus\u002Fwrite?db=public\n    basic_auth:\n      username: admin\n      password: VOTRE_MOT_DE_PASSE\n```\nRechargez Prometheus : chaque métrique devient une table, visible avec `SHOW TABLES;` dans le tableau de bord.",{"type":39,"title":110,"body":111},"Envoyer logs et traces par OpenTelemetry","Dans l'OpenTelemetry Collector (ou directement dans le SDK de votre application), déclarez un exportateur OTLP\u002FHTTP vers GreptimeDB. L'en-tête `Authorization` porte `admin:mot-de-passe` encodé en Base64, et les traces exigent en plus l'en-tête `X-Greptime-Pipeline-Name: greptime_trace_v1`. Déclarez donc **deux** exportateurs : posé sur les logs, cet en-tête les fait refuser.\n```yaml\nexporters:\n  otlphttp\u002Fgreptime:\n    endpoint: https:\u002F\u002Fgreptime.example.ma\u002Fv1\u002Fotlp\n    headers:\n      Authorization: \"Basic BASE64_ADMIN_MOT_DE_PASSE\"\n  otlphttp\u002Fgreptime-traces:\n    endpoint: https:\u002F\u002Fgreptime.example.ma\u002Fv1\u002Fotlp\n    headers:\n      Authorization: \"Basic BASE64_ADMIN_MOT_DE_PASSE\"\n      X-Greptime-Pipeline-Name: greptime_trace_v1\nservice:\n  pipelines:\n    logs:\n      exporters: [otlphttp\u002Fgreptime]\n    metrics:\n      exporters: [otlphttp\u002Fgreptime]\n    traces:\n      exporters: [otlphttp\u002Fgreptime-traces]\n```\nLes métriques arrivent sur `\u002Fv1\u002Fotlp\u002Fv1\u002Fmetrics`, les logs sur `\u002Fv1\u002Fotlp\u002Fv1\u002Flogs` et les traces sur `\u002Fv1\u002Fotlp\u002Fv1\u002Ftraces` : le collecteur ajoute ces suffixes lui-même. Si vous envoyez déjà vos logs à Loki, Promtail et Grafana Alloy peuvent viser `\u002Fv1\u002Floki\u002Fapi\u002Fv1\u002Fpush`.",{"type":39,"title":113,"body":114},"Interroger GreptimeDB depuis Grafana","Dans Grafana, ajoutez une source de données de type **Prometheus** avec l'URL `https:\u002F\u002Fvotre-domaine\u002Fv1\u002Fprometheus`, activez l'authentification basique et saisissez l'utilisateur `admin` et son mot de passe. Vos tableaux de bord PromQL fonctionnent sans modification.\n\nPour les logs et les traces, écrivez vos requêtes en SQL dans le tableau de bord intégré (`https:\u002F\u002Fvotre-domaine\u002Fdashboard\u002F`), où les identifiants se saisissent dans les paramètres de connexion. Une requête comme `SELECT * FROM opentelemetry_logs ORDER BY timestamp DESC LIMIT 50;` affiche les derniers logs reçus.",{"type":39,"title":116,"body":117},"Rétention, disque et sauvegarde","Sans réglage, GreptimeDB ne supprime rien. La rétention se fixe en SQL, pour une base entière ou par table (option `ttl` à la création). La commande `COPY DATABASE` exporte une base au format Parquet dans le volume de données, sous `\u002Fgreptimedb_data\u002Fcopy\u002F` :\n```sql\nALTER DATABASE public SET 'ttl'='90d';\nCOPY DATABASE public TO 'backup\u002F' WITH (FORMAT='parquet');\n```\nCopiez ensuite ce dossier hors du VPS, ou sauvegardez le volume Docker `greptimedb-data` entier, conteneur arrêté. Surveillez l'espace disque : c'est presque toujours la taille des logs qui décide.",{"type":39,"title":119,"body":120},"Mettre à jour GreptimeDB","Lisez d'abord les notes de version : une montée de version majeure peut demander une étape de migration. Changez le tag de l'image dans `docker-compose.yml`, puis :\n```bash\ncd \u002Fopt\u002Fgreptimedb\ndocker compose pull && docker compose up -d\ndocker compose logs --tail 20\n```\nLes données du volume sont conservées. Faites un `COPY DATABASE` juste avant une mise à jour majeure : c'est votre point de retour.",{"type":39,"title":122,"body":123},"Installation en un clic depuis le Marketplace ServOrbit","Le Marketplace ServOrbit installe GreptimeDB sur votre VPS sans ligne de commande : il déploie le conteneur officiel, génère le mot de passe de l'utilisateur `admin`, active l'authentification sur toute l'API HTTP, coupe le rapport d'usage anonyme et publie le tableau de bord en HTTPS sur un sous-domaine de votre domaine ou sur le sous-domaine gratuit du VPS (greptimedb.{dns_slug}.servorbit-dns.com). Le mot de passe s'affiche dans votre espace client ; il ne reste qu'à brancher Prometheus, OpenTelemetry et Grafana.","Votre observabilité dans une seule base","Un VPS ServOrbit Ubuntu 24.04 avec 2 Go de RAM suffit pour démarrer GreptimeDB. Installation en un clic depuis le Marketplace, HTTPS sur votre domaine ou sur le sous-domaine gratuit du VPS, mot de passe généré pour vous.","Installer GreptimeDB","\u002Fapplications\u002Fbases-de-donnees\u002Fgreptimedb",[129,154,172],{"id":130,"slug":131,"slugs":132,"title":136,"excerpt":137,"readTime":138,"views":139,"isPinned":19,"publishedAt":140,"updatedAt":141,"category":142,"categories":148,"featuredImage":30,"bgImage":31,"posterImage":150,"relatedSolution":151},220,"opentelemetry-grafana-tempo-vps",{"fr":131,"en":133,"ar":134,"es":135},"grafana-tempo-and-opentelemetry-distributed-tracing-on-vps","grafana-tempo-وopentelemetry-التتبع-الموزع-على-خادم-vps","grafana-tempo-opentelemetry-trazado-distribuido-vps","Grafana Tempo et OpenTelemetry : traçage distribué sur VPS","Déployez OpenTelemetry + Grafana Tempo sur votre VPS : architecture, configuration complète, instrumentation Node.js\u002FPython, rétention S3 et TraceQL.",12,2,"2026-08-04T00:00:00+00:00","2026-11-04T16:30:26+00:00",{"id":143,"name":144,"slug":145,"color":146,"icon":147},8,"Sécurité & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[149],{"id":143,"name":144,"slug":145,"color":146,"icon":147},"\u002Fblog\u002Fcovers\u002Fopentelemetry-grafana-tempo-vps-poster.svg",{"categorySlug":152,"appSlug":153},"monitoring","grafana",{"id":155,"slug":156,"slugs":157,"title":161,"excerpt":162,"readTime":163,"views":164,"isPinned":19,"publishedAt":165,"updatedAt":166,"category":167,"categories":168,"featuredImage":30,"bgImage":31,"posterImage":170,"relatedSolution":171},243,"loki-grafana-logs-centralises-vps",{"fr":156,"en":158,"ar":159,"es":160},"centralize-docker-logs-on-your-vps-with-loki-and-grafana","مركزة-سجلات-docker-على-vps-باستخدام-loki-وgrafana","centralizar-logs-docker-en-vps-con-loki-y-grafana","Centraliser vos logs Docker sur VPS avec Loki et Grafana","Agrégez les logs de tous vos conteneurs Docker dans un seul tableau de bord Grafana grâce à Loki et Promtail sur votre VPS. Sans Datadog, sans quota.",11,1,"2026-08-10T00:00:00+00:00","2026-09-08T22:00:02+00:00",{"id":143,"name":144,"slug":145,"color":146,"icon":147},[169],{"id":143,"name":144,"slug":145,"color":146,"icon":147},"\u002Fblog\u002Fcovers\u002Floki-grafana-logs-centralises-vps-poster.svg",{"categorySlug":152,"appSlug":153},{"id":173,"slug":174,"slugs":175,"title":179,"excerpt":180,"readTime":23,"views":18,"isPinned":19,"publishedAt":181,"updatedAt":182,"category":183,"categories":184,"featuredImage":30,"bgImage":31,"posterImage":186,"relatedSolution":187},533,"self-host-victoriametrics-vps",{"fr":174,"en":176,"ar":177,"es":178},"self-host-victoriametrics-vps-prometheus-storage","استضافة-victoriametrics-على-vps-تخزين-مقاييس-prometheus","autoalojar-victoriametrics-vps-metricas-prometheus","VictoriaMetrics sur VPS : stocker ses métriques Prometheus","Installez VictoriaMetrics sur un VPS : une base de séries temporelles compatible Prometheus qui garde des mois de métriques, interrogeables depuis Grafana.","2026-10-30T00:00:00+00:00","2026-11-04T16:30:29+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[185],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fself-host-victoriametrics-vps-poster.svg",{"categorySlug":152,"appSlug":188},"victoriametrics",1793819960913]