New upstream version 8.1.0

This commit is contained in:
geos_one
2025-08-10 01:34:16 +02:00
commit c891bb7105
4398 changed files with 838833 additions and 0 deletions

View File

@@ -0,0 +1,155 @@
{
"id": 2,
"uid": "cf53330f-49cf-4b1e-bb59-e4580d32e707",
"orgID": 1,
"folderUID": "beegfsalertfolder",
"ruleGroup": "evaluate",
"title": "CPU Alert",
"condition": "C",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "${DS_UID}",
"model": {
"groupBy": [
{
"params": [
"host::tag"
],
"type": "tag"
}
],
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"measurement": "cpu",
"orderByTime": "ASC",
"policy": "auto",
"query": "SELECT mean(\"usage_system\") FROM \"auto\".\"cpu\" WHERE $timeFilter GROUP BY \"host\"::tag",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"usage_system"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
0,
0
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": []
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"datasource": {
"name": "Expression",
"type": "__expr__",
"uid": "__expr__"
},
"expression": "A",
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
0,
0
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": []
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"datasource": {
"name": "Expression",
"type": "__expr__",
"uid": "__expr__"
},
"expression": "$B > 80",
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "math"
}
}
],
"updated": "2023-10-17T18:28:40+05:30",
"noDataState": "OK",
"execErrState": "Error",
"for": "30m",
"annotations": {
"summary": "CPU usage is above thershold set",
"description": "Please check host \"{{ $labels.host }}\" its cpu usage is above thershold"
},
"labels": {
"cpu-severity": "{{if gt $values.B.Value 90.0}}critical{{else if gt $values.B.Value 80.0}}warning{{else}}info{{end}}"
},
"isPaused": true
}

View File

@@ -0,0 +1,125 @@
{
"id": 2,
"uid": "c1ec4ef2-dae2-4c85-b478-8119bb4326e6",
"orgID": 1,
"folderUID": "beegfsalertfolder",
"ruleGroup": "evaluate",
"title": "CPU Alert",
"condition": "C",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "${DS_UID}",
"model": {
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"query": "from(bucket: \"${BUCKET}\") \r\n|> range(start: v.timeRangeStart, stop: v.timeRangeStop) \r\n|> filter(fn: (r) => r[\"_measurement\"] == \"cpu\") \r\n|> filter(fn: (r) => r[\"_field\"] == \"usage_system\")\r\n|> filter(fn: (r) => r[\"cpu\"] == \"cpu-total\") \r\n|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) \r\n|> yield(name: \"mean\")",
"refId": "A"
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"B"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "A",
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
0,
0
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": []
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"datasource": {
"name": "Expression",
"type": "__expr__",
"uid": "__expr__"
},
"expression": "$B > 80",
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "math"
}
}
],
"updated": "2023-10-17T12:42:56Z",
"noDataState": "OK",
"execErrState": "Error",
"for": "30m",
"annotations": {
"description": "Please check host \"{{ $labels.host }}\" its cpu usage is above thershold",
"summary": "CPU usage is above thershold set"
},
"labels": {
"cpu-severity": "{{ if gt $values.B.Value 90.0 }}critical{{ else if gt $values.B.Value 80.0 }}warning{{ else }}info{{ end }}"
},
"isPaused": true
}

View File

@@ -0,0 +1,156 @@
{
"id": 3,
"uid": "af36a69e-fd32-4ebc-94cd-474ea6c9edb2",
"orgID": 1,
"folderUID": "beegfsalertfolder",
"ruleGroup": "evaluate",
"title": "Disk Alert",
"condition": "C",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "${DS_UID}",
"model": {
"groupBy": [
{
"params": [
"storageTargetID::tag"
],
"type": "tag"
}
],
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"measurement": "storageTargets",
"orderByTime": "ASC",
"policy": "auto",
"query": "SELECT (diskSpaceFree / diskSpaceTotal) * 100 FROM \"auto\".\"storageTargets\" WHERE $timeFilter GROUP BY \"storageTargetID\"::tag",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"diskSpaceFree"
],
"type": "field"
},
{
"params": [
" / "
],
"type": "math"
}
]
],
"tags": []
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
0,
0
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": []
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"datasource": {
"name": "Expression",
"type": "__expr__",
"uid": "__expr__"
},
"expression": "A",
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
0,
0
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": []
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"datasource": {
"name": "Expression",
"type": "__expr__",
"uid": "__expr__"
},
"expression": "$B < 30",
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "math"
}
}
],
"updated": "2023-10-10T16:06:31+05:30",
"noDataState": "OK",
"execErrState": "Error",
"for": "10m",
"annotations": {
"description": "Please check, as the Disk Space for Storage Target ID '{{ $labels.storageTargetID }}' is only {{ humanize $values.B.Value }}%.",
"summary": "BeeGFS Storage Target disk space is low"
},
"labels": {
"disk-severity": "{{if lt $values.B.Value 20.0}}critical{{else if lt $values.B.Value 30.0}}warning{{else}}info{{end}}"
},
"isPaused": true
}

View File

@@ -0,0 +1,125 @@
{
"id": 3,
"uid": "c0008edf-2473-47be-b0ff-ab50bad831c5",
"orgID": 1,
"folderUID": "beegfsalertfolder",
"ruleGroup": "evaluate",
"title": "Disk Alert",
"condition": "C",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "${DS_UID}",
"model": {
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"query": "from(bucket: \"${BUCKET}\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"storageTargets\")\r\n |> filter(fn: (r) => r._field == \"diskSpaceTotal\" or r._field == \"diskSpaceFree\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n |> map(fn: (r) => ({ r with _value:(r.diskSpaceFree/ r.diskSpaceTotal) * 100.0 }))\r\n |> rename(columns: {_value: \"DiskFreePercent\"})\r\n |> drop(columns:[\"_start\",\"_stop\",\"_measurement\",\"diskSpaceTotal\",\"diskSpaceFree\"])\r\n",
"refId": "A"
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"B"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "A",
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
0,
0
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": []
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"datasource": {
"name": "Expression",
"type": "__expr__",
"uid": "__expr__"
},
"expression": "$B < 30",
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "math"
}
}
],
"updated": "2023-10-16T18:16:45Z",
"noDataState": "OK",
"execErrState": "Error",
"for": "10m",
"annotations": {
"description": "Please check, as the Disk Space for Storage Target ID '{{ $labels.storageTargetID }}' is only {{ humanize $values.B.Value }}%.",
"summary": "BeeGFS Storage Target disk space is low"
},
"labels": {
"disk-severity": "{{if lt $values.B.Value 20.0}}critical{{else if lt $values.B.Value 30.0}}warning{{else}}info{{end}}"
},
"isPaused": true
}

View File

@@ -0,0 +1,156 @@
{
"id": 4,
"uid": "e2ad5c16-110f-43df-a784-829561fe3317",
"orgID": 1,
"folderUID": "beegfsalertfolder",
"ruleGroup": "evaluate",
"title": "Inodes Alert ",
"condition": "C",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "${DS_UID}",
"model": {
"groupBy": [
{
"params": [
"storageTargetID::tag"
],
"type": "tag"
}
],
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"measurement": "storageTargets",
"orderByTime": "ASC",
"policy": "auto",
"query": "SELECT (inodesFree / inodesTotal) * 100 FROM \"auto\".\"storageTargets\" WHERE $timeFilter GROUP BY \"storageTargetID\"::tag",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"diskSpaceFree"
],
"type": "field"
},
{
"params": [
" / "
],
"type": "math"
}
]
],
"tags": []
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
0,
0
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": []
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"datasource": {
"name": "Expression",
"type": "__expr__",
"uid": "__expr__"
},
"expression": "A",
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
0,
0
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": []
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"datasource": {
"name": "Expression",
"type": "__expr__",
"uid": "__expr__"
},
"expression": "$B < 20",
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "math"
}
}
],
"updated": "2023-10-10T16:06:31+05:30",
"noDataState": "OK",
"execErrState": "Error",
"for": "10m",
"annotations": {
"description": "Please check, as the free inodes for Storage Target ID '{{ $labels.storageTargetID }}' are only at {{ humanize $values.B.Value }}%.",
"summary": "BeeGFS Storage Target Inodes are below the threshold."
},
"labels": {
"inodes": "free"
},
"isPaused": true
}

View File

@@ -0,0 +1,125 @@
{
"id": 4,
"uid": "be096d59-9dc4-4821-9530-8447e7261d9c",
"orgID": 1,
"folderUID": "beegfsalertfolder",
"ruleGroup": "evaluate",
"title": "Inodes Alert",
"condition": "C",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "${DS_UID}",
"model": {
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"query": "from(bucket: \"${BUCKET}\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"storageTargets\")\r\n |> filter(fn: (r) => r._field == \"inodesTotal\" or r._field == \"inodesFree\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n |> map(fn: (r) => ({ r with _value:(r.inodesFree/ r.inodesTotal) * 100.0 }))\r\n |> rename(columns: {_value: \"InodesFreePercent\"})\r\n |> drop(columns:[\"_start\",\"_stop\",\"_measurement\",\"inodesFree\",\"inodesTotal\"])",
"refId": "A"
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"B"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "A",
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
0,
0
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": []
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"datasource": {
"name": "Expression",
"type": "__expr__",
"uid": "__expr__"
},
"expression": "$B < 20",
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "math"
}
}
],
"updated": "2023-10-16T18:16:45Z",
"noDataState": "OK",
"execErrState": "Error",
"for": "10m",
"annotations": {
"description": "Please check, as the free inodes for Storage Target ID '{{ $labels.storageTargetID }}' are only at {{ humanize $values.B.Value }}%.",
"summary": "BeeGFS Storage Target Inodes are below the threshold."
},
"labels": {
"inodes": "free"
},
"isPaused": true
}

View File

@@ -0,0 +1,151 @@
{
"id": 5,
"uid": "bc49ff76-3db9-4f8b-b88a-947c7717fc18",
"orgID": 1,
"folderUID": "beegfsalertfolder",
"ruleGroup": "evaluate",
"title": "Meta Queued Request Alert",
"condition": "C",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "${DS_UID}",
"model": {
"groupBy": [
{
"params": [
"nodeID::tag"
],
"type": "tag"
}
],
"intervalMs": 1000,
"maxDataPoints": 43200,
"measurement": "highResMeta",
"orderByTime": "ASC",
"policy": "auto",
"query": "SELECT max(\"queuedRequests\") FROM \"auto\".\"highResMeta\" WHERE $timeFilter GROUP BY \"nodeID\"::tag",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"queuedRequests"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": []
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"B"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "A",
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
50
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"C"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "B",
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "threshold"
}
}
],
"updated": "2023-10-17T18:57:50+05:30",
"noDataState": "OK",
"execErrState": "Error",
"for": "2m",
"annotations": {
"description": "Queued requests of BeeGFS meta server with nodeID - \"{{ $labels.nodeID }}\" is {{ $values.B }}",
"summary": "Meta server queued requests is above threshold"
},
"labels": {
"queued": "request"
},
"isPaused": true
}

View File

@@ -0,0 +1,126 @@
{
"id": 5,
"uid": "a5a9072e-a8c2-46c1-b3a0-88608956e83e",
"orgID": 1,
"folderUID": "beegfsalertfolder",
"ruleGroup": "evaluate",
"title": "Meta Queued Request Alert",
"condition": "C",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "${DS_UID}",
"model": {
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"query": "from(bucket: \"${BUCKET}\") \r\n|> range(start: v.timeRangeStart, stop:v.timeRangeStop) \r\n|> filter(fn: (r) => r._measurement == \"highResMeta\" and r._field == \"queuedRequests\") \r\n|> aggregateWindow(every: v.windowPeriod, fn: max, createEmpty: false) \r\n|> yield(name: \"max\")",
"refId": "A"
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"B"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "A",
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
50
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"C"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "B",
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "threshold"
}
}
],
"updated": "2023-10-16T18:16:45Z",
"noDataState": "OK",
"execErrState": "Error",
"for": "2m",
"annotations": {
"description": "Queued requests of BeeGFS meta server with nodeID - \"{{ $labels.nodeID }}\" is {{ $values.B }}",
"summary": "Meta server queued requests is above threshold"
},
"labels": {
"queued": "request"
},
"isPaused": true
}

View File

