From 8734a5523ad9e374b0cc0e373d1528fd7cd8ecce Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Sat, 3 May 2025 14:48:27 +0200
Subject: [PATCH] WIP

Signed-off-by: Martin Weise <martin.weise@tuwien.ac.at>
---
 .docker/.env                                  |   4 +-
 .docker/docker-compose.yml                    |  24 +-
 .env                                          |   3 +-
 .../dashboards/System/dbrepo.json             | 667 ++++++++++++------
 dbrepo-metric-db/prometheus.yml               |   1 +
 docker-compose.yml                            |   4 +-
 helm/dbrepo/files/create-event-listener.jar   | Bin 10286 -> 10284 bytes
 helm/dbrepo/files/dbrepo.json                 | 667 ++++++++++++------
 8 files changed, 958 insertions(+), 412 deletions(-)

diff --git a/.docker/.env b/.docker/.env
index 52679771ec..7c9b6e1b99 100644
--- a/.docker/.env
+++ b/.docker/.env
@@ -1,3 +1,4 @@
+APP_VERSION=1.8
 MARIADB_VERSION=11.3.2
 POSTGRES_VERSION=17.0.0
 KEYCLOAK_VERSION=26.2.2
@@ -6,4 +7,5 @@ OPENSEARCH_VERSION=2.10.0
 NGINX_VERSION=1.27.3-alpine3.20-slim
 OPENLDAP_VERSION=2.6.8
 SEAWEEDFS_VERSION=3.71.0
-PROMETHEUS_VERSION=2.54.1
\ No newline at end of file
+PROMETHEUS_VERSION=2.54.1
+MYSQLD_EXPORTER_VERSION=0.15.1
diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml
index be21ffa852..bd2369c833 100644
--- a/.docker/docker-compose.yml
+++ b/.docker/docker-compose.yml
@@ -99,7 +99,7 @@ services:
     restart: "no"
     container_name: dbrepo-metadata-db-metrics
     hostname: metadata-db-metrics
-    image: docker.io/bitnami/mysqld-exporter:0.15.1
+    image: docker.io/bitnami/mysqld-exporter:${MYSQLD_EXPORTER_VERSION}
     command:
       - --mysqld.address=metadata-db:3306
       - --config.my-cnf=/.my.cnf
@@ -144,7 +144,7 @@ services:
     restart: "no"
     container_name: dbrepo-data-db-metrics
     hostname: data-db-metrics
-    image: docker.io/bitnami/mysqld-exporter:0.15.1
+    image: docker.io/bitnami/mysqld-exporter:${MYSQLD_EXPORTER_VERSION}
     command:
       - --mysqld.address=data-db:3306
       - --config.my-cnf=/.my.cnf
@@ -245,7 +245,7 @@ services:
     init: true
     restart: "no"
     container_name: dbrepo-auth-service-init
-    image: registry.datalab.tuwien.ac.at/dbrepo/auth-service-init:1.8.2
+    image: registry.datalab.tuwien.ac.at/dbrepo/auth-service-init:${DBREPO_VERSION}
     environment:
       AUTH_SERVICE_ENDPOINT: ${AUTH_SERVICE_ENDPOINT:-http://auth-service:8080}
       METADATA_DB: "${METADATA_DB:-dbrepo}"
@@ -270,7 +270,7 @@ services:
     restart: "no"
     container_name: dbrepo-metadata-service
     hostname: metadata-service
-    image: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.8.2
+    image: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:${DBREPO_VERSION}
     environment:
       ADMIN_EMAIL: "${ADMIN_EMAIL:-noreply@localhost}"
       ANALYSE_SERVICE_ENDPOINT: "${ANALYSE_SERVICE_ENDPOINT:-http://analyse-service:8080}"
@@ -334,7 +334,7 @@ services:
     restart: "no"
     container_name: dbrepo-analyse-service
     hostname: analyse-service
-    image: registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.8.2
+    image: registry.datalab.tuwien.ac.at/dbrepo/analyse-service:${DBREPO_VERSION}
     environment:
       AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client}
       AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}
@@ -404,7 +404,7 @@ services:
     restart: "no"
     container_name: dbrepo-search-service
     hostname: search-service
-    image: registry.datalab.tuwien.ac.at/dbrepo/search-service:1.8.2
+    image: registry.datalab.tuwien.ac.at/dbrepo/search-service:${DBREPO_VERSION}
     environment:
       AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client}
       AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT_SECRET:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}
@@ -428,7 +428,7 @@ services:
     restart: "no"
     container_name: dbrepo-ui
     hostname: ui
-    image: registry.datalab.tuwien.ac.at/dbrepo/ui:1.8.2
+    image: registry.datalab.tuwien.ac.at/dbrepo/ui:${DBREPO_VERSION}
     environment:
       NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}"
       NUXT_PUBLIC_API_SERVER: "${BASE_URL:-http://gateway-service}"
@@ -515,7 +515,7 @@ services:
     init: true
     container_name: dbrepo-search-service-init
     hostname: search-service-init
-    image: registry.datalab.tuwien.ac.at/dbrepo/search-service-init:1.8.2
+    image: registry.datalab.tuwien.ac.at/dbrepo/search-service-init:${DBREPO_VERSION}
     environment:
       LOG_LEVEL: ${LOG_LEVEL:-info}
       METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080}
@@ -538,7 +538,7 @@ services:
     init: true
     container_name: dbrepo-dashboard-service-init
     hostname: search-dashboard-init
-    image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service-init:1.8.2
+    image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service-init:${DBREPO_VERSION}
     environment:
       LOG_LEVEL: ${LOG_LEVEL:-info}
       DASHBOARD_UI_ENDPOINT: "${DASHBOARD_UI_ENDPOINT:-http://dashboard-ui:3000}"
@@ -595,7 +595,7 @@ services:
     init: true
     container_name: dbrepo-storage-service-init
     hostname: storage-service-init
-    image: registry.datalab.tuwien.ac.at/dbrepo/storage-service-init:1.8.2
+    image: registry.datalab.tuwien.ac.at/dbrepo/storage-service-init:${DBREPO_VERSION}
     environment:
       S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID:-seaweedfsadmin}
       S3_BUCKET: "${S3_BUCKET:-dbrepo}"
@@ -613,7 +613,7 @@ services:
     restart: "no"
     container_name: dbrepo-data-service
     hostname: data-service
-    image: registry.datalab.tuwien.ac.at/dbrepo/data-service:1.8.2
+    image: registry.datalab.tuwien.ac.at/dbrepo/data-service:${DBREPO_VERSION}
     environment:
       AUTH_SERVICE_CLIENT: "${AUTH_SERVICE_CLIENT:-dbrepo-client}"
       AUTH_SERVICE_CLIENT_SECRET: "${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}"
@@ -695,7 +695,7 @@ services:
     restart: "no"
     container_name: dbrepo-dashboard-service
     hostname: dashboard-service
