Files
k8s-apps/grafana/proxmox-dashboard.yaml
2026-04-01 14:09:41 +00:00

304 lines
9.2 KiB
YAML

apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
name: proxmox-overview
namespace: grafana
spec:
instanceSelector:
matchLabels:
dashboards: "grafana"
json: |
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 1,
"id": null,
"links": [],
"panels": [
{
"type": "stat",
"title": "Proxmox Hosts Up",
"gridPos": { "h": 4, "w": 6, "x": 0, "y": 0 },
"datasource": { "type": "prometheus", "uid": "${datasource}" },
"targets": [
{
"expr": "count(pve_up{job=\"proxmox-pve\"} == 1)",
"refId": "A"
}
],
"options": {
"reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
"orientation": "auto",
"textMode": "auto",
"colorMode": "value"
}
},
{
"type": "stat",
"title": "Running VMs",
"gridPos": { "h": 4, "w": 6, "x": 6, "y": 0 },
"datasource": { "type": "prometheus", "uid": "${datasource}" },
"targets": [
{
"expr": "count(pve_up{job=\"proxmox-pve\", id=~\"qemu/.*\"} == 1)",
"refId": "A"
}
],
"options": {
"reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
"orientation": "auto",
"textMode": "auto",
"colorMode": "value"
}
},
{
"type": "stat",
"title": "Running Containers",
"gridPos": { "h": 4, "w": 6, "x": 12, "y": 0 },
"datasource": { "type": "prometheus", "uid": "${datasource}" },
"targets": [
{
"expr": "count(pve_up{job=\"proxmox-pve\", id=~\"lxc/.*\"} == 1)",
"refId": "A"
}
],
"options": {
"reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
"orientation": "auto",
"textMode": "auto",
"colorMode": "value"
}
},
{
"type": "stat",
"title": "Total Guests",
"gridPos": { "h": 4, "w": 6, "x": 18, "y": 0 },
"datasource": { "type": "prometheus", "uid": "${datasource}" },
"targets": [
{
"expr": "count(pve_guest_info{job=\"proxmox-pve\"})",
"refId": "A"
}
],
"options": {
"reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
"orientation": "auto",
"textMode": "auto",
"colorMode": "value"
}
},
{
"type": "timeseries",
"title": "Host CPU Usage",
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 4 },
"datasource": { "type": "prometheus", "uid": "${datasource}" },
"targets": [
{
"expr": "pve_cpu_usage_ratio{job=\"proxmox-pve\", id=~\"node/.*\"}",
"legendFormat": "{{instance}}",
"refId": "A"
}
],
"fieldConfig": {
"defaults": {
"unit": "percentunit"
},
"overrides": []
},
"options": {
"legend": { "displayMode": "list", "placement": "bottom" },
"tooltip": { "mode": "multi" }
}
},
{
"type": "timeseries",
"title": "Host Memory Usage %",
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 4 },
"datasource": { "type": "prometheus", "uid": "${datasource}" },
"targets": [
{
"expr": "pve_memory_usage_bytes{job=\"proxmox-pve\", id=~\"node/.*\"} / pve_memory_size_bytes{job=\"proxmox-pve\", id=~\"node/.*\"}",
"legendFormat": "{{instance}}",
"refId": "A"
}
],
"fieldConfig": {
"defaults": {
"unit": "percentunit"
},
"overrides": []
},
"options": {
"legend": { "displayMode": "list", "placement": "bottom" },
"tooltip": { "mode": "multi" }
}
},
{
"type": "table",
"title": "Proxmox Hosts",
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 12 },
"datasource": { "type": "prometheus", "uid": "${datasource}" },
"targets": [
{
"expr": "pve_up{job=\"proxmox-pve\", id=~\"node/.*\"}",
"format": "table",
"instant": true,
"refId": "A"
},
{
"expr": "pve_uptime_seconds{job=\"proxmox-pve\", id=~\"node/.*\"}",
"format": "table",
"instant": true,
"refId": "B"
}
],
"options": {
"showHeader": true
},
"transformations": [
{
"id": "joinByField",
"options": {
"byField": "id",
"mode": "outer"
}
}
]
},
{
"type": "table",
"title": "Running Guests (VMs + CTs)",
"gridPos": { "h": 16, "w": 12, "x": 12, "y": 12 },
"datasource": { "type": "prometheus", "uid": "${datasource}" },
"targets": [
{
"expr": "pve_up{job=\"proxmox-pve\", id=~\"(qemu|lxc)/.*\"} == 1",
"format": "table",
"instant": true,
"refId": "A"
},
{
"expr": "pve_guest_info{job=\"proxmox-pve\"}",
"format": "table",
"instant": true,
"refId": "B"
},
{
"expr": "pve_cpu_usage_ratio{job=\"proxmox-pve\", id=~\"(qemu|lxc)/.*\"}",
"format": "table",
"instant": true,
"refId": "C"
},
{
"expr": "pve_memory_usage_bytes{job=\"proxmox-pve\", id=~\"(qemu|lxc)/.*\"}",
"format": "table",
"instant": true,
"refId": "D"
},
{
"expr": "pve_uptime_seconds{job=\"proxmox-pve\", id=~\"(qemu|lxc)/.*\"}",
"format": "table",
"instant": true,
"refId": "E"
}
],
"options": {
"showHeader": true
},
"transformations": [
{
"id": "joinByField",
"options": {
"byField": "id",
"mode": "outer"
}
}
]
},
{
"type": "timeseries",
"title": "Guest CPU Usage",
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 20 },
"datasource": { "type": "prometheus", "uid": "${datasource}" },
"targets": [
{
"expr": "pve_cpu_usage_ratio{job=\"proxmox-pve\", id=~\"(qemu|lxc)/.*\"} * on(id) group_left(name,node,type) pve_guest_info{job=\"proxmox-pve\"}",
"legendFormat": "{{name}} ({{type}} on {{node}})",
"refId": "A"
}
],
"fieldConfig": {
"defaults": {
"unit": "percentunit"
},
"overrides": []
},
"options": {
"legend": { "displayMode": "list", "placement": "bottom" },
"tooltip": { "mode": "multi" }
}
},
{
"type": "timeseries",
"title": "Guest Memory Usage",
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 28 },
"datasource": { "type": "prometheus", "uid": "${datasource}" },
"targets": [
{
"expr": "pve_memory_usage_bytes{job=\"proxmox-pve\", id=~\"(qemu|lxc)/.*\"} * on(id) group_left(name,node,type) pve_guest_info{job=\"proxmox-pve\"}",
"legendFormat": "{{name}} ({{type}} on {{node}})",
"refId": "A"
}
],
"fieldConfig": {
"defaults": {
"unit": "bytes"
},
"overrides": []
},
"options": {
"legend": { "displayMode": "list", "placement": "bottom" },
"tooltip": { "mode": "multi" }
}
}
],
"refresh": "30s",
"schemaVersion": 39,
"style": "dark",
"tags": ["proxmox", "pve"],
"templating": {
"list": [
{
"name": "datasource",
"type": "datasource",
"query": "prometheus",
"refresh": 1,
"label": "Datasource"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"title": "Proxmox Overview",
"uid": "proxmox-overview",
"version": 1,
"weekStart": ""
}