# Copyright 2021 Canonical Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# For those usages not covered by the Apache License, Version 2.0 please
# contact: legal@canonical.com
#
# To get in touch with the maintainers, please contact:
# osm-charmers@lists.launchpad.net
##

---
annotations:
  list:
    - builtIn: 1
      datasource: '-- Grafana --'
      enable: true
      hide: true
      iconColor: 'rgba(0, 211, 255, 1)'
      name: Annotations & Alerts
      type: dashboard
description: MongoDB Prometheus Exporter Dashboard.
editable: true
gnetId: 2583
graphTooltip: 1
id: 9
iteration: 1577555358996
links: []
panels:
  - collapsed: false
    gridPos:
      h: 1
      w: 24
      x: 0
      'y': 0
    id: 22
    panels: []
    repeat: env
    title: Health
    type: row
  - cacheTimeout: null
    colorBackground: false
    colorValue: true
    colors:
      - 'rgba(245, 54, 54, 0.9)'
      - 'rgba(237, 129, 40, 0.89)'
      - 'rgba(50, 172, 45, 0.97)'
    datasource: Prometheus
    decimals: null
    format: s
    gauge:
      maxValue: 100
      minValue: 0
      show: false
      thresholdLabels: false
      thresholdMarkers: true
    gridPos:
      h: 4
      w: 12
      x: 0
      'y': 1
    id: 10
    interval: null
    links: []
    mappingType: 1
    mappingTypes:
      - name: value to text
        value: 1
      - name: range to text
        value: 2
    maxDataPoints: 100
    nullPointMode: connected
    nullText: null
    options: {}
    postfix: ''
    postfixFontSize: 50%
    prefix: ''
    prefixFontSize: 50%
    rangeMaps:
      - from: 'null'
        text: N/A
        to: 'null'
    sparkline:
      fillColor: 'rgba(31, 118, 189, 0.18)'
      full: false
      lineColor: 'rgb(31, 120, 193)'
      show: false
    tableColumn: ''
    targets:
      - expr: 'mongodb_instance_uptime_seconds{instance=~"$instance"}'
        format: time_series
        intervalFactor: 2
        legendFormat: ''
        refId: A
        step: 1800
    thresholds: '0,360'
    title: Uptime
    type: singlestat
    valueFontSize: 80%
    valueMaps:
      - op: '='
        text: N/A
        value: 'null'
    valueName: current
  - cacheTimeout: null
    colorBackground: false
    colorValue: false
    colors:
      - 'rgba(245, 54, 54, 0.9)'
      - 'rgba(237, 129, 40, 0.89)'
      - 'rgba(50, 172, 45, 0.97)'
    datasource: Prometheus
    format: none
    gauge:
      maxValue: 100
      minValue: 0
      show: false
      thresholdLabels: false
      thresholdMarkers: true
    gridPos:
      h: 4
      w: 12
      x: 12
      'y': 1
    id: 1
    interval: null
    links: []
    mappingType: 1
    mappingTypes:
      - name: value to text
        value: 1
      - name: range to text
        value: 2
    maxDataPoints: 100
    nullPointMode: connected
    nullText: null
    options: {}
    postfix: ''
    postfixFontSize: 50%
    prefix: ''
    prefixFontSize: 50%
    rangeMaps:
      - from: 'null'
        text: N/A
        to: 'null'
    sparkline:
      fillColor: 'rgba(31, 118, 189, 0.18)'
      full: true
      lineColor: 'rgb(31, 120, 193)'
      show: true
    tableColumn: ''
    targets:
      - expr: 'mongodb_connections{instance=~"$instance",state="current"}'
        format: time_series
        intervalFactor: 2
        legendFormat: ''
        metric: mongodb_connections
        refId: A
        step: 1800
    thresholds: ''
    title: Open Connections
    type: singlestat
    valueFontSize: 80%
    valueMaps:
      - op: '='
        text: N/A
        value: 'null'
    valueName: avg
  - collapsed: false
    gridPos:
      h: 1
      w: 24
      x: 0
      'y': 5
    id: 20
    panels: []
    repeat: env
    title: Operations
    type: row
  - aliasColors: {}
    bars: false
    dashLength: 10
    dashes: false
    datasource: Prometheus
    fill: 1
    fillGradient: 0
    gridPos:
      h: 6
      w: 10
      x: 0
      'y': 6
    id: 7
    legend:
      avg: false
      current: false
      max: false
      min: false
      show: true
      total: false
      values: false
    lines: true
    linewidth: 1
    links: []
    nullPointMode: 'null'
    options:
      dataLinks: []
    percentage: false
    pointradius: 5
    points: false
    renderer: flot
    seriesOverrides: []
    spaceLength: 10
    stack: false
    steppedLine: false
    targets:
      - expr: >-
          'rate(mongodb_op_counters_total{instance=~"$instance"}[$interval])'
        format: time_series
        interval: ''
        intervalFactor: 2
        legendFormat: '{{type}}'
        refId: A
        step: 240
    thresholds: []
    timeFrom: null
    timeRegions: []
    timeShift: null
    title: Query Operations
    tooltip:
      shared: true
      sort: 0
      value_type: individual
    type: graph
    xaxis:
      buckets: null
      mode: time
      name: null
      show: true
      values: []
    yaxes:
      - format: ops
        label: null
        logBase: 1
        max: null
        min: null
        show: true
      - format: short
        label: null
        logBase: 1
        max: null
        min: null
        show: true
    yaxis:
      align: false
      alignLevel: null
  - aliasColors: {}
    bars: false
    dashLength: 10
    dashes: false
    datasource: Prometheus
    fill: 1
    fillGradient: 0
    gridPos:
      h: 6
      w: 8
      x: 10
      'y': 6
    id: 9
    legend:
      avg: false
      current: false
      max: false
      min: false
      show: true
      total: false
      values: false
    lines: true
    linewidth: 1
    links: []
    nullPointMode: 'null'
    options:
      dataLinks: []
    percentage: false
    pointradius: 5
    points: false
    renderer: flot
    seriesOverrides:
      - alias: returned
        yaxis: 1
    spaceLength: 10
    stack: false
    steppedLine: false
    targets:
      - expr: >-
          rate(mongodb_mongod_metrics_document_total{instance=~"$instance"}[$interval])
        format: time_series
        interval: ''
        intervalFactor: 2
        legendFormat: '{{state}}'
        refId: A
        step: 240
    thresholds: []
    timeFrom: null
    timeRegions: []
    timeShift: null
    title: Document Operations
    tooltip:
      shared: true
      sort: 0
      value_type: individual
    type: graph
    xaxis:
      buckets: null
      mode: time
      name: null
      show: true
      values: []
    yaxes:
      - format: short
        label: null
        logBase: 1
        max: null
        min: null
        show: true
      - format: short
        label: null
        logBase: 1
        max: null
        min: null
        show: true
    yaxis:
      align: false
      alignLevel: null
  - aliasColors: {}
    bars: false
    dashLength: 10
    dashes: false
    datasource: Prometheus
    fill: 1
    fillGradient: 0
    gridPos:
      h: 6
      w: 6
      x: 18
      'y': 6
    id: 8
    legend:
      avg: false
      current: false
      max: false
      min: false
      show: true
      total: false
      values: false
    lines: true
    linewidth: 1
    links: []
    nullPointMode: 'null'
    options:
      dataLinks: []
    percentage: false
    pointradius: 5
    points: false
    renderer: flot
    seriesOverrides: []
    spaceLength: 10
    stack: false
    steppedLine: false
    targets:
      - expr: >-
          rate(mongodb_mongod_metrics_query_executor_total{instance=~"$instance"}[$interval])
        format: time_series
        interval: ''
        intervalFactor: 2
        legendFormat: '{{state}}'
        refId: A
        step: 600
    thresholds: []
    timeFrom: null
    timeRegions: []
    timeShift: null
    title: Document Query Executor
    tooltip:
      shared: true
      sort: 0
      value_type: individual
    type: graph
    xaxis:
      buckets: null
      mode: time
      name: null
      show: true
      values: []
    yaxes:
      - format: short
        label: null
        logBase: 1
        max: null
        min: null
        show: true
      - format: short
        label: null
        logBase: 1
        max: null
        min: null
        show: true
    yaxis:
      align: false
      alignLevel: null
  - collapsed: false
    gridPos:
      h: 1
      w: 24
      x: 0
      'y': 12
    id: 23
    panels: []
    repeat: null
    title: Resources
    type: row
  - aliasColors: {}
    bars: false
    dashLength: 10
    dashes: false
    datasource: Prometheus
    fill: 1
    fillGradient: 0
    gridPos:
      h: 6
      w: 12
      x: 0
      'y': 13
    id: 4
    legend:
      alignAsTable: false
      avg: false
      current: true
      hideEmpty: false
      hideZero: false
      max: false
      min: false
      rightSide: false
      show: true
      total: false
      values: true
    lines: true
    linewidth: 1
    links: []
    nullPointMode: 'null'
    options:
      dataLinks: []
    percentage: false
    pointradius: 5
    points: false
    renderer: flot
    seriesOverrides: []
    spaceLength: 10
    stack: false
    steppedLine: false
    targets:
      - expr: 'mongodb_memory{instance=~"$instance",type=~"resident|virtual"}'
        format: time_series
        interval: ''
        intervalFactor: 2
        legendFormat: '{{type}}'
        refId: A
        step: 240
    thresholds: []
    timeFrom: null
    timeRegions: []
    timeShift: null
    title: Memory
    tooltip:
      shared: false
      sort: 0
      value_type: individual
    type: graph
    xaxis:
      buckets: null
      mode: time
      name: null
      show: true
      values:
        - total
    yaxes:
      - format: decmbytes
        label: MB
        logBase: 1
        max: null
        min: null
        show: true
      - format: short
        label: null
        logBase: 1
        max: null
        min: null
        show: true
    yaxis:
      align: false
      alignLevel: null
  - aliasColors: {}
    bars: false
    dashLength: 10
    dashes: false
    datasource: Prometheus
    fill: 1
    fillGradient: 0
    gridPos:
      h: 6
      w: 12
      x: 12
      'y': 13
    id: 5
    legend:
      avg: false
      current: false
      max: false
      min: false
      show: true
      total: false
      values: false
    lines: true
    linewidth: 1
    links: []
    nullPointMode: 'null'
    options:
      dataLinks: []
    percentage: false
    pointradius: 5
    points: false
    renderer: flot
    seriesOverrides: []
    spaceLength: 10
    stack: false
    steppedLine: false
    targets:
      - expr: >-
          'rate(mongodb_network_bytes_total{instance=~"$instance"}[$interval])'
        format: time_series
        interval: ''
        intervalFactor: 2
        legendFormat: '{{state}}'
        metric: mongodb_metrics_operation_total
        refId: A
        step: 240
    thresholds: []
    timeFrom: null
    timeRegions: []
    timeShift: null
    title: Network I/O
    tooltip:
      shared: true
      sort: 0
      value_type: individual
    type: graph
    xaxis:
      buckets: null
      mode: time
      name: null
      show: true
      values: []
    yaxes:
      - format: decbytes
        label: null
        logBase: 1
        max: null
        min: null
        show: true
      - format: short
        label: null
        logBase: 1
        max: null
        min: null
        show: true
    yaxis:
      align: false
      alignLevel: null