@@ -0,0 +1,158 @@
{
"id": 1,
"uid": "d9a3e5ba-b5bc-4ede-989b-c605547eb2d",
"orgID": 1,
"folderUID": "beegfsalertfolder",
"ruleGroup": "evaluate",
"title": "Services Alert",
"condition": "C",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "${DS_UID}",
"model": {
"groupBy": [
{
"params": [
"host"
],
"type": "tag"
},
{
"params": [
"systemd_unit"
],
"type": "tag"
}
],
"intervalMs": 1000,
"maxDataPoints": 43200,
"measurement": "procstat_lookup",
"orderByTime": "ASC",
"policy": "auto",
"query": "SELECT last(\"running\") FROM \"auto\".\"procstat_lookup\" WHERE $timeFilter GROUP BY \"host\", \"systemd_unit\"",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"running"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
]
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
0,
0
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": []
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"datasource": {
"name": "Expression",
"type": "__expr__",
"uid": "__expr__"
},
"expression": "A",
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
1,
0
],
"type": "lt"
},
"operator": {
"type": "and"
},
"query": {
"params": []
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"datasource": {
"name": "Expression",
"type": "__expr__",
"uid": "__expr__"
},
"expression": "B",
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "threshold"
}
}
],
"updated": "2023-10-17T09:19:39+05:30",
"noDataState": "OK",
"execErrState": "Error",
"for": "1m",
"annotations": {
"description": "BeeGFS Service \"{{ $labels.systemd_unit }}\" is Down , Please check host \"{{ $labels.host }}\"",
"summary": "BeeGFS Service \"{{ $labels.systemd_unit }}\" is Down"
},
"labels": {
"service_status": "down"
},
"isPaused": true
}

View File

@@ -0,0 +1,126 @@
{
"id": 1,
"uid": "a96d9b2e-2a6b-4ab3-9858-200da324672f",
"orgID": 1,
"folderUID": "beegfsalertfolder",
"ruleGroup": "evaluate",
"title": "Service Alert",
"condition": "C",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "${DS_UID}",
"model": {
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"query": "from(bucket: \"${BUCKET}\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"procstat_lookup\")\r\n |> filter(fn: (r) => r._field == \"running\")\r\n |> group(columns: [\"host\", \"systemd_unit\"], mode: \"by\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> keep(columns: [\"_time\", \"_value\", \"host\", \"systemd_unit\"])\r\n |> sort(columns: [\"_time\"])",
"refId": "A"
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"B"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "A",
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
1
],
"type": "lt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"C"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "B",
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "threshold"
}
}
],
"updated": "2023-10-17T11:33:42Z",
"noDataState": "OK",
"execErrState": "Error",
"for": "1m",
"annotations": {
"description": "BeeGFS Service \"{{ $labels.systemd_unit }}\" is Down , Please check host \"{{ $labels.host }}\"",
"summary": "BeeGFS Service \"{{ $labels.systemd_unit }}\" is Down"
},
"labels": {
"service_status": "down"
},
"isPaused": true
}

View File

@@ -0,0 +1,151 @@
{
"id": 6,
"uid": "c81b9c61-d553-4240-aff1-e92627a40a11",
"orgID": 1,
"folderUID": "beegfsalertfolder",
"ruleGroup": "evaluate",
"title": "Storage Queued Request Alert ",
"condition": "C",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "${DS_UID}",
"model": {
"groupBy": [
{
"params": [
"nodeID::tag"
],
"type": "tag"
}
],
"intervalMs": 1000,
"maxDataPoints": 43200,
"measurement": "highResStorage",
"orderByTime": "ASC",
"policy": "auto",
"query": "SELECT max(\"queuedRequests\") FROM \"auto\".\"highResStorage\" WHERE $timeFilter GROUP BY \"nodeID\"::tag",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"queuedRequests"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": []
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"B"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "A",
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
50
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"C"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "B",
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "threshold"
}
}
],
"updated": "2023-10-17T19:13:11+05:30",
"noDataState": "OK",
"execErrState": "Error",
"for": "2m",
"annotations": {
"description": "Queued requests of BeeGFS Storage Server with nodeID - \"{{ $labels.nodeID }}\" is {{ $values.B }}",
"summary": "Storage server queued requests is above threshold"
},
"labels": {
"queued": "request"
},
"isPaused": true
}

View File

@@ -0,0 +1,126 @@
{
"id": 6,
"uid": "e0a4e911-6602-4adc-993b-d65672e7f431",
"orgID": 1,
"folderUID": "beegfsalertfolder",
"ruleGroup": "evaluate",
"title": "Storage Queued Request Alert",
"condition": "C",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "${DS_UID}",
"model": {
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"query": "from(bucket: \"${BUCKET}\") \r\n|> range(start: v.timeRangeStart, stop:v.timeRangeStop) \r\n|> filter(fn: (r) => r._measurement == \"highResStorage\" and r._field == \"queuedRequests\") \r\n|> aggregateWindow(every: v.windowPeriod, fn: max, createEmpty: false) \r\n|> yield(name: \"max\")",
"refId": "A"
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"B"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "A",
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": {
"params": [
50
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"C"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"expression": "B",
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "threshold"
}
}
],
"updated": "2023-10-16T18:16:45Z",
"noDataState": "OK",
"execErrState": "Error",
"for": "2m",
"annotations": {
"description": "Queued requests of BeeGFS storage server with nodeID - \"{{ $labels.nodeID }}\" is {{ $values.B }}",
"summary": "Storage server queued requests is above threshold"
},
"labels": {
"queued": "request"
},
"isPaused": true
}

View File

@@ -0,0 +1,121 @@
{
"__inputs": [
{
"name": "DS_BEEGFS_MON_INFLUXDB",
"label": "beegfs_mon_influxdb",
"description": "",
"type": "datasource",
"pluginId": "influxdb",
"pluginName": "InfluxDB"
}
],
"__elements": {},
"__requires": [
{
"type": "panel",
"id": "alertlist",
"name": "Alert list",
"version": ""
},
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "10.1.4"
},
{
"type": "datasource",
"id": "influxdb",
"name": "InfluxDB",
"version": "1.0.0"
}
],
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"description": "",
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"gridPos": {
"h": 22,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"alertInstanceLabelFilter": "",
"alertName": "",
"dashboardAlerts": false,
"folder": {
"title": "BeeGFS-Alert",
"uid": "beegfsalertfolder"
},
"groupBy": [],
"groupMode": "default",
"maxItems": 20,
"sortOrder": 1,
"stateFilter": {
"error": true,
"firing": true,
"noData": false,
"normal": true,
"pending": true
},
"viewMode": "list"
},
"pluginVersion": "10.1.4",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"refId": "A"
}
],
"title": "Alert List",
"type": "alertlist"
}
],
"refresh": "",
"schemaVersion": 38,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-5m",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "BeeGFS Alerts List",
"uid": "c4a31d8f-4dc6-4023-bc7a-1b06167a6f74",
"version": 1,
"weekStart": ""
}

View File

@@ -0,0 +1,12 @@
{
"uid": "d5c51f44-07d047ca-a580-5a66f643e",
"name": "beegfs-email",
"type": "email",
"settings": {
"addresses": "beegfsalert@example.com",
"message": "{{ template \"beegfs.message\" . }}",
"singleEmail": false,
"subject": "{{ template \"beegfs.title\" . }}"
},
"disableResolveMessage": false
}

View File

@@ -0,0 +1,4 @@
{
"name": "BeeGFS-Email-Template",
"template": "{{ define \"alert_severity_prefix_emoji\" -}}\n\t{{- if eq .Status \"firing\" -}}\n\t\t🔥\n\t{{- else -}}\n\t\t✅\n\t{{- end -}}\n{{- end -}}\n\n{{ define \"beegfs_subject\" }}\n{{ template \"alert_severity_prefix_emoji\" . }}\n[{{ .Status | toUpper }}{{ if eq .Status \"firing\" }}:{{ .Alerts.Firing | len }}{{ if gt (.Alerts.Resolved | len) 0 }}, RESOLVED:{{ .Alerts.Resolved | len }}{{ end }}{{ end }} | {{ .CommonLabels.alertname -}}] \n{{ end }}\n\n{{ define \"beegfs_text_alert_list\" }}{{ range . }}\nSummary:\n\t{{ .Annotations.summary }}\n\t\nDescription:\n\t{{ .Annotations.description }}\n\nLabels:\n {{ range .Labels.SortedPairs -}}\n {{ .Name }} = {{ .Value }}\n\t{{ end }}\n{{ end }}\n{{ range . }}\n{{ if gt (len .SilenceURL) 0 }}Silence: {{ .SilenceURL }}\n{{ end }}\n{{ end }}\n{{ end }}\n\n\n{{ define \"beegfs.title\" }}{{ template \"beegfs_subject\" . }}{{ end }}\n\n{{ define \"beegfs.message\" }}{{ if gt (len .Alerts.Firing) 0 }}*Firing 🔥*\n{{ template \"beegfs_text_alert_list\" .Alerts.Firing }}{{ if gt (len .Alerts.Resolved) 0 }}\n\n{{ end }}{{ end }}\n\n{{ if gt (len .Alerts.Resolved) 0 }}*Resolved ✅*\n\nBelow alert is resolved:\n{{ template \"beegfs_text_alert_list\" .Alerts.Resolved }}\n{{ end }}\n{{ end }}"
}

View File

@@ -0,0 +1,97 @@
{
"receiver": "grafana-default-email",
"routes": [
{
"receiver": "beegfs-email",
"object_matchers": [
[
"disk-severity",
"=",
"warning"
]
],
"group_wait": "30s",
"group_interval": "5m",
"repeat_interval": "6h"
},
{
"receiver": "beegfs-email",
"object_matchers": [
[
"disk-severity",
"=",
"critical"
]
],
"group_wait": "30s",
"group_interval": "5m",
"repeat_interval": "6h"
},
{
"receiver": "beegfs-email",
"object_matchers": [
[
"service_status",
"=",
"down"
]
],
"group_wait": "30s",
"group_interval": "3m",
"repeat_interval": "6h"
},
{
"receiver": "beegfs-email",
"object_matchers": [
[
"inodes",
"=",
"free"
]
],
"group_wait": "30s",
"group_interval": "5m",
"repeat_interval": "6h"
},
{
"receiver": "beegfs-email",
"object_matchers": [
[
"cpu-severity",
"=",
"critical"
]
],
"group_wait": "30s",
"group_interval": "5m",
"repeat_interval": "6h"
},
{
"receiver": "beegfs-email",
"object_matchers": [
[
"cpu-severity",
"=",
"warning"
]
],
"group_wait": "30s",
"group_interval": "5m",
"repeat_interval": "6h"
},
{
"receiver": "beegfs-email",
"object_matchers": [
[
"queued",
"=",
"request"
]
],
"group_wait": "30s",
"group_interval": "5m",
"repeat_interval": "6h"
}
]
}

View File