-    image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service:1.8.2
+    image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service:${DBREPO_VERSION}
     ports:
       - "4070:8080"
     environment:
diff --git a/.env b/.env
index 52679771ec..11a6a01049 100644
--- a/.env
+++ b/.env
@@ -6,4 +6,5 @@ OPENSEARCH_VERSION=2.10.0
 NGINX_VERSION=1.27.3-alpine3.20-slim
 OPENLDAP_VERSION=2.6.8
 SEAWEEDFS_VERSION=3.71.0
-PROMETHEUS_VERSION=2.54.1
\ No newline at end of file
+PROMETHEUS_VERSION=2.54.1
+MYSQLD_EXPORTER_VERSION=0.15.1
\ No newline at end of file
diff --git a/dbrepo-dashboard-ui/dashboards/System/dbrepo.json b/dbrepo-dashboard-ui/dashboards/System/dbrepo.json
index fa4417c60f..ca75b2fffe 100644
--- a/dbrepo-dashboard-ui/dashboards/System/dbrepo.json
+++ b/dbrepo-dashboard-ui/dashboards/System/dbrepo.json
@@ -18,7 +18,7 @@
   "editable": true,
   "fiscalYearStartMonth": 0,
   "graphTooltip": 1,
-  "id": 5,
+  "id": 3,
   "links": [
     {
       "asDropdown": false,
@@ -112,7 +112,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -182,7 +182,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -250,7 +250,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -318,7 +318,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -434,7 +434,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -480,7 +480,7 @@
       },
       "gridPos": {
         "h": 7,
-        "w": 8,
+        "w": 12,
         "x": 0,
         "y": 4
       },
@@ -505,11 +505,12 @@
           "values": false
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "single",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -527,6 +528,104 @@
       "title": "Popular Data Sources",
       "type": "piechart"
     },
+    {
+      "datasource": {
+        "type": "prometheus",
+        "uid": "dbrepometrics0"
+      },
+      "fieldConfig": {
+        "defaults": {
+          "color": {
+            "mode": "palette-classic"
+          },
+          "custom": {
+            "axisBorderShow": false,
+            "axisCenteredZero": false,
+            "axisColorMode": "text",
+            "axisLabel": "",
+            "axisPlacement": "auto",
+            "barAlignment": 0,
+            "barWidthFactor": 0.6,
+            "drawStyle": "line",
+            "fillOpacity": 0,
+            "gradientMode": "none",
+            "hideFrom": {
+              "legend": false,
+              "tooltip": false,
+              "viz": false
+            },
+            "insertNulls": false,
+            "lineInterpolation": "smooth",
+            "lineWidth": 2,
+            "pointSize": 5,
+            "scaleDistribution": {
+              "type": "linear"
+            },
+            "showPoints": "auto",
+            "spanNulls": false,
+            "stacking": {
+              "group": "A",
+              "mode": "none"
+            },
+            "thresholdsStyle": {
+              "mode": "off"
+            }
+          },
+          "mappings": [],
+          "thresholds": {
+            "mode": "absolute",
+            "steps": [
+              {
+                "color": "green",
+                "value": null
+              }
+            ]
+          }
+        },
+        "overrides": []
+      },
+      "gridPos": {
+        "h": 7,
+        "w": 12,
+        "x": 12,
+        "y": 4
+      },
+      "id": 40,
+      "options": {
+        "legend": {
+          "calcs": [],
+          "displayMode": "list",
+          "placement": "bottom",
+          "showLegend": true
+        },
+        "tooltip": {
+          "hideZeros": false,
+          "mode": "single",
+          "sort": "none"
+        }
+      },
+      "pluginVersion": "11.5.3",
+      "targets": [
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "dbrepometrics0"
+          },
+          "disableTextWrap": false,
+          "editorMode": "builder",
+          "expr": "SeaweedFS_s3_request_total",
+          "fullMetaSearch": false,
+          "includeNullMetadata": true,
+          "instant": false,
+          "legendFormat": "{{type}}",
+          "range": true,
+          "refId": "A",
+          "useBackend": false
+        }
+      ],
+      "title": "S3 Requests",
+      "type": "timeseries"
+    },
     {
       "collapsed": false,
       "gridPos": {
@@ -600,7 +699,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -682,7 +781,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -760,7 +859,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -834,7 +933,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -906,7 +1005,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -995,7 +1094,7 @@
         "sizing": "auto",
         "valueMode": "color"
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1093,11 +1192,12 @@
           "showLegend": true
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1184,7 +1284,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1258,7 +1358,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1340,7 +1440,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1422,7 +1522,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1504,7 +1604,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1630,11 +1730,12 @@
           "showLegend": true
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "single",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1656,6 +1757,101 @@
       "title": "Throughput",
       "type": "timeseries"
     },
+    {
+      "datasource": {
+        "type": "prometheus",
+        "uid": "dbrepometrics0"
+      },
+      "fieldConfig": {
+        "defaults": {
+          "color": {
+            "mode": "thresholds"
+          },
+          "mappings": [
+            {
+              "options": {
+                "0": {
+                  "index": 0,
+                  "text": "DOWN"
+                },
+                "1": {
+                  "index": 1,
+                  "text": "UP"
+                }
+              },
+              "type": "value"
+            }
+          ],
+          "thresholds": {
+            "mode": "absolute",
+            "steps": [
+              {
+                "color": "red",
+                "value": null
+              },
+              {
+                "color": "green",
+                "value": 1
+              }
+            ]
+          }
+        },
+        "overrides": []
+      },
+      "gridPos": {
+        "h": 7,
+        "w": 12,
+        "x": 12,
+        "y": 26
+      },
+      "id": 16,
+      "options": {
+        "displayMode": "basic",
+        "legend": {
+          "calcs": [],
+          "displayMode": "list",
+          "placement": "bottom",
+          "showLegend": false
+        },
+        "maxVizHeight": 300,
+        "minVizHeight": 16,
+        "minVizWidth": 8,
+        "namePlacement": "auto",
+        "orientation": "auto",
+        "reduceOptions": {
+          "calcs": [
+            "lastNotNull"
+          ],
+          "fields": "",
+          "values": false
+        },
+        "showUnfilled": true,
+        "sizing": "auto",
+        "valueMode": "color"
+      },
+      "pluginVersion": "11.5.3",
+      "targets": [
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "dbrepometrics0"
+          },
+          "disableTextWrap": false,
+          "editorMode": "builder",
+          "expr": "up",
+          "fullMetaSearch": false,
+          "hide": false,
+          "includeNullMetadata": true,
+          "instant": false,
+          "legendFormat": "{{instance}}",
+          "range": true,
+          "refId": "A",
+          "useBackend": false
+        }
+      ],
+      "title": "Service QoS",
+      "type": "bargauge"
+    },
     {
       "collapsed": false,
       "gridPos": {
@@ -1745,11 +1941,12 @@
           "showLegend": true
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1773,76 +1970,145 @@
     },
     {
       "datasource": {
+        "default": true,
         "type": "prometheus",
         "uid": "dbrepometrics0"
       },
+      "description": "Heap and non-heap memory summed",
       "fieldConfig": {
         "defaults": {
           "color": {
-            "mode": "thresholds"
+            "mode": "palette-classic"
           },
           "custom": {
-            "fillOpacity": 70,
+            "axisBorderShow": false,
+            "axisCenteredZero": false,
+            "axisColorMode": "text",
+            "axisLabel": "",
+            "axisPlacement": "auto",
+            "barAlignment": 0,
+            "barWidthFactor": 0.6,
+            "drawStyle": "line",
+            "fillOpacity": 25,
+            "gradientMode": "none",
             "hideFrom": {
               "legend": false,
               "tooltip": false,
               "viz": false
             },
-            "lineWidth": 1
-          },
-          "mappings": [
-            {
-              "options": {
-                "0": {
-                  "index": 0,
-                  "text": "DOWN"
-                },
-                "1": {
-                  "index": 1,
-                  "text": "UP"
-                }
-              },
-              "type": "value"
+            "insertNulls": false,
+            "lineInterpolation": "smooth",
+            "lineWidth": 2,
+            "pointSize": 5,
+            "scaleDistribution": {
+              "type": "linear"
+            },
+            "showPoints": "auto",
+            "spanNulls": false,
+            "stacking": {
+              "group": "A",
+              "mode": "normal"
+            },
+            "thresholdsStyle": {
+              "mode": "off"
             }
-          ],
+          },
+          "mappings": [],
           "thresholds": {
             "mode": "absolute",
             "steps": [
-              {
-                "color": "red",
-                "value": null
-              },
               {
                 "color": "green",
-                "value": 1
+                "value": null
               }
             ]
-          }
+          },
+          "unit": "decbytes"
         },
-        "overrides": []
-      },
-      "gridPos": {
-        "h": 7,
-        "w": 12,
-        "x": 12,
-        "y": 34
-      },
-      "id": 16,
-      "options": {
-        "colWidth": 0.9,
-        "legend": {
-          "displayMode": "list",
-          "placement": "bottom",
-          "showLegend": false
+        "overrides": [
+          {
+            "matcher": {
+              "id": "byName",
+              "options": "auth-service:9000"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "yellow",
+                  "mode": "fixed"
+                }
+              }
+            ]
+          },
+          {
+            "matcher": {
+              "id": "byName",
+              "options": "data-service:8080"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "blue",
+                  "mode": "fixed"
+                }
+              }
+            ]
+          },
+          {
+            "matcher": {
+              "id": "byName",
+              "options": "metadata-service:8080"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "purple",
+                  "mode": "fixed"
+                }
+              }
+            ]
+          },
+          {
+            "matcher": {
+              "id": "byName",
+              "options": "metadata-service:80"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "blue",
+                  "mode": "fixed"
+                }
+              }
+            ]
+          }
+        ]
+      },
+      "gridPos": {
+        "h": 7,
+        "w": 12,
+        "x": 12,
+        "y": 34
+      },
+      "id": 7,
+      "options": {
+        "legend": {
+          "calcs": [],
+          "displayMode": "list",
+          "placement": "bottom",
+          "showLegend": true
         },
-        "rowHeight": 0.9,
-        "showValue": "auto",
         "tooltip": {
-          "mode": "single",
+          "hideZeros": false,
+          "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1851,9 +2117,10 @@
           },
           "disableTextWrap": false,
           "editorMode": "builder",
-          "expr": "up",
+          "expr": "sum by(instance) (jvm_memory_used_bytes)",
           "fullMetaSearch": false,
-          "includeNullMetadata": true,
+          "hide": false,
+          "includeNullMetadata": false,
           "instant": false,
           "legendFormat": "{{instance}}",
           "range": true,
@@ -1861,8 +2128,8 @@
           "useBackend": false
         }
       ],