refresh: 5s
schemaVersion: 19
style: dark
tags: []
templating:
  list:
    - allValue: null
      current:
        text: All
        value: $__all
      datasource: Prometheus
      definition: ''
      hide: 0
      includeAll: true
      label: instance
      multi: true
      name: instance
      options: []
      query: 'label_values(mongodb_connections, instance)'
      refresh: 1
      regex: ''
      skipUrlSync: false
      sort: 1
      tagValuesQuery: /.*-(.*?)-.*/
      tags: []
      tagsQuery: 'label_values(mongodb_connections, instance)'
      type: query
      useTags: false
    - auto: true
      auto_count: 30
      auto_min: 10s
      current:
        text: auto
        value: $__auto_interval_interval
      hide: 0
      label: null
      name: interval
      options:
        - selected: true
          text: auto
          value: $__auto_interval_interval
        - selected: false
          text: 1m
          value: 1m
        - selected: false
          text: 10m
          value: 10m
        - selected: false
          text: 30m
          value: 30m
        - selected: false
          text: 1h
          value: 1h
        - selected: false
          text: 6h
          value: 6h
        - selected: false
          text: 12h
          value: 12h
        - selected: false
          text: 1d
          value: 1d
        - selected: false
          text: 7d
          value: 7d
        - selected: false
          text: 14d
          value: 14d
        - selected: false
          text: 30d
          value: 30d
      query: '1m,10m,30m,1h,6h,12h,1d,7d,14d,30d'
      refresh: 2
      skipUrlSync: false
      type: interval
time:
  from: now/d
  to: now
timepicker:
  refresh_intervals:
    - 5s
    - 10s
    - 30s
    - 1m
    - 5m
    - 15m
    - 30m
    - 1h
    - 2h
    - 1d
  time_options:
    - 5m
    - 15m
    - 1h
    - 6h
    - 12h
    - 24h
    - 2d
    - 7d
    - 30d
timezone: browser
title: MongoDB
uid: HEK4NbtZk
version: 2