- OS: Linux (Ubuntu/Debian/CentOS)
- Runtime: Docker + Docker Compose
- Containers: Application workloads
Production-ready Docker-based observability solution with metrics, alerting, and visualization
CPU, Memory, Disk, Network
Per-container resources
Email notifications
The server hosts your containerized applications. All monitoring components run as Docker containers alongside your workloads, collecting metrics from both the host system and running containers.
Node Exporter exposes hardware and OS metrics from the host machine. It reads from /proc and /sys filesystems to gather system-level statistics.
cAdvisor (Container Advisor) provides container users an understanding of the resource usage and performance characteristics of their running containers.
Prometheus is the central component that scrapes metrics from all exporters, stores them in a time-series database, and evaluates alerting rules. It uses a pull-based model, fetching metrics at regular intervals.
Alertmanager handles alerts sent by Prometheus. It deduplicates, groups, and routes them to the correct receiver (email, Slack, PagerDuty, etc.).
Grafana provides beautiful dashboards for visualizing metrics. It queries Prometheus using PromQL and displays data in various chart formats.
http://server:3001
All services defined in a single compose file:
services: prometheus: # :9090 grafana: # :3001 alertmanager: # :9093 cadvisor: # :8080 node-exporter: # :9100
The entire monitoring stack is deployed with a single command: docker-compose up -d. All services are pre-configured to work together out of the box.
# Clone the repositorygit clone https://github.com/chihi2000/VPS-MONITORING-GUIDE.git# Start the stackcd VPS-MONITORING-GUIDEdocker-compose up -d
Access Grafana at http://your-server:3001