diff --git a/.docs/api/analyse-service.md b/.docs/api/analyse-service.md index 6a6bb5f5064a96e78088d5aebf18e5e49816b813..0b8bf886f35dc19f3d3d1e1c7ada59e30a929975 100644 --- a/.docs/api/analyse-service.md +++ b/.docs/api/analyse-service.md @@ -6,7 +6,7 @@ author: Martin Weise !!! debug "Debug Information" - Image: [`registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.4.7`](https://hub.docker.com/r/dbrepo/analyse-service) + Image: [`registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.8.1`](https://hub.docker.com/r/dbrepo/analyse-service) * Ports: 5000/tcp * Prometheus: `http://<hostname>:5000/metrics` diff --git a/.docs/api/data-service.md b/.docs/api/data-service.md index 66089a1cd69492c4f47f3048de1bcb31ac53c8a3..50193a54e6b35a2034b8367d4be7d89150f49161 100644 --- a/.docs/api/data-service.md +++ b/.docs/api/data-service.md @@ -6,7 +6,7 @@ author: Martin Weise !!! debug "Debug Information" - Image: [`registry.datalab.tuwien.ac.at/dbrepo/data-service:1.4.7`](https://hub.docker.com/r/dbrepo/data-service) + Image: [`registry.datalab.tuwien.ac.at/dbrepo/data-service:1.8.1`](https://hub.docker.com/r/dbrepo/data-service) * Ports: 9093/tcp * Info: `http://<hostname>:9093/actuator/info` diff --git a/.docs/api/metadata-service.md b/.docs/api/metadata-service.md index a9218b4733dc0e1fe737bfe331d00a6eaec00656..435ef9cdd1dba538e8e3593224a620d22ae17c89 100644 --- a/.docs/api/metadata-service.md +++ b/.docs/api/metadata-service.md @@ -6,7 +6,7 @@ author: Martin Weise !!! debug "Debug Information" - Image: [`registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.4.7`](https://hub.docker.com/r/dbrepo/metadata-service) + Image: [`registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.8.1`](https://hub.docker.com/r/dbrepo/metadata-service) * Ports: 9099/tcp * Info: `http://<hostname>:9099/actuator/info` diff --git a/.docs/api/search-service.md b/.docs/api/search-service.md index ede6eefd657b29fed767ac84352de1a582b5c073..22cf6e71b520c02cedb4051d959c9c972a396854 100644 --- a/.docs/api/search-service.md +++ b/.docs/api/search-service.md @@ -6,7 +6,7 @@ author: Martin Weise !!! debug "Debug Information" - Image: [`registry.datalab.tuwien.ac.at/dbrepo/search-service:1.4.7`](https://hub.docker.com/r/dbrepo/search-service) + Image: [`registry.datalab.tuwien.ac.at/dbrepo/search-service:1.8.1`](https://hub.docker.com/r/dbrepo/search-service) * Ports: 4000/tcp * Health: `http://<hostname>:4000/api/search/health` diff --git a/.docs/api/ui.md b/.docs/api/ui.md index 5393c9ff790f5eaf45607f78e42cf7f418720c1e..ddc8b9d88331c4d41be690651a079bbff105d672 100644 --- a/.docs/api/ui.md +++ b/.docs/api/ui.md @@ -6,7 +6,7 @@ author: Martin Weise !!! debug "Debug Information" - Image: [`registry.datalab.tuwien.ac.at/dbrepo/ui:1.4.7`](https://hub.docker.com/r/dbrepo/ui) + Image: [`registry.datalab.tuwien.ac.at/dbrepo/ui:1.8.1`](https://hub.docker.com/r/dbrepo/ui) * Ports: 3000/tcp diff --git a/.docs/concepts/logging.md b/.docs/concepts/logging.md new file mode 100644 index 0000000000000000000000000000000000000000..c6dae7f787cdddb6a7dd7676133ac3afb9b8da22 --- /dev/null +++ b/.docs/concepts/logging.md @@ -0,0 +1,23 @@ +--- +author: Martin Weise +--- + +This is a short conceptional overview on the logging mechanisms provided by [fluentbit](https://fluentbit.io/). + +## Collection + +fluentd, [Structured Logging in Spring Boot](https://spring.io/blog/2024/08/23/structured-logging-in-spring-boot-3-4) + +The [Docker Compose](../../installation) test setup uses the `fluentd` logging driver to forward logs from the console +for every service, except for the [Metadata Service](../../api/metadata-service) and +the [Data Service](../../api/data-service). In this case fluentbit scrapes the logs from a logging file in +`/app/logs.json` (in [ECS](https://www.elastic.co/docs/reference/ecs) format). + +## Storage + +opensearch + +## Insights + +opensearch dashboards, grafana + diff --git a/dbrepo-dashboard-ui/dashboards/System/dbrepo.json b/dbrepo-dashboard-ui/dashboards/System/dbrepo.json index e9d03fd40d5c457c7ccdbe0bdefec9957e976623..7b59f987787fad8009432ca3c6c1549f401c8393 100644 --- a/dbrepo-dashboard-ui/dashboards/System/dbrepo.json +++ b/dbrepo-dashboard-ui/dashboards/System/dbrepo.json @@ -35,6 +35,7 @@ ], "panels": [ { + "collapsed": false, "gridPos": { "h": 1, "w": 24, @@ -42,6 +43,7 @@ "y": 0 }, "id": 34, + "panels": [], "title": "tl;dr", "type": "row" }, @@ -110,7 +112,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -180,7 +182,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -248,7 +250,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -298,7 +300,7 @@ "x": 12, "y": 1 }, - "id": 5, + "id": 39, "options": { "colorMode": "background", "graphMode": "none", @@ -316,7 +318,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -432,7 +434,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -477,8 +479,8 @@ "overrides": [] }, "gridPos": { - "h": 7, - "w": 8, + "h": 8, + "w": 12, "x": 0, "y": 4 }, @@ -503,10 +505,12 @@ "values": false }, "tooltip": { + "hideZeros": false, "mode": "single", "sort": "none" } }, + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -524,80 +528,79 @@ "title": "Popular Data Sources", "type": "piechart" }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 11 - }, - "id": 22, - "panels": [], - "title": "UI", - "type": "row" - }, { "datasource": { "type": "prometheus", "uid": "dbrepometrics0" }, - "description": "", "fieldConfig": { "defaults": { - "mappings": [], - "max": 100, - "min": 0, + "color": { + "mode": "thresholds" + }, + "custom": { + "fillOpacity": 70, + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineWidth": 1 + }, + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "DOWN" + }, + "1": { + "index": 1, + "text": "UP" + } + }, + "type": "value" + } + ], "thresholds": { "mode": "absolute", "steps": [ { - "color": "green", + "color": "red", "value": null }, { - "color": "#EAB839", - "value": 300 - }, - { - "color": "orange", - "value": 600 - }, - { - "color": "red", - "value": 900 + "color": "green", + "value": 1 } ] - }, - "unit": "ms" + } }, "overrides": [] }, "gridPos": { - "h": 3, - "w": 4, - "x": 0, - "y": 12 + "h": 8, + "w": 12, + "x": 12, + "y": 4 }, - "id": 17, + "id": 16, "options": { - "colorMode": "background", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "colWidth": 0.9, + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": false }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "rowHeight": 0.9, + "showValue": "auto", + "tooltip": { + "hideZeros": false, + "mode": "single", + "sort": "none" + } }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -605,171 +608,1258 @@ "uid": "dbrepometrics0" }, "disableTextWrap": false, - "editorMode": "code", - "expr": "avg(page_render_time)", + "editorMode": "builder", + "expr": "up", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "__auto", + "legendFormat": "{{instance}}", "range": true, "refId": "A", "useBackend": false } ], - "title": "UI Response Time (avg)", - "type": "stat" + "title": "Service QoS", + "type": "status-history" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 12 + }, + "id": 6, + "panels": [], + "title": "Application", + "type": "row" }, { "datasource": { - "type": "prometheus", - "uid": "dbrepometrics0" + "type": "grafana-opensearch-datasource", + "uid": "dbrepoopensearch0" }, - "description": "", "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": [], - "max": 100, - "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null - }, + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "warn" + }, + "properties": [ { - "color": "#EAB839", - "value": 0.02 - }, + "id": "color", + "value": { + "fixedColor": "orange", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "error" + }, + "properties": [ { - "color": "orange", - "value": 0.05 - }, + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "info" + }, + "properties": [ { - "color": "red", - "value": 0.1 + "id": "color", + "value": { + "fixedColor": "green", + "mode": "fixed" + } } ] }, - "unit": "s" - }, - "overrides": [] + { + "matcher": { + "id": "byFrameRefID", + "options": "debug" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" + } + } + ] + } + ] }, "gridPos": { - "h": 3, - "w": 4, - "x": 4, - "y": 12 + "h": 8, + "w": 24, + "x": 0, + "y": 13 }, - "id": 24, + "id": 42, "options": { - "colorMode": "background", - "graphMode": "none", - "justifyMode": "auto", + "barRadius": 0, + "barWidth": 0.97, + "fullHighlight": false, + "groupWidth": 0.7, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "right", + "showLegend": true + }, "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "showValue": "auto", + "stacking": "percent", + "tooltip": { + "hideZeros": false, + "mode": "single", + "sort": "none" }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "xTickLabelRotation": 0, + "xTickLabelSpacing": 100 }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { + "alias": "WARN", + "bucketAggs": [ + { + "id": "2", + "settings": { + "interval": "auto", + "min_doc_count": "0", + "trimEdges": "0" + }, + "type": "date_histogram" + } + ], "datasource": { - "type": "prometheus", - "uid": "dbrepometrics0" + "type": "grafana-opensearch-datasource", + "uid": "dbrepoopensearch0" }, - "disableTextWrap": false, - "editorMode": "code", - "expr": "nodejs_eventloop_lag_mean_seconds", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A", + "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": 21 + }, + "id": 43, + "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": 21 + }, + "id": 44, + "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": 29 + }, + "id": 45, + "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": 30 + }, + "id": 46, + "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": 30 + }, + "id": 47, + "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" + }, + { + "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": 25, + "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": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "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": 0, + "y": 38 + }, + "id": 40, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "dbrepometrics0" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "process_cpu_usage", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "{{instance}}", + "range": true, + "refId": "process_cpu_usage", "useBackend": false } ], - "title": "UI Event Lag (avg)", - "type": "stat" + "title": "CPU Usage", + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 45 + }, + "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": 46 + }, + "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": "prometheus", - "uid": "dbrepometrics0" + "type": "grafana-opensearch-datasource", + "uid": "dbrepoopensearch0" }, - "description": "", "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": [], - "max": 100, - "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "blue", + "color": "green", "value": null } ] - }, - "unit": "none" + } }, - "overrides": [] + "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": 3, - "w": 4, - "x": 8, - "y": 12 + "h": 9, + "w": 24, + "x": 0, + "y": 54 }, - "id": 25, + "id": 3, "options": { - "colorMode": "background", - "graphMode": "none", - "justifyMode": "auto", + "barRadius": 0, + "barWidth": 0.97, + "fullHighlight": false, + "groupWidth": 0.7, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "right", + "showLegend": true + }, "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "showValue": "auto", + "stacking": "normal", + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "xTickLabelRotation": 0, + "xTickLabelSpacing": 100 }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { + "alias": "", + "bucketAggs": [ + { + "id": "2", + "settings": { + "interval": "auto", + "min_doc_count": "0", + "trimEdges": "0" + }, + "type": "date_histogram" + } + ], "datasource": { - "type": "prometheus", - "uid": "dbrepometrics0" + "type": "grafana-opensearch-datasource", + "uid": "dbrepoopensearch0" }, - "disableTextWrap": false, - "editorMode": "code", - "expr": "nodejs_active_handles{type=\"Server\"}", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A", - "useBackend": false + "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": "UI Servers", - "type": "stat" + "title": "HTTP Status Codes over Time", + "type": "barchart" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 63 + }, + "id": 22, + "panels": [], + "title": "UI", + "type": "row" }, { "datasource": { @@ -786,22 +1876,34 @@ "mode": "absolute", "steps": [ { - "color": "blue", + "color": "green", "value": null + }, + { + "color": "#EAB839", + "value": 300 + }, + { + "color": "orange", + "value": 600 + }, + { + "color": "red", + "value": 900 } ] }, - "unit": "none" + "unit": "ms" }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, - "x": 12, - "y": 12 + "x": 0, + "y": 64 }, - "id": 26, + "id": 17, "options": { "colorMode": "background", "graphMode": "none", @@ -819,7 +1921,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -828,7 +1930,7 @@ }, "disableTextWrap": false, "editorMode": "code", - "expr": "nodejs_active_handles{type=\"Socket\"}", + "expr": "avg(page_render_time)", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, @@ -838,7 +1940,7 @@ "useBackend": false } ], - "title": "UI Sockets", + "title": "UI Response Time (avg)", "type": "stat" }, { @@ -849,36 +1951,47 @@ "description": "", "fieldConfig": { "defaults": { - "color": { - "fixedColor": "blue", - "mode": "fixed" - }, "mappings": [], + "max": 100, + "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "blue", - "value": null + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 0.02 + }, + { + "color": "orange", + "value": 0.05 + }, + { + "color": "red", + "value": 0.1 } ] }, - "unit": "none" + "unit": "s" }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, - "x": 16, - "y": 12 + "x": 4, + "y": 64 }, - "id": 27, + "id": 24, "options": { "colorMode": "background", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -890,7 +2003,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -899,7 +2012,7 @@ }, "disableTextWrap": false, "editorMode": "code", - "expr": "nodejs_active_requests_total", + "expr": "nodejs_eventloop_lag_mean_seconds", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, @@ -909,7 +2022,7 @@ "useBackend": false } ], - "title": "Active Requests", + "title": "UI Event Lag (avg)", "type": "stat" }, { @@ -917,51 +2030,38 @@ "type": "prometheus", "uid": "dbrepometrics0" }, + "description": "", "fieldConfig": { "defaults": { - "color": { - "mode": "thresholds" - }, "mappings": [], + "max": 100, + "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "green", + "color": "blue", "value": null - }, - { - "color": "yellow", - "value": 300 - }, - { - "color": "orange", - "value": 600 - }, - { - "color": "red", - "value": 900 } ] }, - "unit": "ms" + "unit": "none" }, "overrides": [] }, "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 15 + "h": 3, + "w": 4, + "x": 8, + "y": 64 }, - "id": 20, + "id": 25, "options": { - "displayMode": "basic", - "maxVizHeight": 300, - "minVizHeight": 16, - "minVizWidth": 8, - "namePlacement": "auto", - "orientation": "horizontal", + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -969,11 +2069,11 @@ "fields": "", "values": false }, - "showUnfilled": true, - "sizing": "auto", - "valueMode": "color" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -981,99 +2081,69 @@ "uid": "dbrepometrics0" }, "disableTextWrap": false, - "editorMode": "builder", - "expr": "page_render_time", + "editorMode": "code", + "expr": "nodejs_active_handles{type=\"Server\"}", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "{{path}}", + "legendFormat": "__auto", "range": true, "refId": "A", "useBackend": false } ], - "title": "UI Response Time per Path (avg)", - "type": "bargauge" + "title": "UI Servers", + "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "dbrepometrics0" }, + "description": "", "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "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": "dashed" - } - }, "mappings": [], + "max": 100, + "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "green", + "color": "blue", "value": null - }, - { - "color": "red", - "value": 256000000 } ] }, - "unit": "decbytes" + "unit": "none" }, "overrides": [] }, "gridPos": { - "h": 7, - "w": 12, + "h": 3, + "w": 4, "x": 12, - "y": 15 + "y": 64 }, - "id": 21, + "id": 26, "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "tooltip": { - "mode": "multi", - "sort": "none" - } + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -1081,79 +2151,53 @@ "uid": "dbrepometrics0" }, "disableTextWrap": false, - "editorMode": "builder", - "expr": "nodejs_heap_space_size_total_bytes", + "editorMode": "code", + "expr": "nodejs_active_handles{type=\"Socket\"}", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "{{space}}", + "legendFormat": "__auto", "range": true, "refId": "A", "useBackend": false } ], - "title": "NodeJS Heap Bytes", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 22 - }, - "id": 31, - "panels": [], - "title": "AMPQ / MQTT API", - "type": "row" + "title": "UI Sockets", + "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "dbrepometrics0" }, - "description": "Quality of Service", + "description": "", "fieldConfig": { "defaults": { + "color": { + "fixedColor": "blue", + "mode": "fixed" + }, "mappings": [], - "max": 100, - "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "purple" - }, - { - "color": "red", - "value": 0 - }, - { - "color": "orange", - "value": 60 - }, - { - "color": "#EAB839", - "value": 80 - }, - { - "color": "green", - "value": 100 + "color": "blue", + "value": null } ] }, - "unit": "percent" + "unit": "none" }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, - "x": 0, - "y": 23 + "x": 16, + "y": 64 }, - "id": 32, + "id": 27, "options": { "colorMode": "background", "graphMode": "none", @@ -1171,7 +2215,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -1180,17 +2224,17 @@ }, "disableTextWrap": false, "editorMode": "code", - "expr": "rabbitmq_channels*100/rabbitmq_channel_consumers", + "expr": "nodejs_active_requests_total", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "Services Running", + "legendFormat": "__auto", "range": true, "refId": "A", "useBackend": false } ], - "title": "Broker Service QoS", + "title": "Active Requests", "type": "stat" }, { @@ -1198,37 +2242,57 @@ "type": "prometheus", "uid": "dbrepometrics0" }, - "description": "", "fieldConfig": { "defaults": { + "color": { + "mode": "thresholds" + }, "mappings": [], - "max": 100, - "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "blue" + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 300 + }, + { + "color": "orange", + "value": 600 + }, + { + "color": "red", + "value": 900 } ] }, - "unit": "none" + "unit": "ms" }, "overrides": [] }, "gridPos": { - "h": 3, - "w": 4, - "x": 4, - "y": 23 + "h": 7, + "w": 12, + "x": 0, + "y": 67 }, - "id": 29, + "id": 20, "options": { - "colorMode": "background", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", + "displayMode": "basic", + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "maxVizHeight": 300, + "minVizHeight": 16, + "minVizWidth": 8, + "namePlacement": "auto", + "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" @@ -1236,11 +2300,11 @@ "fields": "", "values": false }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -1248,68 +2312,102 @@ "uid": "dbrepometrics0" }, "disableTextWrap": false, - "editorMode": "code", - "expr": "rabbitmq_connection_channels", + "editorMode": "builder", + "expr": "page_render_time", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "__auto", + "legendFormat": "{{path}}", "range": true, "refId": "A", "useBackend": false } ], - "title": "Channels", - "type": "stat" + "title": "UI Response Time per Path (avg)", + "type": "bargauge" }, { "datasource": { "type": "prometheus", "uid": "dbrepometrics0" }, - "description": "", "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": "dashed" + } + }, "mappings": [], - "max": 100, - "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "blue" + "color": "green", + "value": null + }, + { + "color": "red", + "value": 256000000 } ] }, - "unit": "none" + "unit": "decbytes" }, "overrides": [] }, "gridPos": { - "h": 3, - "w": 4, - "x": 8, - "y": 23 + "h": 7, + "w": 12, + "x": 12, + "y": 67 }, - "id": 30, + "id": 21, "options": { - "colorMode": "background", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -1317,26 +2415,39 @@ "uid": "dbrepometrics0" }, "disableTextWrap": false, - "editorMode": "code", - "expr": "rabbitmq_channel_consumers", + "editorMode": "builder", + "expr": "nodejs_heap_space_size_total_bytes", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "__auto", + "legendFormat": "{{space}}", "range": true, "refId": "A", "useBackend": false } ], - "title": "Consumers", - "type": "stat" + "title": "NodeJS Heap Bytes", + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 74 + }, + "id": 31, + "panels": [], + "title": "AMPQ / MQTT API", + "type": "row" }, { "datasource": { "type": "prometheus", "uid": "dbrepometrics0" }, - "description": "", + "description": "Quality of Service", "fieldConfig": { "defaults": { "mappings": [], @@ -1346,33 +2457,38 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "purple", + "value": null }, { - "color": "#EAB839", - "value": 10 + "color": "red", + "value": 0 }, { "color": "orange", - "value": 100 + "value": 60 }, { - "color": "red", - "value": 1000 + "color": "#EAB839", + "value": 80 + }, + { + "color": "green", + "value": 100 } ] }, - "unit": "none" + "unit": "percent" }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, - "x": 12, - "y": 23 + "x": 0, + "y": 75 }, - "id": 35, + "id": 32, "options": { "colorMode": "background", "graphMode": "none", @@ -1390,7 +2506,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -1399,17 +2515,17 @@ }, "disableTextWrap": false, "editorMode": "code", - "expr": "rabbitmq_queue_messages_persistent", + "expr": "rabbitmq_channels*100/rabbitmq_channel_consumers", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "__auto", + "legendFormat": "Services Running", "range": true, "refId": "A", "useBackend": false } ], - "title": "Persistent Messages", + "title": "Broker Service QoS", "type": "stat" }, { @@ -1417,7 +2533,7 @@ "type": "prometheus", "uid": "dbrepometrics0" }, - "description": "Ready and unacknowledged messages stored in memory", + "description": "", "fieldConfig": { "defaults": { "mappings": [], @@ -1427,19 +2543,8 @@ "mode": "absolute", "steps": [ { - "color": "green" - }, - { - "color": "#EAB839", - "value": 10 - }, - { - "color": "orange", - "value": 100 - }, - { - "color": "red", - "value": 1000 + "color": "blue", + "value": null } ] }, @@ -1450,10 +2555,10 @@ "gridPos": { "h": 3, "w": 4, - "x": 16, - "y": 23 + "x": 4, + "y": 75 }, - "id": 36, + "id": 29, "options": { "colorMode": "background", "graphMode": "none", @@ -1471,7 +2576,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -1480,7 +2585,7 @@ }, "disableTextWrap": false, "editorMode": "code", - "expr": "rabbitmq_queue_messages_ram", + "expr": "rabbitmq_connection_channels", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, @@ -1490,7 +2595,7 @@ "useBackend": false } ], - "title": "Ready Messages", + "title": "Channels", "type": "stat" }, { @@ -1498,7 +2603,7 @@ "type": "prometheus", "uid": "dbrepometrics0" }, - "description": "Messages delivered to consumers but not yet acknowledged", + "description": "", "fieldConfig": { "defaults": { "mappings": [], @@ -1508,19 +2613,8 @@ "mode": "absolute", "steps": [ { - "color": "green" - }, - { - "color": "#EAB839", - "value": 10 - }, - { - "color": "orange", - "value": 100 - }, - { - "color": "red", - "value": 1000 + "color": "blue", + "value": null } ] }, @@ -1531,10 +2625,10 @@ "gridPos": { "h": 3, "w": 4, - "x": 20, - "y": 23 + "x": 8, + "y": 75 }, - "id": 37, + "id": 30, "options": { "colorMode": "background", "graphMode": "none", @@ -1551,136 +2645,90 @@ "showPercentChange": false, "textMode": "auto", "wideLayout": true - }, - "pluginVersion": "10.4.9", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "dbrepometrics0" - }, - "disableTextWrap": false, - "editorMode": "code", - "expr": "rabbitmq_queue_messages_unacked", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Unacked Messages", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "dbrepometrics0" - }, - "description": "Messages for received protocol messages", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "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" - } + }, + "pluginVersion": "11.5.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "dbrepometrics0" }, + "disableTextWrap": false, + "editorMode": "code", + "expr": "rabbitmq_channel_consumers", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Consumers", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "dbrepometrics0" + }, + "description": "", + "fieldConfig": { + "defaults": { "mappings": [], + "max": 100, + "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "green" - } - ] - }, - "unit": "mps" - }, - "overrides": [ - { - "matcher": { - "id": "byRegexp", - "options": "/amqp.*/" - }, - "properties": [ + "color": "green", + "value": null + }, { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "shades" - } - } - ] - }, - { - "matcher": { - "id": "byRegexp", - "options": "/mqtt.*/" - }, - "properties": [ + "color": "#EAB839", + "value": 10 + }, { - "id": "color", - "value": { - "fixedColor": "yellow", - "mode": "shades" - } + "color": "orange", + "value": 100 + }, + { + "color": "red", + "value": 1000 } ] - } - ] + }, + "unit": "none" + }, + "overrides": [] }, "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 26 + "h": 3, + "w": 4, + "x": 12, + "y": 75 }, - "id": 33, + "id": 35, "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "tooltip": { - "mode": "single", - "sort": "none" - } + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.4.3", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -1689,111 +2737,80 @@ }, "disableTextWrap": false, "editorMode": "code", - "expr": "rate(rabbitmq_global_messages_received_total[$__range])", + "expr": "rabbitmq_queue_messages_persistent", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "{{protocol}}", + "legendFormat": "__auto", "range": true, "refId": "A", "useBackend": false } ], - "title": "Throughput", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 33 - }, - "id": 2, - "panels": [], - "title": "REST API", - "type": "row" + "title": "Persistent Messages", + "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "dbrepometrics0" }, - "description": "", + "description": "Ready and unacknowledged messages stored in memory", "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "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": [], + "max": 100, + "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 10 + }, + { + "color": "orange", + "value": 100 }, { "color": "red", - "value": 80 + "value": 1000 } ] - } + }, + "unit": "none" }, "overrides": [] }, "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 34 + "h": 3, + "w": 4, + "x": 16, + "y": 75 }, - "id": 23, + "id": 36, "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "tooltip": { - "mode": "multi", - "sort": "none" - } + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.4.9", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -1802,89 +2819,80 @@ }, "disableTextWrap": false, "editorMode": "code", - "expr": "process_open_fds\n", + "expr": "rabbitmq_queue_messages_ram", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "{{instance}}", + "legendFormat": "__auto", "range": true, - "refId": "process_open_fds", + "refId": "A", "useBackend": false } ], - "title": "File Descriptors", - "type": "timeseries" + "title": "Ready Messages", + "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "dbrepometrics0" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "fillOpacity": 70, - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineWidth": 1 - }, - "mappings": [ - { - "options": { - "0": { - "index": 0, - "text": "DOWN" - }, - "1": { - "index": 1, - "text": "UP" - } - }, - "type": "value" - } - ], + "description": "Messages delivered to consumers but not yet acknowledged", + "fieldConfig": { + "defaults": { + "mappings": [], + "max": 100, + "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "red" + "color": "green", + "value": null }, { - "color": "green", - "value": 1 + "color": "#EAB839", + "value": 10 + }, + { + "color": "orange", + "value": 100 + }, + { + "color": "red", + "value": 1000 } ] - } + }, + "unit": "none" }, "overrides": [] }, "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 34 + "h": 3, + "w": 4, + "x": 20, + "y": 75 }, - "id": 16, + "id": 37, "options": { - "colWidth": 0.9, - "legend": { - "displayMode": "list", - "placement": "bottom", - "showLegend": false + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "rowHeight": 0.9, - "showValue": "auto", - "tooltip": { - "mode": "single", - "sort": "none" - } + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -1892,25 +2900,26 @@ "uid": "dbrepometrics0" }, "disableTextWrap": false, - "editorMode": "builder", - "expr": "up", + "editorMode": "code", + "expr": "rabbitmq_queue_messages_unacked", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "{{instance}}", + "legendFormat": "__auto", "range": true, "refId": "A", "useBackend": false } ], - "title": "Service QoS", - "type": "status-history" + "title": "Unacked Messages", + "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "dbrepometrics0" }, + "description": "Messages for received protocol messages", "fieldConfig": { "defaults": { "color": { @@ -1923,8 +2932,9 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", - "fillOpacity": 25, + "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, @@ -1942,7 +2952,7 @@ "spanNulls": false, "stacking": { "group": "A", - "mode": "normal" + "mode": "none" }, "thresholdsStyle": { "mode": "off" @@ -1953,69 +2963,40 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, - "unit": "none" + "unit": "mps" }, "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": "/amqp.*/" }, "properties": [ { "id": "color", "value": { - "fixedColor": "purple", - "mode": "fixed" + "fixedColor": "red", + "mode": "shades" } } ] }, { "matcher": { - "id": "byName", - "options": "metadata-service:80" + "id": "byRegexp", + "options": "/mqtt.*/" }, "properties": [ { "id": "color", "value": { - "fixedColor": "blue", - "mode": "fixed" + "fixedColor": "yellow", + "mode": "shades" } } ] @@ -2026,9 +3007,9 @@ "h": 7, "w": 12, "x": 0, - "y": 41 + "y": 78 }, - "id": 6, + "id": 33, "options": { "legend": { "calcs": [], @@ -2037,11 +3018,12 @@ "showLegend": true }, "tooltip": { - "mode": "multi", + "hideZeros": false, + "mode": "single", "sort": "none" } }, - "pluginVersion": "11.2.0", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -2049,19 +3031,18 @@ "uid": "dbrepometrics0" }, "disableTextWrap": false, - "editorMode": "builder", - "expr": "process_cpu_usage", + "editorMode": "code", + "expr": "rate(rabbitmq_global_messages_received_total[$__range])", "fullMetaSearch": false, - "hide": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "{{instance}}", + "legendFormat": "{{protocol}}", "range": true, - "refId": "process_cpu_usage", + "refId": "A", "useBackend": false } ], - "title": "CPU Usage", + "title": "Throughput", "type": "timeseries" }, { @@ -2083,6 +3064,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "none", @@ -2113,7 +3095,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -2186,9 +3169,9 @@ "h": 7, "w": 12, "x": 12, - "y": 41 + "y": 78 }, - "id": 7, + "id": 41, "options": { "legend": { "calcs": [], @@ -2197,11 +3180,12 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, - "pluginVersion": "11.2.0", + "pluginVersion": "11.5.3", "targets": [ { "datasource": { @@ -2225,81 +3209,24 @@ "type": "timeseries" }, { - "datasource": { - "type": "prometheus", - "uid": "dbrepometrics0" - }, - "description": "Top 10 by frequency of access", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - } - }, - "mappings": [], - "unit": "reqps" - }, - "overrides": [] - }, + "collapsed": false, "gridPos": { - "h": 7, - "w": 12, + "h": 1, + "w": 24, "x": 0, - "y": 48 - }, - "id": 18, - "options": { - "displayLabels": [ - "percent" - ], - "legend": { - "calcs": [], - "displayMode": "hidden", - "placement": "right", - "showLegend": false, - "values": [] - }, - "pieType": "pie", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "tooltip": { - "mode": "single", - "sort": "none" - } + "y": 85 }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "dbrepometrics0" - }, - "editorMode": "code", - "expr": "topk(10, rate(dbrepo_table_data_get_total[$__range]))", - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Popular Datasources", - "type": "piechart" + "id": 2, + "panels": [], + "title": "REST API", + "type": "row" }, { "datasource": { "type": "prometheus", "uid": "dbrepometrics0" }, + "description": "", "fieldConfig": { "defaults": { "color": { @@ -2312,8 +3239,9 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", - "fillOpacity": 25, + "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, @@ -2342,52 +3270,25 @@ "mode": "absolute", "steps": [ { - "color": "green" - } - ] - }, - "unit": "reqps" - }, - "overrides": [ - { - "matcher": { - "id": "byRegexp", - "options": "/.*search-service.*/" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "orange", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byRegexp", - "options": "/.*analyse-service.*/" - }, - "properties": [ + "color": "green", + "value": null + }, { - "id": "color", - "value": { - "fixedColor": "super-light-orange", - "mode": "fixed" - } + "color": "red", + "value": 80 } ] } - ] + }, + "overrides": [] }, "gridPos": { "h": 7, "w": 12, - "x": 12, - "y": 48 + "x": 0, + "y": 86 }, - "id": 19, + "id": 23, "options": { "legend": { "calcs": [], @@ -2396,30 +3297,37 @@ "showLegend": true }, "tooltip": { + "hideZeros": false, "mode": "multi", "sort": "none" } }, + "pluginVersion": "11.5.3", "targets": [ { "datasource": { "type": "prometheus", "uid": "dbrepometrics0" }, + "disableTextWrap": false, "editorMode": "code", - "expr": "rate(flask_http_request_duration_seconds_count{status!~\"200|201|202\"}[$__rate_interval])", + "expr": "process_open_fds\n", + "fullMetaSearch": false, + "includeNullMetadata": true, "instant": false, - "legendFormat": "{{method}} {{instance}} ({{status}})", + "legendFormat": "{{instance}}", "range": true, - "refId": "A" + "refId": "process_open_fds", + "useBackend": false } ], - "title": "Failed API Requests", + "title": "File Descriptors", "type": "timeseries" } ], + "preload": false, "refresh": "1m", - "schemaVersion": 39, + "schemaVersion": 40, "tags": [ "ui", "dashboard", @@ -2441,7 +3349,7 @@ "timepicker": {}, "timezone": "browser", "title": "DBRepo", - "uid": "bdz20owu8zn5se", - "version": 8, + "uid": "bdz20owu8zn5se2", + "version": 45, "weekStart": "" } \ No newline at end of file diff --git a/dbrepo-dashboard-ui/dashboards/System/logging.json b/dbrepo-dashboard-ui/dashboards/System/logging.json index 3a561f64b1d3033c0cb329f5093c2b7767931742..f737dfaf57ade50f76585405b55d9afd24522150 100644 --- a/dbrepo-dashboard-ui/dashboards/System/logging.json +++ b/dbrepo-dashboard-ui/dashboards/System/logging.json @@ -29,6 +29,614 @@ "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", @@ -84,7 +692,7 @@ "h": 8, "w": 12, "x": 0, - "y": 1 + "y": 26 }, "id": 7, "options": { @@ -234,8 +842,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" } ] } @@ -323,9 +930,9 @@ "h": 9, "w": 24, "x": 0, - "y": 9 + "y": 34 }, - "id": 3, + "id": 14, "options": { "barRadius": 0, "barWidth": 0.97, @@ -477,195 +1084,10 @@ ], "title": "HTTP Status Codes over Time", "type": "barchart" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 18 - }, - "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" - } - } - ] - } - ] - }, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 19 - }, - "id": 1, - "options": { - "barRadius": 0, - "barWidth": 0.97, - "fullHighlight": false, - "groupWidth": 0.7, - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "right", - "showLegend": false - }, - "orientation": "auto", - "showValue": "auto", - "stacking": "none", - "tooltip": { - "hideZeros": false, - "mode": "single", - "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": [ - { - "hide": false, - "id": "1", - "type": "count" - } - ], - "query": "level: WARN", - "queryType": "lucene", - "refId": "warn", - "timeField": "@timestamp" - }, - { - "alias": "", - "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" - } - ], - "title": "Errors and Warnings over Time", - "type": "barchart" } ], "preload": false, - "refresh": "", + "refresh": "1m", "schemaVersion": 40, "tags": [ "ui", @@ -682,13 +1104,13 @@ "list": [] }, "time": { - "from": "now-30m", + "from": "now-1h", "to": "now" }, "timepicker": {}, "timezone": "browser", "title": "Logging", "uid": "aejhojr0mrpj4c", - "version": 23, + "version": 33, "weekStart": "" } \ No newline at end of file diff --git a/dbrepo-data-service/Dockerfile b/dbrepo-data-service/Dockerfile index 8c4f6ab6c5d294d838998cbff03ef94ec3cd1d78..ab91fc80543cf7b458dac1573e12ac8d399d66b0 100644 --- a/dbrepo-data-service/Dockerfile +++ b/dbrepo-data-service/Dockerfile @@ -15,7 +15,7 @@ COPY ./services ./services RUN mvn -fn clean package -DskipTests ###### SECOND STAGE ###### -FROM amazoncorretto:17-alpine3.19 AS runtime +FROM amazoncorretto:17-alpine3.21 AS runtime LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" RUN apk --no-cache add \ @@ -25,11 +25,12 @@ RUN apk --no-cache add \ WORKDIR /app -RUN adduser -D dbrepo --uid 1001 +RUN adduser -D dbrepo --uid 1001 && \ + chown -R 1001:1001 /app USER 1001 -COPY --from=build --chown=1001 ./rest-service/target/rest-service-*.jar ./data-service.jar +COPY --from=build --chown=1001 ./rest-service/target/*rest-service-*.jar ./data-service.jar # non-root port EXPOSE 8080 diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar index 7b9014efc7563a26c2dcff518c59595087ed4b72..9ad489e8e468bc0b5e7e6c160408d7674a9ec639 100644 Binary files a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar and b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar differ diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5 b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5 index d4c0f7e67a46da32b43eb1f10189f38a6c6b190a..f0f519729b152222b8b192a34e09573655d8aec4 100644 --- a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5 +++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5 @@ -1 +1 @@ -dfe2abb9c96c05cbdc6467bf60537695 \ No newline at end of file +082f84bc96626ba0af33b55e6371e900 \ No newline at end of file diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1 b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1 index 9f526fb4b38f8db14ac808c9b035106ce3480587..c459a8e4c3c8b8e92803d290177a2ea24e2be14c 100644 --- a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1 +++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1 @@ -1 +1 @@ -1d27fdc406b24d5e19e7325cc1c475e54dabdbd8 \ No newline at end of file +73352b727fd328a6f6c87ebb55c5685101ef26a2 \ No newline at end of file diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml index 25773a1df810ae8c9fddb5218ba2e9c7411e10dd..d008830f7c475a1d996a7b6dc083a2d54b8c775c 100644 --- a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml +++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml @@ -7,6 +7,6 @@ <versions> <version>1.8.1</version> </versions> - <lastUpdated>20250421083956</lastUpdated> + <lastUpdated>20250422121915</lastUpdated> </versioning> </metadata> diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5 b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5 index 995497dd53994b9049e847a88a7ca98e0dda1ee5..b0067ff28f7c15d0e6c60b54566bd017b88ffaab 100644 --- a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5 +++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5 @@ -1 +1 @@ -746a0f0ea34d057de25fcd3c55b6e0ac \ No newline at end of file +9c8ded18aad1ff29f91e6ea5b11e33d4 \ No newline at end of file diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1 b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1 index 26a8079ba8fe336a422589d3bc4154b330f6ae75..fac33bc3ef3fb5e812eec9e1b4c2327a8e464682 100644 --- a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1 +++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1 @@ -1 +1 @@ -f460c93edbab2a5eb6e49a6e124ca6a03d1b60cc \ No newline at end of file +8784dd005d25156e9599b598deabb8aa15b7a8c1 \ No newline at end of file diff --git a/dbrepo-data-service/pom.xml b/dbrepo-data-service/pom.xml index 6f67e74b7043a9df43bd38d0a5a2bbd3cd4e1050..2277a8d5cfa9c231097073a11067a369a942d427 100644 --- a/dbrepo-data-service/pom.xml +++ b/dbrepo-data-service/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> - <version>3.3.5</version> + <version>3.4.0</version> </parent> <organization> diff --git a/dbrepo-data-service/rest-service/src/main/resources/application.yml b/dbrepo-data-service/rest-service/src/main/resources/application.yml index 41d23f4c7f6cdf97c8c6ebef2becd2f6d82cce8b..e0b0a5536651f214e1de6d7ea4ea30784eaba925 100644 --- a/dbrepo-data-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-data-service/rest-service/src/main/resources/application.yml @@ -29,6 +29,9 @@ spring: port: ${BROKER_PORT:5672} main: banner-mode: off + output: + ansi: + enabled: never management: endpoints: web: @@ -48,7 +51,8 @@ server: tomcat: max-swallow-size: -1 logging: - pattern.console: "%d %highlight(%-5level) %msg%n" + pattern: + console: "%d [%thread] %-5level %logger{36} - %msg%n" level: root: warn at.ac.tuwien.ac.at.ifs.dbrepo.: "${LOG_LEVEL:info}" diff --git a/dbrepo-logging-service/dbrepo_parser.conf b/dbrepo-logging-service/dbrepo_parser.conf index f407dbc1ea5ba77f02a09e258defdd556977a3e8..4c778adc52a1c404dd7807df9c773e876d71c819 100644 --- a/dbrepo-logging-service/dbrepo_parser.conf +++ b/dbrepo-logging-service/dbrepo_parser.conf @@ -1,8 +1,8 @@ [PARSER] - # https://rubular.com/r/u029eqdrtxeOT9 + # https://rubular.com/r/78ieBhDKvlzPnW Name java Format regex - Regex (?<time>[^ ]* {1,2}[^ ]*) (?<level>[^ ]*) *(?<message>.*)$ + Regex (?<time>[^ ]* {1,2}[^ ]*) \[(?<thread>.*)\] *(?<level>[^ ]*) (?<logger>.*) - (?<message>.*)$ Time_Key time Time_Format %Y-%m-%d %H:%M:%S,%L Time_Keep On diff --git a/dbrepo-metadata-service/Dockerfile b/dbrepo-metadata-service/Dockerfile index d705bdf2351bc3774119a412e2a273131907e0ca..d53d1f7e00138e42c53c685f0fe4519bd2eef10d 100644 --- a/dbrepo-metadata-service/Dockerfile +++ b/dbrepo-metadata-service/Dockerfile @@ -16,7 +16,7 @@ COPY ./services ./services RUN mvn -fn clean package -DskipTests ###### SECOND STAGE ###### -FROM amazoncorretto:17-alpine3.19 AS runtime +FROM amazoncorretto:17-alpine3.21 AS runtime LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at" RUN apk --no-cache add \ @@ -26,15 +26,16 @@ RUN apk --no-cache add \ WORKDIR /app -RUN adduser -D dbrepo --uid 1001 +RUN adduser -D dbrepo --uid 1001 && \ + chown -R 1001:1001 /app USER 1001 -COPY --from=build --chown=1001 ./rest-service/target/dbrepo-metadata-service-rest-service-*.jar ./metadata-service.jar +COPY --from=build --chown=1001 ./rest-service/target/*rest-service-*.jar ./metadata-service.jar # non-root port EXPOSE 8080 -ENV JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true" +ENV JAVA_OPTS="" ENTRYPOINT exec java $JAVA_OPTS -jar ./metadata-service.jar \ No newline at end of file diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar index 7b9014efc7563a26c2dcff518c59595087ed4b72..9ad489e8e468bc0b5e7e6c160408d7674a9ec639 100644 Binary files a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar and b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar differ diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5 b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5 index d4c0f7e67a46da32b43eb1f10189f38a6c6b190a..f0f519729b152222b8b192a34e09573655d8aec4 100644 --- a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5 +++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5 @@ -1 +1 @@ -dfe2abb9c96c05cbdc6467bf60537695 \ No newline at end of file +082f84bc96626ba0af33b55e6371e900 \ No newline at end of file diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1 b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1 index 9f526fb4b38f8db14ac808c9b035106ce3480587..c459a8e4c3c8b8e92803d290177a2ea24e2be14c 100644 --- a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1 +++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1 @@ -1 +1 @@ -1d27fdc406b24d5e19e7325cc1c475e54dabdbd8 \ No newline at end of file +73352b727fd328a6f6c87ebb55c5685101ef26a2 \ No newline at end of file diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml index b6f7fd380dfc44f4601c8a9234b68805a5e7c9fc..b7ee7dbe99db8121c809a6aeed3b3bef0699a420 100644 --- a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml +++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml @@ -7,6 +7,6 @@ <versions> <version>1.8.1</version> </versions> - <lastUpdated>20250421083957</lastUpdated> + <lastUpdated>20250422121933</lastUpdated> </versioning> </metadata> diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5 b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5 index e0626a5c472f3d160d76c43183fb65eafe5e2ee2..3d856af716fde5bfc16e43b2f1e81433ce85cd79 100644 --- a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5 +++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5 @@ -1 +1 @@ -8a5f8a644242230dab9041ce299fd77f \ No newline at end of file +f7d3706978b0e0277aa64ce2b5538405 \ No newline at end of file diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1 b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1 index 76b83b980271787c8b17170e4d6d62abff2110a8..5e5ee45feb96f69239686c74c3db0fbd338f74c9 100644 --- a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1 +++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1 @@ -1 +1 @@ -102e640934487420a19e7e092eb8af3dcac9950f \ No newline at end of file +7de1d14129a4071daefae0475eea792e1a8f406c \ No newline at end of file diff --git a/dbrepo-metadata-service/oai/pom.xml b/dbrepo-metadata-service/oai/pom.xml index d14d0bcf615c86d94b1d9d28e8748a574454e274..49abf352162251845cdd050172a11f4dcfc79b49 100644 --- a/dbrepo-metadata-service/oai/pom.xml +++ b/dbrepo-metadata-service/oai/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>at.tuwien</groupId> + <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>dbrepo-metadata-service</artifactId> <version>1.8.1</version> </parent> diff --git a/dbrepo-metadata-service/pom.xml b/dbrepo-metadata-service/pom.xml index 313d6d0db530caa829e6325cef263d1077b954e8..cdecf72b4abbec6f8c307e8ae04839c152f41261 100644 --- a/dbrepo-metadata-service/pom.xml +++ b/dbrepo-metadata-service/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> - <version>3.3.5</version> + <version>3.4.0</version> </parent> <organization> @@ -13,7 +13,7 @@ <url>https://www.tuwien.ac.at</url> </organization> - <groupId>at.tuwien</groupId> + <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>dbrepo-metadata-service</artifactId> <name>dbrepo-metadata-service</name> <version>1.8.1</version> @@ -178,11 +178,6 @@ <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-test</artifactId> - <scope>test</scope> - </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> diff --git a/dbrepo-metadata-service/report/pom.xml b/dbrepo-metadata-service/report/pom.xml index 847272f66f1606d6b89feb26444367f1a458514e..dbdc6f9a808cd571fbcdec5bcecf46c128288594 100644 --- a/dbrepo-metadata-service/report/pom.xml +++ b/dbrepo-metadata-service/report/pom.xml @@ -5,7 +5,7 @@ <modelVersion>4.0.0</modelVersion> <parent> <artifactId>dbrepo-metadata-service</artifactId> - <groupId>at.tuwien</groupId> + <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <version>1.8.1</version> </parent> @@ -15,12 +15,7 @@ <dependencies> <dependency> - <groupId>at.tuwien</groupId> - <artifactId>dbrepo-metadata-service-rest-service</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>at.tuwien</groupId> + <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>dbrepo-metadata-service-services</artifactId> <version>${project.version}</version> </dependency> diff --git a/dbrepo-metadata-service/repositories/pom.xml b/dbrepo-metadata-service/repositories/pom.xml index 4f9850d3d3d84719c8a3f696d1b5af165e7fe6e1..b37ea9075a66fd53a7dd98333403132e89205822 100644 --- a/dbrepo-metadata-service/repositories/pom.xml +++ b/dbrepo-metadata-service/repositories/pom.xml @@ -5,7 +5,7 @@ <modelVersion>4.0.0</modelVersion> <parent> <artifactId>dbrepo-metadata-service</artifactId> - <groupId>at.tuwien</groupId> + <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <version>1.8.1</version> </parent> @@ -16,15 +16,9 @@ <dependencies> <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> - <artifactId>dbrepo-core</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>at.tuwien</groupId> <artifactId>dbrepo-metadata-service-oai</artifactId> <version>${project.version}</version> </dependency> - </dependencies> </project> diff --git a/dbrepo-metadata-service/rest-service/pom.xml b/dbrepo-metadata-service/rest-service/pom.xml index 0f1abad18e9b440507b45b9328dc2d9b8f669050..19815840d46a2d6acdc4936bc4a06e0c429ab3f5 100644 --- a/dbrepo-metadata-service/rest-service/pom.xml +++ b/dbrepo-metadata-service/rest-service/pom.xml @@ -5,7 +5,7 @@ <modelVersion>4.0.0</modelVersion> <parent> <artifactId>dbrepo-metadata-service</artifactId> - <groupId>at.tuwien</groupId> + <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <version>1.8.1</version> </parent> @@ -16,11 +16,6 @@ <dependencies> <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> - <artifactId>dbrepo-core</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>at.tuwien</groupId> <artifactId>dbrepo-metadata-service-services</artifactId> <version>${project.version}</version> </dependency> diff --git a/dbrepo-metadata-service/rest-service/src/main/resources/application.yml b/dbrepo-metadata-service/rest-service/src/main/resources/application.yml index 492aafb6c558a28956190e5c48f198b9e1f333ae..29b6c27348769e9ccd966bf6516c4c67776c333e 100644 --- a/dbrepo-metadata-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-metadata-service/rest-service/src/main/resources/application.yml @@ -25,6 +25,9 @@ spring: port: ${BROKER_PORT:5672} main: banner-mode: off + output: + ansi: + enabled: never management: endpoints: web: @@ -42,10 +45,11 @@ management: server: port: 8080 logging: - pattern.console: "%d %highlight(%-5level) %msg%n" + pattern: + console: "%d [%thread] %-5level %logger{36} - %msg%n" level: root: warn - at.ac.tuwien.ifs.dbrepo.: "${LOG_LEVEL:info}" + at.ac.tuwien.ac.at.ifs.dbrepo.: "${LOG_LEVEL:info}" org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug dbrepo: datacite: diff --git a/dbrepo-metadata-service/services/pom.xml b/dbrepo-metadata-service/services/pom.xml index db32fbe9ccf05163d56472d2a3bdfda25f9571f4..dfac0b7ea68b6e6d26d6e66c9083be4af4981c55 100644 --- a/dbrepo-metadata-service/services/pom.xml +++ b/dbrepo-metadata-service/services/pom.xml @@ -5,7 +5,7 @@ <modelVersion>4.0.0</modelVersion> <parent> <artifactId>dbrepo-metadata-service</artifactId> - <groupId>at.tuwien</groupId> + <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <version>1.8.1</version> </parent> @@ -16,16 +16,11 @@ <dependencies> <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> - <artifactId>dbrepo-core</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>at.tuwien</groupId> <artifactId>dbrepo-metadata-service-oai</artifactId> <version>${project.version}</version> </dependency> <dependency> - <groupId>at.tuwien</groupId> + <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>dbrepo-metadata-service-repositories</artifactId> <version>${project.version}</version> </dependency> diff --git a/docker-compose.yml b/docker-compose.yml index 6accc2bc09a7de185b8b4c5d91138c51b5c7bfdc..287d7e5791d32ddd1767682292fae845fddcb64f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,57 +1,3 @@ -x-resources-nano: &resources-nano - resources: - reservations: - cpus: '0.1' - memory: 128M - limits: - cpus: '0.15' - memory: 192M - -x-resources-micro: &resources-micro - resources: - reservations: - cpus: '0.25' - memory: 256M - limits: - cpus: '0.375' - memory: 384M - -x-resources-nano-hm: &resources-micro-hm - resources: - reservations: - cpus: '0.25' - memory: 256M - limits: - cpus: '0.375' - memory: 4096M - -x-resources-small: &resources-small - resources: - reservations: - cpus: '0.5' - memory: 512M - limits: - cpus: '0.75' - memory: 768M - -x-resources-medium: &resources-medium - resources: - reservations: - cpus: '0.5' - memory: 1024M - limits: - cpus: '0.75' - memory: 1536M - -x-resources-large: &resources-large - resources: - reservations: - cpus: '1' - memory: 2048M - limits: - cpus: '1.5' - memory: 3072M - x-healthcheck-params: &healthcheck-params interval: 30s timeout: 10s @@ -89,8 +35,6 @@ services: healthcheck: test: /opt/bitnami/scripts/mariadb/healthcheck.sh --connect --innodb_initialized <<: *healthcheck-params - deploy: - <<: *resources-micro-hm logging: driver: fluentd options: @@ -118,8 +62,6 @@ services: healthcheck: test: /opt/bitnami/scripts/mariadb/healthcheck.sh --connect --innodb_initialized <<: *healthcheck-params - deploy: - <<: *resources-micro-hm logging: driver: fluentd options: @@ -146,8 +88,6 @@ services: healthcheck: test: "psql -U ${AUTH_DB_USERNAME:-keycloak} -h 127.0.0.1 -p 5432 -d ${AUTH_DB_NAME:-keycloak} -c 'select version();'" <<: *healthcheck-params - deploy: - <<: *resources-micro logging: driver: fluentd options: @@ -185,8 +125,6 @@ services: healthcheck: test: curl -fsS localhost:8080/realms/master <<: *healthcheck-params - deploy: - <<: *resources-medium depends_on: dbrepo-identity-service: condition: service_healthy @@ -216,8 +154,6 @@ services: READONLY_USERNAME: "${READONLY_USERNAME:-readonly}" SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" SYSTEM_PASSWORD: ${SYSTEM_PASSWORD:-admin} - deploy: - <<: *resources-nano depends_on: dbrepo-auth-service: condition: service_healthy @@ -284,8 +220,6 @@ services: healthcheck: test: curl -sSL localhost:8080/actuator/health/liveness | grep 'UP' || exit 1 <<: *healthcheck-params - deploy: - <<: *resources-small depends_on: dbrepo-auth-service: condition: service_healthy @@ -336,8 +270,6 @@ services: healthcheck: test: curl -sSL localhost:8080/health | grep 'UP' || exit 1 <<: *healthcheck-params - deploy: - <<: *resources-micro logging: driver: fluentd options: @@ -369,8 +301,6 @@ services: healthcheck: test: rabbitmq-diagnostics -q is_running | grep 'is fully booted and running' <<: *healthcheck-params - deploy: - <<: *resources-micro logging: driver: fluentd options: @@ -389,8 +319,6 @@ services: healthcheck: test: curl -sSL 127.0.0.1:9200 <<: *healthcheck-params - deploy: - <<: *resources-medium logging: driver: json-file @@ -421,8 +349,6 @@ services: healthcheck: test: curl -sSL localhost:8080/health | grep 'UP' || exit 1 <<: *healthcheck-params - deploy: - <<: *resources-micro logging: driver: fluentd options: @@ -456,8 +382,6 @@ services: healthcheck: test: curl -fsSL 127.0.0.1:3000 && curl -fsSL 127.0.0.1:3000/health <<: *healthcheck-params - deploy: - <<: *resources-micro depends_on: dbrepo-search-service: condition: service_healthy @@ -483,9 +407,6 @@ services: healthcheck: test: wget -O- http://127.0.0.1:8080 <<: *healthcheck-params - deploy: - # TODO may need less but takes forever to stop - <<: *resources-micro depends_on: dbrepo-analyse-service: condition: service_healthy @@ -533,8 +454,6 @@ services: healthcheck: test: "ldapwhoami -H ldap://localhost:1389 -D ${IDENTITY_SERVICE_ADMIN_DN:-cn=admin,dc=dbrepo,dc=at} -w ${IDENTITY_SERVICE_ADMIN_PASSWORD:-admin} || exit 1" <<: *healthcheck-params - deploy: - <<: *resources-nano logging: driver: fluentd options: @@ -558,8 +477,6 @@ services: OPENSEARCH_PORT: ${OPENSEARCH_PORT:-9200} SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" - deploy: - <<: *resources-nano depends_on: dbrepo-search-db: condition: service_healthy @@ -589,8 +506,6 @@ services: METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080} SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" - deploy: - <<: *resources-nano depends_on: dbrepo-dashboard-ui: condition: service_healthy @@ -621,8 +536,6 @@ services: healthcheck: test: echo "cluster.check" | weed shell | grep "checking master.*ok" || exit 1 <<: *healthcheck-params - deploy: - <<: *resources-nano logging: driver: fluentd options: @@ -643,8 +556,6 @@ services: healthcheck: test: promtool check healthy <<: *healthcheck-params - deploy: - <<: *resources-nano logging: driver: fluentd options: @@ -665,8 +576,6 @@ services: S3_BUCKET: "${S3_BUCKET:-dbrepo}" S3_SECRET_ACCESS_KEY: ${S3_SECRET_ACCESS_KEY:-seaweedfsadmin} STORAGE_ENDPOINT: ${STORAGE_ENDPOINT:-http://storage-service:9000} - deploy: - <<: *resources-nano depends_on: dbrepo-storage-service: condition: service_healthy @@ -722,8 +631,6 @@ services: healthcheck: test: curl -sSL localhost:8080/actuator/health/liveness | grep 'UP' || exit 1 <<: *healthcheck-params - deploy: - <<: *resources-large depends_on: dbrepo-data-db: condition: service_healthy @@ -762,8 +669,6 @@ services: healthcheck: test: curl -fsSL --head 127.0.0.1:3000 <<: *healthcheck-params - deploy: - <<: *resources-nano extra_hosts: - "localhost:host-gateway" logging: @@ -791,8 +696,6 @@ services: healthcheck: test: curl -fsSL --head 127.0.0.1:8080/health <<: *healthcheck-params - deploy: - <<: *resources-micro depends_on: dbrepo-dashboard-ui: condition: service_healthy @@ -814,8 +717,6 @@ services: volumes: - ./dbrepo-logging-service/default.conf:/opt/bitnami/fluent-bit/conf/fluent-bit.conf - ./dbrepo-logging-service/dbrepo_parser.conf:/opt/bitnami/fluent-bit/conf/dbrepo_parser.conf - deploy: - <<: *resources-micro healthcheck: test: ps -p 1 | grep "fluent-bit" <<: *healthcheck-params @@ -835,8 +736,6 @@ services: environment: OPENSEARCH_DASHBOARDS_OPENSEARCH_URL: "${OPENSEARCH_HOST:-search-db}" OPENSEARCH_DASHBOARDS_OPENSEARCH_PORT_NUMBER: "${OPENSEARCH_PORT:-9200}" - deploy: - <<: *resources-micro depends_on: dbrepo-logging-service: condition: service_healthy diff --git a/helm/dbrepo/files/create-event-listener.jar b/helm/dbrepo/files/create-event-listener.jar index 3c984d8705a677ec2d7b2e424c5683a3aa2edffd..dd348c636f84e0ec4e345bc53cdcda60c1d2b6c9 100644 Binary files a/helm/dbrepo/files/create-event-listener.jar and b/helm/dbrepo/files/create-event-listener.jar differ diff --git a/lib/java/dbrepo-core/pom.xml b/lib/java/dbrepo-core/pom.xml index d86419d19dbb22e8db5ef64f7e8b01d262673bcd..ca435617a6eade8b61a67e0ab7bd9f1833e4282e 100644 --- a/lib/java/dbrepo-core/pom.xml +++ b/lib/java/dbrepo-core/pom.xml @@ -7,7 +7,7 @@ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> - <version>3.3.5</version> + <version>3.4.0</version> </parent> <organization> @@ -38,7 +38,7 @@ <lombok.version>1.18.36</lombok.version> <keycloak.version>26.0.4</keycloak.version> <mapstruct.version>1.6.3</mapstruct.version> - <spring-cloud.version>4.1.4</spring-cloud.version> + <spring-cloud.version>4.2.1</spring-cloud.version> <jackson-datatype.version>2.15.0</jackson-datatype.version> <springdoc-openapi.version>2.8.5</springdoc-openapi.version> </properties> diff --git a/make/build.mk b/make/build.mk index f767915fb1b772f92c0043c6657410735f25a1c5..288ad7d0ca69d52ca86aba6947f114c1cf3927a9 100644 --- a/make/build.mk +++ b/make/build.mk @@ -1,14 +1,16 @@ ##@ Build .PHONY: build-images -build-images: build-java-lib ## Build Docker images. - docker compose build --parallel +build-images: build-java-lib build-auth-event-listener ## Build Docker images. + docker compose build .PHONY: build-java-lib build-java-lib: ## Build the Java Library. mvn -f ./lib/java/dbrepo-core/pom.xml clean package -DskipTests mvn deploy:deploy-file -Dfile=./lib/java/dbrepo-core/target/dbrepo-core-$(APP_VERSION).jar -DgroupId=at.ac.tuwien.ifs.dbrepo -DartifactId=dbrepo-core -Dversion=$(APP_VERSION) -Dpackaging=jar -Durl=file:./dbrepo-data-service/lib/ -DrepositoryId=maven-repository -DupdateReleaseInfo=true + mvn -f ./dbrepo-data-service/pom.xml clean package -DskipTests mvn deploy:deploy-file -Dfile=./lib/java/dbrepo-core/target/dbrepo-core-$(APP_VERSION).jar -DgroupId=at.ac.tuwien.ifs.dbrepo -DartifactId=dbrepo-core -Dversion=$(APP_VERSION) -Dpackaging=jar -Durl=file:./dbrepo-metadata-service/lib/ -DrepositoryId=maven-repository -DupdateReleaseInfo=true + mvn -f ./dbrepo-metadata-service/pom.xml clean package -DskipTests .PHONY: build-auth-event-listener build-auth-event-listener: ## Build the Auth Service Event Listener. diff --git a/make/dev.mk b/make/dev.mk index dbad9eff6f9e2783433be779a93a7793b504a8b7..c19e505e9e39cad113532d66575a2dd04ec085ba 100644 --- a/make/dev.mk +++ b/make/dev.mk @@ -1,7 +1,7 @@ ##@ Development .PHONY: start-dev -start-dev: build-images build-auth-event-listener ## Start the development deployment. +start-dev: build-images ## Start the development deployment. docker container stop dbrepo-gateway-service || true docker container rm dbrepo-gateway-service || true docker compose up -d diff --git a/mkdocs.yml b/mkdocs.yml index 7060289640e3f0034d0e20405526d9b512aa26ed..5051d9a3280ca8508dc30a1da884dcbe0cf09be6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -20,6 +20,7 @@ nav: - Data Versioning: concepts/data-versioning.md - Dashboards: concepts/dashboards.md - Data Visibility: concepts/data-visibility.md + - Logging: concepts/logging.md - Messaging: concepts/messaging.md - Monitoring: concepts/monitoring.md - Persistent Identifier: concepts/pid.md