@@ -0,0 +1,58 @@
{
"receiver": "grafana-default-email",
"routes": [
{
"receiver": "beegfs-email",
"object_matchers": [
[
"disk-severity",
"=",
"warning"
]
],
"group_wait": "30s",
"group_interval": "5m",
"repeat_interval": "6h"
},
{
"receiver": "beegfs-email",
"object_matchers": [
[
"disk-severity",
"=",
"critical"
]
],
"group_wait": "30s",
"group_interval": "5m",
"repeat_interval": "6h"
},
{
"receiver": "beegfs-email",
"object_matchers": [
[
"inodes",
"=",
"free"
]
],
"group_wait": "30s",
"group_interval": "5m",
"repeat_interval": "6h"
},
{
"receiver": "beegfs-email",
"object_matchers": [
[
"queued",
"=",
"request"
]
],
"group_wait": "30s",
"group_interval": "5m",
"repeat_interval": "6h"
}
]
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,386 @@
{
"__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": "table",
"name": "Table",
"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}"
},
"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": "short"
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 0
},
"id": 4,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"pluginVersion": "9.3.0",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"query": "SELECT sum(*) FROM \"metaClientOpsByNode\" WHERE time > ${__from:date:seconds}s AND time < ${__to:date:seconds}s AND \"node\" =~ /^$nodeID$/ GROUP BY node",
"rawQuery": true,
"refId": "A",
"resultFormat": "table"
}
],
"title": "Meta Operation List",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"Time": true
},
"indexByName": {
"Time": 0,
"node": 1,
"sum_close": 2,
"sum_createLI": 3,
"sum_getXA": 16,
"sum_hardlnk": 18,
"sum_listXA": 19,
"sum_mdsInf": 4,
"sum_mkdir": 5,
"sum_open": 6,
"sum_rddir": 7,
"sum_ren": 8,
"sum_revalLI": 9,
"sum_rmdir": 10,
"sum_sAttr": 11,
"sum_sChDrct": 12,
"sum_stat": 13,
"sum_statLI": 14,
"sum_sum": 15,
"sum_trunc": 17,
"sum_unlnk": 20
},
"renameByName": {
"node": "",
"sum_close": "close",
"sum_create": "create",
"sum_createLI": "createLI",
"sum_dirparent": "dirparent",
"sum_entInf": "entInf",
"sum_flckAp": "flckAp",
"sum_flckEn": "flckzEn",
"sum_flckRg": "flckRg",
"sum_fndOwn": "fndOwn",
"sum_getXA": "getXA",
"sum_hardlnk": "hardlnk",
"sum_listXA": "listXA",
"sum_lookLI": "lookLI",
"sum_mdsInf": "mdsInf",
"sum_mirror": "mirror",
"sum_mkdir": "mkdir",
"sum_mvDirIns": "mvDirIns",
"sum_mvFiIns": "mvFilns",
"sum_open": "open",
"sum_openLI": "openLI",
"sum_rddir": "rddir",
"sum_refrEnt": "refrEnt",
"sum_ren": "ren",
"sum_revalLI": "revalLI",
"sum_rmLnk": "rmLnk",
"sum_rmXA": "rmXA",
"sum_rmdir": "rmdir",
"sum_sAttr": "sAttr",
"sum_sChDrct": "sChDrct",
"sum_sDirPat": "sDirPat",
"sum_setXA": "setXA",
"sum_stat": "stat",
"sum_statLI": "statLI",
"sum_statfs": "statfs",
"sum_sum": "sum",
"sum_symlnk": "symlnk",
"sum_trunc": "trunc",
"sum_unlnk": "unlnk"
}
}
}
],
"type": "table"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"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": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "sum_B-rd"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
},
{
"matcher": {
"id": "byName",
"options": "sum_B-wr"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
}
]
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 9
},
"id": 2,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"pluginVersion": "9.3.0",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"node"
],
"type": "tag"
}
],
"measurement": "metaClientOpsByNode",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(*) FROM \"storageClientOpsByNode\" WHERE time > ${__from:date:seconds}s AND time < ${__to:date:seconds}s AND \"node\" =~ /^$nodeID$/ GROUP BY node",
"rawQuery": true,
"refId": "A",
"resultFormat": "table",
"select": [
[
{
"params": [
"*"
],
"type": "field"
}
]
],
"tags": []
}
],
"title": "Storage Operation List",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"Time": true
},
"indexByName": {},
"renameByName": {
"sum_B-rd": "B-rd",
"sum_B-wr": "B-wr",
"sum_close": "close",
"sum_getFSize": "getFSize",
"sum_ops-rd": "ops-rd",
"sum_ops-wr": "ops-wr",
"sum_sAttr": "sAttr",
"sum_sChDrct": "sChDrct",
"sum_statfs": "statfs",
"sum_storInf": "storInf",
"sum_sum": "sum",
"sum_trunc": "trunc",
"sum_unlnk": "unlnk"
}
}
}
],
"type": "table"
}
],
"refresh": "",
"schemaVersion": 37,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "show tag values from metaClientOpsByNode with key = \"node\"",
"hide": 0,
"includeAll": true,
"label": "nodeID",
"multi": true,
"name": "nodeID",
"options": [],
"query": "show tag values from metaClientOpsByNode with key = \"node\"",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "BeeGFS Client Operations (by Node)",
"uid": "HHI9d8UO",
"version": 1,
"weekStart": ""
}

View File

@@ -0,0 +1,273 @@
{
"__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": "table",
"name": "Table",
"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}"
},
"fieldConfig": {
"defaults": {
"custom": {
"align": "center",
"displayMode": "auto",
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"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 == \"metaClientOpsByNode\")\r\n |> filter(fn: (r) => r.node =~ /${nodeID:regex}/)\r\n |> sum()\r\n |> group()\r\n |> pivot(rowKey:[\"node\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n \r\n",
"refId": "A"
}
],
"title": "Meta Operation List",
"type": "table"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"custom": {
"align": "center",
"displayMode": "auto",
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byRegexp",
"options": "^B-wr"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "^B-rd"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 9
},
"id": 4,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"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 == \"storageClientOpsByNode\")\r\n |> filter(fn: (r) => r.node =~ /${nodeID:regex}/)\r\n |> sum()\r\n |> group()\r\n |> pivot(rowKey:[\"node\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n \r\n",
"refId": "A"
}
],
"title": "Storage Operation List",
"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\"\r\n\r\nschema.measurementTagValues(\r\n bucket: \"${bucket}\",\r\n tag: \"node\",\r\n measurement: \"metaClientOpsByNode\"\r\n)",
"hide": 0,
"includeAll": true,
"label": "nodeID",
"multi": true,
"name": "nodeID",
"options": [],
"query": "import \"influxdata/influxdb/schema\"\r\n\r\nschema.measurementTagValues(\r\n bucket: \"${bucket}\",\r\n tag: \"node\",\r\n measurement: \"metaClientOpsByNode\"\r\n)",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
}
]
},
"time": {
"from": "now-2d",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "BeeGFS Client Operations (by Node)",
"uid": "V5Me2Vk",
"version": 2,
"weekStart": ""
}

View File

@@ -0,0 +1,386 @@
{
"__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": "table",
"name": "Table",
"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}"
},
"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": "short"
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 0
},
"id": 4,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"pluginVersion": "9.3.0",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"query": "SELECT sum(*) FROM \"metaClientOpsByNode\" WHERE time > ${__from:date:seconds}s AND time < ${__to:date:seconds}s AND \"node\" =~ /^$nodeID$/ GROUP BY \"node\"",
"rawQuery": true,
"refId": "A",
"resultFormat": "table"
}
],
"title": "Meta Operation List",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"Time": true
},
"indexByName": {
"Time": 0,
"node": 1,
"sum_close": 2,
"sum_createLI": 3,
"sum_getXA": 16,
"sum_hardlnk": 18,
"sum_listXA": 19,
"sum_mdsInf": 4,
"sum_mkdir": 5,
"sum_open": 6,
"sum_rddir": 7,
"sum_ren": 8,
"sum_revalLI": 9,
"sum_rmdir": 10,
"sum_sAttr": 11,
"sum_sChDrct": 12,
"sum_stat": 13,
"sum_statLI": 14,
"sum_sum": 15,
"sum_trunc": 17,
"sum_unlnk": 20
},
"renameByName": {
"node": "",
"sum_close": "close",
"sum_create": "create",
"sum_createLI": "createLI",
"sum_dirparent": "dirparent",
"sum_entInf": "entInf",
"sum_flckAp": "flckAp",
"sum_flckEn": "flckzEn",
"sum_flckRg": "flckRg",
"sum_fndOwn": "fndOwn",
"sum_getXA": "getXA",
"sum_hardlnk": "hardlnk",
"sum_listXA": "listXA",
"sum_lookLI": "lookLI",
"sum_mdsInf": "mdsInf",
"sum_mirror": "mirror",
"sum_mkdir": "mkdir",
"sum_mvDirIns": "mvDirIns",
"sum_mvFiIns": "mvFilns",
"sum_open": "open",
"sum_openLI": "openLI",
"sum_rddir": "rddir",
"sum_refrEnt": "refrEnt",
"sum_ren": "ren",
"sum_revalLI": "revalLI",
"sum_rmLnk": "rmLnk",
"sum_rmXA": "rmXA",
"sum_rmdir": "rmdir",
"sum_sAttr": "sAttr",
"sum_sChDrct": "sChDrct",
"sum_sDirPat": "sDirPat",
"sum_setXA": "setXA",
"sum_stat": "stat",
"sum_statLI": "statLI",
"sum_statfs": "statfs",
"sum_sum": "sum",
"sum_symlnk": "symlnk",
"sum_trunc": "trunc",
"sum_unlnk": "unlnk"
}
}
}
],
"type": "table"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"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": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "sum_B-rd"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
},
{
"matcher": {
"id": "byName",
"options": "sum_B-wr"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
}
]
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 9
},
"id": 2,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"pluginVersion": "9.3.0",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"node"
],
"type": "tag"
}
],
"measurement": "metaClientOpsByNode",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(*) FROM \"storageClientOpsByNode\" WHERE time > ${__from:date:seconds}s AND time < ${__to:date:seconds}s AND \"node\" =~ /^$nodeID$/ GROUP BY node",
"rawQuery": true,
"refId": "A",
"resultFormat": "table",
"select": [
[
{
"params": [
"*"
],
"type": "field"
}
]
],
"tags": []
}
],
"title": "Storage Operation List",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"Time": true
},
"indexByName": {},
"renameByName": {
"sum_B-rd": "B-rd",
"sum_B-wr": "B-wr",
"sum_close": "close",
"sum_getFSize": "getFSize",
"sum_ops-rd": "ops-rd",
"sum_ops-wr": "ops-wr",
"sum_sAttr": "sAttr",
"sum_sChDrct": "sChDrct",
"sum_statfs": "statfs",
"sum_storInf": "storInf",
"sum_sum": "sum",
"sum_trunc": "trunc",
"sum_unlnk": "unlnk"
}
}
}
],
"type": "table"
}
],
"refresh": "",
"schemaVersion": 37,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "show tag values from metaClientOpsByNode with key = \"node\"",
"hide": 0,
"includeAll": true,
"label": "Node ID",
"multi": true,
"name": "nodeID",
"options": [],
"query": "show tag values from metaClientOpsByNode with key = \"node\"",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "BeeGFS Client Operations (by Node)",
"uid": "HHI9dJV4k",
"version": 1,
"weekStart": ""
}

View File

@@ -0,0 +1,273 @@
{
"__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": "table",
"name": "Table",
"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}"
},
"fieldConfig": {
"defaults": {
"custom": {
"align": "center",
"displayMode": "auto",
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"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 == \"metaClientOpsByNode\")\r\n |> filter(fn: (r) => r.node =~ /${nodeID:regex}/)\r\n |> sum()\r\n |> group()\r\n |> pivot(rowKey:[\"node\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n \r\n",
"refId": "A"
}
],
"title": "Meta Operation List",
"type": "table"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"custom": {
"align": "center",
"displayMode": "auto",
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byRegexp",
"options": "^B-wr"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "^B-rd"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 9
},
"id": 4,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"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 == \"storageClientOpsByNode\")\r\n |> filter(fn: (r) => r.node =~ /${nodeID:regex}/)\r\n |> sum()\r\n |> group()\r\n |> pivot(rowKey:[\"node\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n \r\n",
"refId": "A"
}
],
"title": "Storage Operation List",
"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\"\r\n\r\nschema.measurementTagValues(\r\n bucket: \"${bucket}\",\r\n tag: \"node\",\r\n measurement: \"metaClientOpsByNode\"\r\n)",
"hide": 0,
"includeAll": true,
"label": "nodeID",
"multi": true,
"name": "nodeID",
"options": [],
"query": "import \"influxdata/influxdb/schema\"\r\n\r\nschema.measurementTagValues(\r\n bucket: \"${bucket}\",\r\n tag: \"node\",\r\n measurement: \"metaClientOpsByNode\"\r\n)",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
}
]
},
"time": {
"from": "now-2d",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "BeeGFS Client Operations (by Node)",
"uid": "V5Me2Vk",
"version": 3,
"weekStart": ""
}

View File

