diff --git a/deploy/arm64-compose/grafana/dashboards/ours-rp-arm64-overview.json b/deploy/arm64-compose/grafana/dashboards/ours-rp-arm64-overview.json deleted file mode 100644 index a095a1a..0000000 --- a/deploy/arm64-compose/grafana/dashboards/ours-rp-arm64-overview.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "annotations": { - "list": [] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": null, - "links": [], - "panels": [ - { - "datasource": {"type": "prometheus", "uid": "Prometheus"}, - "fieldConfig": {"defaults": {"color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute", "steps": [{"color": "green", "value": null}]}}, "overrides": []}, - "gridPos": {"h": 5, "w": 6, "x": 0, "y": 0}, - "id": 1, - "options": {"colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "wideLayout": true}, - "pluginVersion": "11.3.1", - "targets": [{"expr": "ours_rp_latest_run_sequence", "legendFormat": "latest run", "refId": "A"}], - "title": "Latest Run Sequence", - "type": "stat" - }, - { - "datasource": {"type": "prometheus", "uid": "Prometheus"}, - "fieldConfig": {"defaults": {"color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute", "steps": [{"color": "green", "value": null}]}}, "overrides": []}, - "gridPos": {"h": 5, "w": 6, "x": 6, "y": 0}, - "id": 2, - "options": {"colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "wideLayout": true}, - "pluginVersion": "11.3.1", - "targets": [{"expr": "ours_rp_latest_run_wall_ms / 1000", "legendFormat": "wall seconds", "refId": "A"}], - "title": "Latest Wall Seconds", - "type": "stat" - }, - { - "datasource": {"type": "prometheus", "uid": "Prometheus"}, - "fieldConfig": {"defaults": {"color": {"mode": "palette-classic"}, "custom": {"drawStyle": "line", "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 4, "showPoints": "never"}}, "overrides": []}, - "gridPos": {"h": 8, "w": 12, "x": 12, "y": 0}, - "id": 3, - "options": {"legend": {"displayMode": "list", "placement": "bottom", "showLegend": true}, "tooltip": {"mode": "multi", "sort": "none"}}, - "targets": [{"expr": "ours_rp_latest_run_wall_ms / 1000", "legendFormat": "wall seconds", "refId": "A"}], - "title": "Wall Time Trend", - "type": "timeseries" - }, - { - "datasource": {"type": "prometheus", "uid": "Prometheus"}, - "fieldConfig": {"defaults": {"color": {"mode": "palette-classic"}, "custom": {"drawStyle": "line", "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 4, "showPoints": "never"}}, "overrides": []}, - "gridPos": {"h": 8, "w": 12, "x": 0, "y": 5}, - "id": 4, - "options": {"legend": {"displayMode": "list", "placement": "bottom", "showLegend": true}, "tooltip": {"mode": "multi", "sort": "none"}}, - "targets": [ - {"expr": "ours_rp_latest_run_vrps", "legendFormat": "VRPs", "refId": "A"}, - {"expr": "ours_rp_latest_run_aspas", "legendFormat": "VAPs", "refId": "B"}, - {"expr": "ours_rp_latest_run_publication_points", "legendFormat": "PP", "refId": "C"} - ], - "title": "Output Counts", - "type": "timeseries" - }, - { - "datasource": {"type": "prometheus", "uid": "Prometheus"}, - "fieldConfig": {"defaults": {"color": {"mode": "palette-classic"}, "custom": {"drawStyle": "line", "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 4, "showPoints": "never"}}, "overrides": []}, - "gridPos": {"h": 8, "w": 12, "x": 12, "y": 8}, - "id": 5, - "options": {"legend": {"displayMode": "list", "placement": "bottom", "showLegend": true}, "tooltip": {"mode": "multi", "sort": "none"}}, - "targets": [{"expr": "ours_rp_latest_run_max_rss_kb / 1024", "legendFormat": "Max RSS MiB", "refId": "A"}], - "title": "Max RSS Trend", - "type": "timeseries" - } - ], - "preload": false, - "refresh": "10s", - "schemaVersion": 40, - "tags": ["ours-rp", "arm64", "qemu"], - "templating": {"list": []}, - "time": {"from": "now-1h", "to": "now"}, - "timepicker": {}, - "timezone": "browser", - "title": "Ours RP ARM64 Compose Overview", - "uid": "ours-rp-arm64-overview", - "version": 1, - "weekStart": "" -} diff --git a/deploy/arm64-compose/grafana/dashboards/ours-rp-repo-sync.json b/deploy/arm64-compose/grafana/dashboards/ours-rp-repo-sync.json new file mode 100644 index 0000000..d3ece25 --- /dev/null +++ b/deploy/arm64-compose/grafana/dashboards/ours-rp-repo-sync.json @@ -0,0 +1,761 @@ +{ + "annotations": { + "list": [] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": null, + "links": [], + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 0, + "y": 0 + }, + "id": 1, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_publication_points", + "legendFormat": "publication points", + "refId": "A" + } + ], + "title": "Publication Points", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 6, + "y": 0 + }, + "id": 2, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_repo_sync_phase_count{phase=\"rrdp_ok\"}", + "legendFormat": "rrdp ok", + "refId": "A" + } + ], + "title": "RRDP OK Points", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 12, + "y": 0 + }, + "id": 3, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_repo_sync_phase_count{phase=\"rrdp_failed_rsync_ok\"}", + "legendFormat": "fallback", + "refId": "A" + } + ], + "title": "Rsync Fallback Points", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 18, + "y": 0 + }, + "id": 4, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_repo_terminal_state_count{terminal_state=\"failed_no_cache\"}", + "legendFormat": "failed no cache", + "refId": "A" + } + ], + "title": "Failed No Cache Points", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 5, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"repo_sync_total\"}", + "legendFormat": "repo sync total", + "refId": "A" + }, + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"rrdp_download_total\"}", + "legendFormat": "rrdp download", + "refId": "B" + }, + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"rsync_download_total\"}", + "legendFormat": "rsync download", + "refId": "C" + } + ], + "title": "Repo Sync Download Durations", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 12, + "w": 12, + "h": 8 + }, + "id": 6, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_repo_sync_phase_count", + "legendFormat": "{{phase}}", + "refId": "A" + } + ], + "title": "Repo Sync Phase Counts", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 12, + "w": 12, + "h": 8 + }, + "id": 7, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_repo_sync_phase_count{phase=\"rrdp_failed_rsync_ok\"}", + "legendFormat": "rrdp failed, rsync ok", + "refId": "A" + }, + { + "expr": "ours_rp_repo_sync_phase_count{phase=\"rrdp_failed_rsync_failed\"}", + "legendFormat": "rrdp failed, rsync failed", + "refId": "B" + }, + { + "expr": "ours_rp_repo_terminal_state_count{terminal_state=\"failed_no_cache\"}", + "legendFormat": "failed no cache", + "refId": "C" + }, + { + "expr": "ours_rp_tree_instances{state=\"failed\"}", + "legendFormat": "tree failed", + "refId": "D" + } + ], + "title": "Repo Failure / Fallback Counts", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 20, + "w": 12, + "h": 8 + }, + "id": 8, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_repo_sync_phase_duration_seconds_total{phase=\"rrdp_failed_rsync_ok\"}", + "legendFormat": "rsync fallback duration", + "refId": "A" + }, + { + "expr": "ours_rp_repo_sync_phase_duration_seconds_total{phase=\"rrdp_failed_rsync_failed\"}", + "legendFormat": "failed duration", + "refId": "B" + }, + { + "expr": "ours_rp_repo_terminal_state_duration_seconds_total{terminal_state=\"failed_no_cache\"}", + "legendFormat": "failed no cache duration", + "refId": "C" + } + ], + "title": "Repo Failure / Fallback Durations", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 29, + "w": 12, + "h": 9 + }, + "id": 9, + "options": { + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false, + "reducer": [ + "sum" + ], + "countRows": false, + "fields": "" + } + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_rrdp_rsync_failed_repository_duration_seconds", + "format": "table", + "instant": true, + "legendFormat": "", + "refId": "A" + } + ], + "title": "RRDP + Rsync Failed Repositories", + "type": "table", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "job": true, + "terminal_state": true, + "rank": true, + "transport": true, + "__name__": true, + "publication_points": true, + "instance": true, + "repo_id": true, + "pp_id": true, + "exported_instance": true, + "rp": true, + "source": true + }, + "indexByName": { + "Time": 0, + "host": 1, + "phase": 2, + "uri": 3, + "Value": 4 + }, + "renameByName": { + "Value": "duration" + } + } + } + ] + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 29, + "w": 12, + "h": 9 + }, + "id": 11, + "options": { + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false, + "reducer": [ + "sum" + ], + "countRows": false, + "fields": "" + } + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "topk(20, ours_rp_top_repository_sync_duration_seconds)", + "format": "table", + "instant": true, + "legendFormat": "", + "refId": "A" + } + ], + "title": "Top 20 Repositories by Sync Duration", + "type": "table", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "job": true, + "terminal_state": true, + "__name__": true, + "publication_points": true, + "instance": true, + "repo_id": true, + "phase": true, + "pp_id": true, + "exported_instance": true, + "rp": true, + "source": true + }, + "indexByName": { + "Time": 0, + "host": 1, + "rank": 2, + "transport": 3, + "uri": 4, + "Value": 5 + }, + "renameByName": { + "Value": "value" + } + } + } + ] + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 38, + "w": 24, + "h": 9 + }, + "id": 10, + "options": { + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false, + "reducer": [ + "sum" + ], + "countRows": false, + "fields": "" + } + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "topk(20, ours_rp_top_publication_point_object_count)", + "format": "table", + "instant": true, + "legendFormat": "", + "refId": "A" + } + ], + "title": "Top Publication Points by Objects", + "type": "table", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "job": true, + "__name__": true, + "publication_points": true, + "instance": true, + "repo_id": true, + "phase": true, + "pp_id": true, + "exported_instance": true, + "rp": true, + "source": true + }, + "indexByName": { + "Time": 0, + "host": 1, + "rank": 2, + "terminal_state": 3, + "transport": 4, + "uri": 5, + "Value": 6 + }, + "renameByName": {} + } + } + ] + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "description": "Per-repository sync success in the latest successful run; 1 means successful, 0 means failed or failed_no_cache.", + "fieldConfig": { + "defaults": { + "unit": "bool" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 47 + }, + "id": 12, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "expr": "ours_rp_repository_sync_success", + "legendFormat": "{{host}} {{repo_id}}", + "refId": "A" + } + ], + "title": "Repository Sync Success by Repo", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "description": "Per-repository total sync duration aggregated from publication point repo_sync_duration_ms.", + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 55 + }, + "id": 13, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "expr": "ours_rp_repository_sync_duration_seconds{stat=\"sum\"}", + "legendFormat": "{{host}} {{repo_id}}", + "refId": "A" + } + ], + "title": "Repository Sync Duration by Repo", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "description": "Per-repository downloaded bytes attributed from report.json downloads events.", + "fieldConfig": { + "defaults": { + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 63 + }, + "id": 14, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "expr": "ours_rp_repository_download_bytes", + "legendFormat": "{{host}} {{repo_id}}", + "refId": "A" + } + ], + "title": "Repository Download Bytes by Repo", + "type": "timeseries" + } + ], + "refresh": "5s", + "schemaVersion": 40, + "tags": [ + "ours-rp", + "rpki", + "soak", + "repo-sync" + ], + "templating": { + "list": [] + }, + "time": { + "from": "now-30m", + "to": "now" + }, + "timepicker": {}, + "timezone": "browser", + "title": "Ours RP Repo Sync", + "uid": "ours-rp-repo-sync", + "version": 3, + "weekStart": "" +} diff --git a/deploy/arm64-compose/grafana/dashboards/ours-rp-soak-overview.json b/deploy/arm64-compose/grafana/dashboards/ours-rp-soak-overview.json new file mode 100644 index 0000000..3316330 --- /dev/null +++ b/deploy/arm64-compose/grafana/dashboards/ours-rp-soak-overview.json @@ -0,0 +1,875 @@ +{ + "annotations": { + "list": [] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": null, + "links": [], + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "decimals": 0, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 0, + "w": 6, + "h": 4 + }, + "id": 1, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_cir_trust_anchors", + "legendFormat": "RIRs", + "refId": "A" + } + ], + "title": "Current Run RIRs", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "x": 6, + "y": 0, + "w": 6, + "h": 4 + }, + "id": 2, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_run_duration_seconds", + "legendFormat": "wall", + "refId": "A" + } + ], + "title": "Latest Wall Time", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 0, + "w": 6, + "h": 4 + }, + "id": 3, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_run_max_rss_bytes", + "legendFormat": "rss", + "refId": "A" + } + ], + "title": "Latest Max RSS", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "decimals": 0, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 18, + "y": 0, + "w": 6, + "h": 4 + }, + "id": 4, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_publication_points", + "legendFormat": "publication points", + "refId": "A" + } + ], + "title": "Publication Points", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "decimals": 0, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 4, + "w": 6, + "h": 4 + }, + "id": 9, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_run_sequence", + "legendFormat": "seq", + "refId": "A" + } + ], + "title": "Latest Run Sequence", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "decimals": 2, + "unit": "percent", + "min": 0, + "max": 100, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "orange", + "value": 90 + }, + { + "color": "green", + "value": 98 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "x": 6, + "y": 4, + "w": 6, + "h": 4 + }, + "id": 10, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "100 * sum by (job, instance, exported_instance) (ours_rp_repo_terminal_state_count{terminal_state=\"publication_point_cache\"}) / sum by (job, instance, exported_instance) (ours_rp_publication_points)", + "legendFormat": "PP cache hit ratio", + "refId": "A" + } + ], + "title": "Latest PP Cache Hit Ratio", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 0 + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 4, + "w": 6, + "h": 4 + }, + "id": 11, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_vrps{kind=\"total\"}", + "legendFormat": "VRPs raw", + "refId": "A" + } + ], + "title": "VRPs", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 0 + }, + "overrides": [] + }, + "gridPos": { + "x": 18, + "y": 4, + "w": 6, + "h": 4 + }, + "id": 12, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_vaps", + "legendFormat": "VAPs", + "refId": "A" + } + ], + "title": "VAPs", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 8, + "w": 12, + "h": 8 + }, + "id": 5, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_run_duration_seconds", + "legendFormat": "wall", + "refId": "A" + }, + { + "expr": "ours_rp_stage_duration_seconds{stage=\"validation\"}", + "legendFormat": "validation", + "refId": "B" + } + ], + "title": "Run / Validation Duration", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "decimals": 0, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 8, + "w": 12, + "h": 8 + }, + "id": 6, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_vrps{kind=\"total\"}", + "legendFormat": "VRPs raw", + "refId": "A" + }, + { + "expr": "ours_rp_vrps{kind=\"unique\"}", + "legendFormat": "VRPs unique", + "refId": "D" + }, + { + "expr": "ours_rp_vaps", + "legendFormat": "VAPs", + "refId": "B" + }, + { + "expr": "ours_rp_cir_objects", + "legendFormat": "CIR objects", + "refId": "C" + } + ], + "title": "Output and Input Sizes", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "decimals": 0, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 16, + "w": 12, + "h": 8 + }, + "id": 8, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_large_publication_points", + "legendFormat": "> {{object_count_gt}} objects", + "refId": "A" + } + ], + "title": "Large Publication Points by Object Count", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 16, + "w": 12, + "h": 8 + }, + "id": 13, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"validation\"}", + "legendFormat": "validation", + "refId": "A" + }, + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"report_write\"}", + "legendFormat": "report write", + "refId": "E" + }, + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"ccr_write\"}", + "legendFormat": "ccr write", + "refId": "F" + }, + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"cir_write\"}", + "legendFormat": "cir write", + "refId": "G" + } + ], + "title": "Output Stage Durations", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "bytes", + "decimals": 2 + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 24, + "w": 12, + "h": 8 + }, + "id": 14, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_run_max_rss_bytes", + "legendFormat": "Max RSS", + "refId": "A" + } + ], + "title": "Max RSS Over Time", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "percent", + "decimals": 2, + "min": 0, + "max": 100, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "orange", + "value": 90 + }, + { + "color": "green", + "value": 98 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 24, + "w": 12, + "h": 8 + }, + "id": 17, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "expr": "100 * sum by (job, instance, exported_instance) (ours_rp_repo_terminal_state_count{terminal_state=\"publication_point_cache\"}) / sum by (job, instance, exported_instance) (ours_rp_publication_points)", + "legendFormat": "PP cache hit ratio", + "refId": "A" + } + ], + "title": "PP Cache Hit Ratio", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "bytes", + "decimals": 2 + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 32, + "w": 24, + "h": 8 + }, + "id": 15, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_state_db_size_bytes", + "legendFormat": "{{db}}", + "refId": "A" + } + ], + "title": "State DB Size Over Time", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 0 + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 40, + "w": 24, + "h": 8 + }, + "id": 16, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_state_db_files", + "legendFormat": "{{db}}", + "refId": "A" + } + ], + "title": "State DB File Count Over Time", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 0, + "min": 0 + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 48, + "w": 24, + "h": 8 + }, + "id": 18, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "sum by (job, instance, exported_instance) (ours_rp_repo_terminal_state_count{terminal_state=\"fresh\"})", + "legendFormat": "fresh pp", + "refId": "A" + }, + { + "expr": "sum by (job, instance, exported_instance) (ours_rp_cir_objects_by_source_type{exported_source=\"fresh\",object_type=\"roa\"})", + "legendFormat": "fresh roa", + "refId": "B" + }, + { + "expr": "sum by (job, instance, exported_instance) (ours_rp_cir_objects_by_source_type{exported_source=\"fresh\",object_type=\"manifest\"})", + "legendFormat": "fresh mft", + "refId": "C" + }, + { + "expr": "sum by (job, instance, exported_instance) (ours_rp_cir_objects_by_source_type{exported_source=\"fresh\",object_type=\"certificate\"})", + "legendFormat": "fresh crt", + "refId": "D" + }, + { + "expr": "sum by (job, instance, exported_instance) (ours_rp_cir_objects_by_source_type{exported_source=\"fresh\",object_type=\"crl\"})", + "legendFormat": "fresh crl", + "refId": "E" + } + ], + "title": "Fresh PP / Object Counts by Run", + "type": "timeseries" + } + ], + "refresh": "5s", + "schemaVersion": 40, + "tags": [ + "ours-rp", + "rpki", + "soak" + ], + "templating": { + "list": [] + }, + "time": { + "from": "now-30m", + "to": "now" + }, + "timepicker": {}, + "timezone": "browser", + "title": "Ours RP Soak Overview", + "uid": "ours-rp-soak-overview", + "version": 4, + "weekStart": "" +} diff --git a/deploy/arm64-installer/compose/grafana/dashboards/ours-rp-arm64-overview.json b/deploy/arm64-installer/compose/grafana/dashboards/ours-rp-arm64-overview.json deleted file mode 100644 index a095a1a..0000000 --- a/deploy/arm64-installer/compose/grafana/dashboards/ours-rp-arm64-overview.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "annotations": { - "list": [] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": null, - "links": [], - "panels": [ - { - "datasource": {"type": "prometheus", "uid": "Prometheus"}, - "fieldConfig": {"defaults": {"color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute", "steps": [{"color": "green", "value": null}]}}, "overrides": []}, - "gridPos": {"h": 5, "w": 6, "x": 0, "y": 0}, - "id": 1, - "options": {"colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "wideLayout": true}, - "pluginVersion": "11.3.1", - "targets": [{"expr": "ours_rp_latest_run_sequence", "legendFormat": "latest run", "refId": "A"}], - "title": "Latest Run Sequence", - "type": "stat" - }, - { - "datasource": {"type": "prometheus", "uid": "Prometheus"}, - "fieldConfig": {"defaults": {"color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute", "steps": [{"color": "green", "value": null}]}}, "overrides": []}, - "gridPos": {"h": 5, "w": 6, "x": 6, "y": 0}, - "id": 2, - "options": {"colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "wideLayout": true}, - "pluginVersion": "11.3.1", - "targets": [{"expr": "ours_rp_latest_run_wall_ms / 1000", "legendFormat": "wall seconds", "refId": "A"}], - "title": "Latest Wall Seconds", - "type": "stat" - }, - { - "datasource": {"type": "prometheus", "uid": "Prometheus"}, - "fieldConfig": {"defaults": {"color": {"mode": "palette-classic"}, "custom": {"drawStyle": "line", "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 4, "showPoints": "never"}}, "overrides": []}, - "gridPos": {"h": 8, "w": 12, "x": 12, "y": 0}, - "id": 3, - "options": {"legend": {"displayMode": "list", "placement": "bottom", "showLegend": true}, "tooltip": {"mode": "multi", "sort": "none"}}, - "targets": [{"expr": "ours_rp_latest_run_wall_ms / 1000", "legendFormat": "wall seconds", "refId": "A"}], - "title": "Wall Time Trend", - "type": "timeseries" - }, - { - "datasource": {"type": "prometheus", "uid": "Prometheus"}, - "fieldConfig": {"defaults": {"color": {"mode": "palette-classic"}, "custom": {"drawStyle": "line", "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 4, "showPoints": "never"}}, "overrides": []}, - "gridPos": {"h": 8, "w": 12, "x": 0, "y": 5}, - "id": 4, - "options": {"legend": {"displayMode": "list", "placement": "bottom", "showLegend": true}, "tooltip": {"mode": "multi", "sort": "none"}}, - "targets": [ - {"expr": "ours_rp_latest_run_vrps", "legendFormat": "VRPs", "refId": "A"}, - {"expr": "ours_rp_latest_run_aspas", "legendFormat": "VAPs", "refId": "B"}, - {"expr": "ours_rp_latest_run_publication_points", "legendFormat": "PP", "refId": "C"} - ], - "title": "Output Counts", - "type": "timeseries" - }, - { - "datasource": {"type": "prometheus", "uid": "Prometheus"}, - "fieldConfig": {"defaults": {"color": {"mode": "palette-classic"}, "custom": {"drawStyle": "line", "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 4, "showPoints": "never"}}, "overrides": []}, - "gridPos": {"h": 8, "w": 12, "x": 12, "y": 8}, - "id": 5, - "options": {"legend": {"displayMode": "list", "placement": "bottom", "showLegend": true}, "tooltip": {"mode": "multi", "sort": "none"}}, - "targets": [{"expr": "ours_rp_latest_run_max_rss_kb / 1024", "legendFormat": "Max RSS MiB", "refId": "A"}], - "title": "Max RSS Trend", - "type": "timeseries" - } - ], - "preload": false, - "refresh": "10s", - "schemaVersion": 40, - "tags": ["ours-rp", "arm64", "qemu"], - "templating": {"list": []}, - "time": {"from": "now-1h", "to": "now"}, - "timepicker": {}, - "timezone": "browser", - "title": "Ours RP ARM64 Compose Overview", - "uid": "ours-rp-arm64-overview", - "version": 1, - "weekStart": "" -} diff --git a/deploy/arm64-installer/compose/grafana/dashboards/ours-rp-repo-sync.json b/deploy/arm64-installer/compose/grafana/dashboards/ours-rp-repo-sync.json new file mode 100644 index 0000000..d3ece25 --- /dev/null +++ b/deploy/arm64-installer/compose/grafana/dashboards/ours-rp-repo-sync.json @@ -0,0 +1,761 @@ +{ + "annotations": { + "list": [] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": null, + "links": [], + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 0, + "y": 0 + }, + "id": 1, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_publication_points", + "legendFormat": "publication points", + "refId": "A" + } + ], + "title": "Publication Points", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 6, + "y": 0 + }, + "id": 2, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_repo_sync_phase_count{phase=\"rrdp_ok\"}", + "legendFormat": "rrdp ok", + "refId": "A" + } + ], + "title": "RRDP OK Points", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 12, + "y": 0 + }, + "id": 3, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_repo_sync_phase_count{phase=\"rrdp_failed_rsync_ok\"}", + "legendFormat": "fallback", + "refId": "A" + } + ], + "title": "Rsync Fallback Points", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 18, + "y": 0 + }, + "id": 4, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_repo_terminal_state_count{terminal_state=\"failed_no_cache\"}", + "legendFormat": "failed no cache", + "refId": "A" + } + ], + "title": "Failed No Cache Points", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 5, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"repo_sync_total\"}", + "legendFormat": "repo sync total", + "refId": "A" + }, + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"rrdp_download_total\"}", + "legendFormat": "rrdp download", + "refId": "B" + }, + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"rsync_download_total\"}", + "legendFormat": "rsync download", + "refId": "C" + } + ], + "title": "Repo Sync Download Durations", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 12, + "w": 12, + "h": 8 + }, + "id": 6, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_repo_sync_phase_count", + "legendFormat": "{{phase}}", + "refId": "A" + } + ], + "title": "Repo Sync Phase Counts", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 12, + "w": 12, + "h": 8 + }, + "id": 7, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_repo_sync_phase_count{phase=\"rrdp_failed_rsync_ok\"}", + "legendFormat": "rrdp failed, rsync ok", + "refId": "A" + }, + { + "expr": "ours_rp_repo_sync_phase_count{phase=\"rrdp_failed_rsync_failed\"}", + "legendFormat": "rrdp failed, rsync failed", + "refId": "B" + }, + { + "expr": "ours_rp_repo_terminal_state_count{terminal_state=\"failed_no_cache\"}", + "legendFormat": "failed no cache", + "refId": "C" + }, + { + "expr": "ours_rp_tree_instances{state=\"failed\"}", + "legendFormat": "tree failed", + "refId": "D" + } + ], + "title": "Repo Failure / Fallback Counts", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 20, + "w": 12, + "h": 8 + }, + "id": 8, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_repo_sync_phase_duration_seconds_total{phase=\"rrdp_failed_rsync_ok\"}", + "legendFormat": "rsync fallback duration", + "refId": "A" + }, + { + "expr": "ours_rp_repo_sync_phase_duration_seconds_total{phase=\"rrdp_failed_rsync_failed\"}", + "legendFormat": "failed duration", + "refId": "B" + }, + { + "expr": "ours_rp_repo_terminal_state_duration_seconds_total{terminal_state=\"failed_no_cache\"}", + "legendFormat": "failed no cache duration", + "refId": "C" + } + ], + "title": "Repo Failure / Fallback Durations", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 29, + "w": 12, + "h": 9 + }, + "id": 9, + "options": { + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false, + "reducer": [ + "sum" + ], + "countRows": false, + "fields": "" + } + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_rrdp_rsync_failed_repository_duration_seconds", + "format": "table", + "instant": true, + "legendFormat": "", + "refId": "A" + } + ], + "title": "RRDP + Rsync Failed Repositories", + "type": "table", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "job": true, + "terminal_state": true, + "rank": true, + "transport": true, + "__name__": true, + "publication_points": true, + "instance": true, + "repo_id": true, + "pp_id": true, + "exported_instance": true, + "rp": true, + "source": true + }, + "indexByName": { + "Time": 0, + "host": 1, + "phase": 2, + "uri": 3, + "Value": 4 + }, + "renameByName": { + "Value": "duration" + } + } + } + ] + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 29, + "w": 12, + "h": 9 + }, + "id": 11, + "options": { + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false, + "reducer": [ + "sum" + ], + "countRows": false, + "fields": "" + } + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "topk(20, ours_rp_top_repository_sync_duration_seconds)", + "format": "table", + "instant": true, + "legendFormat": "", + "refId": "A" + } + ], + "title": "Top 20 Repositories by Sync Duration", + "type": "table", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "job": true, + "terminal_state": true, + "__name__": true, + "publication_points": true, + "instance": true, + "repo_id": true, + "phase": true, + "pp_id": true, + "exported_instance": true, + "rp": true, + "source": true + }, + "indexByName": { + "Time": 0, + "host": 1, + "rank": 2, + "transport": 3, + "uri": 4, + "Value": 5 + }, + "renameByName": { + "Value": "value" + } + } + } + ] + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 38, + "w": 24, + "h": 9 + }, + "id": 10, + "options": { + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false, + "reducer": [ + "sum" + ], + "countRows": false, + "fields": "" + } + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "topk(20, ours_rp_top_publication_point_object_count)", + "format": "table", + "instant": true, + "legendFormat": "", + "refId": "A" + } + ], + "title": "Top Publication Points by Objects", + "type": "table", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "job": true, + "__name__": true, + "publication_points": true, + "instance": true, + "repo_id": true, + "phase": true, + "pp_id": true, + "exported_instance": true, + "rp": true, + "source": true + }, + "indexByName": { + "Time": 0, + "host": 1, + "rank": 2, + "terminal_state": 3, + "transport": 4, + "uri": 5, + "Value": 6 + }, + "renameByName": {} + } + } + ] + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "description": "Per-repository sync success in the latest successful run; 1 means successful, 0 means failed or failed_no_cache.", + "fieldConfig": { + "defaults": { + "unit": "bool" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 47 + }, + "id": 12, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "expr": "ours_rp_repository_sync_success", + "legendFormat": "{{host}} {{repo_id}}", + "refId": "A" + } + ], + "title": "Repository Sync Success by Repo", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "description": "Per-repository total sync duration aggregated from publication point repo_sync_duration_ms.", + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 55 + }, + "id": 13, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "expr": "ours_rp_repository_sync_duration_seconds{stat=\"sum\"}", + "legendFormat": "{{host}} {{repo_id}}", + "refId": "A" + } + ], + "title": "Repository Sync Duration by Repo", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "description": "Per-repository downloaded bytes attributed from report.json downloads events.", + "fieldConfig": { + "defaults": { + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 63 + }, + "id": 14, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "expr": "ours_rp_repository_download_bytes", + "legendFormat": "{{host}} {{repo_id}}", + "refId": "A" + } + ], + "title": "Repository Download Bytes by Repo", + "type": "timeseries" + } + ], + "refresh": "5s", + "schemaVersion": 40, + "tags": [ + "ours-rp", + "rpki", + "soak", + "repo-sync" + ], + "templating": { + "list": [] + }, + "time": { + "from": "now-30m", + "to": "now" + }, + "timepicker": {}, + "timezone": "browser", + "title": "Ours RP Repo Sync", + "uid": "ours-rp-repo-sync", + "version": 3, + "weekStart": "" +} diff --git a/deploy/arm64-installer/compose/grafana/dashboards/ours-rp-soak-overview.json b/deploy/arm64-installer/compose/grafana/dashboards/ours-rp-soak-overview.json new file mode 100644 index 0000000..3316330 --- /dev/null +++ b/deploy/arm64-installer/compose/grafana/dashboards/ours-rp-soak-overview.json @@ -0,0 +1,875 @@ +{ + "annotations": { + "list": [] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": null, + "links": [], + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "decimals": 0, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 0, + "w": 6, + "h": 4 + }, + "id": 1, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_cir_trust_anchors", + "legendFormat": "RIRs", + "refId": "A" + } + ], + "title": "Current Run RIRs", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "x": 6, + "y": 0, + "w": 6, + "h": 4 + }, + "id": 2, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_run_duration_seconds", + "legendFormat": "wall", + "refId": "A" + } + ], + "title": "Latest Wall Time", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 0, + "w": 6, + "h": 4 + }, + "id": 3, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_run_max_rss_bytes", + "legendFormat": "rss", + "refId": "A" + } + ], + "title": "Latest Max RSS", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "decimals": 0, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 18, + "y": 0, + "w": 6, + "h": 4 + }, + "id": 4, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_publication_points", + "legendFormat": "publication points", + "refId": "A" + } + ], + "title": "Publication Points", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "decimals": 0, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 4, + "w": 6, + "h": 4 + }, + "id": 9, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_run_sequence", + "legendFormat": "seq", + "refId": "A" + } + ], + "title": "Latest Run Sequence", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "decimals": 2, + "unit": "percent", + "min": 0, + "max": 100, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "orange", + "value": 90 + }, + { + "color": "green", + "value": 98 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "x": 6, + "y": 4, + "w": 6, + "h": 4 + }, + "id": 10, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "100 * sum by (job, instance, exported_instance) (ours_rp_repo_terminal_state_count{terminal_state=\"publication_point_cache\"}) / sum by (job, instance, exported_instance) (ours_rp_publication_points)", + "legendFormat": "PP cache hit ratio", + "refId": "A" + } + ], + "title": "Latest PP Cache Hit Ratio", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 0 + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 4, + "w": 6, + "h": 4 + }, + "id": 11, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_vrps{kind=\"total\"}", + "legendFormat": "VRPs raw", + "refId": "A" + } + ], + "title": "VRPs", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 0 + }, + "overrides": [] + }, + "gridPos": { + "x": 18, + "y": 4, + "w": 6, + "h": 4 + }, + "id": 12, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "expr": "ours_rp_vaps", + "legendFormat": "VAPs", + "refId": "A" + } + ], + "title": "VAPs", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 8, + "w": 12, + "h": 8 + }, + "id": 5, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_run_duration_seconds", + "legendFormat": "wall", + "refId": "A" + }, + { + "expr": "ours_rp_stage_duration_seconds{stage=\"validation\"}", + "legendFormat": "validation", + "refId": "B" + } + ], + "title": "Run / Validation Duration", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "decimals": 0, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 8, + "w": 12, + "h": 8 + }, + "id": 6, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_vrps{kind=\"total\"}", + "legendFormat": "VRPs raw", + "refId": "A" + }, + { + "expr": "ours_rp_vrps{kind=\"unique\"}", + "legendFormat": "VRPs unique", + "refId": "D" + }, + { + "expr": "ours_rp_vaps", + "legendFormat": "VAPs", + "refId": "B" + }, + { + "expr": "ours_rp_cir_objects", + "legendFormat": "CIR objects", + "refId": "C" + } + ], + "title": "Output and Input Sizes", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "decimals": 0, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 16, + "w": 12, + "h": 8 + }, + "id": 8, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_large_publication_points", + "legendFormat": "> {{object_count_gt}} objects", + "refId": "A" + } + ], + "title": "Large Publication Points by Object Count", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 16, + "w": 12, + "h": 8 + }, + "id": 13, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"validation\"}", + "legendFormat": "validation", + "refId": "A" + }, + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"report_write\"}", + "legendFormat": "report write", + "refId": "E" + }, + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"ccr_write\"}", + "legendFormat": "ccr write", + "refId": "F" + }, + { + "expr": "ours_rp_run_stage_duration_seconds{stage=\"cir_write\"}", + "legendFormat": "cir write", + "refId": "G" + } + ], + "title": "Output Stage Durations", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "bytes", + "decimals": 2 + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 24, + "w": 12, + "h": 8 + }, + "id": 14, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_run_max_rss_bytes", + "legendFormat": "Max RSS", + "refId": "A" + } + ], + "title": "Max RSS Over Time", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "percent", + "decimals": 2, + "min": 0, + "max": 100, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "orange", + "value": 90 + }, + { + "color": "green", + "value": 98 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "x": 12, + "y": 24, + "w": 12, + "h": 8 + }, + "id": 17, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "expr": "100 * sum by (job, instance, exported_instance) (ours_rp_repo_terminal_state_count{terminal_state=\"publication_point_cache\"}) / sum by (job, instance, exported_instance) (ours_rp_publication_points)", + "legendFormat": "PP cache hit ratio", + "refId": "A" + } + ], + "title": "PP Cache Hit Ratio", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "bytes", + "decimals": 2 + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 32, + "w": 24, + "h": 8 + }, + "id": 15, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_state_db_size_bytes", + "legendFormat": "{{db}}", + "refId": "A" + } + ], + "title": "State DB Size Over Time", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 0 + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 40, + "w": 24, + "h": 8 + }, + "id": 16, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "ours_rp_state_db_files", + "legendFormat": "{{db}}", + "refId": "A" + } + ], + "title": "State DB File Count Over Time", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "Prometheus" + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 0, + "min": 0 + }, + "overrides": [] + }, + "gridPos": { + "x": 0, + "y": 48, + "w": 24, + "h": 8 + }, + "id": 18, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "targets": [ + { + "expr": "sum by (job, instance, exported_instance) (ours_rp_repo_terminal_state_count{terminal_state=\"fresh\"})", + "legendFormat": "fresh pp", + "refId": "A" + }, + { + "expr": "sum by (job, instance, exported_instance) (ours_rp_cir_objects_by_source_type{exported_source=\"fresh\",object_type=\"roa\"})", + "legendFormat": "fresh roa", + "refId": "B" + }, + { + "expr": "sum by (job, instance, exported_instance) (ours_rp_cir_objects_by_source_type{exported_source=\"fresh\",object_type=\"manifest\"})", + "legendFormat": "fresh mft", + "refId": "C" + }, + { + "expr": "sum by (job, instance, exported_instance) (ours_rp_cir_objects_by_source_type{exported_source=\"fresh\",object_type=\"certificate\"})", + "legendFormat": "fresh crt", + "refId": "D" + }, + { + "expr": "sum by (job, instance, exported_instance) (ours_rp_cir_objects_by_source_type{exported_source=\"fresh\",object_type=\"crl\"})", + "legendFormat": "fresh crl", + "refId": "E" + } + ], + "title": "Fresh PP / Object Counts by Run", + "type": "timeseries" + } + ], + "refresh": "5s", + "schemaVersion": 40, + "tags": [ + "ours-rp", + "rpki", + "soak" + ], + "templating": { + "list": [] + }, + "time": { + "from": "now-30m", + "to": "now" + }, + "timepicker": {}, + "timezone": "browser", + "title": "Ours RP Soak Overview", + "uid": "ours-rp-soak-overview", + "version": 4, + "weekStart": "" +} diff --git a/scripts/docker/build_arm64_installer_package.sh b/scripts/docker/build_arm64_installer_package.sh index c501b37..14e8499 100755 --- a/scripts/docker/build_arm64_installer_package.sh +++ b/scripts/docker/build_arm64_installer_package.sh @@ -158,8 +158,8 @@ stage="$OUT_DIR/$package_name" tar_path="$OUT_DIR/$package_name.tar.gz" rm -rf "$stage" -mkdir -p "$stage/images" rsync -a --delete "$TEMPLATE_DIR"/ "$stage"/ +mkdir -p "$stage/images" cp "$IMAGE_TAR" "$stage/images/" monitor_image_stage="$OUT_DIR/.monitor-images-$timestamp"