{ "__inputs": [ { "name": "DS_BEEGFS_MON_INFLUXDB", "label": "beegfs_mon_influxdb", "description": "", "type": "datasource", "pluginId": "influxdb", "pluginName": "InfluxDB" } ], "__elements": {}, "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "9.3.0" }, { "type": "datasource", "id": "influxdb", "name": "InfluxDB", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" }, { "type": "panel", "id": "table", "name": "Table", "version": "" }, { "type": "panel", "id": "text", "name": "Text", "version": "" }, { "type": "panel", "id": "timeseries", "name": "Time series", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "grafana", "uid": "-- Grafana --" }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "target": { "limit": 100, "matchAny": false, "tags": [], "type": "dashboard" }, "type": "dashboard" } ] }, "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": null, "links": [], "liveNow": false, "panels": [ { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "gridPos": { "h": 5, "w": 24, "x": 0, "y": 0 }, "id": 6, "options": { "code": { "language": "plaintext", "showLineNumbers": false, "showMiniMap": false }, "content": "
", "mode": "html" }, "pluginVersion": "9.3.0", "transparent": true, "type": "text" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "description": "Total Storage of Cluster", "fieldConfig": { "defaults": { "color": { "fixedColor": "#1c1cd51c", "mode": "fixed" }, "mappings": [], "noValue": "NA", "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "mbytes" }, "overrides": [] }, "gridPos": { "h": 5, "w": 6, "x": 0, "y": 5 }, "id": 2, "options": { "colorMode": "background", "graphMode": "area", "justifyMode": "center", "orientation": "horizontal", "reduceOptions": { "calcs": [ "last" ], "fields": "/^Total$/", "values": false }, "text": {}, "textMode": "value" }, "pluginVersion": "9.3.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "groupBy": [ { "params": [ "nodeID" ], "type": "tag" } ], "measurement": "storage", "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r._measurement == \"storage\" and r._field == \"diskSpaceTotal\") |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false) |> yield(name: \"last\")", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "diskSpaceTotal" ], "type": "field" }, { "params": [], "type": "last" } ] ], "tags": [] } ], "title": "Total Storage", "transformations": [ { "id": "calculateField", "options": { "mode": "reduceRow", "reduce": { "reducer": "sum" }, "replaceFields": true } } ], "type": "stat" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "description": "", "fieldConfig": { "defaults": { "color": { "fixedColor": "#4ac09b75", "mode": "fixed" }, "mappings": [], "noValue": "NA", "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "mbytes" }, "overrides": [] }, "gridPos": { "h": 5, "w": 6, "x": 6, "y": 5 }, "id": 4, "options": { "colorMode": "background", "graphMode": "area", "justifyMode": "center", "orientation": "horizontal", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "text": {}, "textMode": "value" }, "pluginVersion": "9.3.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "groupBy": [ { "params": [ "nodeID" ], "type": "tag" } ], "measurement": "storage", "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r._measurement == \"storage\" and r._field == \"diskSpaceFree\") |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false) |> yield(name: \"last\")", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "diskSpaceFree" ], "type": "field" }, { "params": [], "type": "last" } ] ], "tags": [] } ], "title": "Available Storage", "transformations": [ { "id": "calculateField", "options": { "mode": "reduceRow", "reduce": { "reducer": "sum" }, "replaceFields": true } } ], "type": "stat" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "fieldConfig": { "defaults": { "color": { "fixedColor": "#7f37a4", "mode": "fixed" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "Bps" }, "overrides": [] }, "gridPos": { "h": 5, "w": 6, "x": 12, "y": 5 }, "id": 8, "options": { "colorMode": "background", "graphMode": "area", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "/^Total$/", "values": false }, "textMode": "auto" }, "pluginVersion": "9.3.0", "targets": [ { "alias": "Throughput", "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "nodeID" ], "type": "tag" } ], "measurement": "highResStorage", "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"${bucket}\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"highResStorage\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"netRecvBytes\" or r[\"_field\"] == \"netSendBytes\" or r[\"_field\"] == \"nodeID\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n |> drop(fn: (column) => column =~ /^_(start|stop)/)\r\n |> map(fn: (r) => ({ r with Throughput: r.netSendBytes + r.netRecvBytes}))\r\n |> drop(columns: [\"netRecvBytes\",\"netSendBytes\"])", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "netSendBytes" ], "type": "field" }, { "params": [], "type": "last" } ] ], "tags": [] } ], "title": "Throughput", "transformations": [ { "id": "calculateField", "options": { "mode": "reduceRow", "reduce": { "reducer": "sum" }, "replaceFields": true } } ], "type": "stat" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "description": "Select Aggregation Period ", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "center", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "none" }, "overrides": [ { "matcher": { "id": "byName", "options": "B-wr" }, "properties": [ { "id": "unit", "value": "bytes" }, { "id": "displayName", "value": "Total Write" } ] }, { "matcher": { "id": "byName", "options": "user" }, "properties": [ { "id": "unit", "value": "none" }, { "id": "displayName", "value": "User ID" } ] } ] }, "gridPos": { "h": 5, "w": 6, "x": 18, "y": 5 }, "id": 10, "options": { "cellHeight": "sm", "footer": { "countRows": false, "enablePagination": false, "fields": "", "reducer": [ "sum" ], "show": false }, "frameIndex": 0, "showHeader": true, "sortBy": [ { "desc": false, "displayName": "Data Write" } ] }, "pluginVersion": "9.3.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "query": "from(bucket: \"${bucket}\") \r\n|> range(start: v.timeRangeStart, stop: v.timeRangeStop) \r\n|> filter(fn: (r) => r._measurement == \"storageClientOpsByUser\" and r._field == \"B-wr\") \r\n|> sum() |> group() \r\n|> pivot(rowKey:[\"user\"], columnKey: [\"_field\"], valueColumn: \"_value\")", "rawQuery": true, "refId": "A", "resultFormat": "table" } ], "title": "Total Write By User", "transformations": [], "type": "table" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "left", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 30, "gradientMode": "hue", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineStyle": { "fill": "solid" }, "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "Bps" }, "overrides": [ { "matcher": { "id": "byName", "options": "Recv" }, "properties": [ { "id": "displayName", "value": "Recv (nodeNumID = ${__field.labels.nodeNumID})" } ] }, { "matcher": { "id": "byName", "options": "Send" }, "properties": [ { "id": "displayName", "value": "Send (nodeNumID = ${__field.labels.nodeNumID})" } ] }, { "matcher": { "id": "byName", "options": "Recv" }, "properties": [ { "id": "custom.transform", "value": "negative-Y" } ] } ] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 10 }, "id": 12, "options": { "legend": { "calcs": [ "max" ], "displayMode": "table", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.3.0", "targets": [ { "alias": "$tag_nodeID Recv", "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "nodeID" ], "type": "tag" }, { "params": [ "null" ], "type": "fill" } ], "measurement": "highResStorage", "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r._measurement == \"highResStorage\" and r._field == \"netRecvBytes\") |> group(columns: [\"nodeNumID\"], mode: \"by\") |> aggregateWindow(every: v.windowPeriod, fn: max, createEmpty: false) |> rename(columns: {_value: \"Recv\"}) ", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "netRecvBytes" ], "type": "field" }, { "params": [], "type": "max" } ] ], "tags": [ { "key": "nodeID", "operator": "=~", "value": "/^$storageID$/" } ] }, { "alias": "$tag_nodeID Send", "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "nodeID" ], "type": "tag" }, { "params": [ "null" ], "type": "fill" } ], "hide": false, "measurement": "highResStorage", "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r._measurement == \"highResStorage\" and r._field == \"netSendBytes\") |> group(columns: [\"nodeNumID\"], mode: \"by\") |> aggregateWindow(every: v.windowPeriod, fn: max, createEmpty: false) |> rename(columns: {_value: \"Send\"})", "refId": "B", "resultFormat": "time_series", "select": [ [ { "params": [ "netSendBytes" ], "type": "field" }, { "params": [], "type": "max" } ] ], "tags": [ { "key": "nodeID", "operator": "=~", "value": "/^$storageID$/" } ] } ], "title": "Storage Network Throughput", "type": "timeseries" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "left", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 30, "gradientMode": "hue", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "decbytes" }, "overrides": [ { "matcher": { "id": "byRegexp", "options": "/Read/" }, "properties": [ { "id": "custom.transform", "value": "negative-Y" } ] }, { "matcher": { "id": "byName", "options": "Read" }, "properties": [ { "id": "displayName", "value": "Read (nodeNumID = ${__field.labels.nodeNumID})" } ] }, { "matcher": { "id": "byName", "options": "Write" }, "properties": [ { "id": "displayName", "value": "Write (nodeNumID = ${__field.labels.nodeNumID})" } ] } ] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 10 }, "id": 14, "options": { "legend": { "calcs": [ "max" ], "displayMode": "table", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "targets": [ { "alias": "$tag_nodeID Read", "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "nodeID" ], "type": "tag" }, { "params": [ "null" ], "type": "fill" } ], "measurement": "highResStorage", "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r._measurement == \"highResStorage\" and r._field == \"diskReadBytes\") |> group(columns: [\"nodeNumID\"], mode: \"by\") |> aggregateWindow(every: v.windowPeriod, fn: max, createEmpty: false) |> rename(columns: {_value: \"Read\"})", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "diskReadBytes" ], "type": "field" }, { "params": [], "type": "max" } ] ], "tags": [ { "key": "nodeID", "operator": "=~", "value": "/^$storageID$/" } ] }, { "alias": "$tag_nodeID Write", "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "nodeID" ], "type": "tag" }, { "params": [ "null" ], "type": "fill" } ], "hide": false, "measurement": "highResStorage", "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r._measurement == \"highResStorage\" and r._field == \"diskWriteBytes\") |> group(columns: [\"nodeNumID\"], mode: \"by\") |> aggregateWindow(every: v.windowPeriod, fn: max, createEmpty: false) |> rename(columns: {_value: \"Write\"})", "refId": "B", "resultFormat": "time_series", "select": [ [ { "params": [ "diskWriteBytes" ], "type": "field" }, { "params": [], "type": "max" } ] ], "tags": [ { "key": "nodeID", "operator": "=~", "value": "/^$storageID$/" } ] } ], "title": "Storage Disk Throughput", "type": "timeseries" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "center", "displayMode": "auto", "inspect": false }, "mappings": [ { "options": { "false": { "color": "red", "index": 1, "text": "STOPPED" }, "true": { "color": "#4ac09b75", "index": 0, "text": "RUNNING" } }, "type": "value" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] }, "unit": "none" }, "overrides": [ { "matcher": { "id": "byName", "options": "Service Status" }, "properties": [ { "id": "custom.displayMode", "value": "color-background" } ] }, { "matcher": { "id": "byName", "options": "Host" }, "properties": [ { "id": "unit", "value": "string" } ] } ] }, "gridPos": { "h": 7, "w": 8, "x": 0, "y": 18 }, "id": 16, "options": { "cellHeight": "sm", "footer": { "countRows": false, "enablePagination": false, "fields": "", "reducer": [ "sum" ], "show": false }, "frameIndex": 1, "showHeader": true }, "pluginVersion": "9.3.0", "targets": [ { "alias": "$tag_nodeID", "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "groupBy": [ { "params": [ "nodeID" ], "type": "tag" } ], "measurement": "meta", "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r._measurement == \"meta\" and r._field == \"isResponding\") |> group(columns: [\"nodeNumID\"]) |> last() |> group() |> keep(columns: [\"nodeNumID\", \"_value\"])", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "isResponding" ], "type": "field" }, { "params": [], "type": "last" } ] ] }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "hide": false, "query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r._measurement == \"meta\" and r._field == \"hostnameid\") |> group(columns: [\"nodeNumID\"]) |> last() |> group() |> keep(columns: [\"nodeNumID\", \"_value\"])", "refId": "B" } ], "title": "Meta Status", "transformations": [ { "id": "joinByField", "options": { "byField": "nodeNumID", "mode": "outer" } }, { "id": "organize", "options": { "excludeByName": {}, "indexByName": { "_value 1": 2, "_value 2": 1, "nodeNumID": 0 }, "renameByName": { "_value 1": "Service Status", "_value 2": "Host" } } } ], "type": "table" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "center", "displayMode": "auto", "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Service Status" }, "properties": [ { "id": "custom.displayMode", "value": "color-background" }, { "id": "mappings", "value": [ { "options": { "false": { "color": "#f2495c", "index": 1, "text": "STOPPED" }, "true": { "color": "#4ac09b75", "index": 0, "text": "RUNNING" } }, "type": "value" } ] } ] }, { "matcher": { "id": "byName", "options": "Total Space" }, "properties": [ { "id": "unit", "value": "mbytes" } ] }, { "matcher": { "id": "byName", "options": "Free Space" }, "properties": [ { "id": "unit", "value": "mbytes" } ] } ] }, "gridPos": { "h": 7, "w": 16, "x": 8, "y": 18 }, "id": 18, "options": { "cellHeight": "sm", "footer": { "countRows": false, "enablePagination": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": false, "displayName": "Node Status" } ] }, "pluginVersion": "9.3.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "hide": false, "query": " from(bucket: \"${bucket}\") \r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop) \r\n |> filter(fn: (r) => r._measurement == \"storage\" and r._field == \"hostnameid\") \r\n |> group(columns: [\"nodeNumID\"]) \r\n |> last() \r\n |> group() \r\n |> keep(columns: [\"nodeNumID\", \"_value\"])", "refId": "A" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "hide": false, "query": " from(bucket: \"${bucket}\") \r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop) \r\n |> filter(fn: (r) => r._measurement == \"storage\" and r._field == \"diskSpaceTotal\") \r\n |> group(columns: [\"nodeNumID\"]) \r\n |> last() \r\n |> group() \r\n |> keep(columns: [\"nodeNumID\", \"_value\"])", "refId": "B" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "hide": false, "query": " from(bucket: \"${bucket}\") \r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop) \r\n |> filter(fn: (r) => r._measurement == \"storage\" and r._field == \"diskSpaceFree\") \r\n |> group(columns: [\"nodeNumID\"]) \r\n |> last() \r\n |> group() \r\n |> keep(columns: [\"nodeNumID\", \"_value\"])", "refId": "C" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "hide": false, "query": " from(bucket: \"${bucket}\") \r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop) \r\n |> filter(fn: (r) => r._measurement == \"storage\" and r._field == \"isResponding\") \r\n |> group(columns: [\"nodeNumID\"]) \r\n |> last() \r\n |> group() \r\n |> keep(columns: [\"nodeNumID\", \"_value\"])", "refId": "D" } ], "title": "Storage", "transformations": [ { "id": "joinByField", "options": { "byField": "nodeNumID", "mode": "outer" } }, { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "_value 1": "Host", "_value 2": "Total Space", "_value 3": "Free Space", "_value 4": "Service Status" } } } ], "type": "table" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "mappings": [], "noValue": "Node Down", "thresholds": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byType", "options": "number" }, "properties": [ { "id": "custom.align", "value": "center" } ] }, { "matcher": { "id": "byType", "options": "string" }, "properties": [ { "id": "custom.width" }, { "id": "custom.align", "value": "center" } ] }, { "matcher": { "id": "byName", "options": "Total Space" }, "properties": [ { "id": "unit", "value": "bytes" } ] }, { "matcher": { "id": "byName", "options": "Free Space" }, "properties": [ { "id": "unit", "value": "bytes" } ] }, { "matcher": { "id": "byName", "options": "State" }, "properties": [ { "id": "color", "value": { "fixedColor": "#4ac09b75", "mode": "fixed" } }, { "id": "custom.displayMode", "value": "color-background" } ] } ] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 25 }, "id": 20, "links": [], "maxPerRow": 2, "options": { "cellHeight": "sm", "footer": { "countRows": false, "enablePagination": false, "fields": "", "reducer": [ "sum" ], "show": false }, "frameIndex": 0, "showHeader": true }, "pluginVersion": "9.3.0", "repeat": "storageID", "repeatDirection": "h", "targets": [ { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "dsType": "influxdb", "groupBy": [ { "params": [ "storageTargetID" ], "type": "tag" } ], "limit": "", "measurement": "storageTargets", "orderByTime": "ASC", "policy": "default", "query": " from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r.nodeNumID == \"${storageID}\" and r._measurement == \"storageTargets\" and r._field == \"diskSpaceTotal\") |> group(columns: [\"storageTargetID\"]) |> last() |> group() |> keep(columns: [\"_value\", \"storageTargetID\"]) |> rename(columns: {_value: \"Total Space\"})", "rawQuery": true, "refId": "A", "resultFormat": "table", "select": [ [ { "params": [ "diskSpaceTotal" ], "type": "field" }, { "params": [], "type": "last" }, { "params": [ "totalspace" ], "type": "alias" } ], [ { "params": [ "diskSpaceFree" ], "type": "field" }, { "params": [], "type": "last" }, { "params": [ "freespace" ], "type": "alias" } ], [ { "params": [ "targetConsistencyState" ], "type": "field" }, { "params": [], "type": "last" }, { "params": [ "state" ], "type": "alias" } ] ], "tags": [ { "key": "nodeID", "operator": "=~", "value": "/^$storageID$/" } ] }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "hide": false, "query": " from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r.nodeNumID == \"${storageID}\" and r._measurement == \"storageTargets\" and r._field == \"diskSpaceFree\") |> group(columns: [\"storageTargetID\"]) |> last() |> group() |> keep(columns: [\"_value\", \"storageTargetID\"]) |> rename(columns: {_value: \"Free Space\"})", "refId": "B" }, { "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "dsType": "influxdb", "groupBy": [ { "params": [ "storageTargetID" ], "type": "tag" } ], "hide": false, "limit": "", "measurement": "storageTargets", "orderByTime": "ASC", "policy": "default", "query": " from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r.nodeNumID == \"${storageID}\" and r._measurement == \"storageTargets\" and r._field == \"targetConsistencyState\") |> group(columns: [\"storageTargetID\"]) |> last() |> group() |> keep(columns: [\"_value\", \"storageTargetID\"]) |> rename(columns: {_value: \"State\"})", "rawQuery": true, "refId": "C", "resultFormat": "table", "select": [ [ { "params": [ "diskSpaceTotal" ], "type": "field" }, { "params": [], "type": "last" }, { "params": [ "totalspace" ], "type": "alias" } ], [ { "params": [ "diskSpaceFree" ], "type": "field" }, { "params": [], "type": "last" }, { "params": [ "freespace" ], "type": "alias" } ], [ { "params": [ "targetConsistencyState" ], "type": "field" }, { "params": [], "type": "last" }, { "params": [ "state" ], "type": "alias" } ] ], "tags": [ { "key": "nodeID", "operator": "=~", "value": "/^$storageID$/" } ] } ], "title": "Storage Node ID - $storageID", "transformations": [ { "id": "joinByField", "options": { "byField": "storageTargetID", "mode": "outer" } }, { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "storageTargetID": "StorageTargetID" } } } ], "type": "table" } ], "refresh": "", "schemaVersion": 37, "style": "dark", "tags": [], "templating": { "list": [ { "current": {}, "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "definition": "buckets()", "hide": 0, "includeAll": false, "label": "Bucket", "multi": false, "name": "bucket", "options": [], "query": "buckets()", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "type": "query" }, { "current": {}, "datasource": { "type": "influxdb", "uid": "${DS_BEEGFS_MON_INFLUXDB}" }, "definition": "import \"influxdata/influxdb/schema\"schema.measurementTagValues( bucket: \"${bucket}\", tag: \"nodeNumID\", measurement: \"storage\")", "hide": 2, "includeAll": true, "multi": false, "name": "storageID", "options": [], "query": "import \"influxdata/influxdb/schema\"schema.measurementTagValues( bucket: \"${bucket}\", tag: \"nodeNumID\", measurement: \"storage\")", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "type": "query" } ] }, "time": { "from": "now-5m", "to": "now" }, "timepicker": {}, "timezone": "", "title": "BeeGFS Overview", "uid": "Gppl0jpZh4z", "version": 3, "weekStart": "" }