-      "title": "Service QoS",
-      "type": "status-history"
+      "title": "JVM Memory Usage",
+      "type": "timeseries"
     },
     {
       "datasource": {
@@ -1997,11 +2264,12 @@
           "showLegend": true
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -2026,11 +2294,9 @@
     },
     {
       "datasource": {
-        "default": true,
         "type": "prometheus",
         "uid": "dbrepometrics0"
       },
-      "description": "Heap and non-heap memory summed",
       "fieldConfig": {
         "defaults": {
           "color": {
@@ -2063,7 +2329,7 @@
             "spanNulls": false,
             "stacking": {
               "group": "A",
-              "mode": "normal"
+              "mode": "none"
             },
             "thresholdsStyle": {
               "mode": "off"
@@ -2079,49 +2345,19 @@
               }
             ]
           },
-          "unit": "decbytes"
+          "unit": "reqps"
         },
         "overrides": [
           {
             "matcher": {
-              "id": "byName",
-              "options": "auth-service:9000"
-            },
-            "properties": [
-              {
-                "id": "color",
-                "value": {
-                  "fixedColor": "yellow",
-                  "mode": "fixed"
-                }
-              }
-            ]
-          },
-          {
-            "matcher": {
-              "id": "byName",
-              "options": "data-service:8080"
-            },
-            "properties": [
-              {
-                "id": "color",
-                "value": {
-                  "fixedColor": "blue",
-                  "mode": "fixed"
-                }
-              }
-            ]
-          },
-          {
-            "matcher": {
-              "id": "byName",
-              "options": "metadata-service:8080"
+              "id": "byRegexp",
+              "options": "/.*search-service.*/"
             },
             "properties": [
               {
                 "id": "color",
                 "value": {
-                  "fixedColor": "purple",
+                  "fixedColor": "orange",
                   "mode": "fixed"
                 }
               }
@@ -2129,14 +2365,14 @@
           },
           {
             "matcher": {
-              "id": "byName",
-              "options": "metadata-service:80"
+              "id": "byRegexp",
+              "options": "/.*analyse-service.*/"
             },
             "properties": [
               {
                 "id": "color",
                 "value": {
-                  "fixedColor": "blue",
+                  "fixedColor": "super-light-orange",
                   "mode": "fixed"
                 }
               }
@@ -2150,7 +2386,7 @@
         "x": 12,
         "y": 41
       },
-      "id": 7,
+      "id": 19,
       "options": {
         "legend": {
           "calcs": [],
@@ -2159,104 +2395,152 @@
           "showLegend": true
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
             "type": "prometheus",
             "uid": "dbrepometrics0"
           },
-          "disableTextWrap": false,
-          "editorMode": "builder",
-          "expr": "sum by(instance) (jvm_memory_used_bytes)",
-          "fullMetaSearch": false,
-          "hide": false,
-          "includeNullMetadata": false,
+          "editorMode": "code",
+          "expr": "rate(flask_http_request_duration_seconds_count{status!~\"200|201|202\"}[$__rate_interval])",
           "instant": false,
-          "legendFormat": "{{instance}}",
+          "legendFormat": "{{method}} {{instance}} ({{status}})",
           "range": true,
-          "refId": "A",
-          "useBackend": false
+          "refId": "A"
         }
       ],
-      "title": "JVM Memory Usage",
+      "title": "Failed API Requests",
       "type": "timeseries"
     },
+    {
+      "collapsed": false,
+      "gridPos": {
+        "h": 1,
+        "w": 24,
+        "x": 0,
+        "y": 48
+      },
+      "id": 39,
+      "panels": [],
+      "title": "Storage",
+      "type": "row"
+    },
     {
       "datasource": {
         "type": "prometheus",
         "uid": "dbrepometrics0"
       },
-      "description": "Top 10 by frequency of access",
       "fieldConfig": {
         "defaults": {
           "color": {
             "mode": "palette-classic"
           },
           "custom": {
+            "axisBorderShow": false,
+            "axisCenteredZero": false,
+            "axisColorMode": "text",
+            "axisLabel": "",
+            "axisPlacement": "auto",
+            "barAlignment": 0,
+            "barWidthFactor": 0.6,
+            "drawStyle": "line",
+            "fillOpacity": 10,
+            "gradientMode": "none",
             "hideFrom": {
               "legend": false,
               "tooltip": false,
               "viz": false
+            },
+            "insertNulls": false,
+            "lineInterpolation": "smooth",
+            "lineWidth": 2,
+            "pointSize": 5,
+            "scaleDistribution": {
+              "type": "linear"
+            },
+            "showPoints": "never",
+            "spanNulls": false,
+            "stacking": {
+              "group": "A",
+              "mode": "none"
+            },
+            "thresholdsStyle": {
+              "mode": "off"
             }
           },
           "mappings": [],
-          "unit": "reqps"
+          "thresholds": {
+            "mode": "absolute",
+            "steps": [
+              {
+                "color": "green",
+                "value": null
+              },
+              {
+                "color": "red",
+                "value": 80
+              }
+            ]
+          },
+          "unit": "short"
         },
         "overrides": []
       },
       "gridPos": {
-        "h": 7,
+        "h": 8,
         "w": 12,
         "x": 0,
-        "y": 48
+        "y": 49
       },
-      "id": 18,
+      "id": 41,
       "options": {
-        "displayLabels": [
-          "percent"
-        ],
+        "alertThreshold": true,
         "legend": {
           "calcs": [],
-          "displayMode": "hidden",
-          "placement": "right",
-          "showLegend": false,
-          "values": []
-        },
-        "pieType": "pie",
-        "reduceOptions": {
-          "calcs": [
-            "lastNotNull"
-          ],
-          "fields": "",
-          "values": false
+          "displayMode": "list",
+          "placement": "bottom",
+          "showLegend": true
         },
         "tooltip": {
-          "mode": "single",
+          "hideZeros": false,
+          "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
             "type": "prometheus",
             "uid": "dbrepometrics0"
           },
-          "editorMode": "code",
-          "expr": "topk(10, rate(dbrepo_table_data_get_total[$__range]))",
-          "instant": false,
-          "legendFormat": "__auto",
-          "range": true,
+          "expr": "sum(SeaweedFS_volumeServer_volumes) by (collection, type)",
+          "format": "time_series",
+          "hide": false,
+          "intervalFactor": 2,
+          "legendFormat": "{{collection}} {{type}}",
           "refId": "A"
+        },
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "dbrepometrics0"
+          },
+          "expr": "sum(SeaweedFS_volumeServer_max_volumes)",
+          "format": "time_series",
+          "intervalFactor": 2,
+          "legendFormat": "Total",
+          "refId": "B"
         }
       ],
-      "title": "Popular Datasources",
-      "type": "piechart"
+      "title": "Volume Count",
+      "type": "timeseries"
     },
     {
       "datasource": {
@@ -2277,7 +2561,7 @@
             "barAlignment": 0,
             "barWidthFactor": 0.6,
             "drawStyle": "line",
-            "fillOpacity": 25,
+            "fillOpacity": 10,
             "gradientMode": "none",
             "hideFrom": {
               "legend": false,
@@ -2291,7 +2575,7 @@
             "scaleDistribution": {
               "type": "linear"
             },
-            "showPoints": "auto",
+            "showPoints": "never",
             "spanNulls": false,
             "stacking": {
               "group": "A",
@@ -2306,53 +2590,28 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green"
-              }
-            ]
-          },
-          "unit": "reqps"
-        },
-        "overrides": [
-          {
-            "matcher": {
-              "id": "byRegexp",
-              "options": "/.*search-service.*/"
-            },
-            "properties": [
+                "color": "green",
+                "value": null
+              },
               {
-                "id": "color",
-                "value": {
-                  "fixedColor": "orange",
-                  "mode": "fixed"
-                }
+                "color": "red",
+                "value": 80
               }
             ]
           },
-          {
-            "matcher": {
-              "id": "byRegexp",
-              "options": "/.*analyse-service.*/"
-            },
-            "properties": [
-              {
-                "id": "color",
-                "value": {
-                  "fixedColor": "super-light-orange",
-                  "mode": "fixed"
-                }
-              }
-            ]
-          }
-        ]
+          "unit": "bytes"
+        },
+        "overrides": []
       },
       "gridPos": {
-        "h": 7,
+        "h": 8,
         "w": 12,
         "x": 12,
-        "y": 48
+        "y": 49
       },
-      "id": 19,
+      "id": 42,
       "options": {
+        "alertThreshold": true,
         "legend": {
           "calcs": [],
           "displayMode": "list",
@@ -2360,26 +2619,38 @@
           "showLegend": true
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
             "type": "prometheus",
             "uid": "dbrepometrics0"
           },
-          "editorMode": "code",
-          "expr": "rate(flask_http_request_duration_seconds_count{status!~\"200|201|202\"}[$__rate_interval])",
-          "instant": false,
-          "legendFormat": "{{method}} {{instance}} ({{status}})",
-          "range": true,
+          "expr": "sum(SeaweedFS_volumeServer_total_disk_size) by (collection, type)",
+          "format": "time_series",
+          "hide": false,
+          "intervalFactor": 2,
+          "legendFormat": "{{collection}} {{type}}",
           "refId": "A"
+        },
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "dbrepometrics0"
+          },
+          "expr": "sum(SeaweedFS_volumeServer_total_disk_size)",
+          "format": "time_series",
+          "intervalFactor": 2,
+          "legendFormat": "Total",
+          "refId": "B"
         }
       ],
-      "title": "Failed API Requests",
+      "title": "Used Disk Space by Collection and Type",
       "type": "timeseries"
     }
   ],
@@ -2407,6 +2678,6 @@
   "timezone": "browser",
   "title": "DBRepo",
   "uid": "bdz20owu8zn5se",
-  "version": 1,
+  "version": 9,
   "weekStart": ""
 }
\ No newline at end of file
diff --git a/dbrepo-metric-db/prometheus.yml b/dbrepo-metric-db/prometheus.yml
index 81aff808c7..e5e5252e9d 100644
--- a/dbrepo-metric-db/prometheus.yml
+++ b/dbrepo-metric-db/prometheus.yml
@@ -1,5 +1,6 @@
 global:
   scrape_interval: 1m
+  scrape_timeout: 10s
 
 rule_files: []
 
diff --git a/docker-compose.yml b/docker-compose.yml
index 5b3371a5b4..0ab6071308 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -99,7 +99,7 @@ services:
     restart: "no"
     container_name: dbrepo-metadata-db-metrics
     hostname: metadata-db-metrics
-    image: docker.io/bitnami/mysqld-exporter:0.15.1
+    image: docker.io/bitnami/mysqld-exporter:${MYSQLD_EXPORTER_VERSION}
     command:
       - --mysqld.address=metadata-db:3306
       - --config.my-cnf=/.my.cnf
@@ -144,7 +144,7 @@ services:
     restart: "no"
     container_name: dbrepo-data-db-metrics
     hostname: data-db-metrics
-    image: docker.io/bitnami/mysqld-exporter:0.15.1
+    image: docker.io/bitnami/mysqld-exporter:${MYSQLD_EXPORTER_VERSION}
     command:
       - --mysqld.address=data-db:3306
       - --config.my-cnf=/.my.cnf
diff --git a/helm/dbrepo/files/create-event-listener.jar b/helm/dbrepo/files/create-event-listener.jar
index 95e6c773ae4814b2dd59bcaac2413fe9c06a1ff0..4e8060b6ba6d6f0ad9bf2a71d447368492fff775 100644
GIT binary patch
delta 1015
zcmZ1%uqHq_z?+#xgn@yBgJDC?;wX70G2fzz!ix0=iw-FW>`hnue}JFin2Oc2u(u0K
zx6Hk`tz2Pto1r3KPSW4sNm~kEmE4kRXsvxyy(d+-NAG}QE%WP=WFw)Cff71894&Ls
z^-D%}^YQH5yy}W<gwW<EEi<<7I`z`%{>8U)Q}&zjHU}@^Ud!^!>x*kLtK`Y0t+mds
z-KwPt)@vV#)ms+y|Gu={bF#Ua^6ARQG85f5HO{f&;AuWy74OK)_W#-L#yaJcm;68L
zi}vM(Noopy*L(b@z``KbqV26?bE1=BW6bPBT<zOJZ$uUR(dln*G_QIzed&uM2g><_
zxQ%7%N{>YUe)D1_v!r0Do#(H=lUMvL4!^ZU{%_p@{~7NUdzI^}4(5gWiuW2W*l^xD
zH2uBQ?}Iz%pAIv+dZmWlJ=8SGoaK!A&R74LTF+&F<6l0tjDzjX&JS!>waa{`_;lH{
zW}0{|?YS)IVk~+5qfTF!l3%(Jqvo;8FKXUj4GVu>clp3YrVqEOIlir0D*lKyc1wlw
z;RoP|;9_9lU;stL<jssK%<FR&Prk*d3#Pf4<iNBxlPdFuoW+xanY6%k1CtY&KFSmU
zmRDdt3#LCXcZ2B7bu4q3z>HlY+?-&BEc+~8=E-S`H=mIG%na7MPjMrdE>c>;2~Px*
z<&`bLqS4CI7E2fz7<^qr9CbbY-1Gyy8JR?wAx>SNvp9+Y2?)X20t{~*PfuQ_tQdf<
zh8ac8Z$<`&#1g!Qa-nFDnJlj&33i#aiZr9k<Zu-^1(2)ZiWnFe)ZrYEGYXj|_cLiv
zKA^${)^=7!nrRzINOO{$*knyr9tDsK|IBN1>SADE_`txxpaIv;z_6rIka@B`v)1H#
zRUT0IP3}{bW_rjx`9HJE<o8gaf2z_<`7D!rSxhGTt3iz8{wMh776${vIspa-F%;wY
z*e736gG6qenlzJ)z~o*Q^~sCWgg}up`L~)h(@xpR{Y;vZ<YXtusq=uHoU1O)v|bS+
vDm7U^iAx6(35blly!i)T2?GPeSq26MVHEq4l_obTiB6W#5Mbj_2FU;bRy$eD

delta 952
zcmZ1zur5G2z?+#xgn@yBgTW$lQ50|Pqyr@rg%#_4iw`LX>`hnu-)PUE^6c=e=&kM7
zE|$4vzi-LWN_LXDapc$g?u*A(Ue2s$5c{_A{l{rbFRWte{=(Z6+I!C91k?T5k^&s8
zbLEUTiO6OY<v$54P4GDKNI2=%s#Oa<C%Ip*p78G0jqiRFwWf-^(7G7jDw?w71n(PZ
zt*ARe+{=Q6^6Dote_x?rJNt@jvXRkzvul(7c!UK^aBtlAJ><Ri3dhIyYs@d?x9I#-
z{O^D6Y}Ukyx{vOq&5`G0U*>gsgRRB|9}l$&+OblJ7q<vSGf$iUwD5kh+w#1b-F`eZ
z{1dbnwjW;KXOSJRV_T}Ayh!iTj{ElAw`|K7mi)f>p1tN&41cCb{Uz=)-E6DuEo_~&
z_fA<=hu`2ocXv;2vD)le?;mKac6-y-uv2CF-}nU=EYH4sxFtx;vDs2Q&T;v<EuM0%
zo>Ht6dyWUn^-MBpSD8EI;SW6-*2#rhO$L6CPX4@iEF}DS-Q@!p89v;q<aoAfsrVz7
z*ew>yweP`E!NtJ9!N6d_6uD^fMn)B8^T<V$Z!qdITSP9J%)ulFrZt&V!E_*#7MQMM
zastzbnIgdI<(SWc>37WCAo0yLEOVH^3{8PqykLejJ2xlu4U2i3kI8;!28m4Gqqq@F
z7bq>^gr|eavdWfV(MV-!nPrR&48E=*j=G+HZu$Y<j7%cT5VwMyI6+yO@$BR^%8Fp+
z7nG&N{xUK!B$l8k1o?qcMVe7=vaE_ESfQngw7nY>lDWBwWvO}SnxYtxfI6Hl!0^_w
zm}zn^llJ6&DqLXmPOC^W?EndBPPSJU(}B1WlDN$y7e)P<*XGp4z`*c<fq_8-ZVm&(
zl15?X$-2y1lWSFZz#-S8D$VqmdGcRom&tEcdB8^hQI%#YWSP8IO?|S18pQPr)TEgN
z*eCB*g9K8Hnl#f|k;#>6Dxjd9{8LSuX}9d;UM7%RG{I(Mt4lL&RD=piP3BYL(nfY7
fDBPDf|KKZOU|=}Qz`!7k;>6TR8ft7@${;ZSBppmf

diff --git a/helm/dbrepo/files/dbrepo.json b/helm/dbrepo/files/dbrepo.json
index fa4417c60f..ca75b2fffe 100644
--- a/helm/dbrepo/files/dbrepo.json
+++ b/helm/dbrepo/files/dbrepo.json
@@ -18,7 +18,7 @@
   "editable": true,
   "fiscalYearStartMonth": 0,
   "graphTooltip": 1,
-  "id": 5,
+  "id": 3,
   "links": [
     {
       "asDropdown": false,
@@ -112,7 +112,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -182,7 +182,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -250,7 +250,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -318,7 +318,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -434,7 +434,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -480,7 +480,7 @@
       },
       "gridPos": {
         "h": 7,
-        "w": 8,
+        "w": 12,
         "x": 0,
         "y": 4
       },
@@ -505,11 +505,12 @@
           "values": false
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "single",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -527,6 +528,104 @@
       "title": "Popular Data Sources",
       "type": "piechart"
     },
+    {
+      "datasource": {
+        "type": "prometheus",
+        "uid": "dbrepometrics0"
+      },
+      "fieldConfig": {
+        "defaults": {
+          "color": {
+            "mode": "palette-classic"
+          },
+          "custom": {
+            "axisBorderShow": false,
+            "axisCenteredZero": false,
+            "axisColorMode": "text",
+            "axisLabel": "",
+            "axisPlacement": "auto",
+            "barAlignment": 0,
+            "barWidthFactor": 0.6,
+            "drawStyle": "line",
+            "fillOpacity": 0,
+            "gradientMode": "none",
+            "hideFrom": {
+              "legend": false,
+              "tooltip": false,
+              "viz": false
+            },
+            "insertNulls": false,
+            "lineInterpolation": "smooth",
+            "lineWidth": 2,
+            "pointSize": 5,
+            "scaleDistribution": {
+              "type": "linear"
+            },
+            "showPoints": "auto",
+            "spanNulls": false,
+            "stacking": {
+              "group": "A",
+              "mode": "none"
+            },
+            "thresholdsStyle": {
+              "mode": "off"
+            }
+          },
+          "mappings": [],
+          "thresholds": {
+            "mode": "absolute",
+            "steps": [
+              {
+                "color": "green",
+                "value": null
+              }
+            ]
+          }
+        },
+        "overrides": []
+      },
+      "gridPos": {
+        "h": 7,
+        "w": 12,
+        "x": 12,
+        "y": 4
+      },
+      "id": 40,
+      "options": {
+        "legend": {
+          "calcs": [],
+          "displayMode": "list",
+          "placement": "bottom",
+          "showLegend": true
+        },
+        "tooltip": {
+          "hideZeros": false,
+          "mode": "single",
+          "sort": "none"
+        }
+      },
+      "pluginVersion": "11.5.3",
+      "targets": [
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "dbrepometrics0"
+          },
+          "disableTextWrap": false,
+          "editorMode": "builder",
+          "expr": "SeaweedFS_s3_request_total",
+          "fullMetaSearch": false,
+          "includeNullMetadata": true,
+          "instant": false,
+          "legendFormat": "{{type}}",
+          "range": true,
+          "refId": "A",
+          "useBackend": false
+        }
+      ],
+      "title": "S3 Requests",
+      "type": "timeseries"
+    },
     {
       "collapsed": false,
       "gridPos": {
@@ -600,7 +699,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -682,7 +781,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -760,7 +859,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -834,7 +933,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -906,7 +1005,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -995,7 +1094,7 @@
         "sizing": "auto",
         "valueMode": "color"
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1093,11 +1192,12 @@
           "showLegend": true
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1184,7 +1284,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1258,7 +1358,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1340,7 +1440,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1422,7 +1522,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1504,7 +1604,7 @@
         "textMode": "auto",
         "wideLayout": true
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1630,11 +1730,12 @@
           "showLegend": true
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "single",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1656,6 +1757,101 @@
       "title": "Throughput",
       "type": "timeseries"
     },
+    {
+      "datasource": {
+        "type": "prometheus",
+        "uid": "dbrepometrics0"
+      },
+      "fieldConfig": {
+        "defaults": {
+          "color": {
+            "mode": "thresholds"
+          },
+          "mappings": [
+            {
+              "options": {
+                "0": {
+                  "index": 0,
+                  "text": "DOWN"
+                },
+                "1": {
+                  "index": 1,
+                  "text": "UP"
+                }
+              },
+              "type": "value"
+            }
+          ],
+          "thresholds": {
+            "mode": "absolute",
+            "steps": [
+              {
+                "color": "red",
+                "value": null
+              },
+              {
+                "color": "green",
+                "value": 1
+              }
+            ]
+          }
+        },
+        "overrides": []
+      },
+      "gridPos": {
+        "h": 7,
+        "w": 12,
+        "x": 12,
+        "y": 26
+      },
+      "id": 16,
+      "options": {
+        "displayMode": "basic",
+        "legend": {
+          "calcs": [],
+          "displayMode": "list",
+          "placement": "bottom",
+          "showLegend": false
+        },
+        "maxVizHeight": 300,
+        "minVizHeight": 16,
+        "minVizWidth": 8,
+        "namePlacement": "auto",
+        "orientation": "auto",
+        "reduceOptions": {
+          "calcs": [
+            "lastNotNull"
+          ],
+          "fields": "",
+          "values": false
+        },
+        "showUnfilled": true,
+        "sizing": "auto",
+        "valueMode": "color"
+      },
+      "pluginVersion": "11.5.3",
+      "targets": [
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "dbrepometrics0"
+          },
+          "disableTextWrap": false,
+          "editorMode": "builder",
+          "expr": "up",
+          "fullMetaSearch": false,
+          "hide": false,
+          "includeNullMetadata": true,
+          "instant": false,
+          "legendFormat": "{{instance}}",
+          "range": true,
+          "refId": "A",
+          "useBackend": false
+        }
+      ],
+      "title": "Service QoS",
+      "type": "bargauge"
+    },
     {
       "collapsed": false,
       "gridPos": {
@@ -1745,11 +1941,12 @@
           "showLegend": true
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1773,76 +1970,145 @@
     },
     {
       "datasource": {
+        "default": true,
         "type": "prometheus",
         "uid": "dbrepometrics0"
       },
+      "description": "Heap and non-heap memory summed",
       "fieldConfig": {
         "defaults": {
           "color": {
-            "mode": "thresholds"
+            "mode": "palette-classic"
           },
           "custom": {
-            "fillOpacity": 70,
+            "axisBorderShow": false,
+            "axisCenteredZero": false,
+            "axisColorMode": "text",
+            "axisLabel": "",
+            "axisPlacement": "auto",
+            "barAlignment": 0,
+            "barWidthFactor": 0.6,
+            "drawStyle": "line",
+            "fillOpacity": 25,
+            "gradientMode": "none",
             "hideFrom": {
               "legend": false,
               "tooltip": false,
               "viz": false
             },
-            "lineWidth": 1
-          },
-          "mappings": [
-            {
-              "options": {
-                "0": {
-                  "index": 0,
-                  "text": "DOWN"
-                },
-                "1": {
-                  "index": 1,
-                  "text": "UP"
-                }
-              },
-              "type": "value"
+            "insertNulls": false,
+            "lineInterpolation": "smooth",
+            "lineWidth": 2,
+            "pointSize": 5,
+            "scaleDistribution": {
+              "type": "linear"
+            },
+            "showPoints": "auto",
+            "spanNulls": false,
+            "stacking": {
+              "group": "A",
+              "mode": "normal"
+            },
+            "thresholdsStyle": {
+              "mode": "off"
             }
-          ],
+          },
+          "mappings": [],
           "thresholds": {
             "mode": "absolute",
             "steps": [
-              {
-                "color": "red",
-                "value": null
-              },
               {
                 "color": "green",
-                "value": 1
+                "value": null
               }
             ]
-          }
+          },
+          "unit": "decbytes"
         },
-        "overrides": []
-      },
-      "gridPos": {
-        "h": 7,
-        "w": 12,
-        "x": 12,
-        "y": 34
-      },
-      "id": 16,
-      "options": {
-        "colWidth": 0.9,
-        "legend": {
-          "displayMode": "list",
-          "placement": "bottom",
-          "showLegend": false
+        "overrides": [
+          {
+            "matcher": {
+              "id": "byName",
+              "options": "auth-service:9000"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "yellow",
+                  "mode": "fixed"
+                }
+              }
+            ]
+          },
+          {
+            "matcher": {
+              "id": "byName",
+              "options": "data-service:8080"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "blue",
+                  "mode": "fixed"
+                }
+              }
+            ]
+          },
+          {
+            "matcher": {
+              "id": "byName",
+              "options": "metadata-service:8080"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "purple",
+                  "mode": "fixed"
+                }
+              }
+            ]
+          },
+          {
+            "matcher": {
+              "id": "byName",
+              "options": "metadata-service:80"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "blue",
+                  "mode": "fixed"
+                }
+              }
+            ]
+          }
+        ]
+      },
+      "gridPos": {
+        "h": 7,
+        "w": 12,
+        "x": 12,
+        "y": 34
+      },
+      "id": 7,
+      "options": {
+        "legend": {
+          "calcs": [],
+          "displayMode": "list",
+          "placement": "bottom",
+          "showLegend": true
         },
-        "rowHeight": 0.9,
-        "showValue": "auto",
         "tooltip": {
-          "mode": "single",
+          "hideZeros": false,
+          "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -1851,9 +2117,10 @@
           },
           "disableTextWrap": false,
           "editorMode": "builder",
-          "expr": "up",
+          "expr": "sum by(instance) (jvm_memory_used_bytes)",
           "fullMetaSearch": false,
-          "includeNullMetadata": true,
+          "hide": false,
+          "includeNullMetadata": false,
           "instant": false,
           "legendFormat": "{{instance}}",
           "range": true,
@@ -1861,8 +2128,8 @@
           "useBackend": false
         }
       ],
-      "title": "Service QoS",
-      "type": "status-history"
+      "title": "JVM Memory Usage",
+      "type": "timeseries"
     },
     {
       "datasource": {
@@ -1997,11 +2264,12 @@
           "showLegend": true
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
@@ -2026,11 +2294,9 @@
     },
     {
       "datasource": {
-        "default": true,
         "type": "prometheus",
         "uid": "dbrepometrics0"
       },
-      "description": "Heap and non-heap memory summed",
       "fieldConfig": {
         "defaults": {
           "color": {
@@ -2063,7 +2329,7 @@
             "spanNulls": false,
             "stacking": {
               "group": "A",
-              "mode": "normal"
+              "mode": "none"
             },
             "thresholdsStyle": {
               "mode": "off"
@@ -2079,49 +2345,19 @@
               }
             ]
           },
-          "unit": "decbytes"
+          "unit": "reqps"
         },
         "overrides": [
           {
             "matcher": {
-              "id": "byName",
-              "options": "auth-service:9000"
-            },
-            "properties": [
-              {
-                "id": "color",
-                "value": {
-                  "fixedColor": "yellow",
-                  "mode": "fixed"
-                }
-              }
-            ]
-          },
-          {
-            "matcher": {
-              "id": "byName",
-              "options": "data-service:8080"
-            },
-            "properties": [
-              {
-                "id": "color",
-                "value": {
-                  "fixedColor": "blue",
-                  "mode": "fixed"
-                }
-              }
-            ]
-          },
-          {
-            "matcher": {
-              "id": "byName",
-              "options": "metadata-service:8080"
+              "id": "byRegexp",
+              "options": "/.*search-service.*/"
             },
             "properties": [
               {
                 "id": "color",
                 "value": {
-                  "fixedColor": "purple",
+                  "fixedColor": "orange",
                   "mode": "fixed"
                 }
               }
@@ -2129,14 +2365,14 @@
           },
           {
             "matcher": {
-              "id": "byName",
-              "options": "metadata-service:80"
+              "id": "byRegexp",
+              "options": "/.*analyse-service.*/"
             },
             "properties": [
               {
                 "id": "color",
                 "value": {
-                  "fixedColor": "blue",
+                  "fixedColor": "super-light-orange",
                   "mode": "fixed"
                 }
               }
@@ -2150,7 +2386,7 @@
         "x": 12,
         "y": 41
       },
-      "id": 7,
+      "id": 19,
       "options": {
         "legend": {
           "calcs": [],
@@ -2159,104 +2395,152 @@
           "showLegend": true
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
             "type": "prometheus",
             "uid": "dbrepometrics0"
           },
-          "disableTextWrap": false,
-          "editorMode": "builder",
-          "expr": "sum by(instance) (jvm_memory_used_bytes)",
-          "fullMetaSearch": false,
-          "hide": false,
-          "includeNullMetadata": false,
+          "editorMode": "code",
+          "expr": "rate(flask_http_request_duration_seconds_count{status!~\"200|201|202\"}[$__rate_interval])",
           "instant": false,
-          "legendFormat": "{{instance}}",
+          "legendFormat": "{{method}} {{instance}} ({{status}})",
           "range": true,
-          "refId": "A",
-          "useBackend": false
+          "refId": "A"
         }
       ],
-      "title": "JVM Memory Usage",
+      "title": "Failed API Requests",
       "type": "timeseries"
     },
+    {
+      "collapsed": false,
+      "gridPos": {
+        "h": 1,
+        "w": 24,
+        "x": 0,
+        "y": 48
+      },
+      "id": 39,
+      "panels": [],
+      "title": "Storage",
+      "type": "row"
+    },
     {
       "datasource": {
         "type": "prometheus",
         "uid": "dbrepometrics0"
       },
-      "description": "Top 10 by frequency of access",
       "fieldConfig": {
         "defaults": {
           "color": {
             "mode": "palette-classic"
           },
           "custom": {
+            "axisBorderShow": false,
+            "axisCenteredZero": false,
+            "axisColorMode": "text",
+            "axisLabel": "",
+            "axisPlacement": "auto",
+            "barAlignment": 0,
+            "barWidthFactor": 0.6,
+            "drawStyle": "line",
+            "fillOpacity": 10,
+            "gradientMode": "none",
             "hideFrom": {
               "legend": false,
               "tooltip": false,
               "viz": false
+            },
+            "insertNulls": false,
+            "lineInterpolation": "smooth",
+            "lineWidth": 2,
+            "pointSize": 5,
+            "scaleDistribution": {
+              "type": "linear"
+            },
+            "showPoints": "never",
+            "spanNulls": false,
+            "stacking": {
+              "group": "A",
+              "mode": "none"
+            },
+            "thresholdsStyle": {
+              "mode": "off"
             }
           },
           "mappings": [],
-          "unit": "reqps"
+          "thresholds": {
+            "mode": "absolute",
+            "steps": [
+              {
+                "color": "green",
+                "value": null
+              },
+              {
+                "color": "red",
+                "value": 80
+              }
+            ]
+          },
+          "unit": "short"
         },
         "overrides": []
       },
       "gridPos": {
-        "h": 7,
+        "h": 8,
         "w": 12,
         "x": 0,
-        "y": 48
+        "y": 49
       },
-      "id": 18,
+      "id": 41,
       "options": {
-        "displayLabels": [
-          "percent"
-        ],
+        "alertThreshold": true,
         "legend": {
           "calcs": [],
-          "displayMode": "hidden",
-          "placement": "right",
-          "showLegend": false,
-          "values": []
-        },
-        "pieType": "pie",
-        "reduceOptions": {
-          "calcs": [
-            "lastNotNull"
-          ],
-          "fields": "",
-          "values": false
+          "displayMode": "list",
+          "placement": "bottom",
+          "showLegend": true
         },
         "tooltip": {
-          "mode": "single",
+          "hideZeros": false,
+          "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
             "type": "prometheus",
             "uid": "dbrepometrics0"
           },
-          "editorMode": "code",
-          "expr": "topk(10, rate(dbrepo_table_data_get_total[$__range]))",
-          "instant": false,
-          "legendFormat": "__auto",
-          "range": true,
+          "expr": "sum(SeaweedFS_volumeServer_volumes) by (collection, type)",
+          "format": "time_series",
+          "hide": false,
+          "intervalFactor": 2,
+          "legendFormat": "{{collection}} {{type}}",
           "refId": "A"
+        },
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "dbrepometrics0"
+          },
+          "expr": "sum(SeaweedFS_volumeServer_max_volumes)",
+          "format": "time_series",
+          "intervalFactor": 2,
+          "legendFormat": "Total",
+          "refId": "B"
         }
       ],
-      "title": "Popular Datasources",
-      "type": "piechart"
+      "title": "Volume Count",
+      "type": "timeseries"
     },
     {
       "datasource": {
@@ -2277,7 +2561,7 @@
             "barAlignment": 0,
             "barWidthFactor": 0.6,
             "drawStyle": "line",
-            "fillOpacity": 25,
+            "fillOpacity": 10,
             "gradientMode": "none",
             "hideFrom": {
               "legend": false,
@@ -2291,7 +2575,7 @@
             "scaleDistribution": {
               "type": "linear"
             },
-            "showPoints": "auto",
+            "showPoints": "never",
             "spanNulls": false,
             "stacking": {
               "group": "A",
@@ -2306,53 +2590,28 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green"
-              }
-            ]
-          },
-          "unit": "reqps"
-        },
-        "overrides": [
-          {
-            "matcher": {
-              "id": "byRegexp",
-              "options": "/.*search-service.*/"
-            },
-            "properties": [
+                "color": "green",
+                "value": null
+              },
               {
-                "id": "color",
-                "value": {
-                  "fixedColor": "orange",
-                  "mode": "fixed"
-                }
+                "color": "red",
+                "value": 80
               }
             ]
           },
-          {
-            "matcher": {
-              "id": "byRegexp",
-              "options": "/.*analyse-service.*/"
-            },
-            "properties": [
-              {
-                "id": "color",
-                "value": {
-                  "fixedColor": "super-light-orange",
-                  "mode": "fixed"
-                }
-              }
-            ]
-          }
-        ]
+          "unit": "bytes"
+        },
+        "overrides": []
       },
       "gridPos": {
-        "h": 7,
+        "h": 8,
         "w": 12,
         "x": 12,
-        "y": 48
+        "y": 49
       },
-      "id": 19,
+      "id": 42,
       "options": {
+        "alertThreshold": true,
         "legend": {
           "calcs": [],
           "displayMode": "list",
@@ -2360,26 +2619,38 @@
           "showLegend": true
         },
         "tooltip": {
+          "hideZeros": false,
           "mode": "multi",
           "sort": "none"
         }
       },
-      "pluginVersion": "11.3.1",
+      "pluginVersion": "11.5.3",
       "targets": [
         {
           "datasource": {
             "type": "prometheus",
             "uid": "dbrepometrics0"
           },
-          "editorMode": "code",
-          "expr": "rate(flask_http_request_duration_seconds_count{status!~\"200|201|202\"}[$__rate_interval])",
-          "instant": false,
-          "legendFormat": "{{method}} {{instance}} ({{status}})",
-          "range": true,
+          "expr": "sum(SeaweedFS_volumeServer_total_disk_size) by (collection, type)",
+          "format": "time_series",
+          "hide": false,
+          "intervalFactor": 2,
+          "legendFormat": "{{collection}} {{type}}",
           "refId": "A"
+        },
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "dbrepometrics0"
+          },
+          "expr": "sum(SeaweedFS_volumeServer_total_disk_size)",
+          "format": "time_series",
+          "intervalFactor": 2,
+          "legendFormat": "Total",
+          "refId": "B"
         }
       ],
-      "title": "Failed API Requests",
+      "title": "Used Disk Space by Collection and Type",
       "type": "timeseries"
     }
   ],
@@ -2407,6 +2678,6 @@
   "timezone": "browser",
   "title": "DBRepo",
   "uid": "bdz20owu8zn5se",
-  "version": 1,
+  "version": 9,
   "weekStart": ""
 }
\ No newline at end of file
-- 
GitLab