Back to Blog
team@tinypod.app

Self-Hosting Grafana and Prometheus for Server Monitoring

Build a complete monitoring stack with Grafana and Prometheus. Visualize metrics, set alerts, and understand your infrastructure.

grafanaprometheusmonitoringobservability

The Monitoring Stack


Prometheus

Time-series database that scrapes metrics from your services. It pulls data on a schedule and stores it efficiently.


Grafana

Visualization platform that turns Prometheus data into dashboards. Graphs, gauges, tables, alerts.


Node Exporter

Collects system metrics (CPU, memory, disk, network) and exposes them for Prometheus.


What You Can Monitor


  • CPU usage per core
  • Memory and swap usage
  • Disk I/O and space
  • Network traffic
  • Container metrics (with cAdvisor)
  • Application metrics (custom exporters)
  • HTTP request rates and latencies

  • Alerting


    Grafana alerts when metrics cross thresholds:

  • Disk usage above 90%
  • CPU sustained above 80%
  • Service down (scrape failure)
  • Memory pressure

  • Send alerts to: Email, Slack, Discord, PagerDuty, webhooks.


    Dashboard Examples


  • Node Exporter Full: Complete system overview
  • Docker/Podman: Container metrics
  • Nginx/Caddy: Web server metrics
  • PostgreSQL: Database performance

  • Deployment


    1. Deploy Prometheus on TinyPod

    2. Deploy Node Exporter on each server

    3. Deploy Grafana

    4. Import community dashboards

    5. Configure alerts


    Resources: Prometheus 1 CPU, 1 GB RAM. Grafana 1 CPU, 512 MB RAM.