infra/charts/victoria-metrics-k8s-stack/files/dashboards/generated/victoriametrics-backupmanager.yaml
Konstantin Averkiev c45fd1a6ac added vm stack
2025-07-08 17:29:32 +03:00

1291 lines
27 KiB
YAML

{{- $Values := (.helm).Values | default .Values }}
{{- $clusterLabel := ($Values.global).clusterLabel | default "cluster" }}
{{- $multicluster := ((($Values.grafana).sidecar).dashboards).multicluster | default false }}
{{- $defaultDatasource := "prometheus" -}}
{{- range (((($Values.grafana).sidecar).datasources).victoriametrics | default list) }}
{{- if and .isDefault .type }}{{ $defaultDatasource = .type }}{{- end }}
{{- end }}
__elements: {}
__inputs: []
__requires:
- id: barchart
name: Bar chart
type: panel
version: ''
- id: grafana
name: Grafana
type: grafana
version: 10.4.0
- id: prometheus
name: Prometheus
type: datasource
version: 1.0.0
- id: stat
name: Stat
type: panel
version: ''
- id: table
name: Table
type: panel
version: ''
- id: timeseries
name: Time series
type: panel
version: ''
annotations:
list:
- builtIn: 1
datasource:
type: grafana
uid: -- Grafana --
enable: true
hide: true
iconColor: rgba(0, 211, 255, 1)
name: Annotations & Alerts
target:
limit: 100
matchAny: false
tags: []
type: dashboard
type: dashboard
condition: {{ or (not (empty (((($Values).vmsingle).spec).vmBackup).destination)) (not (empty ((((($Values).vmcluster).spec).storage).vmBackup).destination)) }}
description: Overview for VictoriaMetrics backupmanager v1.85.3 or higher
editable: false
fiscalYearStartMonth: 0
graphTooltip: 0
id: null
links: []
liveNow: false
panels:
- collapsed: false
gridPos:
h: 1
w: 24
x: 0
'y': 0
id: 10
panels: []
title: Stats
type: row
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
fieldConfig:
defaults:
color:
mode: thresholds
mappings: []
thresholds:
mode: absolute
steps:
- color: green
value: null
overrides: []
gridPos:
h: 5
w: 3
x: 0
'y': 1
id: 32
options:
colorMode: value
graphMode: area
justifyMode: auto
orientation: auto
reduceOptions:
calcs:
- lastNotNull
fields: ''
values: false
showPercentChange: false
textMode: auto
wideLayout: true
pluginVersion: 10.4.0
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
exemplar: false
expr: count(vm_app_version{job=~"$job", instance=~"$instance", version=~"^vmbackupmanager.+" })
instant: true
legendFormat: __auto
range: false
refId: A
title: Instances
type: stat
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
description: Status of last backup operation.
fieldConfig:
defaults:
color:
mode: thresholds
mappings:
- options:
'0':
index: 0
text: Success
type: value
min: 0
thresholds:
mode: absolute
steps:
- color: green
value: null
overrides: []
gridPos:
h: 5
w: 4
x: 3
'y': 1
id: 2
options:
colorMode: value
graphMode: area
justifyMode: auto
orientation: auto
reduceOptions:
calcs:
- lastNotNull
fields: ''
values: false
showPercentChange: false
textMode: auto
wideLayout: true
pluginVersion: 10.4.0
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: sum(vm_backup_last_run_failed)
legendFormat: __auto
range: true
refId: A
title: Last backup status
type: stat
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
description: Number of backups stored in remote storage.
fieldConfig:
defaults:
color:
mode: thresholds
mappings: []
min: 0
thresholds:
mode: absolute
steps:
- color: green
value: null
overrides: []
gridPos:
h: 5
w: 3
x: 7
'y': 1
id: 6
options:
colorMode: value
graphMode: area
justifyMode: auto
orientation: auto
reduceOptions:
calcs:
- lastNotNull
fields: ''
values: false
showPercentChange: false
textMode: auto
wideLayout: true
pluginVersion: 10.4.0
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: sum(vm_backups_stored{job=~"$job", instance=~"$instance"})
legendFormat: __auto
range: true
refId: A
title: Total backups stored
type: stat
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
description: Space used in remote storage.
fieldConfig:
defaults:
color:
mode: thresholds
mappings: []
min: 0
thresholds:
mode: absolute
steps:
- color: green
value: null
unit: decbytes
overrides: []
gridPos:
h: 5
w: 3
x: 10
'y': 1
id: 27
options:
colorMode: value
graphMode: area
justifyMode: auto
orientation: auto
reduceOptions:
calcs:
- lastNotNull
fields: ''
values: false
showPercentChange: false
textMode: auto
wideLayout: true
pluginVersion: 10.4.0
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: sum(vm_backups_size_bytes{job=~"$job", instance=~"$instance"})
legendFormat: __auto
range: true
refId: A
title: Backups size
type: stat
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
description: ''
fieldConfig:
defaults:
color:
mode: thresholds
mappings:
- options:
'0':
index: 0
text: No errors
type: value
min: 0
thresholds:
mode: absolute
steps:
- color: green
value: null
- color: red
value: 1
overrides: []
gridPos:
h: 5
w: 3
x: 13
'y': 1
id: 7
options:
colorMode: value
graphMode: area
justifyMode: auto
orientation: auto
reduceOptions:
calcs:
- lastNotNull
fields: ''
values: false
showPercentChange: false
textMode: auto
wideLayout: true
pluginVersion: 10.4.0
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: sum(increase(vm_backup_errors_total{job=~"$job", instance=~"$instance"}[1h]))
legendFormat: __auto
range: true
refId: A
title: 'Backups errors '
type: stat
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
description: 'Status of last retention run.
Retention is a process of removing old backups from remote storage.'
fieldConfig:
defaults:
color:
mode: thresholds
mappings:
- options:
'0':
index: 0
text: Success
type: value
min: 0
thresholds:
mode: absolute
steps:
- color: green
value: null
overrides: []
gridPos:
h: 5
w: 4
x: 16
'y': 1
id: 5
options:
colorMode: value
graphMode: area
justifyMode: auto
orientation: auto
reduceOptions:
calcs:
- lastNotNull
fields: ''
values: false
showPercentChange: false
textMode: auto
wideLayout: true
pluginVersion: 10.4.0
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: sum(vm_retention_last_run_failed)
legendFormat: __auto
range: true
refId: A
title: Last retention status
type: stat
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
fieldConfig:
defaults:
color:
mode: thresholds
mappings:
- options:
'0':
index: 0
text: No errors
type: value
min: 0
thresholds:
mode: absolute
steps:
- color: green
value: null
- color: red
value: 1
overrides: []
gridPos:
h: 5
w: 4
x: 20
'y': 1
id: 8
options:
colorMode: value
graphMode: area
justifyMode: auto
orientation: auto
reduceOptions:
calcs:
- lastNotNull
fields: ''
values: false
showPercentChange: false
textMode: auto
wideLayout: true
pluginVersion: 10.4.0
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: sum(increase(vm_retention_errors_total{job=~"$job", instance=~"$instance"}[1h]))
legendFormat: __auto
range: true
refId: A
title: Retention errors
type: stat
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
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: name
properties:
- id: custom.width
value: 148
- matcher:
id: byName
options: value
properties:
- id: custom.width
value: 101
gridPos:
h: 6
w: 12
x: 0
'y': 6
id: 22
options:
cellHeight: sm
footer:
countRows: false
fields: ''
reducer:
- sum
show: false
showHeader: true
sortBy:
- desc: false
displayName: name
pluginVersion: 10.4.0
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
exemplar: false
expr: sum(flag{job=~"$job", instance=~"$instance",name=~"disableDaily|disableHourly|disableWeekly|disableMonthly"}) by (name, value, instance)
format: table
instant: true
legendFormat: ''
range: false
refId: A
title: Backups configuration
transformations:
- id: groupBy
options:
fields:
instance:
aggregations:
- uniqueValues
operation: aggregate
name:
aggregations: []
operation: groupby
value:
aggregations: []
operation: groupby
type: table
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
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: value
properties:
- id: custom.width
value: 100
- matcher:
id: byName
options: name
properties:
- id: custom.width
value: 150
gridPos:
h: 6
w: 12
x: 12
'y': 6
id: 21
options:
cellHeight: sm
footer:
countRows: false
fields: ''
reducer:
- sum
show: false
showHeader: true
sortBy:
- desc: false
displayName: name
pluginVersion: 10.4.0
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
exemplar: false
expr: sum(flag{job=~"$job", instance=~"$instance",name=~"keep(.*)", is_set="true"}) by (name, value, instance)
format: table
instant: true
legendFormat: ''
range: false
refId: A
title: Retention configuration
transformations:
- id: groupBy
options:
fields:
instance:
aggregations:
- uniqueValues
operation: aggregate
name:
aggregations: []
operation: groupby
value:
aggregations: []
operation: groupby
type: table
- collapsed: true
gridPos:
h: 1
w: 24
x: 0
'y': 12
id: 12
panels:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
description: 'Max duration of backup run. Lower better.
Each backup starts with data upload during `latest` backup. Subsequent backups (`hourly`, `daily`, `weekly`, `monthly`) are copying date by using server-side copy. '
fieldConfig:
defaults:
color:
mode: palette-classic
custom:
axisLabel: ''
axisPlacement: auto
fillOpacity: 80
gradientMode: none
hideFrom:
legend: false
tooltip: false
viz: false
lineWidth: 1
scaleDistribution:
type: linear
links:
- targetBlank: true
title: Drilldown
url: /d/gF-lxRdVz?viewPanel=36&var-ds=$ds&var-instance=$instance&var-job=$job&${__url_time_range}
mappings: []
thresholds:
mode: absolute
steps:
- color: green
unit: s
overrides: []
gridPos:
h: 8
w: 12
x: 0
'y': 13
id: 23
interval: 1h
options:
barRadius: 0
barWidth: 0.97
groupWidth: 0.7
legend:
calcs:
- max
- min
- mean
displayMode: list
placement: bottom
showLegend: false
orientation: auto
showValue: auto
stacking: none
tooltip:
mode: single
sort: none
xTickLabelRotation: 0
xTickLabelSpacing: 100
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: max(increase(vm_backup_duration_seconds_total{job=~"$job", instance=~"$instance"})) by (type) > 0
legendFormat: __auto
range: true
refId: A
title: Max backup duration
type: barchart
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
fieldConfig:
defaults:
color:
mode: palette-classic
custom:
axisLabel: ''
axisPlacement: auto
barAlignment: 0
drawStyle: line
fillOpacity: 0
gradientMode: none
hideFrom:
legend: false
tooltip: false
viz: false
lineInterpolation: linear
lineWidth: 1
pointSize: 5
scaleDistribution:
type: linear
showPoints: auto
spanNulls: false
stacking:
group: A
mode: none
thresholdsStyle:
mode: 'off'
mappings: []
thresholds:
mode: absolute
steps:
- color: green
- color: red
value: 80
overrides: []
gridPos:
h: 8
w: 12
x: 12
'y': 13
id: 16
options:
legend:
calcs: []
displayMode: list
placement: bottom
showLegend: true
tooltip:
mode: single
sort: none
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: sum(increase(vm_backup_errors_total{job=~"$job", instance=~"$instance"})[$__interval]) by (instance) > 0
legendFormat: '{{`{{`}}instance{{`}}`}}'
range: true
refId: A
title: Backup errors
type: timeseries
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
fieldConfig:
defaults:
color:
mode: palette-classic
custom:
axisLabel: ''
axisPlacement: auto
barAlignment: 0
drawStyle: line
fillOpacity: 0
gradientMode: none
hideFrom:
legend: false
tooltip: false
viz: false
lineInterpolation: linear
lineWidth: 1
pointSize: 5
scaleDistribution:
type: linear
showPoints: auto
spanNulls: false
stacking:
group: A
mode: none
thresholdsStyle:
mode: 'off'
mappings: []
thresholds:
mode: absolute
steps:
- color: green
- color: red
value: 80
unit: decbytes
overrides: []
gridPos:
h: 8
w: 12
x: 0
'y': 21
id: 29
options:
legend:
calcs: []
displayMode: list
placement: bottom
showLegend: false
tooltip:
mode: single
sort: none
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: vm_backups_size_bytes{job=~"$job", instance=~"$instance"}
legendFormat: __auto
range: true
refId: A
title: Backups size
type: timeseries
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
fieldConfig:
defaults:
color:
mode: thresholds
custom:
align: auto
cellOptions:
type: auto
inspect: false
mappings: []
thresholds:
mode: absolute
steps:
- color: green
- color: red
value: 80
unit: decbytes
overrides: []
gridPos:
h: 8
w: 12
x: 12
'y': 21
id: 28
options:
footer:
fields: ''
reducer:
- sum
show: false
showHeader: true
sortBy:
- desc: true
displayName: backup
pluginVersion: 9.0.4
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
exemplar: false
expr: topk(10, sum(vm_backups_size_bytes{job=~"$job", instance=~"$instance"}) by (backup, job, type))
format: table
instant: true
legendFormat: __auto
range: false
refId: A
title: Top 10 backups by size
transformations:
- id: groupBy
options:
fields:
Value:
aggregations: []
operation: groupby
backup:
aggregations: []
operation: groupby
job:
aggregations: []
operation: groupby
type:
aggregations: []
operation: groupby
type: table
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
fieldConfig:
defaults:
color:
mode: palette-classic
custom:
axisLabel: ''
axisPlacement: auto
fillOpacity: 80
gradientMode: none
hideFrom:
legend: false
tooltip: false
viz: false
lineWidth: 1
scaleDistribution:
type: linear
mappings: []
thresholds:
mode: absolute
steps:
- color: green
- color: red
value: 80
unit: none
overrides: []
gridPos:
h: 8
w: 12
x: 0
'y': 29
id: 30
interval: 1d
options:
barRadius: 0
barWidth: 0.97
groupWidth: 0.85
legend:
calcs: []
displayMode: list
placement: bottom
showLegend: true
orientation: auto
showValue: auto
stacking: normal
tooltip:
mode: single
sort: none
xTickLabelRotation: 0
xTickLabelSpacing: 100
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: sum(increase(vm_backups_total{job=~"$job", instance=~"$instance"}[24h])) by (type) > 0
legendFormat: __auto
range: true
refId: A
title: Backup runs
type: barchart
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
fieldConfig:
defaults:
color:
mode: palette-classic
custom:
axisLabel: ''
axisPlacement: auto
barAlignment: 0
drawStyle: line
fillOpacity: 0
gradientMode: none
hideFrom:
legend: false
tooltip: false
viz: false
lineInterpolation: linear
lineWidth: 1
pointSize: 5
scaleDistribution:
type: linear
showPoints: auto
spanNulls: false
stacking:
group: A
mode: none
thresholdsStyle:
mode: 'off'
mappings: []
thresholds:
mode: absolute
steps:
- color: green
unit: binBps
overrides: []
gridPos:
h: 8
w: 12
x: 12
'y': 29
id: 31
options:
legend:
calcs:
- max
- mean
displayMode: list
placement: right
showLegend: false
tooltip:
mode: single
sort: none
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: sum(rollup_rate(vm_backups_uploaded_bytes_total[$__rate_interval])) by (rollup)
legendFormat: __auto
range: true
refId: A
title: Backups upload speed
type: timeseries
title: Backups
type: row
- collapsed: true
gridPos:
h: 1
w: 24
x: 0
'y': 13
id: 18
panels:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
description: 'Max duration of retention run. Lower better.
Retention is a process of removing old backups from remote storage.'
fieldConfig:
defaults:
color:
mode: thresholds
custom:
axisLabel: ''
axisPlacement: auto
fillOpacity: 80
gradientMode: none
hideFrom:
legend: false
tooltip: false
viz: false
lineWidth: 1
scaleDistribution:
type: linear
mappings: []
thresholds:
mode: absolute
steps:
- color: green
unit: s
overrides: []
gridPos:
h: 8
w: 12
x: 0
'y': 38
id: 26
interval: 1h
options:
barRadius: 0
barWidth: 0.97
groupWidth: 0.7
legend:
calcs: []
displayMode: list
placement: bottom
showLegend: true
orientation: auto
showValue: auto
stacking: none
tooltip:
mode: single
sort: none
xTickLabelRotation: 0
xTickLabelSpacing: 0
pluginVersion: 9.0.4
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: max(increase(vm_retention_duration_seconds_total{job=~"$job", instance=~"$instance"})) > 0
legendFormat: __auto
range: true
refId: A
title: Max retention duration
type: barchart
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
fieldConfig:
defaults:
color:
mode: palette-classic
custom:
axisLabel: ''
axisPlacement: auto
barAlignment: 0
drawStyle: line
fillOpacity: 0
gradientMode: none
hideFrom:
legend: false
tooltip: false
viz: false
lineInterpolation: linear
lineWidth: 1
pointSize: 5
scaleDistribution:
type: linear
showPoints: auto
spanNulls: false
stacking:
group: A
mode: none
thresholdsStyle:
mode: 'off'
mappings: []
thresholds:
mode: absolute
steps:
- color: green
- color: red
value: 80
overrides: []
gridPos:
h: 8
w: 12
x: 12
'y': 38
id: 25
options:
legend:
calcs: []
displayMode: list
placement: bottom
showLegend: true
tooltip:
mode: single
sort: none
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: sum(increase(vm_retention_errors_total{job=~"$job", instance=~"$instance"})[$__interval]) by (instance) > 0
legendFormat: '{{`{{`}}instance{{`}}`}}'
range: true
refId: A
title: Retention errors
type: timeseries
title: Retention
type: row
- collapsed: true
gridPos:
h: 1
w: 24
x: 0
'y': 14
id: 34
panels:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
description: 'Duration of backup run. Lower better.
Each backup starts with data upload during `latest` backup. Subsequent backups (`hourly`, `daily`, `weekly`, `monthly`) are copying date by using server-side copy.
'
fieldConfig:
defaults:
color:
mode: palette-classic
custom:
axisLabel: ''
axisPlacement: auto
fillOpacity: 80
gradientMode: none
hideFrom:
legend: false
tooltip: false
viz: false
lineWidth: 1
scaleDistribution:
type: linear
mappings: []
thresholds:
mode: absolute
steps:
- color: green
unit: s
overrides: []
gridPos:
h: 11
w: 24
x: 0
'y': 39
id: 36
interval: 1h
options:
barRadius: 0
barWidth: 0.97
groupWidth: 0.7
legend:
calcs: []
displayMode: list
placement: bottom
showLegend: false
orientation: auto
showValue: auto
stacking: none
tooltip:
mode: single
sort: none
xTickLabelRotation: 0
xTickLabelSpacing: 100
targets:
- datasource:
type: {{ $defaultDatasource }}
uid: $ds
editorMode: code
expr: increase(vm_backup_duration_seconds_total{job=~"$job", instance=~"$instance"}) > 0
legendFormat: '{{`{{`}}instance{{`}}`}} - {{`{{`}}type{{`}}`}}'
range: true
refId: A
title: Backup duration per instance
type: barchart
title: Drilldown
type: row
refresh: 1m
schemaVersion: 39
tags:
- victoriametrics
- vm-k8s-stack
templating:
list:
- current:
selected: true
text: VictoriaMetrics
value: VictoriaMetrics
hide: 0
includeAll: false
multi: false
name: ds
options: []
query: {{ $defaultDatasource }}
queryValue: ''
refresh: 1
regex: ''
skipUrlSync: false
type: datasource
- allValue: .*
current: {}
datasource:
uid: $ds
definition: label_values(vm_app_version{version=~"^vmbackupmanager.*"}, job)
hide: 0
includeAll: true
multi: true
name: job
options: []
query:
query: label_values(vm_app_version{version=~"^vmbackupmanager.*"}, job)
refId: StandardVariableQuery
refresh: 1
regex: ''
skipUrlSync: false
sort: 0
tagValuesQuery: ''
tagsQuery: ''
type: query
useTags: false
- allValue: .*
current: {}
datasource:
uid: $ds
definition: label_values(vm_app_version{job=~"$job"}, instance)
hide: 0
includeAll: true
multi: true
name: instance
options: []
query:
query: label_values(vm_app_version{job=~"$job"}, instance)
refId: VictoriaMetrics-instance-Variable-Query
refresh: 1
regex: ''
skipUrlSync: false
sort: 0
tagValuesQuery: ''
tagsQuery: ''
type: query
useTags: false
- datasource:
type: prometheus
uid: $ds
filters: []
hide: 0
name: adhoc
skipUrlSync: false
type: adhoc
time:
from: now-7d
to: now
timepicker: {}
timezone: {{ default "utc" ($Values.defaultDashboards).defaultTimezone }}
title: VictoriaMetrics - backupmanager
uid: gF-lxRdVz
version: 1
weekStart: ''