
{{- $Values := (.helm).Values | default .Values }}
{{- $multicluster := ((($Values.grafana).sidecar).dashboards).multicluster | default false }}
{{- $defaultDatasource := "prometheus" -}}
{{- $clusterLabel := ($Values.global).clusterLabel | default "cluster" }}
{{- range (($Values.defaultDatasources).victoriametrics).datasources | default list }}
  {{- if and .isDefault .type }}{{ $defaultDatasource = .type }}{{- end }}
{{- end }}
title: VictoriaMetrics - backupmanager
templating:
  list:
  - name: ds
    type: datasource
    query: {{ $defaultDatasource }}
    hide: 0
    current:
      selected: true
      text: VictoriaMetrics
      value: VictoriaMetrics
    options: []
    queryValue: ""
    refresh: 1
    regex: ""
    skipUrlSync: false
  - name: job
    multi: true
    includeAll: true
    datasource:
      uid: $ds
    type: query
    query:
      query: {{ printf "label_values(vm_app_version{version=~\"^vmbackupmanager.*\",%s=~\"$cluster\"}, job)" $clusterLabel }}
      refId: StandardVariableQuery
    definition: {{ printf "label_values(vm_app_version{version=~\"^vmbackupmanager.*\",%s=~\"$cluster\"}, job)" $clusterLabel }}
    hide: 0
    allValue: .*
    current: {}
    options: []
    refresh: 1
    regex: ""
    skipUrlSync: false
    sort: 0
    tagValuesQuery: ""
    tagsQuery: ""
    useTags: false
  - name: instance
    multi: true
    includeAll: true
    datasource:
      uid: $ds
    type: query
    query:
      query: {{ printf "label_values(vm_app_version{job=~\"$job\",%s=~\"$cluster\"}, instance)" $clusterLabel }}
      refId: VictoriaMetrics-instance-Variable-Query
    definition: {{ printf "label_values(vm_app_version{job=~\"$job\",%s=~\"$cluster\"}, instance)" $clusterLabel }}
    hide: 0
    allValue: .*
    current: {}
    options: []
    refresh: 1
    regex: ""
    skipUrlSync: false
    sort: 0
    tagValuesQuery: ""
    tagsQuery: ""
    useTags: false
  - name: adhoc
    datasource:
      type: {{ $defaultDatasource }}
      uid: $ds
    type: adhoc
    hide: 0
    filters: []
    skipUrlSync: false
  - name: cluster
    label: cluster
    multi: {{ ternary true false $multicluster }}
    includeAll: {{ ternary true false $multicluster }}
    datasource:
      type: {{ $defaultDatasource }}
    type: {{ ternary "query" "constant" $multicluster }}
    query: {{ ternary (printf "label_values(vm_app_version, %s)" $clusterLabel) ".*" $multicluster }}
    hide: {{ ternary 0 2 $multicluster }}
    allValue: .*
editable: false
timezone: {{ default "utc" ($Values.defaultDashboards).defaultTimezone }}
tags:
- victoriametrics
- vm-k8s-stack
annotations:
  list:
  - name: Annotations & Alerts
    datasource:
      type: grafana
      uid: -- Grafana --
    builtIn: 1
    enable: true
    hide: true
    iconColor: rgba(0, 211, 255, 1)
    target:
      limit: 100
      matchAny: false
      tags: []
      type: dashboard
    type: dashboard
  - name: restarts
    expr: {{ printf "sum(changes(vm_app_start_timestamp{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"}[$__interval])) by(job,%s)" $clusterLabel $clusterLabel }}
    datasource:
      type: {{ $defaultDatasource }}
      uid: $ds
    enable: true
    hide: false
    iconColor: dark-yellow
    textFormat: '{{`{{`}}job{{`}}`}} restarted'
panels:
- title: Stats
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 0
  id: 10
  type: row