@@ -0,0 +1,635 @@
{
"__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": "piechart",
"name": "Pie chart",
"version": ""
},
{
"type": "panel",
"id": "table",
"name": "Table",
"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": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 6,
"panels": [],
"title": "Operation List",
"type": "row"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "center",
"displayMode": "auto",
"filterable": false,
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "user"
},
"properties": [
{
"id": "unit",
"value": "none"
}
]
}
]
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 1
},
"id": 2,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"sortBy": [
{
"desc": true,
"displayName": "sum_mdsInf"
}
]
},
"pluginVersion": "9.3.0",
"targets": [
{
"alias": "",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(*) FROM \"metaClientOpsByUser\" WHERE time > ${__from:date:seconds}s AND time < ${__to:date:seconds}s AND \"user\" =~ /^$userid$/ GROUP BY \"user\"\n",
"rawQuery": true,
"refId": "A",
"resultFormat": "table",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"title": "Meta Operation List",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"Time": true
},
"indexByName": {},
"renameByName": {
"sum_close": "close",
"sum_create": "create",
"sum_createLI": "createLI",
"sum_mdsInf": "mdsInf",
"sum_mkdir": "mkdir",
"sum_open": "open",
"sum_rddir": "rddir",
"sum_ren": "ren",
"sum_revalLI": "revalLI",
"sum_rmdir": "rmdir",
"sum_sAttr": "sAttr",
"sum_sChDrct": "sChDrct",
"sum_stat": "stat",
"sum_statLI": "statLI",
"sum_sum": "sum",
"sum_trunc": "trunc",
"sum_unlnk": "unlnk",
"user": "user"
}
}
}
],
"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
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "user"
},
"properties": [
{
"id": "unit",
"value": "none"
}
]
},
{
"matcher": {
"id": "byName",
"options": "sum_B-rd"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
},
{
"matcher": {
"id": "byName",
"options": "sum_B-wr"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
}
]
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 10
},
"id": 4,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"pluginVersion": "9.3.0",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"query": "SELECT sum(*) FROM \"storageClientOpsByUser\" WHERE time > ${__from:date:seconds}s AND time < ${__to:date:seconds}s AND \"user\" =~ /^$userid$/ GROUP BY \"user\"\n",
"rawQuery": true,
"refId": "A",
"resultFormat": "table"
}
],
"title": "Storage Operation List",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"Time": true
},
"indexByName": {},
"renameByName": {
"sum_B-rd": "B-rd",
"sum_B-wr": "B-wr",
"sum_close": "close",
"sum_getFSize": "getFSize",
"sum_ops-rd": "ops-rd",
"sum_ops-wr": "ops-wr",
"sum_sAttr": "sAttr",
"sum_sChDrct": "sChDrct",
"sum_statfs": "statfs",
"sum_storInf": "storinf",
"sum_sum": "sum",
"sum_trunc": "trunc",
"sum_unlnk": "unlnk",
"user": "user"
}
}
}
],
"type": "table"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 19
},
"id": 17,
"panels": [],
"title": "Meta Operation Per User",
"type": "row"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": []
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 6,
"x": 0,
"y": 20
},
"id": 24,
"maxPerRow": 4,
"options": {
"displayLabels": [
"percent",
"name"
],
"legend": {
"displayMode": "table",
"placement": "right",
"showLegend": true,
"values": [
"value"
]
},
"pieType": "donut",
"reduceOptions": {
"calcs": [
"sum"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"repeat": "userid",
"repeatDirection": "h",
"targets": [
{
"alias": "",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"query": "SELECT sum(\"close\") AS \"close\", sum(\"getXA\") AS \"getXA\", sum(\"hardlnk\") AS \"hardlnk\", sum(\"listXA\") AS \"listXA\", sum(\"mkdir\") AS \"mkdir\", sum(\"open\") AS \"open\", sum(\"rddir\") AS \"rddir\", sum(\"ren\") AS \"ren\", sum(\"rmXA\") AS \"rmXA\", sum(\"rmdir\") AS \"rmdir\", sum(\"setXA\") AS \"setXA\", sum(\"stat\") AS \"stat\", sum(\"statfs\") AS \"statfs\", sum(\"symlnk\") AS \"symlnk\", sum(\"trunc\") AS \"trunc\", sum(\"unlnk\") AS \"unlnk\", sum(\"ack\") AS \"ack\", sum(\"create\") AS \"create\", sum(\"createLI\") AS \"createLI\", sum(\"dirparent\") AS \"dirparent\", sum(\"entInf\") AS \"entInf\", sum(\"flckAp\") AS \"flckAp\",sum(\"flckEn\") AS \"flckEn\", sum(\"flckRg\") AS \"flckRg\", sum(\"fndOwn\") AS \"fndOwn\", sum(\"lookLI\") AS \"lookLI\", sum(\"mdsInf\") AS \"mdsInf\", sum(\"mirror\") AS \"mirror\", sum(\"mvDirIns\") AS \"mvDirIns\", sum(\"mvFiIns\") AS \"mvFiIns\", sum(\"openLI\") AS \"openLI\", sum(\"refrEnt\") AS \"refrEnt\", sum(\"revalLI\") AS \"revalLI\", sum(\"rmLnk\") AS \"rmLnk\", sum(\"sAttr\") AS \"sAttr\", sum(\"sChDrct\") AS \"sChDrct\", sum(\"sDirPat\") AS \"sDirPat\", sum(\"statLI\") AS \"statLI\" FROM \"metaClientOpsByUser\" WHERE time > ${__from:date:seconds}s AND time < ${__to:date:seconds}s AND (\"user\" =~ /^$userid$/) ",
"rawQuery": true,
"refId": "A",
"resultFormat": "table"
}
],
"title": "User ID $userid",
"type": "piechart"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 28
},
"id": 8,
"panels": [],
"title": "Storage Operation Per User",
"type": "row"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": []
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 6,
"x": 0,
"y": 29
},
"id": 10,
"maxPerRow": 4,
"options": {
"displayLabels": [
"name",
"percent"
],
"legend": {
"displayMode": "table",
"placement": "right",
"showLegend": true,
"values": [
"value"
]
},
"pieType": "donut",
"reduceOptions": {
"calcs": [
"sum"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "9.0.8",
"repeat": "userid",
"repeatDirection": "h",
"targets": [
{
"alias": "",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"user"
],
"type": "tag"
}
],
"measurement": "storageClientOpsByUser",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"ack\") AS \"ack\", sum(\"close\") AS \"close\", sum(\"fsync\") AS \"fsync\", sum(\"gendbg\") AS \"gendbg\", sum(\"getFSize\") AS \"getFSize\", sum(\"hrtbeat\") AS \"hrtbeat\", sum(\"ops-rd\") AS \"ops-rd\", sum(\"ops-wr\") AS \"ops-wr\", sum(\"remNode\") AS \"remNode\", sum(\"sAttr\") AS \"sAttr\", sum(\"sChDrct\") AS \"sChDrct\", sum(\"statfs\") AS \"statfs\", sum(\"storInf\") AS \"storInf\", sum(\"trunc\") AS \"trunc\", sum(\"unlnk\") AS \"unlnk\" FROM \"storageClientOpsByUser\" WHERE time > ${__from:date:seconds}s AND time < ${__to:date:seconds}s AND (\"user\" =~ /^$userid$/) ",
"rawQuery": true,
"refId": "A",
"resultFormat": "table",
"select": [
[
{
"params": [
"B-wr"
],
"type": "field"
},
{
"params": [],
"type": "sum"
},
{
"params": [
"write"
],
"type": "alias"
}
],
[
{
"params": [
"B-rd"
],
"type": "field"
},
{
"params": [],
"type": "sum"
},
{
"params": [
"read"
],
"type": "alias"
}
]
],
"tags": [
{
"key": "user",
"operator": "=~",
"value": "/^$userid$/"
}
]
}
],
"title": "User ID $userid",
"transparent": true,
"type": "piechart"
}
],
"refresh": "",
"schemaVersion": 37,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "show tag values from storageClientOpsByUser with key = \"user\"",
"hide": 0,
"includeAll": true,
"multi": true,
"name": "userid",
"options": [],
"query": "show tag values from storageClientOpsByUser with key = \"user\"",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "BeeGFS Client Operations (by User)",
"uid": "RYuIR1V4k",
"version": 1,
"weekStart": ""
}

View File

@@ -0,0 +1,582 @@
{
"__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": "piechart",
"name": "Pie chart",
"version": ""
},
{
"type": "panel",
"id": "table",
"name": "Table",
"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": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 13,
"panels": [],
"title": "Operation List",
"type": "row"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"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": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "user"
},
"properties": [
{
"id": "unit",
"value": "none"
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 1
},
"id": 8,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"frameIndex": 0,
"showHeader": true,
"sortBy": []
},
"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 == \"metaClientOpsByUser\")\r\n |> filter(fn: (r) => r.user =~ /${userid:regex}/)\r\n |> sum()\r\n |> group()\r\n |> pivot(rowKey:[\"user\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n",
"refId": "A"
}
],
"title": "Meta Operation List",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"sum {_start=\"2023-01-11 23:29:59.44 +0000 UTC\", _stop=\"2023-01-12 05:30:59.646295406 +0000 UTC\"}": true
},
"indexByName": {},
"renameByName": {
"mdsInf {_start=\"2023-01-11 23:29:59.44 +0000 UTC\", _stop=\"2023-01-12 05:30:59.646295406 +0000 UTC\"}": "mdsInf",
"sChDrct {_start=\"2023-01-11 23:29:59.44 +0000 UTC\", _stop=\"2023-01-12 05:30:59.646295406 +0000 UTC\"}": "sChDrct",
"stat {_start=\"2023-01-11 23:29:59.44 +0000 UTC\", _stop=\"2023-01-12 05:30:59.646295406 +0000 UTC\"}": "stat",
"sum {_start=\"2023-01-11 23:29:59.44 +0000 UTC\", _stop=\"2023-01-12 05:30:59.646295406 +0000 UTC\"}": "",
"user {_start=\"2023-01-11 23:29:59.44 +0000 UTC\", _stop=\"2023-01-12 05:30:59.646295406 +0000 UTC\"}": "User"
}
}
}
],
"type": "table"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"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": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "user"
},
"properties": [
{
"id": "unit",
"value": "none"
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "^B-wr"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "^B-rd"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 8
},
"id": 2,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"frameIndex": 0,
"showHeader": true,
"sortBy": [
{
"desc": false,
"displayName": "_value"
}
]
},
"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\")\r\n |> filter(fn: (r) => r.user =~ /${userid:regex}/)\r\n |> sum()\r\n |> group()\r\n |> pivot(rowKey:[\"user\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
"refId": "A"
}
],
"title": "Storage Operation List",
"transformations": [
{
"id": "organize",
"options": {}
}
],
"type": "table"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 15
},
"id": 18,
"panels": [],
"title": "Meta Operation Per User",
"type": "row"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": [],
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 16
},
"id": 4,
"maxPerRow": 4,
"options": {
"displayLabels": [
"percent",
"name"
],
"legend": {
"displayMode": "table",
"placement": "right",
"showLegend": true,
"values": [
"value"
]
},
"pieType": "donut",
"reduceOptions": {
"calcs": [
"sum"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"repeat": "userid",
"repeatDirection": "h",
"targets": [
{
"alias": "",
"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 == \"metaClientOpsByUser\")\r\n |> sum()\r\n |> group()\r\n |> pivot(rowKey:[\"user\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n |> filter(fn: (r) => r.user =~ /$userid$/)",
"rawQuery": true,
"refId": "A",
"resultFormat": "table"
}
],
"title": "User ID $userid",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"sum": true,
"user": true
},
"indexByName": {},
"renameByName": {}
}
}
],
"type": "piechart"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 24
},
"id": 23,
"panels": [],
"title": "Storage Operation Per User",
"type": "row"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": [],
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byRegexp",
"options": "^B-wr"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "^B-rd"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 25
},
"id": 33,
"maxPerRow": 4,
"options": {
"displayLabels": [
"percent",
"name"
],
"legend": {
"displayMode": "table",
"placement": "right",
"showLegend": true,
"values": [
"value"
]
},
"pieType": "donut",
"reduceOptions": {
"calcs": [
"sum"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"repeat": "userid",
"repeatDirection": "h",
"targets": [
{
"alias": "",
"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\")\r\n |> sum()\r\n |> group()\r\n |> pivot(rowKey:[\"user\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n |> filter(fn: (r) => r.user =~ /$userid$/)",
"rawQuery": true,
"refId": "A",
"resultFormat": "table"
}
],
"title": "User ID $userid",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"sum": true,
"user": true
},
"indexByName": {},
"renameByName": {}
}
}
],
"type": "piechart"
}
],
"refresh": "",
"schemaVersion": 37,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"allValue": ".*",
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "import \"influxdata/influxdb/schema\"schema.measurementTagValues( bucket: \"${bucket}\", tag: \"user\", measurement: \"storageClientOpsByUser\")",
"hide": 0,
"includeAll": true,
"label": "User ID",
"multi": true,
"name": "userid",
"options": [],
"query": "import \"influxdata/influxdb/schema\"schema.measurementTagValues( bucket: \"${bucket}\", tag: \"user\", measurement: \"storageClientOpsByUser\")",
"refresh": 2,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
},
{
"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"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "BeeGFS Client Operations (by User)",
"uid": "RBCm2Vk",
"version": 2,
"weekStart": ""
}

View File

