π InfluxDB + Grafana | Monitor Proxmox Cluster in EASY MODE! π
Welcome to the Proxmox Home Server Series! This guide walks you through the easiest way to monitor your Proxmox cluster using InfluxDB and Grafanaβno Telegraf required. Perfect for your home lab or small-scale virtualization setup. π₯οΈπ
π― Overview
This monitoring solution provides enterprise-grade observability for your Proxmox cluster with minimal complexity. By leveraging native Proxmox metrics collection, we eliminate the need for additional agents while maintaining comprehensive monitoring coverage.
β¨ Key Benefits
- π Zero Agent Overhead - Native Proxmox metrics collection
- π Real-time Dashboards - Beautiful Grafana visualizations
- π Comprehensive Coverage - CPU, Memory, Storage, Network, VM metrics
- π‘οΈ Production Ready - Scalable and reliable architecture
- π‘ Easy Maintenance - Simple setup and configuration
π§ Architecture
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β Proxmox VE βββββΆβ InfluxDB βββββΆβ Grafana β β (v7.x/v8.x) β β (Time Series) β β (Dashboards) β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β β β β β β Metrics Push Data Storage Visualization
π Requirements
π₯οΈ System Requirements
- Proxmox VE: v7.x or v8.x (single node or cluster)
- Monitoring Host: Ubuntu 20.04+ / Debian 11+ (VM or container)
- Resources:
- CPU: 2 cores minimum
- RAM: 4GB minimum
- Storage: 50GB+ (SSD recommended)
- Network: Stable connectivity between Proxmox and monitoring host
π§ Prerequisites
- β Root or sudo access on monitoring host
- β Basic command-line proficiency
- β Network access to Proxmox nodes
- β Internet connectivity for package installation
π οΈ Installation Guide
Step 1: Install InfluxDB 2.x
# Add InfluxData repository
wget -qO- https://repos.influxdata.com/influxdb.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/influxdb.gpg
echo "deb https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdb.list
# Update package list and install InfluxDB
sudo apt update && sudo apt install influxdb2
# Enable and start InfluxDB service
sudo systemctl enable --now influxdb
# Verify installation
sudo systemctl status influxdb
π Access InfluxDB: Navigate to http://<influxdb-ip>:8086
π Initial Setup:
- Create an Organization (e.g., "homelab")
- Create a Bucket (e.g., "proxmox-metrics")
- Generate an API Token with write permissions
- Save the token - you'll need it for Proxmox configuration
Step 2: Install Grafana
# Add Grafana repository
sudo apt install -y apt-transport-https software-properties-common
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
# Install Grafana
sudo apt update && sudo apt install grafana
# Enable and start Grafana service
sudo systemctl enable --now grafana-server
# Verify installation
sudo systemctl status grafana-server
π Access Grafana: Navigate to http://<grafana-ip>:3000
π Initial Login: Username: admin
/ Password: admin
(Change password on first login)
Step 3: Configure Proxmox Metrics Collection
3.1 Edit Proxmox Configuration
# Edit the status configuration file
sudo nano /etc/pve/status.cfg
3.2 Add InfluxDB Configuration
# InfluxDB Metrics Configuration
influxdb:
server YOUR_INFLUXDB_IP
port 8086
org YOUR_ORG_NAME
bucket YOUR_BUCKET_NAME
token YOUR_API_TOKEN
verify-ssl false
max-body-size 25M
π§ Configuration Parameters:
Parameter | Description | Example |
---|---|---|
server |
InfluxDB server IP/hostname | 192.168.1.100 |
port |
InfluxDB HTTP port | 8086 |
org |
InfluxDB organization name | homelab |
bucket |
InfluxDB bucket name | proxmox-metrics |
token |
InfluxDB API token | your-api-token-here |
3.3 Apply Configuration
# Restart Proxmox services to apply changes
sudo systemctl restart pveproxy
sudo systemctl restart pvedaemon
# Verify metrics are being sent
sudo journalctl -u pvedaemon -f
π Metrics Overview
π₯οΈ System Metrics
Metric Category | Description | Collection Frequency |
---|---|---|
CPU Usage | Per-core and overall CPU utilization | 30s |
Memory Usage | RAM usage, swap, and memory pressure | 30s |
Storage I/O | Disk read/write operations and latency | 30s |
Network I/O | Network throughput and packet statistics | 30s |
π Troubleshooting
Common Issues
1. Metrics Not Appearing in Grafana
# Check InfluxDB connectivity
curl -H "Authorization: Token YOUR_TOKEN" \
"http://YOUR_INFLUXDB_IP:8086/api/v2/buckets?org=YOUR_ORG"
# Verify Proxmox configuration
sudo cat /etc/pve/status.cfg
# Check Proxmox logs
sudo journalctl -u pvedaemon -n 50
2. Data Retention
# Set retention policy (30 days for homelab)
influx bucket update --name proxmox-metrics --retention 30d
π Security Considerations
Network Security
# Configure firewall rules
sudo ufw allow from PROXMOX_IP to any port 8086
sudo ufw allow from PROXMOX_IP to any port 3000
# Use reverse proxy for external access
sudo apt install nginx
π Maintenance
Backup Procedures
# Backup InfluxDB data
influx backup /backup/influxdb --bucket proxmox-metrics
# Backup Grafana configuration
sudo tar -czf grafana-backup.tar.gz /etc/grafana/
Log Aggregation
# Configure log forwarding
sudo journalctl -u influxdb -f | logger -t influxdb
sudo journalctl -u grafana-server -f | logger -t grafana
π References
Official Documentation
- π Proxmox VE Documentation
- π InfluxDB Documentation
- π Grafana Documentation
Community Resources
Found this helpful? Share it with your homelab community! π
β Back to Blog