[{"data":1,"prerenderedAt":183},["ShallowReactive",2],{"seo-verification":3,"blog-signoz-on-vps-open-source-apm-in-15-minutes-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":24,"featuredImage":26,"bgImage":27,"posterImage":28,"relatedSolution":26,"intro":29,"sections":30,"ctaTitle":133,"ctaBody":134,"ctaButton":135,"ctaUrl":136,"relatedPosts":137},265,"signoz-on-vps-open-source-apm-in-15-minutes",{"fr":10,"en":8,"ar":11},"signoz-apm-vps","signoz-على-vps-apm-مفتوح-المصدر-في-15-دقيقة","SigNoz on VPS: Open-Source APM in 15 Minutes","Deploy SigNoz on your VPS and instrument your apps with the OpenTelemetry SDK in 15 minutes. Centralized traces, metrics and logs — no Datadog bill.",10,0,false,"2026-08-15T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},8,"Security & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[25],{"id":19,"name":20,"slug":21,"color":22,"icon":23},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fsignoz-apm-vps-poster.svg","Datadog charges around $15 per host per month, with additional per-metric fees that balloon as your traffic grows. SigNoz is an open-source observability platform built on ClickHouse and OpenTelemetry that gives you traces, metrics, and logs on your own VPS — no subscription required. In fifteen minutes, you have a complete, self-hosted APM stack under your full control.",[31,35,45,48,70,73,76,80,127,130],{"type":32,"title":33,"body":34},"h2","Why Replace Datadog or New Relic with SigNoz?","SaaS observability tools follow a punishing pricing model: free for a handful of hosts, then costs spiral with every new service. For a web agency managing ten client projects or an independent developer scaling a SaaS product, **the monthly bill can easily exceed $200–500** with no proportional value gain.\n\nSigNoz changes the equation. It is an open-source observability platform (Apache 2.0 license) powered by **ClickHouse** for high-performance trace and metric storage, and the **OpenTelemetry** protocol for instrumentation. Your data stays on your infrastructure, you control retention, and you only pay for the VPS running the stack.",{"type":36,"title":37,"items":38},"ul","What SigNoz Gives You",[39,40,41,42,43,44],"**Distributed traces**: visualize the full path of an HTTP request across your microservices, with spans, durations, and errors at every hop.","**Prometheus-compatible metrics**: import existing dashboards or build new ones directly in the SigNoz UI.","**Centralized logs**: collect and correlate structured logs from all your applications in a unified interface.","**Configurable alerts**: set thresholds on any metric and receive notifications via Slack, PagerDuty, or webhooks.","**Customizable dashboards**: build business or technical views in a few clicks — no LoQL or PromQL required.","**Modern UI**: responsive React interface accessible on port 8080 of your VPS, with no proprietary client-side agent.",{"type":32,"title":46,"body":47},"Prerequisites Before You Start","SigNoz relies on **ClickHouse**, a columnar database engine that is memory-hungry. The recommended minimum is **4 GB of RAM** — below that, ClickHouse gets killed by the kernel's OOM killer before the UI even loads. For production use with multiple instrumented applications, target 8 GB.\n\nFull prerequisites:\n- A VPS running Ubuntu 22.04 or Debian 12.\n- **Docker Engine ≥ 24** and Docker Compose V2 installed.\n- Port **8080** open in your firewall (SigNoz UI).\n- Ports **4317** (OTLP\u002FgRPC) and **4318** (OTLP\u002FHTTP) open to receive traces from your apps.\n- Root or sudo access on the VPS.\n- At least **20 GB of free disk space** for ClickHouse and its data files.",{"type":49,"title":50,"steps":51},"steps","Installing SigNoz via Foundry CLI",[52,55,58,61,64,67],{"title":53,"body":54},"Step 1 — Install Docker on Your VPS","```bash\ncurl -fsSL https:\u002F\u002Fget.docker.com | sh\nsystemctl enable --now docker\ndocker compose version\n```",{"title":56,"body":57},"Step 2 — Install Foundry CLI (foundryctl)","Since **v0.112.0**, SigNoz uses the **Foundry CLI** as its official deployment method.\n\n```bash\ncurl -L https:\u002F\u002Fget.foundry.so\u002Ffoundryctl\u002Flatest | bash\nexport PATH=\"$HOME\u002F.foundry\u002Fbin:$PATH\"\nfoundryctl --version\n```",{"title":59,"body":60},"Step 3 — Create the casting.yaml File","```bash\nmkdir -p \u002Fopt\u002Fsignoz && cd \u002Fopt\u002Fsignoz\ncat > casting.yaml \u003C\u003C 'EOF'\napiVersion: foundry.so\u002Fv1\nkind: Casting\nmetadata:\n  name: signoz\nspec:\n  release: stable\n  components:\n    - name: signoz\n      enabled: true\n    - name: clickhouse\n      enabled: true\nEOF\n```",{"title":62,"body":63},"Step 4 — Run the Deployment","```bash\nfoundryctl cast -f casting.yaml\n```\n\nFoundry CLI pulls the Docker images, sets up persistent volumes, and starts the containers in the correct order. Full startup takes about 2–3 minutes.",{"title":65,"body":66},"Step 5 — Verify SigNoz Is Running","```bash\ndocker compose -f \u002Fopt\u002Fsignoz\u002Fdocker-compose.yaml ps\n```\n\nThen open your browser at `http:\u002F\u002F\u003CVPS_IP>:8080`. The SigNoz interface appears. Create your admin account on first login. **Note**: the old port 3301 mentioned in older tutorials is obsolete — the current UI port is **8080**.",{"title":68,"body":69},"Step 6 — Secure Access with a Reverse Proxy","Never expose port 8080 directly in production. Use Nginx as a reverse proxy with TLS:\n\n```nginx\nserver {\n    listen 443 ssl;\n    server_name signoz.yourdomain.com;\n    ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Fsignoz.yourdomain.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Fsignoz.yourdomain.com\u002Fprivkey.pem;\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:8080;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n    }\n}\n```\n\nBlock port 8080 from outside: `ufw deny 8080`.",{"type":32,"title":71,"body":72},"Instrument Your Application with the OpenTelemetry SDK","SigNoz receives traces via the OTLP protocol. **Node.js:**\n\n```bash\nnpm install @opentelemetry\u002Fsdk-node @opentelemetry\u002Fauto-instrumentations-node\n```\n\n```bash\nOTEL_EXPORTER_OTLP_ENDPOINT=\"http:\u002F\u002F\u003CVPS_IP>:4318\" \\\nOTEL_SERVICE_NAME=\"my-api\" \\\nnode -r .\u002Ftracing.js app.js\n```\n\n**Python:**\n\n```bash\npip install opentelemetry-distro opentelemetry-exporter-otlp\nopentelemetry-bootstrap -a install\n\nOTEL_EXPORTER_OTLP_ENDPOINT=\"http:\u002F\u002F\u003CVPS_IP>:4318\" \\\nOTEL_SERVICE_NAME=\"my-python-service\" \\\nopentelemetry-instrument uvicorn main:app\n```",{"type":32,"title":74,"body":75},"Create Dashboards and Alerts","Once your applications are instrumented, SigNoz automatically populates the **Services** view with P50\u002FP99 latency, error rate, and throughput for each service.\n\n**Create a custom dashboard:** go to **Dashboards → New Dashboard**, add a Time Series panel, select a Prometheus metric, and apply filters by service or environment.\n\n**Configure a latency P99 alert:** go to **Alerts → New Alert Rule**, choose **Metric Based Alert**, enter your condition (e.g., `p99(signoz_latency_bucket{service_name=\"my-api\"}) > 500`), and configure a Slack or webhook notification channel.",{"type":77,"title":78,"body":79},"tip","Watch Out for ClickHouse OOM Kills","ClickHouse is the most memory-intensive component in the SigNoz stack. On a VPS with less than 4 GB of available RAM, the Linux kernel may kill the ClickHouse process with **exit code 137**.\n\n**Diagnose it:**\n\n```bash\ndmesg | grep -i oom\n```\n\nYou will see a line like `Out of memory: Killed process XXXX (clickhouse-serv)`.\n\n**Fixes**: upgrade your VPS RAM (recommended), or cap ClickHouse memory by adding `max_memory_usage=2000000000` to `\u002Fetc\u002Fclickhouse-server\u002Fusers.xml`.",{"type":81,"title":82,"headers":83,"rows":88},"comparison","SigNoz vs Datadog vs Grafana Cloud",[84,85,86,87],"Criteria","SigNoz (self-hosted)","Datadog","Grafana Cloud",[89,94,99,104,109,114,119,123],[90,91,92,93],"Monthly cost (5 services)","VPS cost only (~$10-20)","~$75-150 + custom metrics","Free up to 10k series, then ~$8\u002F1k",[95,96,97,98],"Distributed traces","Yes (native OpenTelemetry)","Yes (proprietary agent)","Yes (Tempo, via OTLP)",[100,101,102,103],"Data sovereignty","Full — data on your VPS","Data at Datadog (US\u002FEU)","Data at Grafana Labs",[105,106,107,108],"Operational complexity","Medium (Docker, 1 VPS)","None (SaaS)","Low (SaaS)",[110,111,112,113],"Metrics","Yes (Prometheus-compatible)","Yes (proprietary + Prometheus)","Yes (Mimir, Prometheus-compatible)",[115,116,117,118],"Logs","Yes (built-in)","Yes (additional cost)","Yes (Loki, additional cost)",[120,121,122,122],"Updates","Manual (foundryctl)","Automatic",[124,125,126,125],"Support","Community + paid plan","Paid (included)",{"type":32,"title":128,"body":129},"Troubleshooting Common Issues","**UI does not load on port 8080**: check that the `signoz-frontend` container is running and that your firewall allows the port.\n\n**Traces do not appear**: verify that port 4318 (OTLP\u002FHTTP) is reachable from your application: `curl -v http:\u002F\u002F\u003CVPS_IP>:4318`. A `405 Method Not Allowed` response confirms the collector is listening.\n\n**ClickHouse container keeps restarting**: almost certainly an OOM kill. Confirm with `dmesg | grep -i oom`.",{"type":77,"title":131,"body":132},"Plan Your ClickHouse Data Retention","By default, SigNoz retains traces for 3 days and metrics for 30 days. Adjust retention in the SigNoz UI under **Settings → Retention Period**. For an agency managing multiple client projects, **7 days of traces and 90 days of metrics** strikes a good balance between visibility and disk usage.","A VPS Built for SigNoz and Your DevOps Stack","Our developer plans start at 4 GB RAM with NVMe SSDs and generous bandwidth — exactly what SigNoz needs to run smoothly. Deploy your observability stack in minutes and keep full ownership of your data.","See our developer plans","\u002Fsolutions\u002Fdeveloppeurs",[138,154,169],{"id":139,"slug":140,"slugs":141,"title":144,"excerpt":145,"readTime":14,"views":15,"isPinned":16,"publishedAt":146,"category":147,"categories":148,"featuredImage":26,"bgImage":27,"posterImage":150,"relatedSolution":151},243,"centralize-docker-logs-on-your-vps-with-loki-and-grafana",{"fr":142,"en":140,"ar":143},"loki-grafana-logs-centralises-vps","مركزة-سجلات-docker-على-vps-باستخدام-loki-وgrafana","Centralize Docker logs on your VPS with Loki and Grafana","Aggregate logs from all your Docker containers into a single Grafana dashboard using Loki and Promtail on your VPS. No Datadog, no quota.","2026-08-10T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[149],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Floki-grafana-logs-centralises-vps-poster.svg",{"categorySlug":152,"appSlug":153},"monitoring-observability","grafana",{"id":155,"slug":156,"slugs":157,"title":160,"excerpt":161,"readTime":162,"views":15,"isPinned":16,"publishedAt":163,"category":164,"categories":165,"featuredImage":26,"bgImage":27,"posterImage":167,"relatedSolution":168},220,"grafana-tempo-and-opentelemetry-distributed-tracing-on-vps",{"fr":158,"en":156,"ar":159},"opentelemetry-grafana-tempo-vps","grafana-tempo-وopentelemetry-التتبع-الموزع-على-خادم-vps","Grafana Tempo and OpenTelemetry: distributed tracing on VPS","Deploy a full distributed tracing stack on your VPS with OpenTelemetry and Grafana Tempo, free from vendor lock-in and APM costs.",4,"2026-08-04T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[166],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fopentelemetry-grafana-tempo-vps-poster.svg",{"categorySlug":152,"appSlug":153},{"id":170,"slug":171,"slugs":172,"title":175,"excerpt":176,"readTime":162,"views":15,"isPinned":16,"publishedAt":177,"category":178,"categories":179,"featuredImage":26,"bgImage":27,"posterImage":181,"relatedSolution":182},106,"vps-monitoring-with-grafana-and-prometheus",{"fr":173,"en":171,"ar":174},"monitoring-vps-grafana-prometheus","مراقبة-الخادم-الافتراضي-vps-باستخدام-grafana-و-prometheus","VPS Monitoring with Grafana and Prometheus","Set up a Grafana + Prometheus stack on your VPS to collect, store and visualize your system and application metrics.","2026-03-06T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[180],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fmonitoring-vps-grafana-prometheus-poster.svg",{"categorySlug":152,"appSlug":153},1787581015504]