@@ -0,0 +1,641 @@
{
"__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": "piechart",
"name": "Pie chart",
"version": ""
},
{
"type": "panel",
"id": "table",
"name": "Table",
"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": [
{
"collapsed": true,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 6,
"panels": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "center",
"cellOptions": {
"type": "auto"
},
"filterable": false,
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "user"
},
"properties": [
{
"id": "unit",
"value": "none"
}
]
}
]
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 1
},
"id": 2,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"sortBy": [
{
"desc": true,
"displayName": "sum_mdsInf"
}
]
},
"pluginVersion": "9.5.0",
"targets": [
{
"alias": "",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(*) FROM \"metaClientOpsByUser\" WHERE time > ${__from:date:seconds}s AND time < ${__to:date:seconds}s AND \"user\" =~ /^$userid$/ GROUP BY \"user\"\n",
"rawQuery": true,
"refId": "A",
"resultFormat": "table",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"title": "Meta Operation List",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"Time": true
},
"indexByName": {},
"renameByName": {
"sum_close": "close",
"sum_create": "create",
"sum_createLI": "createLI",
"sum_mdsInf": "mdsInf",
"sum_mkdir": "mkdir",
"sum_open": "open",
"sum_rddir": "rddir",
"sum_ren": "ren",
"sum_revalLI": "revalLI",
"sum_rmdir": "rmdir",
"sum_sAttr": "sAttr",
"sum_sChDrct": "sChDrct",
"sum_stat": "stat",
"sum_statLI": "statLI",
"sum_sum": "sum",
"sum_trunc": "trunc",
"sum_unlnk": "unlnk",
"user": "user"
}
}
}
],
"type": "table"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "center",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "user"
},
"properties": [
{
"id": "unit",
"value": "none"
}
]
},
{
"matcher": {
"id": "byName",
"options": "sum_B-rd"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
},
{
"matcher": {
"id": "byName",
"options": "sum_B-wr"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
}
]
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 10
},
"id": 4,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"pluginVersion": "9.5.0",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"query": "SELECT sum(*) FROM \"storageClientOpsByUser\" WHERE time > ${__from:date:seconds}s AND time < ${__to:date:seconds}s AND \"user\" =~ /^$userid$/ GROUP BY \"user\"\n",
"rawQuery": true,
"refId": "A",
"resultFormat": "table"
}
],
"title": "Storage Operation List",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"Time": true
},
"indexByName": {},
"renameByName": {
"sum_B-rd": "B-rd",
"sum_B-wr": "B-wr",
"sum_close": "close",
"sum_getFSize": "getFSize",
"sum_ops-rd": "ops-rd",
"sum_ops-wr": "ops-wr",
"sum_sAttr": "sAttr",
"sum_sChDrct": "sChDrct",
"sum_statfs": "statfs",
"sum_storInf": "storinf",
"sum_sum": "sum",
"sum_trunc": "trunc",
"sum_unlnk": "unlnk",
"user": "user"
}
}
}
],
"type": "table"
}
],
"title": "Operation List",
"type": "row"
},
{
"collapsed": true,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 1
},
"id": 17,
"panels": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": []
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 6,
"x": 0,
"y": 1
},
"id": 24,
"maxPerRow": 4,
"options": {
"displayLabels": [
"percent",
"name"
],
"legend": {
"displayMode": "table",
"placement": "right",
"showLegend": true,
"values": [
"value"
]
},
"pieType": "donut",
"reduceOptions": {
"calcs": [
"sum"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"repeat": "userid",
"repeatDirection": "h",
"targets": [
{
"alias": "",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"query": "SELECT sum(\"close\") AS \"close\", sum(\"getXA\") AS \"getXA\", sum(\"hardlnk\") AS \"hardlnk\", sum(\"listXA\") AS \"listXA\", sum(\"mkdir\") AS \"mkdir\", sum(\"open\") AS \"open\", sum(\"rddir\") AS \"rddir\", sum(\"ren\") AS \"ren\", sum(\"rmXA\") AS \"rmXA\", sum(\"rmdir\") AS \"rmdir\", sum(\"setXA\") AS \"setXA\", sum(\"stat\") AS \"stat\", sum(\"statfs\") AS \"statfs\", sum(\"symlnk\") AS \"symlnk\", sum(\"trunc\") AS \"trunc\", sum(\"unlnk\") AS \"unlnk\", sum(\"ack\") AS \"ack\", sum(\"create\") AS \"create\", sum(\"createLI\") AS \"createLI\", sum(\"dirparent\") AS \"dirparent\", sum(\"entInf\") AS \"entInf\", sum(\"flckAp\") AS \"flckAp\",sum(\"flckEn\") AS \"flckEn\", sum(\"flckRg\") AS \"flckRg\", sum(\"fndOwn\") AS \"fndOwn\", sum(\"lookLI\") AS \"lookLI\", sum(\"mdsInf\") AS \"mdsInf\", sum(\"mirror\") AS \"mirror\", sum(\"mvDirIns\") AS \"mvDirIns\", sum(\"mvFiIns\") AS \"mvFiIns\", sum(\"openLI\") AS \"openLI\", sum(\"refrEnt\") AS \"refrEnt\", sum(\"revalLI\") AS \"revalLI\", sum(\"rmLnk\") AS \"rmLnk\", sum(\"sAttr\") AS \"sAttr\", sum(\"sChDrct\") AS \"sChDrct\", sum(\"sDirPat\") AS \"sDirPat\", sum(\"statLI\") AS \"statLI\" FROM \"metaClientOpsByUser\" WHERE time > ${__from:date:seconds}s AND time < ${__to:date:seconds}s AND (\"user\" =~ /^$userid$/) ",
"rawQuery": true,
"refId": "A",
"resultFormat": "table"
}
],
"title": "User ID $userid",
"type": "piechart"
}
],
"title": "Meta Operation Per User",
"type": "row"
},
{
"collapsed": true,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 2
},
"id": 8,
"panels": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": []
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 6,
"x": 0,
"y": 18
},
"id": 10,
"maxPerRow": 4,
"options": {
"displayLabels": [
"name",
"percent"
],
"legend": {
"displayMode": "table",
"placement": "right",
"showLegend": true,
"values": [
"value"
]
},
"pieType": "donut",
"reduceOptions": {
"calcs": [
"sum"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "9.0.8",
"repeat": "userid",
"repeatDirection": "h",
"targets": [
{
"alias": "",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"user"
],
"type": "tag"
}
],
"measurement": "storageClientOpsByUser",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"ack\") AS \"ack\", sum(\"close\") AS \"close\", sum(\"fsync\") AS \"fsync\", sum(\"gendbg\") AS \"gendbg\", sum(\"getFSize\") AS \"getFSize\", sum(\"hrtbeat\") AS \"hrtbeat\", sum(\"ops-rd\") AS \"ops-rd\", sum(\"ops-wr\") AS \"ops-wr\", sum(\"remNode\") AS \"remNode\", sum(\"sAttr\") AS \"sAttr\", sum(\"sChDrct\") AS \"sChDrct\", sum(\"statfs\") AS \"statfs\", sum(\"storInf\") AS \"storInf\", sum(\"trunc\") AS \"trunc\", sum(\"unlnk\") AS \"unlnk\" FROM \"storageClientOpsByUser\" WHERE time > ${__from:date:seconds}s AND time < ${__to:date:seconds}s AND (\"user\" =~ /^$userid$/) ",
"rawQuery": true,
"refId": "A",
"resultFormat": "table",
"select": [
[
{
"params": [
"B-wr"
],
"type": "field"
},
{
"params": [],
"type": "sum"
},
{
"params": [
"write"
],
"type": "alias"
}
],
[
{
"params": [
"B-rd"
],
"type": "field"
},
{
"params": [],
"type": "sum"
},
{
"params": [
"read"
],
"type": "alias"
}
]
],
"tags": [
{
"key": "user",
"operator": "=~",
"value": "/^$userid$/"
}
]
}
],
"title": "User ID $userid",
"transparent": true,
"type": "piechart"
}
],
"title": "Storage Operation Per User",
"type": "row"
}
],
"refresh": "",
"schemaVersion": 37,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "show tag values from storageClientOpsByUser with key = \"user\"",
"hide": 0,
"includeAll": true,
"label": "User ID",
"multi": true,
"name": "userid",
"options": [],
"query": "show tag values from storageClientOpsByUser with key = \"user\"",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "BeeGFS Client Operations (by User)",
"uid": "RYuIR1V4k",
"version": 1,
"weekStart": ""
}

View File

@@ -0,0 +1,582 @@
{
"__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": "piechart",
"name": "Pie chart",
"version": ""
},
{
"type": "panel",
"id": "table",
"name": "Table",
"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": 2,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 13,
"panels": [],
"title": "Operation List",
"type": "row"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"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": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "user"
},
"properties": [
{
"id": "unit",
"value": "none"
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 1
},
"id": 8,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"frameIndex": 0,
"showHeader": true,
"sortBy": []
},
"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 == \"metaClientOpsByUser\")\r\n |> filter(fn: (r) => r.user =~ /${userid:regex}/)\r\n |> sum()\r\n |> group()\r\n |> pivot(rowKey:[\"user\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n",
"refId": "A"
}
],
"title": "Meta Operation List",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"sum {_start=\"2023-01-11 23:29:59.44 +0000 UTC\", _stop=\"2023-01-12 05:30:59.646295406 +0000 UTC\"}": true
},
"indexByName": {},
"renameByName": {
"mdsInf {_start=\"2023-01-11 23:29:59.44 +0000 UTC\", _stop=\"2023-01-12 05:30:59.646295406 +0000 UTC\"}": "mdsInf",
"sChDrct {_start=\"2023-01-11 23:29:59.44 +0000 UTC\", _stop=\"2023-01-12 05:30:59.646295406 +0000 UTC\"}": "sChDrct",
"stat {_start=\"2023-01-11 23:29:59.44 +0000 UTC\", _stop=\"2023-01-12 05:30:59.646295406 +0000 UTC\"}": "stat",
"sum {_start=\"2023-01-11 23:29:59.44 +0000 UTC\", _stop=\"2023-01-12 05:30:59.646295406 +0000 UTC\"}": "",
"user {_start=\"2023-01-11 23:29:59.44 +0000 UTC\", _stop=\"2023-01-12 05:30:59.646295406 +0000 UTC\"}": "User"
}
}
}
],
"type": "table"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"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": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "user"
},
"properties": [
{
"id": "unit",
"value": "none"
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "^B-wr"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "^B-rd"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 8
},
"id": 2,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"frameIndex": 0,
"showHeader": true,
"sortBy": [
{
"desc": false,
"displayName": "_value"
}
]
},
"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\")\r\n |> filter(fn: (r) => r.user =~ /${userid:regex}/)\r\n |> sum()\r\n |> group()\r\n |> pivot(rowKey:[\"user\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
"refId": "A"
}
],
"title": "Storage Operation List",
"transformations": [
{
"id": "organize",
"options": {}
}
],
"type": "table"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 15
},
"id": 18,
"panels": [],
"title": "Meta Operation Per User",
"type": "row"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": [],
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 16
},
"id": 4,
"maxPerRow": 4,
"options": {
"displayLabels": [
"percent",
"name"
],
"legend": {
"displayMode": "table",
"placement": "right",
"showLegend": true,
"values": [
"value"
]
},
"pieType": "donut",
"reduceOptions": {
"calcs": [
"sum"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"repeat": "userid",
"repeatDirection": "h",
"targets": [
{
"alias": "",
"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 == \"metaClientOpsByUser\")\r\n |> sum()\r\n |> group()\r\n |> pivot(rowKey:[\"user\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n |> filter(fn: (r) => r.user =~ /$userid$/)",
"rawQuery": true,
"refId": "A",
"resultFormat": "table"
}
],
"title": "User ID $userid",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"sum": true,
"user": true
},
"indexByName": {},
"renameByName": {}
}
}
],
"type": "piechart"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 24
},
"id": 23,
"panels": [],
"title": "Storage Operation Per User",
"type": "row"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": [],
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byRegexp",
"options": "^B-wr"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "^B-rd"
},
"properties": [
{
"id": "unit",
"value": "bytes"
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 25
},
"id": 33,
"maxPerRow": 4,
"options": {
"displayLabels": [
"percent",
"name"
],
"legend": {
"displayMode": "table",
"placement": "right",
"showLegend": true,
"values": [
"value"
]
},
"pieType": "donut",
"reduceOptions": {
"calcs": [
"sum"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"repeat": "userid",
"repeatDirection": "h",
"targets": [
{
"alias": "",
"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\")\r\n |> sum()\r\n |> group()\r\n |> pivot(rowKey:[\"user\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n |> filter(fn: (r) => r.user =~ /$userid$/)",
"rawQuery": true,
"refId": "A",
"resultFormat": "table"
}
],
"title": "User ID $userid",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"sum": true,
"user": true
},
"indexByName": {},
"renameByName": {}
}
}
],
"type": "piechart"
}
],
"refresh": "",
"schemaVersion": 37,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"allValue": ".*",
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "import \"influxdata/influxdb/schema\"schema.measurementTagValues( bucket: \"${bucket}\", tag: \"user\", measurement: \"storageClientOpsByUser\")",
"hide": 0,
"includeAll": true,
"label": "User ID",
"multi": true,
"name": "userid",
"options": [],
"query": "import \"influxdata/influxdb/schema\"schema.measurementTagValues( bucket: \"${bucket}\", tag: \"user\", measurement: \"storageClientOpsByUser\")",
"refresh": 2,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
},
{
"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"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "BeeGFS Client Operations (by User)",
"uid": "RBCm2Vk",
"version": 3,
"weekStart": ""
}

