From 9de6d8faf94c9d3da40a4477f71700043429f1b8 Mon Sep 17 00:00:00 2001 From: "Rasmus \"Pez\" Wejlgaard" Date: Mon, 31 Aug 2026 18:45:57 +0100 Subject: [PATCH] update plex exporter to home grown one (#148) --- .../services/plex-exporter/docker-compose.yml | 2 +- .../dashboards/living_room_display.json | 2765 +++++++++-------- 2 files changed, 1384 insertions(+), 1383 deletions(-) diff --git a/ansible/services/plex-exporter/docker-compose.yml b/ansible/services/plex-exporter/docker-compose.yml index c276b68..1973617 100644 --- a/ansible/services/plex-exporter/docker-compose.yml +++ b/ansible/services/plex-exporter/docker-compose.yml @@ -5,7 +5,7 @@ services: plex-exporter: - image: ghcr.io/jsclayton/prometheus-plex-exporter + image: rwejlgaard/plex_exporter:2.0.0 container_name: prom-plex-exporter restart: unless-stopped ports: diff --git a/terraform/grafana/dashboards/living_room_display.json b/terraform/grafana/dashboards/living_room_display.json index f70caec..2dd75e6 100644 --- a/terraform/grafana/dashboards/living_room_display.json +++ b/terraform/grafana/dashboards/living_room_display.json @@ -1,1401 +1,1402 @@ { - "apiVersion": "dashboard.grafana.app/v2", - "kind": "Dashboard", - "metadata": { - "name": "a68bd259-c836-4fad-b33e-98f1a52a5eb9", - "namespace": "stacks-1621083", - "uid": "b54f9c7b-7a8a-42cd-81d7-843b23f69137", - "resourceVersion": "1777805928919206", - "generation": 7, - "creationTimestamp": "2026-05-02T21:18:29Z", - "labels": { - "grafana.app/deprecatedInternalID": "1548558891634688" + "apiVersion": "dashboard.grafana.app/v2", + "kind": "Dashboard", + "metadata": { + "name": "a68bd259-c836-4fad-b33e-98f1a52a5eb9", + "namespace": "stacks-1621083", + "uid": "b54f9c7b-7a8a-42cd-81d7-843b23f69137", + "resourceVersion": "1777805928919206", + "generation": 7, + "creationTimestamp": "2026-05-02T21:18:29Z", + "labels": { + "grafana.app/deprecatedInternalID": "1548558891634688" + }, + "annotations": { + "grafana.app/createdBy": "user:ffkviz5ugketce", + "grafana.app/folder": "", + "grafana.app/saved-from-ui": "Grafana Cloud", + "grafana.app/updatedBy": "user:ffkviz5ugketce", + "grafana.app/updatedTimestamp": "2026-05-03T10:58:48Z" + } }, - "annotations": { - "grafana.app/createdBy": "user:ffkviz5ugketce", - "grafana.app/folder": "", - "grafana.app/saved-from-ui": "Grafana Cloud", - "grafana.app/updatedBy": "user:ffkviz5ugketce", - "grafana.app/updatedTimestamp": "2026-05-03T10:58:48Z" - } - }, - "spec": { - "annotations": [ - { - "kind": "AnnotationQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "grafana", - "version": "v0", - "datasource": { - "name": "-- Grafana --" + "spec": { + "annotations": [ + { + "kind": "AnnotationQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "grafana", + "version": "v0", + "datasource": { + "name": "-- Grafana --" + }, + "spec": {} + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "builtIn": true + } + } + ], + "cursorSync": "Off", + "editable": true, + "elements": { + "panel-1": { + "kind": "Panel", + "spec": { + "id": 1, + "title": "CPU", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "expr": "100 * (1 - avg(rate(node_cpu_seconds_total{instance=\"london-b\", mode=\"idle\"}[$__rate_interval])))", + "legendFormat": "__auto", + "range": true + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } + }, + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.1.0-25153870157", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "percent", + "decimals": 1, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + }, + { + "value": 80, + "color": "red" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] + } + } + } + } }, - "spec": {} - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "builtIn": true - } - } - ], - "cursorSync": "Off", - "editable": true, - "elements": { - "panel-1": { - "kind": "Panel", - "spec": { - "id": 1, - "title": "CPU", - "description": "", - "links": [], - "data": { - "kind": "QueryGroup", - "spec": { - "queries": [ - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "expr": "100 * (1 - avg(rate(node_cpu_seconds_total{instance=\"london-b\", mode=\"idle\"}[$__rate_interval])))", - "legendFormat": "__auto", - "range": true - } - }, - "refId": "A", - "hidden": false - } - } - ], - "transformations": [], - "queryOptions": {} - } - }, - "vizConfig": { - "kind": "VizConfig", - "group": "stat", - "version": "13.1.0-25153870157", - "spec": { - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "fieldConfig": { - "defaults": { - "unit": "percent", - "decimals": 1, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "value": 0, - "color": "green" - }, - { - "value": 80, - "color": "red" - } - ] - }, - "color": { - "mode": "thresholds" - } - }, - "overrides": [] - } - } - } - } - }, - "panel-12": { - "kind": "Panel", - "spec": { - "id": 12, - "title": "Current Activity", - "description": "", - "links": [], - "data": { - "kind": "QueryGroup", - "spec": { - "queries": [ - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "disableTextWrap": false, - "editorMode": "builder", - "exemplar": false, - "expr": "plays_total{user!=\"Rasmus\"}", - "format": "table", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "User", - "range": false, - "useBackend": false - } - }, - "refId": "A", - "hidden": false - } - }, - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "exemplar": false, - "expr": "sum(plays_total) by (title)", - "format": "table", - "instant": true, - "legendFormat": "Title", - "range": false - } - }, - "refId": "B", - "hidden": true - } - } - ], - "transformations": [ - { - "kind": "Transformation", - "group": "filterFieldsByName", - "spec": { - "options": { - "include": { - "names": [ - "child_title", - "stream_resolution", - "stream_type", - "title", - "user", - "grandchild_title" - ] - } - } - } - }, - { - "kind": "Transformation", - "group": "organize", - "spec": { - "options": { - "excludeByName": {}, - "includeByName": {}, - "indexByName": { - "child_title": 2, - "grandchild_title": 3, - "stream_resolution": 5, - "stream_type": 4, - "title": 1, - "user": 0 - }, - "renameByName": { - "child_title": "Season", - "grandchild_title": "Episode Title", - "stream_resolution": "Resolution", - "stream_type": "Stream", - "title": "Title", - "user": "User" - } - } - } - } - ], - "queryOptions": {} - } - }, - "vizConfig": { - "kind": "VizConfig", - "group": "table", - "version": "13.1.0-25153870157", - "spec": { - "options": { - "cellHeight": "sm", - "showHeader": true - }, - "fieldConfig": { - "defaults": { - "mappings": [ - { - "type": "value", - "options": { - "Mak999": { - "text": "Amar", - "index": 4 - }, - "Malene Wejlgaard Knudsen": { - "text": "Malene", - "index": 5 - }, - "d.han81": { - "text": "Han", - "index": 2 - }, - "er1227": { - "text": "Erik", - "index": 1 - }, - "guykeren437": { - "text": "Guy", - "index": 15 - }, - "isab579": { - "text": "Scoulers Daughter", - "index": 3 - }, - "naveen.629": { - "text": "Naveen", - "index": 6 - }, - "pe423": { - "text": "Living Room", - "index": 13 - }, - "praczyk.": { - "text": "Trevor", - "index": 7 - }, - "pravee63": { - "text": "Praveen", - "index": 8 - }, - "scou210": { - "text": "Scouler", - "index": 9 - }, - "sorghumc": { - "text": "Anton", - "index": 10 - }, - "theonet5": { - "text": "Trevor", - "index": 11 - }, - "theonetb": { - "text": "Trevor", - "index": 12 - }, - "wooley_82": { - "text": "Wooly", - "index": 0 - }, - "yp2xc": { - "text": "Trevor", - "index": 14 + "panel-12": { + "kind": "Panel", + "spec": { + "id": 12, + "title": "Current Activity", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "plex_plays_total{user!=\"Rasmus\"}", + "format": "table", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "User", + "range": false, + "useBackend": false + } + }, + "refId": "A", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "exemplar": false, + "expr": "sum(plex_plays_total) by (title)", + "format": "table", + "instant": true, + "legendFormat": "Title", + "range": false + } + }, + "refId": "B", + "hidden": true + } + } + ], + "transformations": [ + { + "kind": "Transformation", + "group": "filterFieldsByName", + "spec": { + "options": { + "include": { + "names": [ + "child_title", + "stream_resolution", + "stream_type", + "title", + "user", + "grandchild_title" + ] + } + } + } + }, + { + "kind": "Transformation", + "group": "organize", + "spec": { + "options": { + "excludeByName": {}, + "includeByName": {}, + "indexByName": { + "child_title": 2, + "grandchild_title": 3, + "stream_resolution": 5, + "stream_type": 4, + "title": 1, + "user": 0 + }, + "renameByName": { + "child_title": "Season", + "grandchild_title": "Episode Title", + "stream_resolution": "Resolution", + "stream_type": "Stream", + "title": "Title", + "user": "User" + } + } + } + } + ], + "queryOptions": {} } - } - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "value": 0, - "color": "green" - }, - { - "value": 80, - "color": "red" - } - ] - }, - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "cellOptions": { - "type": "auto" }, - "filterable": false, - "footer": { - "reducers": [] - }, - "inspect": false - } - }, - "overrides": [] - } - } - } - } - }, - "panel-13": { - "kind": "Panel", - "spec": { - "id": 13, - "title": "Active Streams", - "description": "", - "links": [], - "data": { - "kind": "QueryGroup", - "spec": { - "queries": [ - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "disableTextWrap": false, - "editorMode": "code", - "exemplar": false, - "expr": "count(plays_total{user!=\"Rasmus\"})", - "format": "table", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "__auto", - "range": false, - "useBackend": false - } - }, - "refId": "A", - "hidden": false - } - } - ], - "transformations": [], - "queryOptions": {} - } - }, - "vizConfig": { - "kind": "VizConfig", - "group": "stat", - "version": "13.1.0-25153870157", - "spec": { - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "fieldConfig": { - "defaults": { - "min": 0, - "mappings": [ - { - "type": "value", - "options": { - "wooley_82": { - "text": "Wooly", - "index": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "table", + "version": "13.1.0-25153870157", + "spec": { + "options": { + "cellHeight": "sm", + "showHeader": true + }, + "fieldConfig": { + "defaults": { + "mappings": [ + { + "type": "value", + "options": { + "Mak999": { + "text": "Amar", + "index": 4 + }, + "Malene Wejlgaard Knudsen": { + "text": "Malene", + "index": 5 + }, + "d.han81": { + "text": "Han", + "index": 2 + }, + "er1227": { + "text": "Erik", + "index": 1 + }, + "guykeren437": { + "text": "Guy", + "index": 15 + }, + "isab579": { + "text": "Scoulers Daughter", + "index": 3 + }, + "naveen.629": { + "text": "Naveen", + "index": 6 + }, + "pe423": { + "text": "Living Room", + "index": 13 + }, + "praczyk.": { + "text": "Trevor", + "index": 7 + }, + "pravee63": { + "text": "Praveen", + "index": 8 + }, + "scou210": { + "text": "Scouler", + "index": 9 + }, + "sorghumc": { + "text": "Anton", + "index": 10 + }, + "theonet5": { + "text": "Trevor", + "index": 11 + }, + "theonetb": { + "text": "Trevor", + "index": 12 + }, + "wooley_82": { + "text": "Wooly", + "index": 0 + }, + "yp2xc": { + "text": "Trevor", + "index": 14 + } + } + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + }, + { + "value": 80, + "color": "red" + } + ] + }, + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "filterable": false, + "footer": { + "reducers": [] + }, + "inspect": false + } + }, + "overrides": [] + } } - } } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "value": 0, - "color": "green" - }, - { - "value": 80, - "color": "red" - } - ] - }, - "color": { - "mode": "thresholds" - }, - "noValue": "0", - "fieldMinMax": false - }, - "overrides": [] - } - } - } - } - }, - "panel-14": { - "kind": "Panel", - "spec": { - "id": 14, - "title": "Watts", - "description": "", - "links": [], - "data": { - "kind": "QueryGroup", - "spec": { - "queries": [ - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "expr": "octopus_electricity_demand_watts{instance=\"localhost:9359\"}", - "legendFormat": "__auto", - "range": true - } - }, - "refId": "A", - "hidden": false - } } - ], - "transformations": [], - "queryOptions": {} - } - }, - "vizConfig": { - "kind": "VizConfig", - "group": "stat", - "version": "13.1.0-25153870157", - "spec": { - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "fieldConfig": { - "defaults": { - "unit": "watt", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "value": 0, - "color": "green" - }, - { - "value": 1000, - "color": "yellow" - }, - { - "value": 2000, - "color": "red" - } - ] - }, - "color": { - "mode": "thresholds" - } - }, - "overrides": [] - } - } - } - } - }, - "panel-15": { - "kind": "Panel", - "spec": { - "id": 15, - "title": "Octopus Account Bill", - "description": "", - "links": [], - "data": { - "kind": "QueryGroup", - "spec": { - "queries": [ - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "expr": "octopus_account_balance_pence{instance=\"localhost:9359\"} / 100 * -1", - "legendFormat": "__auto", - "range": true - } + }, + "panel-13": { + "kind": "Panel", + "spec": { + "id": 13, + "title": "Active Streams", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "count(plex_plays_total{user!=\"Rasmus\"})", + "format": "table", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "__auto", + "range": false, + "useBackend": false + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } }, - "refId": "A", - "hidden": false - } - } - ], - "transformations": [], - "queryOptions": {} - } - }, - "vizConfig": { - "kind": "VizConfig", - "group": "stat", - "version": "13.1.0-25153870157", - "spec": { - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "fieldConfig": { - "defaults": { - "unit": "currencyGBP", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "value": 0, - "color": "green" - } - ] - }, - "color": { - "mode": "thresholds" - } - }, - "overrides": [] - } - } - } - } - }, - "panel-2": { - "kind": "Panel", - "spec": { - "id": 2, - "title": "HDD State", - "description": "", - "links": [], - "data": { - "kind": "QueryGroup", - "spec": { - "queries": [ - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "exemplar": false, - "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"online\"} > 0", - "instant": true, - "legendFormat": "Online", - "range": false - } - }, - "refId": "A", - "hidden": false - } - }, - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "exemplar": false, - "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"degraded\"} > 0", - "instant": true, - "legendFormat": "Degraded", - "range": false - } - }, - "refId": "B", - "hidden": false - } - }, - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "exemplar": false, - "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"faulted\"} > 0", - "instant": true, - "legendFormat": "Faulted", - "range": false - } - }, - "refId": "C", - "hidden": false - } - }, - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "exemplar": false, - "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"offline\"} > 0", - "instant": true, - "legendFormat": "Offline", - "range": false - } - }, - "refId": "D", - "hidden": false - } - }, - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "exemplar": false, - "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"removed\"} > 0", - "instant": true, - "legendFormat": "Removed", - "range": false - } - }, - "refId": "E", - "hidden": false - } - }, - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "exemplar": false, - "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"suspended\"} > 0", - "instant": true, - "legendFormat": "Suspended", - "range": false - } - }, - "refId": "F", - "hidden": false - } - }, - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "exemplar": false, - "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"unavail\"} > 0", - "instant": true, - "legendFormat": "Unavailable", - "range": false - } - }, - "refId": "G", - "hidden": false - } - } - ], - "transformations": [ - { - "kind": "Transformation", - "group": "filterFieldsByName", - "spec": { - "options": { - "include": { - "names": [ - "Online" - ] - } + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.1.0-25153870157", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "min": 0, + "mappings": [ + { + "type": "value", + "options": { + "wooley_82": { + "text": "Wooly", + "index": 0 + } + } + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + }, + { + "value": 80, + "color": "red" + } + ] + }, + "color": { + "mode": "thresholds" + }, + "noValue": "0", + "fieldMinMax": false + }, + "overrides": [] + } + } } - } } - ], - "queryOptions": {} - } - }, - "vizConfig": { - "kind": "VizConfig", - "group": "stat", - "version": "13.1.0-25153870157", - "spec": { - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "/.*/", - "values": false - }, - "showPercentChange": false, - "textMode": "name", - "wideLayout": true - }, - "fieldConfig": { - "defaults": { - "thresholds": { - "mode": "absolute", - "steps": [ - { - "value": 0, - "color": "green" - }, - { - "value": 80, - "color": "red" - } - ] - }, - "color": { - "mode": "thresholds" - } - }, - "overrides": [] - } - } - } - } - }, - "panel-3": { - "kind": "Panel", - "spec": { - "id": 3, - "title": "Memory", - "description": "", - "links": [], - "data": { - "kind": "QueryGroup", - "spec": { - "queries": [ - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "expr": "clamp_min((1 - (node_memory_MemAvailable_bytes{instance=\"london-b\"} / node_memory_MemTotal_bytes{instance=\"london-b\"})) * 100, 0)", - "legendFormat": "__auto", - "range": true - } + }, + "panel-14": { + "kind": "Panel", + "spec": { + "id": 14, + "title": "Watts", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "expr": "octopus_electricity_demand_watts{instance=\"localhost:9359\"}", + "legendFormat": "__auto", + "range": true + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } }, - "refId": "A", - "hidden": false - } - } - ], - "transformations": [], - "queryOptions": {} - } - }, - "vizConfig": { - "kind": "VizConfig", - "group": "stat", - "version": "13.1.0-25153870157", - "spec": { - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "fieldConfig": { - "defaults": { - "unit": "percent", - "decimals": 1, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "value": 0, - "color": "green" - }, - { - "value": 80, - "color": "#EAB839" - }, - { - "value": 90, - "color": "red" - } - ] - }, - "color": { - "mode": "thresholds" - } - }, - "overrides": [] - } - } - } - } - }, - "panel-4": { - "kind": "Panel", - "spec": { - "id": 4, - "title": "HDD Space", - "description": "", - "links": [], - "data": { - "kind": "QueryGroup", - "spec": { - "queries": [ - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "expr": "node_filesystem_avail_bytes{instance=\"london-b\",mountpoint=\"/hdd\"}", - "legendFormat": "Available", - "range": true - } - }, - "refId": "A", - "hidden": false - } - }, - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "expr": "node_filesystem_size_bytes{instance=\"london-b\",mountpoint=\"/hdd\"} - node_filesystem_avail_bytes{instance=\"london-b\",mountpoint=\"/hdd\"}", - "legendFormat": "Used", - "range": true - } - }, - "refId": "B", - "hidden": false - } - } - ], - "transformations": [], - "queryOptions": {} - } - }, - "vizConfig": { - "kind": "VizConfig", - "group": "piechart", - "version": "13.1.0-25153870157", - "spec": { - "options": { - "displayLabels": [], - "legend": { - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "pieType": "donut", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "sort": "desc", - "tooltip": { - "hideZeros": false, - "mode": "single", - "sort": "none" - } - }, - "fieldConfig": { - "defaults": { - "unit": "bytes", - "color": { - "mode": "palette-classic", - "fixedColor": "#73BF69" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.1.0-25153870157", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "watt", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + }, + { + "value": 1000, + "color": "yellow" + }, + { + "value": 2000, + "color": "red" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] + } + } } - } - }, - "overrides": [] - } - } - } - } - }, - "panel-5": { - "kind": "Panel", - "spec": { - "id": 5, - "title": "Available Space", - "description": "", - "links": [], - "data": { - "kind": "QueryGroup", - "spec": { - "queries": [ - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "expr": "node_filesystem_avail_bytes{instance=\"london-b\",mountpoint=\"/hdd\"}", - "legendFormat": "__auto", - "range": true - } - }, - "refId": "A", - "hidden": false - } } - ], - "transformations": [], - "queryOptions": {} - } - }, - "vizConfig": { - "kind": "VizConfig", - "group": "stat", - "version": "13.1.0-25153870157", - "spec": { - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "fieldConfig": { - "defaults": { - "unit": "bytes", - "decimals": 1, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "value": 0, - "color": "green" - } - ] - }, - "color": { - "mode": "thresholds" - } - }, - "overrides": [] - } - } - } - } - }, - "panel-6": { - "kind": "Panel", - "spec": { - "id": 6, - "title": "Used Space", - "description": "", - "links": [], - "data": { - "kind": "QueryGroup", - "spec": { - "queries": [ - { - "kind": "PanelQuery", - "spec": { - "query": { - "kind": "DataQuery", - "group": "prometheus", - "version": "v0", - "datasource": { - "name": "grafanacloud-prom" - }, - "spec": { - "editorMode": "code", - "expr": "node_filesystem_size_bytes{instance=\"london-b\",mountpoint=\"/hdd\"} - node_filesystem_avail_bytes{instance=\"london-b\",mountpoint=\"/hdd\"}", - "legendFormat": "__auto", - "range": true - } + }, + "panel-15": { + "kind": "Panel", + "spec": { + "id": 15, + "title": "Octopus Account Bill", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "expr": "octopus_account_balance_pence{instance=\"localhost:9359\"} / 100 * -1", + "legendFormat": "__auto", + "range": true + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } }, - "refId": "A", - "hidden": false - } + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.1.0-25153870157", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "currencyGBP", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] + } + } + } + } + }, + "panel-2": { + "kind": "Panel", + "spec": { + "id": 2, + "title": "HDD State", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "exemplar": false, + "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"online\"} > 0", + "instant": true, + "legendFormat": "Online", + "range": false + } + }, + "refId": "A", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "exemplar": false, + "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"degraded\"} > 0", + "instant": true, + "legendFormat": "Degraded", + "range": false + } + }, + "refId": "B", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "exemplar": false, + "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"faulted\"} > 0", + "instant": true, + "legendFormat": "Faulted", + "range": false + } + }, + "refId": "C", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "exemplar": false, + "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"offline\"} > 0", + "instant": true, + "legendFormat": "Offline", + "range": false + } + }, + "refId": "D", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "exemplar": false, + "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"removed\"} > 0", + "instant": true, + "legendFormat": "Removed", + "range": false + } + }, + "refId": "E", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "exemplar": false, + "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"suspended\"} > 0", + "instant": true, + "legendFormat": "Suspended", + "range": false + } + }, + "refId": "F", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "exemplar": false, + "expr": "node_zfs_zpool_state{instance=\"london-b\",zpool=\"hdd\", state=\"unavail\"} > 0", + "instant": true, + "legendFormat": "Unavailable", + "range": false + } + }, + "refId": "G", + "hidden": false + } + } + ], + "transformations": [ + { + "kind": "Transformation", + "group": "filterFieldsByName", + "spec": { + "options": { + "include": { + "names": [ + "Online" + ] + } + } + } + } + ], + "queryOptions": {} + } + }, + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.1.0-25153870157", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/.*/", + "values": false + }, + "showPercentChange": false, + "textMode": "name", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + }, + { + "value": 80, + "color": "red" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] + } + } + } + } + }, + "panel-3": { + "kind": "Panel", + "spec": { + "id": 3, + "title": "Memory", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "expr": "clamp_min((1 - (node_memory_MemAvailable_bytes{instance=\"london-b\"} / node_memory_MemTotal_bytes{instance=\"london-b\"})) * 100, 0)", + "legendFormat": "__auto", + "range": true + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } + }, + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.1.0-25153870157", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "percent", + "decimals": 1, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + }, + { + "value": 80, + "color": "#EAB839" + }, + { + "value": 90, + "color": "red" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] + } + } + } + } + }, + "panel-4": { + "kind": "Panel", + "spec": { + "id": 4, + "title": "HDD Space", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "expr": "node_filesystem_avail_bytes{instance=\"london-b\",mountpoint=\"/hdd\"}", + "legendFormat": "Available", + "range": true + } + }, + "refId": "A", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "expr": "node_filesystem_size_bytes{instance=\"london-b\",mountpoint=\"/hdd\"} - node_filesystem_avail_bytes{instance=\"london-b\",mountpoint=\"/hdd\"}", + "legendFormat": "Used", + "range": true + } + }, + "refId": "B", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } + }, + "vizConfig": { + "kind": "VizConfig", + "group": "piechart", + "version": "13.1.0-25153870157", + "spec": { + "options": { + "displayLabels": [], + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "pieType": "donut", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "sort": "desc", + "tooltip": { + "hideZeros": false, + "mode": "single", + "sort": "none" + } + }, + "fieldConfig": { + "defaults": { + "unit": "bytes", + "color": { + "mode": "palette-classic", + "fixedColor": "#73BF69" + }, + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + } + } + }, + "overrides": [] + } + } + } + } + }, + "panel-5": { + "kind": "Panel", + "spec": { + "id": 5, + "title": "Available Space", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "expr": "node_filesystem_avail_bytes{instance=\"london-b\",mountpoint=\"/hdd\"}", + "legendFormat": "__auto", + "range": true + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } + }, + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.1.0-25153870157", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "bytes", + "decimals": 1, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] + } + } + } + } + }, + "panel-6": { + "kind": "Panel", + "spec": { + "id": 6, + "title": "Used Space", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "grafanacloud-prom" + }, + "spec": { + "editorMode": "code", + "expr": "node_filesystem_size_bytes{instance=\"london-b\",mountpoint=\"/hdd\"} - node_filesystem_avail_bytes{instance=\"london-b\",mountpoint=\"/hdd\"}", + "legendFormat": "__auto", + "range": true + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } + }, + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.1.0-25153870157", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "bytes", + "decimals": 1, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] + } + } + } } - ], - "transformations": [], - "queryOptions": {} } - }, - "vizConfig": { - "kind": "VizConfig", - "group": "stat", - "version": "13.1.0-25153870157", + }, + "layout": { + "kind": "GridLayout", "spec": { - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "fieldConfig": { - "defaults": { - "unit": "bytes", - "decimals": 1, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "value": 0, - "color": "green" - } - ] - }, - "color": { - "mode": "thresholds" - } - }, - "overrides": [] - } + "items": [ + { + "kind": "GridLayoutItem", + "spec": { + "x": 0, + "y": 0, + "width": 5, + "height": 5, + "element": { + "kind": "ElementReference", + "name": "panel-1" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 5, + "y": 0, + "width": 6, + "height": 5, + "element": { + "kind": "ElementReference", + "name": "panel-14" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 11, + "y": 0, + "width": 7, + "height": 10, + "element": { + "kind": "ElementReference", + "name": "panel-4" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 18, + "y": 0, + "width": 6, + "height": 5, + "element": { + "kind": "ElementReference", + "name": "panel-2" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 0, + "y": 5, + "width": 5, + "height": 5, + "element": { + "kind": "ElementReference", + "name": "panel-3" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 5, + "y": 5, + "width": 6, + "height": 5, + "element": { + "kind": "ElementReference", + "name": "panel-15" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 18, + "y": 5, + "width": 3, + "height": 5, + "element": { + "kind": "ElementReference", + "name": "panel-5" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 21, + "y": 5, + "width": 3, + "height": 5, + "element": { + "kind": "ElementReference", + "name": "panel-6" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 0, + "y": 10, + "width": 20, + "height": 9, + "element": { + "kind": "ElementReference", + "name": "panel-12" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 20, + "y": 10, + "width": 4, + "height": 9, + "element": { + "kind": "ElementReference", + "name": "panel-13" + } + } + } + ] } - } - } - } - }, - "layout": { - "kind": "GridLayout", - "spec": { - "items": [ - { - "kind": "GridLayoutItem", - "spec": { - "x": 0, - "y": 0, - "width": 5, - "height": 5, - "element": { - "kind": "ElementReference", - "name": "panel-1" - } - } - }, - { - "kind": "GridLayoutItem", - "spec": { - "x": 5, - "y": 0, - "width": 6, - "height": 5, - "element": { - "kind": "ElementReference", - "name": "panel-14" - } - } - }, - { - "kind": "GridLayoutItem", - "spec": { - "x": 11, - "y": 0, - "width": 7, - "height": 10, - "element": { - "kind": "ElementReference", - "name": "panel-4" - } - } - }, - { - "kind": "GridLayoutItem", - "spec": { - "x": 18, - "y": 0, - "width": 6, - "height": 5, - "element": { - "kind": "ElementReference", - "name": "panel-2" - } - } - }, - { - "kind": "GridLayoutItem", - "spec": { - "x": 0, - "y": 5, - "width": 5, - "height": 5, - "element": { - "kind": "ElementReference", - "name": "panel-3" - } - } - }, - { - "kind": "GridLayoutItem", - "spec": { - "x": 5, - "y": 5, - "width": 6, - "height": 5, - "element": { - "kind": "ElementReference", - "name": "panel-15" - } - } - }, - { - "kind": "GridLayoutItem", - "spec": { - "x": 18, - "y": 5, - "width": 3, - "height": 5, - "element": { - "kind": "ElementReference", - "name": "panel-5" - } - } - }, - { - "kind": "GridLayoutItem", - "spec": { - "x": 21, - "y": 5, - "width": 3, - "height": 5, - "element": { - "kind": "ElementReference", - "name": "panel-6" - } - } - }, - { - "kind": "GridLayoutItem", - "spec": { - "x": 0, - "y": 10, - "width": 20, - "height": 9, - "element": { - "kind": "ElementReference", - "name": "panel-12" - } - } - }, - { - "kind": "GridLayoutItem", - "spec": { - "x": 20, - "y": 10, - "width": 4, - "height": 9, - "element": { - "kind": "ElementReference", - "name": "panel-13" - } - } - } - ] - } - }, - "links": [], - "liveNow": true, - "preload": false, - "tags": [], - "timeSettings": { - "timezone": "browser", - "from": "now-24h", - "to": "now", - "autoRefresh": "30s", - "autoRefreshIntervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "hideTimepicker": false, - "fiscalYearStartMonth": 0, - "nowDelay": "0m" - }, - "title": "Living Room Display", - "variables": [] - } -} \ No newline at end of file + }, + "links": [], + "liveNow": true, + "preload": false, + "tags": [], + "timeSettings": { + "timezone": "browser", + "from": "now-24h", + "to": "now", + "autoRefresh": "30s", + "autoRefreshIntervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "hideTimepicker": false, + "fiscalYearStartMonth": 0, + "nowDelay": "0m" + }, + "title": "Living Room Display", + "variables": [] + } +} +