diff --git a/dbrepo-analyse-service/Pipfile.lock b/dbrepo-analyse-service/Pipfile.lock
index dcd141098d5a56e64b9171584608d7cc4fd86a9b..f4ad8a2bbe8c2a7036f6d394b9dbb5d806d927e7 100644
--- a/dbrepo-analyse-service/Pipfile.lock
+++ b/dbrepo-analyse-service/Pipfile.lock
@@ -324,7 +324,7 @@
         },
         "dbrepo": {
             "hashes": [
-                "sha256:37573cb12adb3436397de36b49252b5e6d86f26746673ce9b7eab09ba1a9a0eb"
+                "sha256:76f0ab97d1e914a779aa51b5e5a17591b2f1c88f15dc9df27273deb4dc7ed125"
             ],
             "path": "./lib/dbrepo-1.8.2.tar.gz"
         },
@@ -1180,11 +1180,11 @@
         },
         "setuptools": {
             "hashes": [
-                "sha256:a65cffc4fb86167e3020b3ef58e08226baad8b29a3b34ce2c9d07e901bac481d",
-                "sha256:ec8308eb180b2312062b1c5523204acf872cd8b0a9e6c2ae76431b22bc4065d7"
+                "sha256:31e2c58dbb67c99c289f51c16d899afedae292b978f8051efaf6262d8212f927",
+                "sha256:ea8e00d7992054c4c592aeb892f6ad51fe1b4d90cc6947cc45c45717c40ec537"
             ],
             "markers": "python_version >= '3.9'",
-            "version": "==80.3.0"
+            "version": "==80.3.1"
         },
         "six": {
             "hashes": [
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.8.2-py3-none-any.whl
index 6a21f512b36f30367f641061c8efeba90108a6c7..48beeb5ebf61c7cca654e0ee66343fac70bb4d53 100644
Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2-py3-none-any.whl and b/dbrepo-analyse-service/lib/dbrepo-1.8.2-py3-none-any.whl differ
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.8.2.tar.gz
index f98a45d02b802376ff7614c008eec8783f281896..3e3b65b6b93a602ee26c2f4d4c71c2d3cd331211 100644
Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2.tar.gz and b/dbrepo-analyse-service/lib/dbrepo-1.8.2.tar.gz differ
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl
deleted file mode 100644
index 86a1af2af41c44d35a4da7a472c180854f0cd82c..0000000000000000000000000000000000000000
Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl and /dev/null differ
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc3.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc3.tar.gz
deleted file mode 100644
index 9c03ed275c6da5b2eef3619c59269f398d59c7de..0000000000000000000000000000000000000000
Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc3.tar.gz and /dev/null differ
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl
deleted file mode 100644
index 5a0dbc7c95592f2e70bed13fa33d85cc6cdf7811..0000000000000000000000000000000000000000
Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl and /dev/null differ
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc4.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc4.tar.gz
deleted file mode 100644
index 1dbc78c989362d4d0c3750b1ad942abe46f205dd..0000000000000000000000000000000000000000
Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc4.tar.gz and /dev/null differ
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl
deleted file mode 100644
index 50bf1b8195987f6f8d23a36f34bc0f912b6fd9b3..0000000000000000000000000000000000000000
Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl and /dev/null differ
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc5.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc5.tar.gz
deleted file mode 100644
index be8784437f111e2d4a5cdac36baf77605114dfa5..0000000000000000000000000000000000000000
Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc5.tar.gz and /dev/null differ
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl
deleted file mode 100644
index 8e4c745a2ce782c174d5e1db7eef22d51d26624c..0000000000000000000000000000000000000000
Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl and /dev/null differ
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc6.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc6.tar.gz
deleted file mode 100644
index 279243fd37fe033fe4aa740361b5e9a370516924..0000000000000000000000000000000000000000
Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc6.tar.gz and /dev/null differ
diff --git a/dbrepo-dashboard-service/Pipfile.lock b/dbrepo-dashboard-service/Pipfile.lock
index f1f517de50382a8ab424f88bd9a554bcce4978ea..9c02ba5f1c284db4332ebc333a0dd50df26210de 100644
--- a/dbrepo-dashboard-service/Pipfile.lock
+++ b/dbrepo-dashboard-service/Pipfile.lock
@@ -272,7 +272,7 @@
         },
         "dbrepo": {
             "hashes": [
-                "sha256:37573cb12adb3436397de36b49252b5e6d86f26746673ce9b7eab09ba1a9a0eb"
+                "sha256:76f0ab97d1e914a779aa51b5e5a17591b2f1c88f15dc9df27273deb4dc7ed125"
             ],
             "path": "./lib/dbrepo-1.8.2.tar.gz"
         },
@@ -1235,11 +1235,11 @@
         },
         "urllib3-future": {
             "hashes": [
-                "sha256:ce90c1ef08b265eccf29676f759a3a30a36b6ccc8a9e97d3473ea4b26f586d52",
-                "sha256:f341b1ff506c0c7f92cf3d98bd6683b398cad24b62e0277ce6f386222b85951a"
+                "sha256:642b235a89cbddb7a3c6703a11fd0255473231be791214fd01abd465371ea8fb",
+                "sha256:a4f2a94da920f62f4c957931d3a1cc364efdd0fbb984624db7ad7347aa27afad"
             ],
             "markers": "python_version >= '3.7'",
-            "version": "==2.12.919"
+            "version": "==2.12.920"
         },
         "verlib2": {
             "hashes": [
diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2-py3-none-any.whl b/dbrepo-dashboard-service/lib/dbrepo-1.8.2-py3-none-any.whl
index 6a21f512b36f30367f641061c8efeba90108a6c7..48beeb5ebf61c7cca654e0ee66343fac70bb4d53 100644
Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2-py3-none-any.whl and b/dbrepo-dashboard-service/lib/dbrepo-1.8.2-py3-none-any.whl differ
diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.8.2.tar.gz
index f98a45d02b802376ff7614c008eec8783f281896..3e3b65b6b93a602ee26c2f4d4c71c2d3cd331211 100644
Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2.tar.gz and b/dbrepo-dashboard-service/lib/dbrepo-1.8.2.tar.gz differ
diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl
deleted file mode 100644
index 86a1af2af41c44d35a4da7a472c180854f0cd82c..0000000000000000000000000000000000000000
Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl and /dev/null differ
diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc3.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc3.tar.gz
deleted file mode 100644
index 9c03ed275c6da5b2eef3619c59269f398d59c7de..0000000000000000000000000000000000000000
Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc3.tar.gz and /dev/null differ
diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl
deleted file mode 100644
index 5a0dbc7c95592f2e70bed13fa33d85cc6cdf7811..0000000000000000000000000000000000000000
Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl and /dev/null differ
diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc4.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc4.tar.gz
deleted file mode 100644
index 1dbc78c989362d4d0c3750b1ad942abe46f205dd..0000000000000000000000000000000000000000
Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc4.tar.gz and /dev/null differ
diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl
deleted file mode 100644
index 50bf1b8195987f6f8d23a36f34bc0f912b6fd9b3..0000000000000000000000000000000000000000
Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl and /dev/null differ
diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc5.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc5.tar.gz
deleted file mode 100644
index be8784437f111e2d4a5cdac36baf77605114dfa5..0000000000000000000000000000000000000000
Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc5.tar.gz and /dev/null differ
diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl
deleted file mode 100644
index 8e4c745a2ce782c174d5e1db7eef22d51d26624c..0000000000000000000000000000000000000000
Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl and /dev/null differ
diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc6.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc6.tar.gz
deleted file mode 100644
index 279243fd37fe033fe4aa740361b5e9a370516924..0000000000000000000000000000000000000000
Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc6.tar.gz and /dev/null differ
diff --git a/dbrepo-dashboard-ui/dashboards/System/dbrepo.json b/dbrepo-dashboard-ui/dashboards/System/dbrepo.json
index ca75b2fffe9345b8a4c9fecd825e027377932909..331c3fda58a368ef3dc17117a1becdcaefc643f0 100644
--- a/dbrepo-dashboard-ui/dashboards/System/dbrepo.json
+++ b/dbrepo-dashboard-ui/dashboards/System/dbrepo.json
@@ -2671,7 +2671,7 @@
     "list": []
   },
   "time": {
-    "from": "now-24h",
+    "from": "now-3h",
     "to": "now"
   },
   "timepicker": {},
diff --git a/dbrepo-dashboard-ui/dashboards/System/keycloak.json b/dbrepo-dashboard-ui/dashboards/System/keycloak.json
index 3f20ccc229c64431235a847434f5ce2545aa39d4..aa5e2a8c572b6a5273bb9c89c908b3adff857dfa 100644
--- a/dbrepo-dashboard-ui/dashboards/System/keycloak.json
+++ b/dbrepo-dashboard-ui/dashboards/System/keycloak.json
@@ -2386,7 +2386,7 @@
     ]
   },
   "timezone": "",
-  "title": "Keycloak Metrics Dashboard",
+  "title": "Keycloak - Overview",
   "uid": "keycloak-dashboard",
   "version": 6,
   "description": "Dashboard of Keycloak metrics exported with Keycloak Metrics SPI\r\n\r\nhttps://github.com/aerogear/keycloak-metrics-spi"
diff --git a/dbrepo-dashboard-ui/dashboards/System/logging.json b/dbrepo-dashboard-ui/dashboards/System/logging.json
new file mode 100644
index 0000000000000000000000000000000000000000..8325bb7b7625842c680ebf7be9686b16e69f018e
--- /dev/null
+++ b/dbrepo-dashboard-ui/dashboards/System/logging.json
@@ -0,0 +1,1116 @@
+{
+  "annotations": {
+    "list": [
+      {
+        "builtIn": 1,
+        "datasource": {
+          "type": "grafana",
+          "uid": "-- Grafana --"
+        },
+        "enable": true,
+        "hide": true,
+        "iconColor": "rgba(0, 211, 255, 1)",
+        "name": "Annotations & Alerts",
+        "type": "dashboard"
+      }
+    ]
+  },
+  "editable": true,
+  "fiscalYearStartMonth": 0,
+  "graphTooltip": 0,
+  "id": 3,
+  "links": [],
+  "panels": [
+    {
+      "collapsed": false,
+      "gridPos": {
+        "h": 1,
+        "w": 24,
+        "x": 0,
+        "y": 0
+      },
+      "id": 6,
+      "panels": [],
+      "title": "Application",
+      "type": "row"
+    },
+    {
+      "datasource": {
+        "type": "grafana-opensearch-datasource",
+        "uid": "dbrepoopensearch0"
+      },
+      "fieldConfig": {
+        "defaults": {
+          "color": {
+            "mode": "fixed"
+          },
+          "custom": {
+            "axisBorderShow": false,
+            "axisCenteredZero": false,
+            "axisColorMode": "text",
+            "axisLabel": "",
+            "axisPlacement": "auto",
+            "fillOpacity": 80,
+            "gradientMode": "none",
+            "hideFrom": {
+              "legend": false,
+              "tooltip": false,
+              "viz": false
+            },
+            "lineWidth": 1,
+            "scaleDistribution": {
+              "type": "linear"
+            },
+            "thresholdsStyle": {
+              "mode": "off"
+            }
+          },
+          "mappings": [],
+          "thresholds": {
+            "mode": "absolute",
+            "steps": [
+              {
+                "color": "green",
+                "value": null
+              }
+            ]
+          }
+        },
+        "overrides": [
+          {
+            "matcher": {
+              "id": "byFrameRefID",
+              "options": "warn"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "orange",
+                  "mode": "fixed"
+                }
+              }
+            ]
+          },
+          {
+            "matcher": {
+              "id": "byFrameRefID",
+              "options": "error"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "red",
+                  "mode": "fixed"
+                }
+              }
+            ]
+          },
+          {
+            "matcher": {
+              "id": "byFrameRefID",
+              "options": "info"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "green",
+                  "mode": "fixed"
+                }
+              }
+            ]
+          },
+          {
+            "matcher": {
+              "id": "byFrameRefID",
+              "options": "debug"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "blue",
+                  "mode": "fixed"
+                }
+              }
+            ]
+          }
+        ]
+      },
+      "gridPos": {
+        "h": 7,
+        "w": 24,
+        "x": 0,
+        "y": 1
+      },
+      "id": 1,
+      "options": {
+        "barRadius": 0,
+        "barWidth": 0.97,
+        "fullHighlight": false,
+        "groupWidth": 0.7,
+        "legend": {
+          "calcs": [],
+          "displayMode": "list",
+          "placement": "right",
+          "showLegend": true
+        },
+        "orientation": "auto",
+        "showValue": "auto",
+        "stacking": "percent",
+        "tooltip": {
+          "hideZeros": false,
+          "mode": "single",
+          "sort": "none"
+        },
+        "xTickLabelRotation": 0,
+        "xTickLabelSpacing": 100
+      },
+      "pluginVersion": "11.5.3",
+      "targets": [
+        {
+          "alias": "WARN",
+          "bucketAggs": [
+            {
+              "id": "2",
+              "settings": {
+                "interval": "auto",
+                "min_doc_count": "0",
+                "trimEdges": "0"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Metric",
+          "metrics": [
+            {
+              "hide": false,
+              "id": "1",
+              "type": "count"
+            }
+          ],
+          "query": "level: WARN",
+          "queryType": "lucene",
+          "refId": "warn",
+          "timeField": "@timestamp"
+        },
+        {
+          "alias": "ERROR",
+          "bucketAggs": [
+            {
+              "field": "@timestamp",
+              "id": "2",
+              "settings": {
+                "interval": "auto"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Metric",
+          "metrics": [
+            {
+              "id": "1",
+              "type": "count"
+            }
+          ],
+          "query": "level: ERROR",
+          "queryType": "lucene",
+          "refId": "error",
+          "timeField": "@timestamp"
+        },
+        {
+          "alias": "INFO",
+          "bucketAggs": [
+            {
+              "field": "@timestamp",
+              "id": "2",
+              "settings": {
+                "interval": "auto"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Metric",
+          "metrics": [
+            {
+              "id": "1",
+              "type": "count"
+            }
+          ],
+          "query": "level: INFO",
+          "queryType": "lucene",
+          "refId": "info",
+          "timeField": "@timestamp"
+        },
+        {
+          "alias": "DEBUG",
+          "bucketAggs": [
+            {
+              "field": "@timestamp",
+              "id": "2",
+              "settings": {
+                "interval": "auto"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Metric",
+          "metrics": [
+            {
+              "id": "1",
+              "type": "count"
+            }
+          ],
+          "query": "level: DEBUG",
+          "queryType": "lucene",
+          "refId": "debug",
+          "timeField": "@timestamp"
+        }
+      ],
+      "title": "Errors and Warnings over Time",
+      "type": "barchart"
+    },
+    {
+      "datasource": {
+        "type": "grafana-opensearch-datasource",
+        "uid": "dbrepoopensearch0"
+      },
+      "description": "",
+      "fieldConfig": {
+        "defaults": {},
+        "overrides": []
+      },
+      "gridPos": {
+        "h": 8,
+        "w": 12,
+        "x": 0,
+        "y": 8
+      },
+      "id": 8,
+      "options": {
+        "dedupStrategy": "none",
+        "enableInfiniteScrolling": false,
+        "enableLogDetails": true,
+        "prettifyLogMessage": false,
+        "showCommonLabels": false,
+        "showLabels": false,
+        "showTime": true,
+        "sortOrder": "Descending",
+        "wrapLogMessage": false
+      },
+      "pluginVersion": "11.5.3",
+      "targets": [
+        {
+          "alias": "",
+          "bucketAggs": [
+            {
+              "field": "@timestamp",
+              "id": "2",
+              "settings": {
+                "interval": "auto"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Logs",
+          "metrics": [
+            {
+              "id": "1",
+              "type": "logs"
+            }
+          ],
+          "query": "level: ERROR",
+          "queryType": "lucene",
+          "refId": "A",
+          "timeField": "@timestamp"
+        }
+      ],
+      "title": "Errors",
+      "transformations": [
+        {
+          "id": "filterFieldsByName",
+          "options": {
+            "include": {
+              "names": [
+                "message",
+                "container_id",
+                "container_name",
+                "logger",
+                "@timestamp"
+              ]
+            }
+          }
+        }
+      ],
+      "type": "logs"
+    },
+    {
+      "datasource": {
+        "type": "grafana-opensearch-datasource",
+        "uid": "dbrepoopensearch0"
+      },
+      "description": "",
+      "fieldConfig": {
+        "defaults": {},
+        "overrides": []
+      },
+      "gridPos": {
+        "h": 8,
+        "w": 12,
+        "x": 12,
+        "y": 8
+      },
+      "id": 9,
+      "options": {
+        "dedupStrategy": "none",
+        "enableInfiniteScrolling": false,
+        "enableLogDetails": true,
+        "prettifyLogMessage": false,
+        "showCommonLabels": false,
+        "showLabels": false,
+        "showTime": true,
+        "sortOrder": "Descending",
+        "wrapLogMessage": false
+      },
+      "pluginVersion": "11.5.3",
+      "targets": [
+        {
+          "alias": "",
+          "bucketAggs": [
+            {
+              "field": "@timestamp",
+              "id": "2",
+              "settings": {
+                "interval": "auto"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Logs",
+          "metrics": [
+            {
+              "id": "1",
+              "type": "logs"
+            }
+          ],
+          "query": "level: WARN",
+          "queryType": "lucene",
+          "refId": "A",
+          "timeField": "@timestamp"
+        }
+      ],
+      "title": "Warnings",
+      "transformations": [
+        {
+          "id": "filterFieldsByName",
+          "options": {
+            "include": {
+              "names": [
+                "message",
+                "container_id",
+                "container_name",
+                "logger",
+                "@timestamp"
+              ]
+            }
+          }
+        }
+      ],
+      "type": "logs"
+    },
+    {
+      "collapsed": false,
+      "gridPos": {
+        "h": 1,
+        "w": 24,
+        "x": 0,
+        "y": 16
+      },
+      "id": 17,
+      "panels": [],
+      "title": "Application Debugging",
+      "type": "row"
+    },
+    {
+      "datasource": {
+        "type": "grafana-opensearch-datasource",
+        "uid": "dbrepoopensearch0"
+      },
+      "description": "",
+      "fieldConfig": {
+        "defaults": {},
+        "overrides": []
+      },
+      "gridPos": {
+        "h": 8,
+        "w": 12,
+        "x": 0,
+        "y": 17
+      },
+      "id": 15,
+      "options": {
+        "dedupStrategy": "none",
+        "enableInfiniteScrolling": false,
+        "enableLogDetails": true,
+        "prettifyLogMessage": false,
+        "showCommonLabels": false,
+        "showLabels": false,
+        "showTime": true,
+        "sortOrder": "Descending",
+        "wrapLogMessage": false
+      },
+      "pluginVersion": "11.5.3",
+      "targets": [
+        {
+          "alias": "",
+          "bucketAggs": [
+            {
+              "field": "@timestamp",
+              "id": "2",
+              "settings": {
+                "interval": "auto"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Logs",
+          "metrics": [
+            {
+              "id": "1",
+              "type": "logs"
+            }
+          ],
+          "query": "level: INFO",
+          "queryType": "lucene",
+          "refId": "A",
+          "timeField": "@timestamp"
+        }
+      ],
+      "title": "Info",
+      "transformations": [
+        {
+          "id": "filterFieldsByName",
+          "options": {
+            "include": {
+              "names": [
+                "message",
+                "container_id",
+                "container_name",
+                "logger",
+                "@timestamp"
+              ]
+            }
+          }
+        }
+      ],
+      "type": "logs"
+    },
+    {
+      "datasource": {
+        "type": "grafana-opensearch-datasource",
+        "uid": "dbrepoopensearch0"
+      },
+      "description": "",
+      "fieldConfig": {
+        "defaults": {},
+        "overrides": []
+      },
+      "gridPos": {
+        "h": 8,
+        "w": 12,
+        "x": 12,
+        "y": 17
+      },
+      "id": 16,
+      "options": {
+        "dedupStrategy": "none",
+        "enableInfiniteScrolling": false,
+        "enableLogDetails": true,
+        "prettifyLogMessage": false,
+        "showCommonLabels": false,
+        "showLabels": false,
+        "showTime": true,
+        "sortOrder": "Descending",
+        "wrapLogMessage": false
+      },
+      "pluginVersion": "11.5.3",
+      "targets": [
+        {
+          "alias": "",
+          "bucketAggs": [
+            {
+              "field": "@timestamp",
+              "id": "2",
+              "settings": {
+                "interval": "auto"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Logs",
+          "metrics": [
+            {
+              "id": "1",
+              "type": "logs"
+            }
+          ],
+          "query": "level: DEBUG",
+          "queryType": "lucene",
+          "refId": "A",
+          "timeField": "@timestamp"
+        }
+      ],
+      "title": "Debug",
+      "transformations": [
+        {
+          "id": "filterFieldsByName",
+          "options": {
+            "include": {
+              "names": [
+                "message",
+                "container_id",
+                "container_name",
+                "logger",
+                "@timestamp"
+              ]
+            }
+          }
+        }
+      ],
+      "type": "logs"
+    },
+    {
+      "collapsed": false,
+      "gridPos": {
+        "h": 1,
+        "w": 24,
+        "x": 0,
+        "y": 25
+      },
+      "id": 5,
+      "panels": [],
+      "title": "HTTP Gateway",
+      "type": "row"
+    },
+    {
+      "datasource": {
+        "type": "grafana-opensearch-datasource",
+        "uid": "dbrepoopensearch0"
+      },
+      "fieldConfig": {
+        "defaults": {
+          "color": {
+            "mode": "thresholds"
+          },
+          "custom": {
+            "align": "auto",
+            "cellOptions": {
+              "type": "auto"
+            },
+            "inspect": false
+          },
+          "mappings": [],
+          "thresholds": {
+            "mode": "absolute",
+            "steps": [
+              {
+                "color": "green",
+                "value": null
+              },
+              {
+                "color": "red",
+                "value": 80
+              }
+            ]
+          }
+        },
+        "overrides": [
+          {
+            "matcher": {
+              "id": "byName",
+              "options": "request.method"
+            },
+            "properties": [
+              {
+                "id": "custom.width"
+              }
+            ]
+          }
+        ]
+      },
+      "gridPos": {
+        "h": 8,
+        "w": 12,
+        "x": 0,
+        "y": 26
+      },
+      "id": 7,
+      "options": {
+        "cellHeight": "sm",
+        "footer": {
+          "countRows": false,
+          "fields": "",
+          "reducer": [
+            "sum"
+          ],
+          "show": false
+        },
+        "showHeader": true,
+        "sortBy": []
+      },
+      "pluginVersion": "11.5.3",
+      "targets": [
+        {
+          "alias": "",
+          "bucketAggs": [
+            {
+              "field": "@timestamp",
+              "id": "2",
+              "settings": {
+                "interval": "auto"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Logs",
+          "metrics": [
+            {
+              "id": "1",
+              "type": "logs"
+            }
+          ],
+          "query": "container_name: \"/dbrepo-gateway-service\" AND code: >=400",
+          "queryType": "lucene",
+          "refId": "A",
+          "timeField": "@timestamp"
+        }
+      ],
+      "title": "HTTP Gateway Errors",
+      "transformations": [
+        {
+          "id": "filterFieldsByName",
+          "options": {
+            "include": {
+              "names": [
+                "code",
+                "method",
+                "path",
+                "size"
+              ]
+            }
+          }
+        },
+        {
+          "id": "organize",
+          "options": {
+            "excludeByName": {},
+            "includeByName": {},
+            "indexByName": {
+              "code": 2,
+              "method": 0,
+              "path": 1,
+              "size": 3
+            },
+            "renameByName": {
+              "@timestamp": "",
+              "code": "response.status",
+              "method": "request.method",
+              "path": "request.url",
+              "size": "body.size"
+            }
+          }
+        },
+        {
+          "id": "calculateField",
+          "options": {
+            "alias": "Count",
+            "mode": "reduceRow",
+            "reduce": {
+              "include": [
+                "request.url",
+                "response.status"
+              ],
+              "reducer": "distinctCount"
+            },
+            "replaceFields": false
+          }
+        },
+        {
+          "id": "sortBy",
+          "options": {
+            "fields": {},
+            "sort": [
+              {
+                "desc": true,
+                "field": "Count"
+              }
+            ]
+          }
+        }
+      ],
+      "type": "table"
+    },
+    {
+      "datasource": {
+        "type": "grafana-opensearch-datasource",
+        "uid": "dbrepoopensearch0"
+      },
+      "fieldConfig": {
+        "defaults": {
+          "color": {
+            "mode": "fixed"
+          },
+          "custom": {
+            "axisBorderShow": false,
+            "axisCenteredZero": false,
+            "axisColorMode": "text",
+            "axisLabel": "Count",
+            "axisPlacement": "auto",
+            "fillOpacity": 80,
+            "gradientMode": "none",
+            "hideFrom": {
+              "legend": false,
+              "tooltip": false,
+              "viz": false
+            },
+            "lineWidth": 1,
+            "scaleDistribution": {
+              "type": "linear"
+            },
+            "thresholdsStyle": {
+              "mode": "off"
+            }
+          },
+          "mappings": [],
+          "thresholds": {
+            "mode": "absolute",
+            "steps": [
+              {
+                "color": "green"
+              }
+            ]
+          }
+        },
+        "overrides": [
+          {
+            "matcher": {
+              "id": "byFrameRefID",
+              "options": "200"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "green",
+                  "mode": "fixed"
+                }
+              },
+              {
+                "id": "displayName",
+                "value": "200s"
+              }
+            ]
+          },
+          {
+            "matcher": {
+              "id": "byFrameRefID",
+              "options": "300"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "purple",
+                  "mode": "fixed"
+                }
+              },
+              {
+                "id": "displayName",
+                "value": "300s"
+              }
+            ]
+          },
+          {
+            "matcher": {
+              "id": "byFrameRefID",
+              "options": "400"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "orange",
+                  "mode": "fixed"
+                }
+              },
+              {
+                "id": "displayName",
+                "value": "400s"
+              }
+            ]
+          },
+          {
+            "matcher": {
+              "id": "byFrameRefID",
+              "options": "500"
+            },
+            "properties": [
+              {
+                "id": "color",
+                "value": {
+                  "fixedColor": "red",
+                  "mode": "fixed"
+                }
+              },
+              {
+                "id": "displayName",
+                "value": "500s"
+              }
+            ]
+          }
+        ]
+      },
+      "gridPos": {
+        "h": 9,
+        "w": 24,
+        "x": 0,
+        "y": 34
+      },
+      "id": 14,
+      "options": {
+        "barRadius": 0,
+        "barWidth": 0.97,
+        "fullHighlight": false,
+        "groupWidth": 0.7,
+        "legend": {
+          "calcs": [],
+          "displayMode": "list",
+          "placement": "right",
+          "showLegend": true
+        },
+        "orientation": "auto",
+        "showValue": "auto",
+        "stacking": "normal",
+        "tooltip": {
+          "hideZeros": false,
+          "mode": "multi",
+          "sort": "none"
+        },
+        "xTickLabelRotation": 0,
+        "xTickLabelSpacing": 100
+      },
+      "pluginVersion": "11.5.3",
+      "targets": [
+        {
+          "alias": "",
+          "bucketAggs": [
+            {
+              "id": "2",
+              "settings": {
+                "interval": "auto",
+                "min_doc_count": "0",
+                "trimEdges": "0"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Metric",
+          "metrics": [
+            {
+              "id": "1",
+              "type": "count"
+            }
+          ],
+          "query": "container_name: \"/dbrepo-gateway-service\" AND code: (>=200 AND <300)",
+          "queryType": "lucene",
+          "refId": "200",
+          "timeField": "@timestamp"
+        },
+        {
+          "alias": "",
+          "bucketAggs": [
+            {
+              "id": "2",
+              "settings": {
+                "interval": "auto",
+                "min_doc_count": "0",
+                "trimEdges": "0"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Metric",
+          "metrics": [
+            {
+              "id": "1",
+              "type": "count"
+            }
+          ],
+          "query": "container_name: \"/dbrepo-gateway-service\" AND code: (>=300 AND <400)",
+          "queryType": "lucene",
+          "refId": "300",
+          "timeField": "@timestamp"
+        },
+        {
+          "alias": "",
+          "bucketAggs": [
+            {
+              "id": "2",
+              "settings": {
+                "interval": "auto",
+                "min_doc_count": "0",
+                "trimEdges": "0"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Metric",
+          "metrics": [
+            {
+              "id": "1",
+              "type": "count"
+            }
+          ],
+          "query": "container_name: \"/dbrepo-gateway-service\" AND code: (>=400 AND <500)",
+          "queryType": "lucene",
+          "refId": "400",
+          "timeField": "@timestamp"
+        },
+        {
+          "alias": "",
+          "bucketAggs": [
+            {
+              "id": "2",
+              "settings": {
+                "interval": "auto",
+                "min_doc_count": "0",
+                "trimEdges": "0"
+              },
+              "type": "date_histogram"
+            }
+          ],
+          "datasource": {
+            "type": "grafana-opensearch-datasource",
+            "uid": "dbrepoopensearch0"
+          },
+          "format": "table",
+          "hide": false,
+          "luceneQueryType": "Metric",
+          "metrics": [
+            {
+              "id": "1",
+              "type": "count"
+            }
+          ],
+          "query": "container_name: \"/dbrepo-gateway-service\" AND code: >=500",
+          "queryType": "lucene",
+          "refId": "500",
+          "timeField": "@timestamp"
+        }
+      ],
+      "title": "HTTP Status Codes over Time",
+      "type": "barchart"
+    }
+  ],
+  "preload": false,
+  "refresh": "1m",
+  "schemaVersion": 40,
+  "tags": [
+    "ui",
+    "dashboard",
+    "metadata",
+    "data",
+    "gateway",
+    "analyse",
+    "metrics",
+    "auth",
+    "search"
+  ],
+  "templating": {
+    "list": []
+  },
+  "time": {
+    "from": "now-3h",
+    "to": "now"
+  },
+  "timepicker": {},
+  "timezone": "browser",
+  "title": "Logging - Overview",
+  "uid": "aejhojr0mrpj4c",
+  "version": 33,
+  "weekStart": ""
+}
\ No newline at end of file
diff --git a/dbrepo-dashboard-ui/dashboards/System/mariadb.json b/dbrepo-dashboard-ui/dashboards/System/mariadb.json
index 204d98a9fe6f93fab76e860708ab1fefd7337743..b6297de19c2dcd0c179c49a8c616ab2f230caf6b 100644
--- a/dbrepo-dashboard-ui/dashboards/System/mariadb.json
+++ b/dbrepo-dashboard-ui/dashboards/System/mariadb.json
@@ -1371,7 +1371,7 @@
   },
   "timepicker": {},
   "timezone": "",
-  "title": "Galera/MariaDB - Overview",
+  "title": "MariaDB Galera - Overview",
   "uid": "pXgz0qFGk",
   "version": 2
 }
\ No newline at end of file
diff --git a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/SubsetEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/SubsetEndpoint.java
index 8c3656b0cd603f69946a8c69c6b02ff887ede6ad..bf48f8f25a248b16944cdd5009f1dfa292f942db 100644
--- a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/SubsetEndpoint.java
+++ b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/SubsetEndpoint.java
@@ -86,7 +86,7 @@ public class SubsetEndpoint extends RestEndpoint {
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "404",
-                    description = "Failed to find database in metadata database or query in query store of the data database",
+                    description = "Failed to find database or user in metadata database or query in query store of the data database",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -100,7 +100,7 @@ public class SubsetEndpoint extends RestEndpoint {
                                                @RequestParam(name = "persisted", required = false) Boolean filterPersisted,
                                                Principal principal)
             throws DatabaseUnavailableException, DatabaseNotFoundException, RemoteUnavailableException,
-            QueryNotFoundException, NotAllowedException, MetadataServiceException {
+            QueryNotFoundException, NotAllowedException, MetadataServiceException, UserNotFoundException {
         log.debug("endpoint find subsets in database, databaseId={}, filterPersisted={}", databaseId, filterPersisted);
         final DatabaseDto database = cacheService.getDatabase(databaseId);
         if (!database.getIsPublic()) {
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/AccessEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/AccessEndpointUnitTest.java
index a634c2b45239f85fd528cdb697242743d01291ea..725814004440115e255b67d31ecfe977f80e42fd 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/AccessEndpointUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/AccessEndpointUnitTest.java
@@ -13,7 +13,7 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.test.context.support.WithMockUser;
@@ -32,10 +32,10 @@ public class AccessEndpointUnitTest extends BaseTest {
     @Autowired
     private AccessEndpoint accessEndpoint;
 
-    @MockBean
+    @MockitoBean
     private CacheService credentialService;
 
-    @MockBean
+    @MockitoBean
     private AccessService accessService;
 
     @Test
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/DatabaseEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/DatabaseEndpointUnitTest.java
index 01a575b4609b4dd2a882f2bae6e40ba520229b74..431d88d72c651875e587aadf3737d95c59715acb 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/DatabaseEndpointUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/DatabaseEndpointUnitTest.java
@@ -15,10 +15,10 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.test.context.support.WithMockUser;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import java.sql.SQLException;
@@ -37,16 +37,16 @@ public class DatabaseEndpointUnitTest extends BaseTest {
     @Autowired
     private DatabaseEndpoint databaseEndpoint;
 
-    @MockBean
+    @MockitoBean
     private ContainerService containerService;
 
-    @MockBean
+    @MockitoBean
     private AccessService accessService;
 
-    @MockBean
+    @MockitoBean
     private DatabaseService databaseService;
 
-    @MockBean
+    @MockitoBean
     private CacheService credentialService;
 
     @Test
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/SubsetEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/SubsetEndpointUnitTest.java
index 195e42026ddbe710855d4b6ceb9248cb8e486c97..8aa9327c8b8ba1a22d934a97543c769b11dfcca2 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/SubsetEndpointUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/SubsetEndpointUnitTest.java
@@ -21,11 +21,11 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.test.context.support.WithAnonymousUser;
 import org.springframework.security.test.context.support.WithMockUser;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import java.security.Principal;
@@ -49,22 +49,22 @@ public class SubsetEndpointUnitTest extends BaseTest {
     @Autowired
     private SparkSession sparkSession;
 
-    @MockBean
+    @MockitoBean
     private SubsetService subsetService;
 
-    @MockBean
+    @MockitoBean
     private HttpServletRequest httpServletRequest;
 
-    @MockBean
+    @MockitoBean
     private StorageService storageService;
 
-    @MockBean
+    @MockitoBean
     private DatabaseService databaseService;
 
-    @MockBean
+    @MockitoBean
     private CacheService cacheService;
 
-    @MockBean
+    @MockitoBean
     private MetadataServiceGateway metadataServiceGateway;
 
     @Test
@@ -708,7 +708,7 @@ public class SubsetEndpointUnitTest extends BaseTest {
 
     protected List<QueryDto> generic_list(UUID databaseId, DatabaseDto database, Principal principal)
             throws NotAllowedException, DatabaseUnavailableException, QueryNotFoundException, DatabaseNotFoundException,
-            RemoteUnavailableException, MetadataServiceException {
+            RemoteUnavailableException, MetadataServiceException, UserNotFoundException {
 
         /* mock */
         if (database != null) {
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/TableEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/TableEndpointUnitTest.java
index 8bfd1c527fc1d4ad772aa22460219b306a611492..70ef32af913b44111ae91a8c9b0eb98be1c84390 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/TableEndpointUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/TableEndpointUnitTest.java
@@ -26,7 +26,7 @@ import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.AccessDeniedException;
@@ -54,22 +54,22 @@ public class TableEndpointUnitTest extends BaseTest {
     @Autowired
     private SparkSession sparkSession;
 
-    @MockBean
+    @MockitoBean
     private HttpServletRequest httpServletRequest;
 
-    @MockBean
+    @MockitoBean
     private TableService tableService;
 
-    @MockBean
+    @MockitoBean
     private SubsetService subsetService;
 
-    @MockBean
+    @MockitoBean
     private DatabaseService databaseService;
 
-    @MockBean
+    @MockitoBean
     private CacheService credentialService;
 
-    @MockBean
+    @MockitoBean
     private MetadataServiceGateway metadataServiceGateway;
 
     public static Stream<Arguments> size_arguments() {
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/ViewEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/ViewEndpointUnitTest.java
index 9e0b1c4454f3a6abd12af702d5658b5b6bec9802..5660e073f0f71a9928330130a738af0899e97f03 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/ViewEndpointUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/ViewEndpointUnitTest.java
@@ -18,7 +18,7 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.test.context.support.WithAnonymousUser;
@@ -38,19 +38,19 @@ import static org.mockito.Mockito.*;
 @ExtendWith(SpringExtension.class)
 public class ViewEndpointUnitTest extends BaseTest {
 
-    @MockBean
+    @MockitoBean
     private ViewService viewService;
 
-    @MockBean
+    @MockitoBean
     private DatabaseService databaseService;
 
-    @MockBean
+    @MockitoBean
     private CacheService credentialService;
 
-    @MockBean
+    @MockitoBean
     private HttpServletRequest httpServletRequest;
 
-    @MockBean
+    @MockitoBean
     private SubsetService subsetService;
 
     @Autowired
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/InterceptorUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/InterceptorUnitTest.java
index b56888551b5da6ca4bb34cfb6f3bc96481ba3a04..f36754f0b2460dfc8666c07351a7e88790ca7d61 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/InterceptorUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/InterceptorUnitTest.java
@@ -7,7 +7,7 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
@@ -22,7 +22,7 @@ import static org.mockito.Mockito.when;
 @ExtendWith(SpringExtension.class)
 public class InterceptorUnitTest extends BaseTest {
 
-    @MockBean
+    @MockitoBean
     @Qualifier("keycloakRestTemplate")
     private RestTemplate restTemplate;
 
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/MetadataServiceGatewayUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/MetadataServiceGatewayUnitTest.java
index 60860315edd4f23aea7dc43fc6960a628c2ef996..751c5248c1655dee2440521441a50d1bc9d50324 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/MetadataServiceGatewayUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/MetadataServiceGatewayUnitTest.java
@@ -15,7 +15,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.http.*;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.web.client.HttpClientErrorException;
@@ -35,7 +35,7 @@ import static org.mockito.Mockito.when;
 @ExtendWith(SpringExtension.class)
 public class MetadataServiceGatewayUnitTest extends BaseTest {
 
-    @MockBean
+    @MockitoBean
     @Qualifier("internalRestTemplate")
     private RestTemplate internalRestTemplate;
 
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerIntegrationTest.java
index dcb0af3d66d698f4db8eeffe6e7e13401848a9d5..c87cd5fd49066b15b326b7d4ddf8f0eda3ec6b17 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerIntegrationTest.java
@@ -15,7 +15,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.amqp.core.Message;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.boot.test.system.CapturedOutput;
 import org.springframework.boot.test.system.OutputCaptureExtension;
 import org.springframework.test.annotation.DirtiesContext;
@@ -40,7 +40,7 @@ import static org.mockito.Mockito.when;
 @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
 public class DefaultListenerIntegrationTest extends BaseTest {
 
-    @MockBean
+    @MockitoBean
     private CacheService credentialService;
 
     @Autowired
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerUnitTest.java
index 8b0eedcebebf8a01ef8cd7a42ea916afd30ebf7a..72aba7246361b328fee630a1972bc53c431799e5 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerUnitTest.java
@@ -8,7 +8,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.amqp.core.Message;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.boot.test.system.CapturedOutput;
 import org.springframework.boot.test.system.OutputCaptureExtension;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
@@ -29,7 +29,7 @@ import static org.mockito.Mockito.doThrow;
 @Testcontainers
 public class DefaultListenerUnitTest {
 
-    @MockBean
+    @MockitoBean
     private CacheService credentialService;
 
     @Autowired
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/SubsetEndpointMvcTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/SubsetEndpointMvcTest.java
index 593954df956fc4e599bba665355b01a405e0611e..69d41cf983863859dd42a85c3380102776bd00f8 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/SubsetEndpointMvcTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/SubsetEndpointMvcTest.java
@@ -10,7 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.actuate.observability.AutoConfigureObservability;
 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.http.MediaType;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.test.web.servlet.MockMvc;
@@ -27,10 +27,10 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 @AutoConfigureObservability
 public class SubsetEndpointMvcTest extends BaseTest {
 
-    @MockBean
+    @MockitoBean
     private MetadataServiceGateway metadataServiceGateway;
 
-    @MockBean
+    @MockitoBean
     private SubsetService subsetService;
 
     @Autowired
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/CredentialServiceUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/CredentialServiceUnitTest.java
index febf388d59531bb4e8a831b43a81facf19a7eb01..4fcafa9e86525537d69186898a2ce4dfcfaa6d4e 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/CredentialServiceUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/CredentialServiceUnitTest.java
@@ -16,7 +16,7 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import java.sql.SQLException;
@@ -32,7 +32,7 @@ public class CredentialServiceUnitTest extends BaseTest {
     @Autowired
     private CacheServiceImpl credentialService;
 
-    @MockBean
+    @MockitoBean
     private MetadataServiceGateway metadataServiceGateway;
 
     @BeforeEach
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/QueueServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/QueueServiceIntegrationTest.java
index 99e3f77f807c1d5c09c1f58773d31724006c42ee..594cb113ad0f897f58a62fe14e17779c802047ef 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/QueueServiceIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/QueueServiceIntegrationTest.java
@@ -16,7 +16,7 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.testcontainers.containers.MariaDBContainer;
 import org.testcontainers.junit.jupiter.Container;
@@ -37,7 +37,7 @@ public class QueueServiceIntegrationTest extends BaseTest {
     @Autowired
     private QueueServiceRabbitMqImpl queueService;
 
-    @MockBean
+    @MockitoBean
     private MetadataServiceGateway metadataServiceGateway;
 
     @Container
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/SubsetServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/SubsetServiceIntegrationTest.java
index d6f657ed2b937beb1b286895a123663ec1b170c4..597d8812013f8899ce9ebf4a4d0734b1ede1894c 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/SubsetServiceIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/SubsetServiceIntegrationTest.java
@@ -18,7 +18,7 @@ import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.testcontainers.containers.MariaDBContainer;
 import org.testcontainers.junit.jupiter.Container;
@@ -44,7 +44,7 @@ public class SubsetServiceIntegrationTest extends BaseTest {
     @Autowired
     private SubsetService subsetService;
 
-    @MockBean
+    @MockitoBean
     private MetadataServiceGateway metadataServiceGateway;
 
     public static Stream<Arguments> create_arguments() {
diff --git a/dbrepo-search-service/Pipfile.lock b/dbrepo-search-service/Pipfile.lock
index 88f361478d9ad7402cf52d37b76531dc30e7e363..65fe75dd41218de10e1b573db8c386163a3cef08 100644
--- a/dbrepo-search-service/Pipfile.lock
+++ b/dbrepo-search-service/Pipfile.lock
@@ -272,7 +272,7 @@
         },
         "dbrepo": {
             "hashes": [
-                "sha256:37573cb12adb3436397de36b49252b5e6d86f26746673ce9b7eab09ba1a9a0eb"
+                "sha256:76f0ab97d1e914a779aa51b5e5a17591b2f1c88f15dc9df27273deb4dc7ed125"
             ],
             "path": "./lib/dbrepo-1.8.2.tar.gz"
         },
@@ -1383,11 +1383,11 @@
         },
         "urllib3-future": {
             "hashes": [
-                "sha256:ce90c1ef08b265eccf29676f759a3a30a36b6ccc8a9e97d3473ea4b26f586d52",
-                "sha256:f341b1ff506c0c7f92cf3d98bd6683b398cad24b62e0277ce6f386222b85951a"
+                "sha256:642b235a89cbddb7a3c6703a11fd0255473231be791214fd01abd465371ea8fb",
+                "sha256:a4f2a94da920f62f4c957931d3a1cc364efdd0fbb984624db7ad7347aa27afad"
             ],
             "markers": "python_version >= '3.7'",
-            "version": "==2.12.919"
+            "version": "==2.12.920"
         },
         "verlib2": {
             "hashes": [
diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.8.2-py3-none-any.whl
index 6a21f512b36f30367f641061c8efeba90108a6c7..48beeb5ebf61c7cca654e0ee66343fac70bb4d53 100644
Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2-py3-none-any.whl and b/dbrepo-search-service/lib/dbrepo-1.8.2-py3-none-any.whl differ
diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2.tar.gz b/dbrepo-search-service/lib/dbrepo-1.8.2.tar.gz
index f98a45d02b802376ff7614c008eec8783f281896..3e3b65b6b93a602ee26c2f4d4c71c2d3cd331211 100644
Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2.tar.gz and b/dbrepo-search-service/lib/dbrepo-1.8.2.tar.gz differ
diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl
deleted file mode 100644
index 86a1af2af41c44d35a4da7a472c180854f0cd82c..0000000000000000000000000000000000000000
Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl and /dev/null differ
diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc3.tar.gz b/dbrepo-search-service/lib/dbrepo-1.8.2rc3.tar.gz
deleted file mode 100644
index 9c03ed275c6da5b2eef3619c59269f398d59c7de..0000000000000000000000000000000000000000
Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc3.tar.gz and /dev/null differ
diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl
deleted file mode 100644
index 5a0dbc7c95592f2e70bed13fa33d85cc6cdf7811..0000000000000000000000000000000000000000
Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl and /dev/null differ
diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc4.tar.gz b/dbrepo-search-service/lib/dbrepo-1.8.2rc4.tar.gz
deleted file mode 100644
index 1dbc78c989362d4d0c3750b1ad942abe46f205dd..0000000000000000000000000000000000000000
Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc4.tar.gz and /dev/null differ
diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl
deleted file mode 100644
index 50bf1b8195987f6f8d23a36f34bc0f912b6fd9b3..0000000000000000000000000000000000000000
Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl and /dev/null differ
diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc5.tar.gz b/dbrepo-search-service/lib/dbrepo-1.8.2rc5.tar.gz
deleted file mode 100644
index be8784437f111e2d4a5cdac36baf77605114dfa5..0000000000000000000000000000000000000000
Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc5.tar.gz and /dev/null differ
diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl
deleted file mode 100644
index 8e4c745a2ce782c174d5e1db7eef22d51d26624c..0000000000000000000000000000000000000000
Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl and /dev/null differ
diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc6.tar.gz b/dbrepo-search-service/lib/dbrepo-1.8.2rc6.tar.gz
deleted file mode 100644
index 279243fd37fe033fe4aa740361b5e9a370516924..0000000000000000000000000000000000000000
Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc6.tar.gz and /dev/null differ
diff --git a/helm/dbrepo/charts/seaweedfs-4.2.1.tgz b/helm/dbrepo/charts/seaweedfs-4.2.1.tgz
index 6101f07e64e7e9515cba0bf545fde7dc25662c98..5f8f69e66d7fb81e53c993e71965558eddbe141f 100644
Binary files a/helm/dbrepo/charts/seaweedfs-4.2.1.tgz and b/helm/dbrepo/charts/seaweedfs-4.2.1.tgz differ
diff --git a/helm/dbrepo/files/create-event-listener.jar b/helm/dbrepo/files/create-event-listener.jar
index 4e8060b6ba6d6f0ad9bf2a71d447368492fff775..860ca21f578b81b1d040870aa3434b56996b9215 100644
Binary files a/helm/dbrepo/files/create-event-listener.jar and b/helm/dbrepo/files/create-event-listener.jar differ
diff --git a/helm/dbrepo/files/dbrepo.json b/helm/dbrepo/files/dbrepo.json
index ca75b2fffe9345b8a4c9fecd825e027377932909..331c3fda58a368ef3dc17117a1becdcaefc643f0 100644
--- a/helm/dbrepo/files/dbrepo.json
+++ b/helm/dbrepo/files/dbrepo.json
@@ -2671,7 +2671,7 @@
     "list": []
   },
   "time": {
-    "from": "now-24h",
+    "from": "now-3h",
     "to": "now"
   },
   "timepicker": {},
diff --git a/helm/dbrepo/files/keycloak.json b/helm/dbrepo/files/keycloak.json
index 3f20ccc229c64431235a847434f5ce2545aa39d4..aa5e2a8c572b6a5273bb9c89c908b3adff857dfa 100644
--- a/helm/dbrepo/files/keycloak.json
+++ b/helm/dbrepo/files/keycloak.json
@@ -2386,7 +2386,7 @@
     ]
   },
   "timezone": "",
-  "title": "Keycloak Metrics Dashboard",
+  "title": "Keycloak - Overview",
   "uid": "keycloak-dashboard",
   "version": 6,
   "description": "Dashboard of Keycloak metrics exported with Keycloak Metrics SPI\r\n\r\nhttps://github.com/aerogear/keycloak-metrics-spi"
diff --git a/helm/dbrepo/files/logging.json b/helm/dbrepo/files/logging.json
index f737dfaf57ade50f76585405b55d9afd24522150..8325bb7b7625842c680ebf7be9686b16e69f018e 100644
--- a/helm/dbrepo/files/logging.json
+++ b/helm/dbrepo/files/logging.json
@@ -1104,12 +1104,12 @@
     "list": []
   },
   "time": {
-    "from": "now-1h",
+    "from": "now-3h",
     "to": "now"
   },
   "timepicker": {},
   "timezone": "browser",
-  "title": "Logging",
+  "title": "Logging - Overview",
   "uid": "aejhojr0mrpj4c",
   "version": 33,
   "weekStart": ""
diff --git a/helm/dbrepo/files/mariadb.json b/helm/dbrepo/files/mariadb.json
index 204d98a9fe6f93fab76e860708ab1fefd7337743..b6297de19c2dcd0c179c49a8c616ab2f230caf6b 100644
--- a/helm/dbrepo/files/mariadb.json
+++ b/helm/dbrepo/files/mariadb.json
@@ -1371,7 +1371,7 @@
   },
   "timepicker": {},
   "timezone": "",
-  "title": "Galera/MariaDB - Overview",
+  "title": "MariaDB Galera - Overview",
   "uid": "pXgz0qFGk",
   "version": 2
 }
\ No newline at end of file
diff --git a/helm/dbrepo/templates/analyse-deployment.yaml b/helm/dbrepo/templates/analyse-deployment.yaml
index d3e6b699c0b66e1100bdae7aab6a560380a6f19e..c323411a4c7260f40323502caf2e4e008ccc4892 100644
--- a/helm/dbrepo/templates/analyse-deployment.yaml
+++ b/helm/dbrepo/templates/analyse-deployment.yaml
@@ -18,6 +18,13 @@ spec:
       service: analyse-service
   template:
     metadata:
+      annotations:
+        {{- if .Values.loggingservice.enabled }}
+        fluentbit.io/parser: gunicorn
+        {{- end }}
+        {{- if .Values.analyseservice.podAnnotations }}
+        {{- include "common.tplvalues.render" (dict "value" .Values.analyseservice.podAnnotations "context" $) | nindent 8 }}
+        {{- end }}
       labels:
         app: analyse-service
         service: analyse-service
diff --git a/helm/dbrepo/templates/dashboard-deployment.yaml b/helm/dbrepo/templates/dashboard-deployment.yaml
index f2c1a6fff16b55ada432db13abca7fb40f5d45e8..b1ebe32af990a3fd62818f137d23a8642ad54ccc 100644
--- a/helm/dbrepo/templates/dashboard-deployment.yaml
+++ b/helm/dbrepo/templates/dashboard-deployment.yaml
@@ -18,6 +18,13 @@ spec:
       service: dashboard-service
   template:
     metadata:
+      annotations:
+        {{- if .Values.loggingservice.enabled }}
+        fluentbit.io/parser: gunicorn
+        {{- end }}
+        {{- if .Values.dashboardservice.podAnnotations }}
+        {{- include "common.tplvalues.render" (dict "value" .Values.dashboardservice.podAnnotations "context" $) | nindent 8 }}
+        {{- end }}
       labels:
         app: dashboard-service
         service: dashboard-service
diff --git a/helm/dbrepo/templates/dashboard-ui-configmap.yaml b/helm/dbrepo/templates/dashboard-ui-configmap.yaml
index ba15e681d234c08a2a7fb8921964ad2a54c1fb7a..9fe92bc9e2aca14e59805388e4a723d85593d5fd 100644
--- a/helm/dbrepo/templates/dashboard-ui-configmap.yaml
+++ b/helm/dbrepo/templates/dashboard-ui-configmap.yaml
@@ -6,8 +6,9 @@ metadata:
   name: dashboard-ui-config
   namespace: {{ include "common.names.namespace" . | quote }}
 data:
-  {{ (.Files.Glob "files/mariadb.json").AsConfig | nindent 2 }}
-  {{ (.Files.Glob "files/rabbitmq.json").AsConfig | nindent 2 }}
   {{ (.Files.Glob "files/dbrepo.json").AsConfig | nindent 2 }}
   {{ (.Files.Glob "files/keycloak.json").AsConfig | nindent 2 }}
+  {{ (.Files.Glob "files/logging.json").AsConfig | nindent 2 }}
+  {{ (.Files.Glob "files/mariadb.json").AsConfig | nindent 2 }}
+  {{ (.Files.Glob "files/rabbitmq.json").AsConfig | nindent 2 }}
 {{- end }}
diff --git a/helm/dbrepo/templates/data-deployment.yaml b/helm/dbrepo/templates/data-deployment.yaml
index 7e77d2020e39a877b6d0165452adcf25f2b34eba..8371f6e855739a3dda20dbc6f090d90d4a8f29f3 100644
--- a/helm/dbrepo/templates/data-deployment.yaml
+++ b/helm/dbrepo/templates/data-deployment.yaml
@@ -18,6 +18,13 @@ spec:
       service: data-service
   template:
     metadata:
+      annotations:
+        {{- if .Values.loggingservice.enabled }}
+        fluentbit.io/parser: java
+        {{- end }}
+        {{- if .Values.dataservice.podAnnotations }}
+        {{- include "common.tplvalues.render" (dict "value" .Values.dataservice.podAnnotations "context" $) | nindent 8 }}
+        {{- end }}
       labels:
         app: data-service
         service: data-service
diff --git a/helm/dbrepo/templates/identity-statefulset.yaml b/helm/dbrepo/templates/identity-statefulset.yaml
index 57b3dd7c328b6cc24caf2df59c1bde970065c26d..0505f52151fa566a48e3757e339b27bd0adb17cd 100644
--- a/helm/dbrepo/templates/identity-statefulset.yaml
+++ b/helm/dbrepo/templates/identity-statefulset.yaml
@@ -16,6 +16,13 @@ spec:
       service: identity-service
   template:
     metadata:
+      annotations:
+        {{- if .Values.loggingservice.enabled }}
+        fluentbit.io/parser: openldap
+        {{- end }}
+        {{- if .Values.identityservice.podAnnotations }}
+        {{- include "common.tplvalues.render" (dict "value" .Values.identityservice.podAnnotations "context" $) | nindent 8 }}
+        {{- end }}
       labels:
         app: identity-service
         service: identity-service
diff --git a/helm/dbrepo/templates/logging-service-configmap.yaml b/helm/dbrepo/templates/logging-service-configmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..09ad34134eb4600593e1dab4c21d14b7f60d0749
--- /dev/null
+++ b/helm/dbrepo/templates/logging-service-configmap.yaml
@@ -0,0 +1,133 @@
+{{- if .Values.loggingservice.enabled }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: logging-service-config
+  namespace: {{ include "common.names.namespace" . | quote }}
+data:
+  custom_parsers.conf: |-
+    [PARSER]
+        # https://rubular.com/r/dyenlhs3wJioGo
+        Name        java
+        Format      regex
+        Regex       ^(?<time>[^ ]+) (?<stream>stdout|stderr) (?<logtag>[^ ]*).*\[(?<thread>.*)\] *(?<level>[^ ]*) (?<logger>.*) - (?<message>.*)$
+        Time_Key    time
+        Time_Format %Y-%m-%d %H:%M:%S,%L
+        Time_Keep   On
+
+    [PARSER]
+        # https://rubular.com/r/N30SNcHJbh30yY
+        Name        quarkus
+        Format      regex
+        Regex       ^(?<time>[^ ]+) (?<stream>stdout|stderr) (?<logtag>[^ ]*).* (?<level>[^ ]+).*\[(?<module>.*)\] \((?<executor>[^ \)]+)\) (?<message>.*)$
+        Time_Key    time
+        Time_Format %Y-%m-%d %H:%M:%S,%L
+        Time_Keep   On
+
+    [PARSER]
+        # https://rubular.com/r/sUgLA4QAdPtOqW
+        Name        gunicorn
+        Format      regex
+        Regex       ^(?<time>[^ ]+) (?<stream>stdout|stderr) (?<logtag>[^ ]*).* \[(?<level>[a-zA-Z]+)\] *(?<message>.*)$
+        Time_Key    time
+        Time_Format %Y-%m-%d %H:%M:%S %z
+        Time_Keep   On
+
+    [PARSER]
+        # https://rubular.com/r/bqLY5HuZfP07p3
+        Name        seaweedfs
+        Format      regex
+        Regex       (?<i>I[0-9]*) (?<time>[^ ]*) (?<golocation>[a-z0-9_\.:]*) (?<message>.*)
+        Time_Key    time
+        Time_Format %H:%M:%S.%L
+        Time_Keep   On
+
+    [PARSER]
+        # https://rubular.com/r/SMa7y7BTOOgf9z
+        Name        openldap
+        Format      regex
+        Regex       (?<rnd>[^ ]*) (?<register>[^ ]*) conn=(?<conn>[0-9]+) op=(?<op>[^ ]*) (?<message>.*)
+        Time_Key    time
+        Time_Format %H:%M:%S.%L
+        Time_Keep   On
+
+    [PARSER]
+        # https://rubular.com/r/FqZiF1s7b64rQf
+        Name        prometheus
+        Format      regex
+        Regex       ts=(?<time>[^ ]+).*level=(?<level>[^ ]+).*msg="(?<message>.*)"
+        Time_Key    time
+        Time_Format %H:%M:%S.%L
+        Time_Keep   On
+
+    [PARSER]
+        # https://rubular.com/r/NZVtoH0VAUBp65
+        Name        grafana
+        Format      regex
+        Regex       t=(?<time>[^ ]+).*level=(?<level>[^ ]+).*msg="(?<message>.*)"
+        Time_Key    time
+        Time_Format %H:%M:%S.%L
+        Time_Keep   On
+
+    [PARSER]
+        # https://rubular.com/r/3SSbts0642zCZp
+        Name        rabbitmq
+        Format      regex
+        Regex       (?<time>[^ ]*) \[(?<level>[^\]]+)\] \\u[a-f0-9]+(?<started>[0-9]+\.[0-9]+\.[0-9]+)\\u[a-f0-9]+ (?<message>.*)$
+        Time_Key    time
+        Time_Format %H:%M:%S.%L
+        Time_Keep   On
+
+    [PARSER]
+        Name        k8s-custom
+        Format      regex
+        Regex       (?<namespace_name>[^.]+)\.(?<pod_name>[^.]+)\.(?<container_name>[^.]+)$
+  fluent-bit.conf: |-
+    [SERVICE]
+        Flush                       1
+        Daemon                      Off
+        Log_Level                   info
+        Config_Watch                On
+        HTTP_Server                 On
+        HTTP_Listen                 0.0.0.0
+        HTTP_Port                   2020
+        Parsers_File                /opt/bitnami/fluent-bit/conf/parsers.conf
+        Parsers_File                /opt/bitnami/fluent-bit/conf/custom_parsers.conf
+
+    [INPUT]
+        Name                        tail
+        Path                        /var/log/containers/*_{{ .Release.Namespace }}_*.log
+        Tag                         kube.<namespace_name>.<pod_name>.<container_name>
+        Tag_Regex                   (?<pod_name>[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?<namespace_name>[^_]+)_(?<container_name>.+)-(?<container_id>[a-z0-9]{64})\.log$
+        multiline.parser            cri
+
+    [INPUT]
+        name                        fluentbit_metrics
+        tag                         internal_metrics
+        scrape_interval             2
+
+    [FILTER]
+        Name                        kubernetes
+        Match                       kube.*
+        Kube_Tag_Prefix             kube.
+        Regex_Parser                k8s-custom
+        K8S-Logging.Parser          On
+        Merge_Log                   On
+
+    [OUTPUT]
+        Name                        opensearch
+        Match                       *
+        Host                        search-db
+        Port                        9200
+        Index                       logging
+        Replace_Dots                On
+        Include_Tag_Key             On
+        Suppress_Type_Name          On
+
+    [OUTPUT]
+        name                        prometheus_exporter
+        match                       internal_metrics
+        host                        0.0.0.0
+        port                        2021
+{{- end }}
diff --git a/helm/dbrepo/templates/metadata-deployment.yaml b/helm/dbrepo/templates/metadata-deployment.yaml
index f5f27378e1d88c2ee59743a5d2dbbcbe110e0235..41b8d5b11061ef729da06bafdbbdcdd5b66aa77f 100644
--- a/helm/dbrepo/templates/metadata-deployment.yaml
+++ b/helm/dbrepo/templates/metadata-deployment.yaml
@@ -18,6 +18,13 @@ spec:
       service: metadata-service
   template:
     metadata:
+      annotations:
+        {{- if .Values.loggingservice.enabled }}
+        fluentbit.io/parser: java
+        {{- end }}
+        {{- if .Values.metadataservice.podAnnotations }}
+        {{- include "common.tplvalues.render" (dict "value" .Values.metadataservice.podAnnotations "context" $) | nindent 8 }}
+        {{- end }}
       labels:
         app: metadata-service
         service: metadata-service
diff --git a/helm/dbrepo/templates/search-deployment.yaml b/helm/dbrepo/templates/search-deployment.yaml
index 98908f0c4202f31fdbf9e0915a1eeaea866193ad..96de1ea7ec4337c4dd42a588f682a71845540588 100644
--- a/helm/dbrepo/templates/search-deployment.yaml
+++ b/helm/dbrepo/templates/search-deployment.yaml
@@ -18,6 +18,13 @@ spec:
       service: search-service
   template:
     metadata:
+      annotations:
+        {{- if .Values.loggingservice.enabled }}
+        fluentbit.io/parser: gunicorn
+        {{- end }}
+        {{- if .Values.searchservice.podAnnotations }}
+        {{- include "common.tplvalues.render" (dict "value" .Values.searchservice.podAnnotations "context" $) | nindent 8 }}
+        {{- end }}
       labels:
         app: search-service
         service: search-service
diff --git a/helm/dbrepo/values.yaml b/helm/dbrepo/values.yaml
index 5de4adfa858f9411d7ba3cee96e1f593c57a187a..2091e289f1e0780df4eff498a29cd36759e6baa8 100644
--- a/helm/dbrepo/values.yaml
+++ b/helm/dbrepo/values.yaml
@@ -270,6 +270,9 @@ brokerservice:
   image:
     ## @param brokerservice.image.debug Set the logging level to `trace`. Otherwise, set to `info`.
     debug: true
+  ## @skip brokerservice.podAnnotations
+  podAnnotations:
+    fluentbit.io/parser: rabbitmq
   metrics:
     ## @skip brokerservice.metrics.enabled
     enabled: true
@@ -356,6 +359,9 @@ analyseservice:
   image:
     ## @skip analyseservice.image.name
     name: registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.8.2
+  ## @param analyseservice.podAnnotations the pod annotations. Evaluated as a template
+  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
+  podAnnotations: { }
   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
   podSecurityContext:
     ## @param analyseservice.podSecurityContext.enabled Enable pods' Security Context
@@ -417,6 +423,9 @@ metadataservice:
   image:
     ## @skip metadataservice.image.name
     name: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.8.2
+  ## @param metadataservice.podAnnotations the pod annotations. Evaluated as a template
+  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
+  podAnnotations: { }
   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
   podSecurityContext:
     ## @param metadataservice.podSecurityContext.enabled Enable pods' Security Context
@@ -514,6 +523,9 @@ dataservice:
   image:
     ## @skip dataservice.image.name
     name: registry.datalab.tuwien.ac.at/dbrepo/data-service:1.8.2
+  ## @param dataservice.podAnnotations the pod annotations. Evaluated as a template
+  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
+  podAnnotations: { }
   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
   podSecurityContext:
     ## @param dataservice.podSecurityContext.enabled Enable pods' Security Context
@@ -600,6 +612,9 @@ searchservice:
   image:
     ## @skip searchservice.image.name
     name: registry.datalab.tuwien.ac.at/dbrepo/search-service:1.8.2
+  ## @param searchservice.podAnnotations the pod annotations. Evaluated as a template
+  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
+  podAnnotations: { }
   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
   podSecurityContext:
     ## @param searchservice.podSecurityContext.enabled Enable pods' Security Context
@@ -739,6 +754,9 @@ identityservice:
     adminPassword: admin
     ## @skip identityservice.global.configUserEnabled
     configUserEnabled: false
+  ## @param identityservice.podAnnotations the pod annotations. Evaluated as a template
+  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
+  podAnnotations: { }
   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
   podSecurityContext:
     ## @param identityservice.podSecurityContext.enabled Enable pods' Security Context
@@ -937,6 +955,9 @@ dashboardservice:
     name: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service:1.8.2
   ## @param dashboardservice.endpoint The endpoint for the microservices.
   endpoint: http://dashboard-service
+  ## @param dashboardservice.podAnnotations the pod annotations. Evaluated as a template
+  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
+  podAnnotations: { }
   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
   podSecurityContext:
     ## @param dashboardservice.podSecurityContext.enabled Enable pods' Security Context
@@ -1005,6 +1026,9 @@ dashboardui:
   enabled: true
   ## @skip dashboardui.fullnameOverride
   fullnameOverride: dashboard-ui
+  ## @skip dashboardui.podAnnotations
+  podAnnotations:
+    fluentbit.io/parser: grafana
   metrics:
     ## @param dashboardui.metrics.enabled Enable the metrics sidecar.
     enabled: true
@@ -1070,28 +1094,28 @@ metricdb:
         metrics_path: '/actuator/prometheus'
         static_configs:
           - targets:
-            - data-service
-            - metadata-service
+              - data-service
+              - metadata-service
       - job_name: 'metrics scrape'
         metrics_path: '/metrics'
         static_configs:
           - targets:
-            - analyse-service
-            - auth-service-metrics:9000
-            - broker-service:9419
-            - dashboard-db-metrics:9187
-            - dashboard-service
-            - data-db-metrics:9104
-            - logging-service:2021
-            - metadata-db-metrics:9104
-            - search-service
-            - storage-service-master-metrics:9327
-            - ui
+              - analyse-service
+              - auth-service-metrics:9000
+              - broker-service:9419
+              - dashboard-db-metrics:9187
+              - dashboard-service
+              - data-db-metrics:9104
+              - logging-service:2021
+              - metadata-db-metrics:9104
+              - search-service
+              - storage-service-master-metrics:9327
+              - ui
       - job_name: 'realm scrape'
         metrics_path: '/realms/dbrepo/metrics'
         static_configs:
           - targets:
-            - auth-service-metrics:8080
+              - auth-service-metrics:8080
 
 ## @section Gateway Service
 
@@ -1100,6 +1124,9 @@ gatewayservice:
   enabled: true
   ## @skip gatewayservice.fullnameOverride
   fullnameOverride: gateway-service
+  ## @skip gatewayservice.podAnnotations
+  podAnnotations:
+    fluentbit.io/parser: nginx
   service:
     ## @param gatewayservice.service.type The service type.
     type: ClusterIP
@@ -1126,130 +1153,7 @@ loggingservice:
   fullnameOverride: logging-service
   daemonset:
     enabled: true
-  config:
-    ## @skip loggingservice.config.inputs
-    inputs: |-
-      [INPUT]
-          Name                        forward
-          Listen                      0.0.0.0
-          Port                        24224
-
-      [INPUT]
-          name                        fluentbit_metrics
-          tag                         internal_metrics
-          scrape_interval             2
-    ## @skip loggingservice.config.filters
-    filters: |-
-      [FILTER]
-          Name                        parser
-          Parser                      nginx
-          Match                       nginx.*
-          Key_Name                    log
-          Reserve_Data                On
-          Preserve_Key                On
-
-      [FILTER]
-          Name                        parser
-          Parser                      java
-          Match                       java.*
-          Key_Name                    log
-          Reserve_Data                On
-          Preserve_Key                On
-  
-      [FILTER]
-          Name                        parser
-          Parser                      gunicorn
-          Match                       python.*
-          Key_Name                    log
-          Reserve_Data                On
-          Preserve_Key                On
-  
-      [FILTER]
-          Name                        parser
-          Parser                      seaweedfs
-          Match                       seaweedfs.*
-          Key_Name                    log
-          Reserve_Data                On
-          Preserve_Key                On
-  
-      [FILTER]
-          Name                        parser
-          Parser                      openldap
-          Match                       openldap.*
-          Key_Name                    log
-          Reserve_Data                On
-          Preserve_Key                On
-  
-      [FILTER]
-          Name                        parser
-          Parser                      quarkus
-          Match                       keycloak.*
-          Key_Name                    log
-          Reserve_Data                On
-          Preserve_Key                On
-    ## @skip loggingservice.config.outputs
-    outputs: |-
-      [OUTPUT]
-          Name                        opensearch
-          Match                       *
-          Host                        search-db
-          Port                        9200
-          Index                       logging
-          Replace_Dots                On
-          Include_Tag_Key             On
-          Suppress_Type_Name          On
-
-      [OUTPUT]
-          name                        prometheus_exporter
-          match                       internal_metrics
-          host                        0.0.0.0
-          port                        2021
-    ## @skip loggingservice.config.customParsers
-    customParsers: |-
-      [PARSER]
-          # https://rubular.com/r/78ieBhDKvlzPnW
-          Name        java
-          Format      regex
-          Regex       (?<time>[^ ]* {1,2}[^ ]*) \[(?<thread>.*)\] *(?<level>[^ ]*) (?<logger>.*) - (?<message>.*)$
-          Time_Key    time
-          Time_Format %Y-%m-%d %H:%M:%S,%L
-          Time_Keep   On
-      
-      [PARSER]
-          # https://rubular.com/r/oTnpOflRX0HwaG
-          Name        quarkus
-          Format      regex
-          Regex       ^(?<time>[^ ]* {1,2}[^ ]*) (?<level>[^ ]*).*\[(?<module>.*)\].*\(executor-thread-(?<executor>[0-9]+)\) (?<message>.*)$
-          Time_Key    time
-          Time_Format %Y-%m-%d %H:%M:%S,%L
-          Time_Keep   On
-      
-      [PARSER]
-          # https://rubular.com/r/JqOp74qykhKeBJ
-          Name        gunicorn
-          Format      regex
-          Regex       \[(?<time>[^ ]* {1,2}[^ ]*)\] \[(?<level>[a-zA-Z]+)\] *(?<message>.*)$
-          Time_Key    time
-          Time_Format %Y-%m-%d %H:%M:%S %z
-          Time_Keep   On
-      
-      [PARSER]
-          # https://rubular.com/r/bqLY5HuZfP07p3
-          Name        seaweedfs
-          Format      regex
-          Regex       (?<i>I[0-9]*) (?<time>[^ ]*) (?<golocation>[a-z0-9_\.:]*) (?<message>.*)
-          Time_Key    time
-          Time_Format %H:%M:%S.%L
-          Time_Keep   On
-      
-      [PARSER]
-          # https://rubular.com/r/SMa7y7BTOOgf9z
-          Name        openldap
-          Format      regex
-          Regex       (?<rnd>[^ ]*) (?<register>[^ ]*) conn=(?<conn>[0-9]+) op=(?<op>[^ ]*) (?<message>.*)
-          Time_Key    time
-          Time_Format %H:%M:%S.%L
-          Time_Keep   On
+  existingConfigMap: logging-service-config
   extraContainerPorts:
     - name: metrics
       containerPort: 2021