163
mon/scripts/grafana/import-alerts Executable file
View File

@@ -0,0 +1,163 @@
#!/bin/bash
function addAlert() {
alert_json=$(cat "$1")
modified_json=$(echo "$alert_json" | sed -e "s/\${DS_UID}/$DATASOURCE_UID/g")
curl -s -X POST "$HOST/api/v1/provisioning/alert-rules" \
--header "Content-type: application/json" \
--header "X-Disable-Provenance;" \
--data "$modified_json"
}
function addAlertV2() {
alert_json=$(cat "$1")
modified_json=$(echo "$alert_json" | sed -e "s/\${DS_UID}/$DATASOURCE_UID/g; s/\${BUCKET}/$BUCKET_NAME/g")
curl -s -X POST "$HOST/api/v1/provisioning/alert-rules" \
--header "Content-type: application/json" \
--header "X-Disable-Provenance;" \
--data "$modified_json"
}
function addDashboard() {
echo -e "{\"dashboard\": $(cat $1), \"folderUid\": \"beegfsalertfolder\"}" | \
sed -e "s,\${DS_BEEGFS_MON_INFLUXDB},$DATASOURCE_NAME,g" | \
curl -s -X POST "$HOST/api/dashboards/db" \
--header "Content-type: application/json" \
--data @-
}
function addFolder() {
curl -s -X POST "$HOST/api/folders" \
--header "Content-type: application/json" \
--data '{"uid": "beegfsalertfolder", "title": "BeeGFS-Alert"}'
}
function addTemplate() {
curl -s -X PUT "$HOST/api/v1/provisioning/templates/BeeGFS-Email-Template" \
--header "X-Disable-Provenance;" \
--header "Content-Type: application/json" \
--data "@$alert_path/email-template.json"
}
function addContactPoint() {
curl -s -X POST "$HOST/api/v1/provisioning/contact-points" \
--header "X-Disable-Provenance;" \
--header "Content-Type: application/json" \
--data "@$alert_path/contact-point.json"
}
function addPolicies() {
update_policies=$(cat $1)
curl -s -X PUT "$HOST/api/v1/provisioning/policies" \
--header "X-Disable-Provenance;" \
--header "Content-Type: application/json" \
--data "$update_policies"
}
HOST="http://admin:admin@localhost:3000"
if [[ $1 != "default" ]] && [[ ! $# -eq 1 ]]; then
echo "This script imports the default beegfs-mon Alerts into Grafana using its HTTP API."
echo ""
echo "Usage: "
echo "Default installation to localhost: $(basename "$0") default"
echo "Custom installation: $(basename "$0") <grafana url>"
echo ""
echo "Default:"
echo "$(basename "$0") $HOST"
exit 0
fi
command -v curl > /dev/null 2>&1 || \
{
echo "This script requires curl, but it doesn't seem to be installed. Aborting."
exit 1
}
if [[ $1 != "default" ]]; then
HOST="$1"
fi
echo "Select an option:"
echo "1. Using BeeGFS Monitoring with Telegraf"
echo "2. Using BeeGFS Monitoring without Telegraf"
read -p "Enter your Option: " option
if [[ "$option" == "1" ]]; then
monType="wtelegraf"
elif [[ "$option" == "2" ]]; then
monType="wotelegraf"
else
echo "*** Please select correct option ***"
exit 1
fi
echo "Select an option:"
echo "Please select influxdb version:"
echo "1) Influxdb 1.x"
echo "2) Influxdb 2.x"
read -p "Enter your influxdb Verion: " influxdb_version
DATASOURCE_UID=$(curl -s "$HOST/api/datasources/name/beegfs_mon_influxdb" | grep -o '"uid": *"[^"]*"' | cut -d'"' -f4)
DATASOURCE_NAME=$(curl -s "$HOST/api/datasources/name/beegfs_mon_influxdb" | grep -o '"name": *"[^"]*"' | cut -d'"' -f4)
if [[ "$influxdb_version" == "2" ]]; then
BUCKET_NAME=$(curl -s "$HOST/api/datasources/name/beegfs_mon_influxdb" | grep -o '"defaultBucket": *"[^"]*"' | cut -d'"' -f4)
fi
ALERT_DIR=$(dirname "$0")
alert_path="$ALERT_DIR/alerts"
addFolder
if [[ "$influxdb_version" == "1" ]] && [[ "$monType" == "wtelegraf" ]]; then
for alert_file in "$alert_path"/*-v1.json; do
if [ -f "$alert_file" ]; then
addAlert "$alert_file"
fi
done
elif [[ "$influxdb_version" == "2" ]] && [[ "$monType" == "wtelegraf" ]] ; then
for alert_file in "$alert_path"/*-v2.json; do
if [ -f "$alert_file" ]; then
addAlertV2 "$alert_file"
fi
done
elif [[ "$influxdb_version" == "1" ]] && [[ "$monType" == "wotelegraf" ]] ; then
addAlert $alert_path/Disk-alert-v1.json
addAlert $alert_path/Inodes-alert-v1.json
addAlert $alert_path/MetaQueuedrequest-alert-v1.json
addAlert $alert_path/StorageQueuedrequest-alert-v1.json
elif [[ "$influxdb_version" == "2" ]] && [[ "$monType" == "wotelegraf" ]] ; then
addAlertV2 $alert_path/Disk-alert-v2.json
addAlertV2 $alert_path/Inodes-alert-v2.json
addAlertV2 $alert_path/MetaQueuedrequest-alert-v2.json
addAlertV2 $alert_path/StorageQueuedrequest-alert-v2.json
else
echo "*** Please select correct version of InfluxDB ***"
exit 1
fi
addDashboard "$alert_path/alert-dashboard.json"
addTemplate
addContactPoint
if [[ "$monType" == "wotelegraf" ]]; then
addPolicies "$alert_path/policies.json"
elif [[ "$monType" == "wtelegraf" ]] ; then
addPolicies "$alert_path/policies-telegraf.json"
else
echo "*** Please notification policies ***"
fi
echo -e "\n\n\n######### Alert is configured. Next step: update email address in contact point of beegfs-email. #########"

View File

@@ -0,0 +1,146 @@
#!/bin/bash
function addDashboard() {
echo -e "{\"dashboard\": $(cat $1) }" | \
sed -e "s,\${DS_BEEGFS_MON_INFLUXDB},$DATASOURCE_NAME,g" | \
curl -s -X POST "$HOST/api/dashboards/db" \
--header "Content-type: application/json" \
--data @-
}
function addDatasource() {
sed -e "s,%DATABASE_NAME%,$DATABASE_NAME,g" \
-e "s,%DATABASE_USER%,$DATABASE_USER,g" \
-e "s,%DATASOURCE_URL%,$DATASOURCE_URL,g" \
-e "s,%DATASOURCE_NAME%,$DATASOURCE_NAME,g" \
-e "s,%PASSWORD%,$PASSWORD,g" \
"$1" | \
curl -s -X POST "$HOST/api/datasources" \
--header "Content-type: application/json" \
--data @-
}
function addDatasourceV2() {
sed -e "s,%BUCKET_NAME%,$BUCKET_NAME,g" \
-e "s,%ORG_NAME%,$ORG_NAME,g" \
-e "s,%DATASOURCE_URL%,$DATASOURCE_URL,g" \
-e "s,%DATASOURCE_NAME%,$DATASOURCE_NAME,g" \
-e "s,%TOKEN%,$TOKEN,g" \
"$1" | \
curl -s -X POST "$HOST/api/datasources" \
--header "Content-type: application/json" \
--data @-
}
DATASOURCE_NAME="beegfs_mon_influxdb"
HOST="http://admin:admin@localhost:3000"
DATASOURCE_URL="http://localhost:8086"
if [[ $1 != "default" ]] && [[ ! $# -eq 2 ]]; then
echo "This script imports the default beegfs-mon Dashboards into Grafana using its HTTP API."
echo "Curl is required."
echo ""
echo "Usage: "
echo "Default installation to localhost: $(basename "$0") default"
echo "Custom installation: $(basename "$0") <grafana url> <datasource url>"
echo ""
echo "Default:"
echo "$(basename "$0") $HOST $DATASOURCE_URL $DATABASE_NAME"
exit 0
fi
command -v curl > /dev/null 2>&1 || \
{
echo "This script requires curl, but it doesn't seem to be installed. Aborting."
exit 1
}
echo "Select an option:"
echo "1. Using BeeGFS Monitoring with Telegraf"
echo "2. Using BeeGFS Monitoring without Telegraf"
read -p "Enter your Option: " option
if [[ "$option" == "1" ]]; then
monType="wtelegraf"
elif [[ "$option" == "2" ]]; then
monType="wotelegraf"
else
echo "*** Please select correct option ***"
exit 1
fi
echo "Please select influxdb version:"
echo "1) Influxdb 1.x"
echo "2) Influxdb 2.x"
if [[ $1 != "default" ]]; then
HOST="$1"
DATASOURCE_URL="$2"
fi
GRAFANA_DIR=$(dirname "$0")
read -p "Enter your influxdb Verion: " influxdb_version
if [[ "$influxdb_version" == "1" ]] ; then
read -p "Enter Database Name: " DATABASE_NAME
read -p "Enter Database User: " DATABASE_USER
read -s -p "Enter Database Password: " PASSWORD
elif [[ "$influxdb_version" == "2" ]] ; then
read -p "Enter Bucket Name:" BUCKET_NAME
read -p "Enter Organizations: " ORG_NAME
read -s -p "Enter Token: " TOKEN
fi
if [[ "$influxdb_version" == "1" ]] && [[ "$monType" == "wtelegraf" ]] ; then
addDatasource "$GRAFANA_DIR/influxdb.json"
addDashboard "$GRAFANA_DIR/beegfs_overview_telegraf_influxdbv1.json"
addDashboard "$GRAFANA_DIR/meta_telegraf_influxdbv1.json"
addDashboard "$GRAFANA_DIR/storage_telegraf_influxdbv1.json"
addDashboard "$GRAFANA_DIR/storage_targets_telegraf_influxdbv1.json"
addDashboard "$GRAFANA_DIR/client_ops_node_telegraf_influxdbv1.json"
addDashboard "$GRAFANA_DIR/client_ops_user_telegraf_influxdbv1.json"
elif [[ "$influxdb_version" == "2" ]] && [[ "$monType" == "wtelegraf" ]] ; then
addDatasourceV2 "$GRAFANA_DIR/influxdbV2.json"
addDashboard "$GRAFANA_DIR/beegfs_overview_telegraf_influxdbv2.json"
addDashboard "$GRAFANA_DIR/meta_telegraf_influxdbv2.json"
addDashboard "$GRAFANA_DIR/storage_telegraf_influxdbv2.json"
addDashboard "$GRAFANA_DIR/storage_targets_telegraf_influxdbv2.json"
addDashboard "$GRAFANA_DIR/client_ops_node_telegraf_influxdbv2.json"
addDashboard "$GRAFANA_DIR/client_ops_user_telegraf_influxdbv2.json"
elif [[ "$influxdb_version" == "1" ]] && [[ "$monType" == "wotelegraf" ]] ; then
addDatasource "$GRAFANA_DIR/influxdb.json"
addDashboard "$GRAFANA_DIR/beegfs_overview_influxdbv1.json"
addDashboard "$GRAFANA_DIR/meta_influxdbv1.json"
addDashboard "$GRAFANA_DIR/storage_influxdbv1.json"
addDashboard "$GRAFANA_DIR/storage_targets_influxdbv1.json"
addDashboard "$GRAFANA_DIR/client_ops_node_influxdbv1.json"
addDashboard "$GRAFANA_DIR/client_ops_user_influxdbv1.json"
elif [[ "$influxdb_version" == "2" ]] && [[ "$monType" == "wotelegraf" ]] ; then
addDatasourceV2 "$GRAFANA_DIR/influxdbV2.json"
addDashboard "$GRAFANA_DIR/beegfs_overview_influxdbv2.json"
addDashboard "$GRAFANA_DIR/meta_influxdbv2.json"
addDashboard "$GRAFANA_DIR/storage_influxdbv2.json"
addDashboard "$GRAFANA_DIR/storage_targets_influxdbv2.json"
addDashboard "$GRAFANA_DIR/client_ops_node_influxdbv2.json"
addDashboard "$GRAFANA_DIR/client_ops_user_influxdbv2.json"
else
echo "*** Please select correct version of InfluxDB ***"
exit 1
fi

View File

@@ -0,0 +1,10 @@
{
"name":"%DATASOURCE_NAME%",
"type":"influxdb",
"url":"%DATASOURCE_URL%",
"access":"proxy",
"user":"%DATABASE_USER%",
"database":"%DATABASE_NAME%",
"secureJsonData":{
"password":"%PASSWORD%"}
}

View File

@@ -0,0 +1,12 @@
{
"name":"%DATASOURCE_NAME%",
"type":"influxdb",
"url":"%DATASOURCE_URL%",
"access":"proxy",
"jsonData":{
"organization":"%ORG_NAME%",
"defaultBucket":"%BUCKET_NAME%",
"version":"Flux"},
"secureJsonData":{
"token":"%TOKEN%"}
}

View File

@@ -0,0 +1,876 @@
{
"__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": "table",
"name": "Table",
"version": ""
},
{
"type": "panel",
"id": "timeseries",
"name": "Time series",
"version": ""
}
],
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "datasource",
"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": 2,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "continuous-YlBl",
"seriesBy": "max"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 60,
"gradientMode": "opacity",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineStyle": {
"fill": "solid"
},
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"log": 10,
"type": "log"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
},
"unit": "decbytes"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Received"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "#3274d9",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Sent"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "light-green",
"mode": "fixed"
}
},
{
"id": "custom.transform",
"value": "negative-Y"
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 30,
"options": {
"legend": {
"calcs": [
"max"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "asc"
}
},
"targets": [
{
"alias": "Received",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"10s"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"measurement": "highResMeta",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"netRecvBytes"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": [
{
"key": "nodeNumID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
},
{
"alias": "Sent",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"10s"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"hide": false,
"measurement": "highResMeta",
"orderByTime": "ASC",
"policy": "default",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"netSendBytes"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": [
{
"key": "nodeNumID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
}
],
"title": "Network Traffic",
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"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": "auto",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Processed"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "#36bdbc",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Queued"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "#ffb357",
"mode": "fixed"
}
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 32,
"options": {
"legend": {
"calcs": [
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"targets": [
{
"alias": "Processed",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "highResMeta",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"workRequests"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": [
{
"key": "nodeNumID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
},
{
"alias": "Queued",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"hide": false,
"measurement": "highResMeta",
"orderByTime": "ASC",
"policy": "default",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"queuedRequests"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": [
{
"key": "nodeNumID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
}
],
"title": "Work Requests",
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"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
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 8
},
"id": 46,
"links": [],
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"pluginVersion": "9.3.0",
"targets": [
{
"alias": "Responding",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"dsType": "influxdb",
"groupBy": [
{
"params": [
"1m"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"measurement": "meta",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT sum(\"isResponding\") FROM \"meta\" WHERE \"nodeID\" =~ /^$metaID$/ AND $timeFilter GROUP BY time($__interval) fill(previous)",
"rawQuery": false,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"isResponding"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "nodeNumID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
}
],
"title": "Availability",
"type": "table"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "opacity",
"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
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Direct"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "super-light-yellow",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Indirect"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "super-light-blue",
"mode": "fixed"
}
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 8
},
"id": 34,
"options": {
"legend": {
"calcs": [
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"targets": [
{
"alias": "Direct",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"measurement": "meta",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"directWorkListSize"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": [
{
"key": "nodeNumID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
},
{
"alias": "Indirect",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"hide": false,
"measurement": "meta",
"orderByTime": "ASC",
"policy": "default",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"indirectWorkListSize"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": [
{
"key": "nodeNumID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
}
],
"title": "Worklist Size",
"type": "timeseries"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "show tag values from meta with key = \"nodeNumID\" ",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "metaID",
"options": [],
"query": "show tag values from meta with key = \"nodeNumID\" ",
"refresh": 2,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tagsQuery": "",
"type": "query",
"useTags": false
}
]
},
"time": {
"from": "now-5m",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "",
"title": "BeeGFS Meta Server",
"uid": "OUJBUPQW",
"version": 1,
"weekStart": ""
}

View File

@@ -0,0 +1,903 @@
{
"__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": "table",
"name": "Table",
"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": 2,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "continuous-YlBl",
"seriesBy": "max"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 60,
"gradientMode": "opacity",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineStyle": {
"fill": "solid"
},
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"log": 10,
"type": "log"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
},
"unit": "decbytes"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Received"
},
"properties": [
{
"id": "displayName",
"value": "Received"
},
{
"id": "color",
"value": {
"fixedColor": "#3274d9",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Send"
},
"properties": [
{
"id": "displayName",
"value": "Send"
},
{
"id": "color",
"value": {
"fixedColor": "#96d98d",
"mode": "fixed"
}
},
{
"id": "custom.transform",
"value": "negative-Y"
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 22,
"options": {
"legend": {
"calcs": [
"max"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "asc"
}
},
"targets": [
{
"alias": "Received",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"10s"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"measurement": "highResMeta",
"orderByTime": "ASC",
"policy": "default",
"query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r.nodeNumID == \"${metaID}\" and r._measurement == \"highResMeta\" and r._field == \"netRecvBytes\") |> group(columns: [\"nodeNumID\"], mode: \"by\") |> aggregateWindow(every: v.windowPeriod, fn: max, createEmpty: false) |> rename(columns: {_value: \"Received\"})",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"netRecvBytes"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": [
{
"key": "nodeID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
},
{
"alias": "Sent",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"10s"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"hide": false,
"measurement": "highResMeta",
"orderByTime": "ASC",
"policy": "default",
"query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r.nodeNumID == \"${metaID}\" and r._measurement == \"highResMeta\" 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": "/^$metaID$/"
}
]
}
],
"title": "Network Traffic",
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"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": "auto",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Processed"
},
"properties": [
{
"id": "displayName",
"value": "Processed"
},
{
"id": "color",
"value": {
"fixedColor": "#36bdbc",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Queued"
},
"properties": [
{
"id": "displayName",
"value": "Queued"
},
{
"id": "color",
"value": {
"fixedColor": "#ffb357",
"mode": "fixed"
}
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 24,
"options": {
"legend": {
"calcs": [
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"targets": [
{
"alias": "Processed",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "highResMeta",
"orderByTime": "ASC",
"policy": "default",
"query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r.nodeNumID == \"${metaID}\" and r._measurement == \"highResMeta\" and r._field == \"workRequests\") |> group(columns: [\"nodeNumID\"], mode: \"by\") |> aggregateWindow(every: v.windowPeriod, fn: max, createEmpty: false) |> rename(columns: {_value: \"Processed\"})",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"workRequests"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": [
{
"key": "nodeID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
},
{
"alias": "Queued",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"hide": false,
"measurement": "highResMeta",
"orderByTime": "ASC",
"policy": "default",
"query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r.nodeNumID == \"${metaID}\" and r._measurement == \"highResMeta\" and r._field == \"queuedRequests\") |> group(columns: [\"nodeNumID\"], mode: \"by\") |> aggregateWindow(every: v.windowPeriod, fn: max, createEmpty: false) |> rename(columns: {_value: \"Queued\"})",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"queuedRequests"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": [
{
"key": "nodeID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
}
],
"title": "Work Requests",
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"fixedColor": "#9340cc8f",
"mode": "fixed"
},
"custom": {
"align": "center",
"displayMode": "auto",
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "semi-dark-purple",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Value"
},
"properties": [
{
"id": "displayName",
"value": "isResponding"
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 8
},
"id": 8,
"links": [],
"maxDataPoints": 100,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"frameIndex": 0,
"showHeader": true
},
"pluginVersion": "9.3.0",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"dsType": "influxdb",
"groupBy": [],
"measurement": "meta",
"orderByTime": "ASC",
"policy": "default",
"query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r.nodeNumID == \"${metaID}\" and r._measurement == \"meta\" and r._field == \"isResponding\") |> group(columns: [\"nodeNumID\"], mode: \"by\") |> keep(columns: [\"_time\", \"_value\"]) |> aggregateWindow(every: 1m, fn: last, createEmpty: false) |> yield(name: \"last\") ",
"rawQuery": false,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"isResponding"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "nodeID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
}
],
"title": "Availability",
"transformations": [],
"type": "table"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "opacity",
"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
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Direct"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "super-light-yellow",
"mode": "fixed"
}
},
{
"id": "displayName",
"value": "Direct"
}
]
},
{
"matcher": {
"id": "byName",
"options": "Indirect"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "super-light-blue",
"mode": "fixed"
}
},
{
"id": "displayName",
"value": "Indirect"
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 8
},
"id": 26,
"options": {
"legend": {
"calcs": [
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"targets": [
{
"alias": "Direct",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"measurement": "meta",
"orderByTime": "ASC",
"policy": "default",
"query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r.nodeNumID == \"${metaID}\" and r._measurement == \"meta\" and r._field == \"directWorkListSize\") |> group(columns: [\"nodeNumID\"], mode: \"by\") |> aggregateWindow(every: v.windowPeriod, fn: max, createEmpty: false) |> rename(columns: {_value: \"Direct\"})",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"directWorkListSize"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": [
{
"key": "nodeID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
},
{
"alias": "Indirect",
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"hide": false,
"measurement": "meta",
"orderByTime": "ASC",
"policy": "default",
"query": "from(bucket: \"${bucket}\") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r.nodeNumID == \"${metaID}\" and r._measurement == \"meta\" and r._field == \"indirectWorkListSize\") |> group(columns: [\"nodeNumID\"], mode: \"by\") |> aggregateWindow(every: v.windowPeriod, fn: max, createEmpty: false) |> rename(columns: {_value: \"Indirect\"})",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"indirectWorkListSize"
],
"type": "field"
},
{
"params": [],
"type": "max"
}
]
],
"tags": [
{
"key": "nodeID",
"operator": "=~",
"value": "/^$metaID$/"
}
]
}
],
"title": "Worklist Size",
"type": "timeseries"
}
],
"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: \"meta\")",
"hide": 0,
"includeAll": false,
"label": "metaID",
"multi": false,
"name": "metaID",
"options": [],
"query": "import \"influxdata/influxdb/schema\"schema.measurementTagValues( bucket: \"${bucket}\", tag: \"nodeNumID\", measurement: \"meta\")",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "BeeGFS Meta Server",
"uid": "OTSb6z",
"version": 2,
"weekStart": ""
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,633 @@
{
"__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": "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": 2,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMin": 0,
"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": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "bytes"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "storageTargets.Total"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "semi-dark-purple",
"mode": "fixed"
}
},
{
"id": "unit",
"value": "bytes"
},
{
"id": "displayName",
"value": "Disk Total"
}
]
},
{
"matcher": {
"id": "byName",
"options": "Used"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "semi-dark-blue",
"mode": "fixed"
}
},
{
"id": "unit",
"value": "bytes"
},
{
"id": "displayName",
"value": "Disk Used"
}
]
},
{
"matcher": {
"id": "byName",
"options": "storageTargets.Free"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": true,
"tooltip": true,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"links": [],
"maxPerRow": 2,
"options": {
"legend": {
"calcs": [
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "9.3.2",
"repeat": "storageTargetID",
"repeatDirection": "v",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"measurement": "storageTargets",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT max(\"diskSpaceTotal\"), last(\"diskSpaceFree\"), difference(\"diskSpaceTotal\"), difference(\"diskSpaceTotal\") FROM \"storageTargets\" WHERE (\"storageTargetID\" =~ /^$storageTargetID$/) AND $timeFilter GROUP BY time($__interval) fill(none)",
"rawQuery": false,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"diskSpaceTotal"
],
"type": "field"
},
{
"params": [],
"type": "max"
},
{
"params": [
"Total"
],
"type": "alias"
}
],
[
{
"params": [
"diskSpaceFree"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"Free"
],
"type": "alias"
}
]
],
"tags": [
{
"key": "storageTargetID",
"operator": "=~",
"value": "/^$storageTargetID$/"
}
]
}
],
"title": "Disk Space ($storageTargetID)",
"transformations": [
{
"id": "joinByField",
"options": {}
},
{
"id": "calculateField",
"options": {
"alias": "Used",
"binary": {
"left": "storageTargets.Total",
"operator": "-",
"reducer": "sum",
"right": "storageTargets.Free"
},
"mode": "binary",
"reduce": {
"reducer": "sum"
}
}
}
],
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"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"
}
},
"decimals": 0,
"mappings": [],
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "storageTargets.Inodes Total"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "#73ffe4",
"mode": "fixed"
}
},
{
"id": "displayName",
"value": "Inodes Total"
}
]
},
{
"matcher": {
"id": "byName",
"options": "Inodes Used"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "semi-dark-yellow",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "storageTargets.Inodes Free"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": true,
"tooltip": true,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 0
},
"id": 5,
"maxPerRow": 2,
"options": {
"legend": {
"calcs": [
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "storageTargetID",
"repeatDirection": "v",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "storageTargets",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"inodesTotal"
],
"type": "field"
},
{
"params": [],
"type": "max"
},
{
"params": [
"Inodes Total"
],
"type": "alias"
}
],
[
{
"params": [
"inodesFree"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"Inodes Free"
],
"type": "alias"
}
]
],
"tags": [
{
"key": "storageTargetID",
"operator": "=~",
"value": "/^$storageTargetID$/"
}
]
}
],
"title": "Inodes ($storageTargetID)",
"transformations": [
{
"id": "joinByField",
"options": {}
},
{
"id": "calculateField",
"options": {
"alias": "Inodes Used",
"binary": {
"left": "storageTargets.Inodes Total",
"operator": "-",
"reducer": "sum",
"right": "storageTargets.Inodes Free"
},
"mode": "binary",
"reduce": {
"reducer": "sum"
}
}
}
],
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 37,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "show tag values from storage with key IN ( \"nodeNumID\") ",
"hide": 0,
"includeAll": false,
"label": "Storage ID",
"multi": false,
"name": "storageID",
"options": [],
"query": "show tag values from storage with key IN ( \"nodeNumID\") ",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "show tag values from storageTargets with key = \"storageTargetID\" where nodeNumID =~ /^$storageID$/",
"hide": 0,
"includeAll": true,
"label": "Storage TargetID",
"multi": true,
"name": "storageTargetID",
"options": [],
"query": "show tag values from storageTargets with key = \"storageTargetID\" where nodeNumID =~ /^$storageID$/",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tagsQuery": "",
"type": "query",
"useTags": false
}
]
},
"time": {
"from": "now-30m",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "",
"title": "BeeGFS Storage Targets",
"uid": "NyuGiE04k",
"version": 2,
"weekStart": ""
}

View File

@@ -0,0 +1,445 @@
{
"__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": "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": 2,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"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": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "bytes"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "diskSpaceTotal"
},
"properties": [
{
"id": "displayName",
"value": "Disk Space Total"
},
{
"id": "color",
"value": {
"fixedColor": "semi-dark-purple",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "diskSpaceUsed"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "semi-dark-blue",
"mode": "fixed"
}
},
{
"id": "displayName",
"value": "Disk Space Used"
}
]
},
{
"matcher": {
"id": "byName",
"options": "diskSpaceFree"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": true,
"tooltip": true,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "9.3.2",
"repeat": "storageTargetID",
"repeatDirection": "v",
"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.storageTargetID == \"${storageTargetID}\") \r\n|> filter(fn: (r) => r._measurement == \"storageTargets\")\r\n|> filter(fn: (r) => r._field == \"diskSpaceTotal\" or r._field == \"diskSpaceFree\")\r\n|> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n|> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n|> map(fn: (r) => ({ r with _value: r.diskSpaceTotal - r.diskSpaceFree }))\r\n|> rename(columns: {_value: \"diskSpaceUsed\"})",
"refId": "A"
}
],
"title": "Disk Usage ($storageTargetID)",
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "continuous-YlBl"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"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": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"decimals": 0,
"mappings": [],
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "inodesTotal"
},
"properties": [
{
"id": "displayName",
"value": "Inodes Total"
},
{
"id": "color",
"value": {
"fixedColor": "#73ffe4",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "inodesUsed"
},
"properties": [
{
"id": "displayName",
"value": "Inodes Used"
},
{
"id": "color",
"value": {
"fixedColor": "semi-dark-yellow",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "inodesFree"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": true,
"tooltip": true,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 0
},
"id": 4,
"options": {
"legend": {
"calcs": [
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "storageTargetID",
"repeatDirection": "v",
"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.storageTargetID == \"${storageTargetID}\") \r\n|> filter(fn: (r) => r._measurement == \"storageTargets\")\r\n|> filter(fn: (r) => r._field == \"inodesTotal\" or r._field == \"inodesFree\" )\r\n|> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n|> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n|> map(fn: (r) => ({ r with _value: r.inodesTotal - r.inodesFree }))\r\n|> rename(columns: {_value: \"inodesUsed\"})",
"refId": "A"
}
],
"title": "Inodes ($storageTargetID)",
"type": "timeseries"
}
],
"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": 0,
"includeAll": false,
"label": "Storage ID",
"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"
},
{
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "import \"influxdata/influxdb/schema\"schema.tagValues( bucket: \"${bucket}\", tag: \"storageTargetID\", predicate: (r) => r._measurement == \"storageTargets\" and r.nodeNumID == \"${storageID:\"\"}\")",
"hide": 0,
"includeAll": true,
"label": "Storage TargetID",
"multi": true,
"name": "storageTargetID",
"options": [],
"query": "import \"influxdata/influxdb/schema\"schema.tagValues( bucket: \"${bucket}\", tag: \"storageTargetID\", predicate: (r) => r._measurement == \"storageTargets\" and r.nodeNumID == \"${storageID:\"\"}\")",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
}
]
},
"time": {
"from": "now-5m",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "BeeGFS Storage Targets",
"uid": "CtdY1AVzy",
"version": 2,
"weekStart": ""
}

View File

@@ -0,0 +1,633 @@
{
"__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": "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": 2,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMin": 0,
"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": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "bytes"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "storageTargets.Total"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "semi-dark-purple",
"mode": "fixed"
}
},
{
"id": "unit",
"value": "bytes"
},
{
"id": "displayName",
"value": "Disk Total"
}
]
},
{
"matcher": {
"id": "byName",
"options": "Used"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "semi-dark-blue",
"mode": "fixed"
}
},
{
"id": "unit",
"value": "bytes"
},
{
"id": "displayName",
"value": "Disk Used"
}
]
},
{
"matcher": {
"id": "byName",
"options": "storageTargets.Free"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": true,
"tooltip": true,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"links": [],
"maxPerRow": 2,
"options": {
"legend": {
"calcs": [
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "9.3.2",
"repeat": "storageTargetID",
"repeatDirection": "v",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"none"
],
"type": "fill"
}
],
"measurement": "storageTargets",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT max(\"diskSpaceTotal\"), last(\"diskSpaceFree\"), difference(\"diskSpaceTotal\"), difference(\"diskSpaceTotal\") FROM \"storageTargets\" WHERE (\"storageTargetID\" =~ /^$storageTargetID$/) AND $timeFilter GROUP BY time($__interval) fill(none)",
"rawQuery": false,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"diskSpaceTotal"
],
"type": "field"
},
{
"params": [],
"type": "max"
},
{
"params": [
"Total"
],
"type": "alias"
}
],
[
{
"params": [
"diskSpaceFree"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"Free"
],
"type": "alias"
}
]
],
"tags": [
{
"key": "storageTargetID",
"operator": "=~",
"value": "/^$storageTargetID$/"
}
]
}
],
"title": "Disk Space ($storageTargetID)",
"transformations": [
{
"id": "joinByField",
"options": {}
},
{
"id": "calculateField",
"options": {
"alias": "Used",
"binary": {
"left": "storageTargets.Total",
"operator": "-",
"reducer": "sum",
"right": "storageTargets.Free"
},
"mode": "binary",
"reduce": {
"reducer": "sum"
}
}
}
],
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"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"
}
},
"decimals": 0,
"mappings": [],
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "storageTargets.Inodes Total"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "#73ffe4",
"mode": "fixed"
}
},
{
"id": "displayName",
"value": "Inodes Total"
}
]
},
{
"matcher": {
"id": "byName",
"options": "Inodes Used"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "semi-dark-yellow",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "storageTargets.Inodes Free"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": true,
"tooltip": true,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 0
},
"id": 5,
"maxPerRow": 2,
"options": {
"legend": {
"calcs": [
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "storageTargetID",
"repeatDirection": "v",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "storageTargets",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"inodesTotal"
],
"type": "field"
},
{
"params": [],
"type": "max"
},
{
"params": [
"Inodes Total"
],
"type": "alias"
}
],
[
{
"params": [
"inodesFree"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"Inodes Free"
],
"type": "alias"
}
]
],
"tags": [
{
"key": "storageTargetID",
"operator": "=~",
"value": "/^$storageTargetID$/"
}
]
}
],
"title": "Inodes ($storageTargetID)",
"transformations": [
{
"id": "joinByField",
"options": {}
},
{
"id": "calculateField",
"options": {
"alias": "Inodes Used",
"binary": {
"left": "storageTargets.Inodes Total",
"operator": "-",
"reducer": "sum",
"right": "storageTargets.Inodes Free"
},
"mode": "binary",
"reduce": {
"reducer": "sum"
}
}
}
],
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 37,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "show tag values from storage with key IN ( \"nodeNumID\") ",
"hide": 0,
"includeAll": false,
"label": "Storage ID",
"multi": false,
"name": "storageID",
"options": [],
"query": "show tag values from storage with key IN ( \"nodeNumID\") ",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "show tag values from storageTargets with key = \"storageTargetID\" where nodeNumID =~ /^$storageID$/",
"hide": 0,
"includeAll": true,
"label": "Storage TargetID",
"multi": true,
"name": "storageTargetID",
"options": [],
"query": "show tag values from storageTargets with key = \"storageTargetID\" where nodeNumID =~ /^$storageID$/",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tagsQuery": "",
"type": "query",
"useTags": false
}
]
},
"time": {
"from": "now-30m",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "",
"title": "BeeGFS Storage Targets",
"uid": "NyuGiE04k",
"version": 2,
"weekStart": ""
}

View File

@@ -0,0 +1,445 @@
{
"__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": "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": 2,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"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": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "bytes"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "diskSpaceTotal"
},
"properties": [
{
"id": "displayName",
"value": "Disk Space Total"
},
{
"id": "color",
"value": {
"fixedColor": "semi-dark-purple",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "diskSpaceUsed"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "semi-dark-blue",
"mode": "fixed"
}
},
{
"id": "displayName",
"value": "Disk Space Used"
}
]
},
{
"matcher": {
"id": "byName",
"options": "diskSpaceFree"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": true,
"tooltip": true,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "9.3.2",
"repeat": "storageTargetID",
"repeatDirection": "v",
"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.storageTargetID == \"${storageTargetID}\") \r\n|> filter(fn: (r) => r._measurement == \"storageTargets\")\r\n|> filter(fn: (r) => r._field == \"diskSpaceTotal\" or r._field == \"diskSpaceFree\")\r\n|> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n|> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n|> map(fn: (r) => ({ r with _value: r.diskSpaceTotal - r.diskSpaceFree }))\r\n|> rename(columns: {_value: \"diskSpaceUsed\"})",
"refId": "A"
}
],
"title": "Disk Usage ($storageTargetID)",
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "continuous-YlBl"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"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": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"decimals": 0,
"mappings": [],
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "inodesTotal"
},
"properties": [
{
"id": "displayName",
"value": "Inodes Total"
},
{
"id": "color",
"value": {
"fixedColor": "#73ffe4",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "inodesUsed"
},
"properties": [
{
"id": "displayName",
"value": "Inodes Used"
},
{
"id": "color",
"value": {
"fixedColor": "semi-dark-yellow",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "inodesFree"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": true,
"tooltip": true,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 0
},
"id": 4,
"options": {
"legend": {
"calcs": [
"max",
"lastNotNull"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "storageTargetID",
"repeatDirection": "v",
"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.storageTargetID == \"${storageTargetID}\") \r\n|> filter(fn: (r) => r._measurement == \"storageTargets\")\r\n|> filter(fn: (r) => r._field == \"inodesTotal\" or r._field == \"inodesFree\" )\r\n|> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n|> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n|> map(fn: (r) => ({ r with _value: r.inodesTotal - r.inodesFree }))\r\n|> rename(columns: {_value: \"inodesUsed\"})",
"refId": "A"
}
],
"title": "Inodes ($storageTargetID)",
"type": "timeseries"
}
],
"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": 0,
"includeAll": false,
"label": "Storage ID",
"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"
},
{
"current": {},
"datasource": {
"type": "influxdb",
"uid": "${DS_BEEGFS_MON_INFLUXDB}"
},
"definition": "import \"influxdata/influxdb/schema\"schema.tagValues( bucket: \"${bucket}\", tag: \"storageTargetID\", predicate: (r) => r._measurement == \"storageTargets\" and r.nodeNumID == \"${storageID:\"\"}\")",
"hide": 0,
"includeAll": true,
"label": "Storage TargetID",
"multi": true,
"name": "storageTargetID",
"options": [],
"query": "import \"influxdata/influxdb/schema\"schema.tagValues( bucket: \"${bucket}\", tag: \"storageTargetID\", predicate: (r) => r._measurement == \"storageTargets\" and r.nodeNumID == \"${storageID:\"\"}\")",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
}
]
},
"time": {
"from": "now-5m",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "BeeGFS Storage Targets",
"uid": "CtdY1AVzy",
"version": 2,
"weekStart": ""
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff