{ "uid": "incus-host-resources", "title": "Host Resources (IncusOS Nodes)", "description": "Physical host monitoring for IncusOS cluster nodes: CPU, memory, disk, and network from node_exporter metrics.", "tags": ["incusos", "host", "node-exporter"], "timezone": "browser", "schemaVersion": 39, "version": 1, "refresh": "30s", "time": { "from": "now-1h", "to": "now" }, "fiscalYearStartMonth": 0, "liveNow": false, "editable": true, "graphTooltip": 1, "templating": { "list": [] }, "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "grafana", "uid": "-- Grafana --" }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "panels": [ { "type": "row", "title": "CPU", "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, "id": 1, "panels": [] }, { "type": "timeseries", "title": "CPU Usage % by Node", "description": "Overall CPU utilization per host node, calculated as 1 minus the average idle CPU rate.", "gridPos": { "h": 8, "w": 24, "x": 0, "y": 1 }, "id": 2, "datasource": { "type": "prometheus", "uid": "PBFA97CFB590B2093" }, "targets": [ { "expr": "(1 - avg by (instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[$__rate_interval]))) * 100", "legendFormat": "{{instance}}", "refId": "A" } ], "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 2, "fillOpacity": 25, "gradientMode": "scheme", "spanNulls": false, "showPoints": "never", "pointSize": 5, "stacking": { "mode": "none", "group": "A" }, "axisPlacement": "auto", "axisLabel": "", "scaleDistribution": { "type": "linear" }, "thresholdsStyle": { "mode": "line" } }, "unit": "percent", "min": 0, "max": 100, "color": { "mode": "continuous-GrYlRd" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "yellow", "value": 70 }, { "color": "red", "value": 90 } ] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "right", "calcs": ["mean", "max", "lastNotNull"] } } }, { "type": "row", "title": "Memory", "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 9 }, "id": 3, "panels": [] }, { "type": "timeseries", "title": "Memory Usage % by Node", "description": "Memory utilization percentage per host node, calculated from available vs total memory.", "gridPos": { "h": 8, "w": 24, "x": 0, "y": 10 }, "id": 4, "datasource": { "type": "prometheus", "uid": "PBFA97CFB590B2093" }, "targets": [ { "expr": "(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100", "legendFormat": "{{instance}}", "refId": "A" } ], "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 2, "fillOpacity": 25, "gradientMode": "scheme", "spanNulls": false, "showPoints": "never", "pointSize": 5, "stacking": { "mode": "none", "group": "A" }, "axisPlacement": "auto", "axisLabel": "", "scaleDistribution": { "type": "linear" }, "thresholdsStyle": { "mode": "line" } }, "unit": "percent", "min": 0, "max": 100, "color": { "mode": "continuous-GrYlRd" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "yellow", "value": 70 }, { "color": "red", "value": 90 } ] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "right", "calcs": ["mean", "max", "lastNotNull"] } } }, { "type": "row", "title": "Disk", "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 18 }, "id": 5, "panels": [] }, { "type": "timeseries", "title": "Root Filesystem Available Space", "description": "Available disk space on the root filesystem (mountpoint='/') per host node.", "gridPos": { "h": 8, "w": 12, "x": 0, "y": 19 }, "id": 6, "datasource": { "type": "prometheus", "uid": "PBFA97CFB590B2093" }, "targets": [ { "expr": "node_filesystem_avail_bytes{mountpoint=\"/\"}", "legendFormat": "{{instance}}", "refId": "A" } ], "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 15, "gradientMode": "none", "spanNulls": false, "showPoints": "never", "pointSize": 5, "stacking": { "mode": "none", "group": "A" }, "axisPlacement": "auto", "axisLabel": "", "scaleDistribution": { "type": "linear" }, "thresholdsStyle": { "mode": "off" } }, "unit": "bytes", "color": { "mode": "palette-classic" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "right", "calcs": ["lastNotNull", "min"] } } }, { "type": "timeseries", "title": "Disk Read Rate by Node", "description": "Disk read throughput (bytes/sec) aggregated per host node.", "gridPos": { "h": 8, "w": 6, "x": 12, "y": 19 }, "id": 7, "datasource": { "type": "prometheus", "uid": "PBFA97CFB590B2093" }, "targets": [ { "expr": "sum by (instance) (rate(node_disk_read_bytes_total[$__rate_interval]))", "legendFormat": "{{instance}}", "refId": "A" } ], "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 15, "gradientMode": "none", "spanNulls": false, "showPoints": "never", "pointSize": 5, "stacking": { "mode": "none", "group": "A" }, "axisPlacement": "auto", "axisLabel": "", "scaleDistribution": { "type": "linear" }, "thresholdsStyle": { "mode": "off" } }, "unit": "Bps", "color": { "mode": "palette-classic" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "list", "placement": "bottom", "calcs": [] } } }, { "type": "timeseries", "title": "Disk Write Rate by Node", "description": "Disk write throughput (bytes/sec) aggregated per host node.", "gridPos": { "h": 8, "w": 6, "x": 18, "y": 19 }, "id": 8, "datasource": { "type": "prometheus", "uid": "PBFA97CFB590B2093" }, "targets": [ { "expr": "sum by (instance) (rate(node_disk_written_bytes_total[$__rate_interval]))", "legendFormat": "{{instance}}", "refId": "A" } ], "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 15, "gradientMode": "none", "spanNulls": false, "showPoints": "never", "pointSize": 5, "stacking": { "mode": "none", "group": "A" }, "axisPlacement": "auto", "axisLabel": "", "scaleDistribution": { "type": "linear" }, "thresholdsStyle": { "mode": "off" } }, "unit": "Bps", "color": { "mode": "palette-classic" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "list", "placement": "bottom", "calcs": [] } } }, { "type": "row", "title": "Network", "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 27 }, "id": 9, "panels": [] }, { "type": "timeseries", "title": "Network Receive Rate by Device & Node", "description": "Inbound network throughput per network device and host node.", "gridPos": { "h": 8, "w": 12, "x": 0, "y": 28 }, "id": 10, "datasource": { "type": "prometheus", "uid": "PBFA97CFB590B2093" }, "targets": [ { "expr": "rate(node_network_receive_bytes_total{device!~\"lo|veth.*|br-.*|docker.*\"}[$__rate_interval])", "legendFormat": "{{instance}} - {{device}} (rx)", "refId": "A" } ], "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 15, "gradientMode": "none", "spanNulls": false, "showPoints": "never", "pointSize": 5, "stacking": { "mode": "none", "group": "A" }, "axisPlacement": "auto", "axisLabel": "", "scaleDistribution": { "type": "linear" }, "thresholdsStyle": { "mode": "off" } }, "unit": "Bps", "color": { "mode": "palette-classic" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "right", "calcs": ["mean", "max"] } } }, { "type": "timeseries", "title": "Network Transmit Rate by Device & Node", "description": "Outbound network throughput per network device and host node.", "gridPos": { "h": 8, "w": 12, "x": 12, "y": 28 }, "id": 11, "datasource": { "type": "prometheus", "uid": "PBFA97CFB590B2093" }, "targets": [ { "expr": "rate(node_network_transmit_bytes_total{device!~\"lo|veth.*|br-.*|docker.*\"}[$__rate_interval])", "legendFormat": "{{instance}} - {{device}} (tx)", "refId": "A" } ], "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 15, "gradientMode": "none", "spanNulls": false, "showPoints": "never", "pointSize": 5, "stacking": { "mode": "none", "group": "A" }, "axisPlacement": "auto", "axisLabel": "", "scaleDistribution": { "type": "linear" }, "thresholdsStyle": { "mode": "off" } }, "unit": "Bps", "color": { "mode": "palette-classic" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "right", "calcs": ["mean", "max"] } } } ] }