- title: Instances
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: $ds
    expr: {{ printf "count(vm_app_version{job=~\"$job\",instance=~\"$instance\",version=~\"^vmbackupmanager.+\",%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    instant: true
    legendFormat: __auto
    range: false
    refId: A
  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
  type: stat
- title: Last backup status
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: $ds
    expr: {{ printf "sum(vm_backup_last_run_failed) by(%s)" $clusterLabel }}
    editorMode: code
    legendFormat: __auto
    range: true
    refId: A
  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
  type: stat
- title: Total backups stored
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: $ds
    expr: {{ printf "sum(vm_backups_stored{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    legendFormat: __auto
    range: true
    refId: A
  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
  type: stat
- title: Backups size
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: $ds
    expr: {{ printf "sum(vm_backups_size_bytes{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    legendFormat: __auto
    range: true
    refId: A
  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
  type: stat
- title: 'Backups errors '
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: $ds
    expr: {{ printf "sum(increase(vm_backup_errors_total{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"}[$__range])) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    legendFormat: __auto
    range: true
    refId: A
  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
  type: stat
- title: Last retention status
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: $ds
    expr: {{ printf "sum(vm_retention_last_run_failed) by(%s)" $clusterLabel }}
    editorMode: code
    legendFormat: __auto
    range: true
    refId: A
  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
  type: stat
- title: Retention errors
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: $ds
    expr: {{ printf "sum(increase(vm_retention_errors_total{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"}[$__range])) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    legendFormat: __auto
    range: true
    refId: A
  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
  type: stat
- title: Backups configuration
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: $ds
    expr: {{ printf "sum(flag{job=~\"$job\",instance=~\"$instance\",name=~\"disableDaily|disableHourly|disableWeekly|disableMonthly\",%s=~\"$cluster\"}) by(name,value,instance,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    format: table
    instant: true
    legendFormat: ""
    range: false
    refId: A
  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
  transformations:
  - id: groupBy
    options:
      fields:
        instance:
          aggregations:
          - uniqueValues
          operation: aggregate
        name:
          aggregations: []
          operation: groupby
        value:
          aggregations: []
          operation: groupby
  type: table
- title: Retention configuration
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: $ds
    expr: {{ printf "sum(flag{job=~\"$job\",instance=~\"$instance\",name=~\"keep(.*)\",is_set=\"true\",%s=~\"$cluster\"}) by(name,value,instance,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    format: table
    instant: true
    legendFormat: ""
    range: false
    refId: A
  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
  transformations:
  - id: groupBy
    options:
      fields:
        instance:
          aggregations:
          - uniqueValues
          operation: aggregate
        name:
          aggregations: []
          operation: groupby
        value:
          aggregations: []
          operation: groupby
  type: table
- title: Backups
  panels:
  - title: Max backup duration
    targets:
    - datasource:
        type: {{ $defaultDatasource }}
        uid: $ds
      expr: {{ printf "max(increase(vm_backup_duration_seconds_total{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"})) by(type,%s) > 0" $clusterLabel $clusterLabel }}
      editorMode: code
      legendFormat: __auto
      range: true
      refId: A
    datasource:
      type: {{ $defaultDatasource }}
      uid: $ds
    description: "Max duration of backup run. Lower better.\n\nEach 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
    type: barchart
  - title: Backup errors
    targets:
    - datasource:
        type: {{ $defaultDatasource }}
        uid: $ds
      expr: {{ printf "sum(increase(vm_backup_errors_total{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"})[$__interval]) by(instance,%s) > 0" $clusterLabel $clusterLabel }}
      editorMode: code
      legendFormat: '{{`{{`}}instance{{`}}`}}'
      range: true
      refId: A
    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
    type: timeseries
  - title: Backups size
    targets:
    - datasource:
        type: {{ $defaultDatasource }}
        uid: $ds
      expr: {{ printf "vm_backups_size_bytes{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
      editorMode: code
      legendFormat: __auto
      range: true
      refId: A
    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
    type: timeseries
  - title: Top 10 backups by size
    targets:
    - datasource:
        type: {{ $defaultDatasource }}
        uid: $ds
      expr: {{ printf "topk(10, sum(vm_backups_size_bytes{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"}) by(backup,job,type,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel }}
      editorMode: code
      exemplar: false
      format: table
      instant: true
      legendFormat: __auto
      range: false
      refId: A
    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
    transformations:
    - id: groupBy
      options:
        fields:
          Value:
            aggregations: []
            operation: groupby
          backup:
            aggregations: []
            operation: groupby
          job:
            aggregations: []
            operation: groupby
          type:
            aggregations: []
            operation: groupby
    type: table
  - title: Backup runs
    targets:
    - datasource:
        type: {{ $defaultDatasource }}
        uid: $ds
      expr: {{ printf "sum(increase(vm_backups_total{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"}[24h])) by(type,%s) > 0" $clusterLabel $clusterLabel }}
      editorMode: code
      legendFormat: __auto
      range: true
      refId: A
    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
    type: barchart
  - title: Backups upload speed
    targets:
    - datasource:
        type: {{ $defaultDatasource }}
        uid: $ds
      expr: {{ printf "sum(rollup_rate(vm_backups_uploaded_bytes_total[$__rate_interval])) by(rollup,%s)" $clusterLabel }}
      editorMode: code
      legendFormat: __auto
      range: true
      refId: A
    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
    type: timeseries
  collapsed: true
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 12
  id: 12
  type: row
- title: Retention
  panels:
  - title: Max retention duration
    targets:
    - datasource:
        type: {{ $defaultDatasource }}
        uid: $ds
      expr: {{ printf "max(increase(vm_retention_duration_seconds_total{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"})) by(%s) > 0" $clusterLabel $clusterLabel }}
      editorMode: code
      legendFormat: __auto
      range: true
      refId: A
    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
    type: barchart
  - title: Retention errors
    targets:
    - datasource:
        type: {{ $defaultDatasource }}
        uid: $ds
      expr: {{ printf "sum(increase(vm_retention_errors_total{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"})[$__interval]) by(instance,%s) > 0" $clusterLabel $clusterLabel }}
      editorMode: code
      legendFormat: '{{`{{`}}instance{{`}}`}}'
      range: true
      refId: A
    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
    type: timeseries
  collapsed: true
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 13
  id: 18
  type: row
- title: Drilldown
  panels:
  - title: Backup duration per instance
    targets:
    - datasource:
        type: {{ $defaultDatasource }}
        uid: $ds
      expr: {{ printf "increase(vm_backup_duration_seconds_total{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"}) > 0" $clusterLabel }}
      editorMode: code
      legendFormat: '{{`{{`}}instance{{`}}`}} - {{`{{`}}type{{`}}`}}'
      range: true
      refId: A
    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
    type: barchart
  collapsed: true
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 14
  id: 34
  type: row
__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: ""
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
fiscalYearStartMonth: 0
graphTooltip: 0
id: null
links:
- icon: doc
  tags: []
  targetBlank: true
  title: Docs
  type: link
  url: https://docs.victoriametrics.com/victoriametrics/vmbackupmanager/
- icon: info
  tags: []
  targetBlank: true
  title: Community support
  type: link
  url: https://victoriametrics.com/support/community-support/
- asDropdown: false
  icon: bolt
  includeVars: false
  keepTime: false
  tags: []
  targetBlank: true
  title: Enterprise support
  tooltip: ""
  type: link
  url: https://victoriametrics.com/support/enterprise-support/
liveNow: false
refresh: 1m
schemaVersion: 39
time:
  from: now-7d
  to: now
timepicker: {}
uid: gF-lxRdVz
version: 1
weekStart: ""
