mongodb

Overview

Jsonnet source code is available at github.com/grafana/jsonnet-libs

Alerts

Complete list of pregenerated alerts is available here.

MongodbAlerts

MongodbDown

alert: MongodbDown
annotations:
  description: |-
    MongoDB instance is down
      VALUE = {{ $value }}
      LABELS = {{ $labels }}
  summary: MongoDB Instance is Down.
expr: mongodb_up == 0
for: 5m
labels:
  severity: critical

MongodbReplicaMemberUnhealthy

alert: MongodbReplicaMemberUnhealthy
annotations:
  description: Mongodb replica member unhealthy (instance {{ $labels.instance }})
  summary: MongoDB replica member unhealthy.
expr: mongodb_mongod_replset_member_health == 0
labels:
  severity: critical

MongodbReplicationLag

alert: MongodbReplicationLag
annotations:
  description: |-
    Mongodb replication lag is more than 10s
      VALUE = {{ $value }}
      LABELS = {{ $labels }}
  summary: MongoDB replication lag is exceeding the threshold.
expr: mongodb_mongod_replset_member_replication_lag{state="SECONDARY"} > 60
for: 5m
labels:
  severity: critical

MongodbReplicationHeadroom

alert: MongodbReplicationHeadroom
annotations:
  description: |-
    MongoDB replication headroom is <= 0
      VALUE = {{ $value }}
      LABELS = {{ $labels }}
  summary: MongoDB replication headroom is exceeding the threshold.
expr: (avg(mongodb_mongod_replset_oplog_tail_timestamp - mongodb_mongod_replset_oplog_head_timestamp)
  - (avg(mongodb_mongod_replset_member_optime_date{state="PRIMARY"}) - avg(mongodb_mongod_replset_member_optime_date{state="SECONDARY"})))
  <= 0
for: 5m
labels:
  severity: critical

MongodbNumberCursorsOpen

alert: MongodbNumberCursorsOpen
annotations:
  description: |-
    Too many cursors opened by MongoDB for clients (> 10k)
      VALUE = {{ $value }}
      LABELS = {{ $labels }}
  summary: MongoDB number cursors open too high.
expr: mongodb_mongod_metrics_cursor_open{state="total"} > 10 * 1000
for: 2m
labels:
  severity: warning

MongodbCursorsTimeouts

alert: MongodbCursorsTimeouts
annotations:
  description: |-
    Too many cursors are timing out
      VALUE = {{ $value }}
      LABELS = {{ $labels }}
  summary: MongoDB cursors timeouts is exceeding the threshold.
expr: increase(mongodb_mongod_metrics_cursor_timed_out_total[1m]) > 100
for: 2m
labels:
  severity: warning

MongodbTooManyConnections

alert: MongodbTooManyConnections
annotations:
  description: |-
    Too many connections (> 80%)
      VALUE = {{ $value }}
      LABELS = {{ $labels }}
  summary: MongoDB too many connections.
expr: avg by(instance) (rate(mongodb_connections{state="current"}[1m])) / avg by(instance)
  (sum (mongodb_connections) by (instance)) * 100 > 80
for: 2m
labels:
  severity: warning

MongodbVirtualMemoryUsage

alert: MongodbVirtualMemoryUsage
annotations:
  description: |-
    High memory usage
      VALUE = {{ $value }}
      LABELS = {{ $labels }}
  summary: MongoDB virtual memory usage is too high.
expr: (sum(mongodb_memory{type="virtual"}) BY (instance) / sum(mongodb_memory{type="mapped"})
  BY (instance)) > 3
for: 2m
labels:
  severity: warning

MongodbReadRequestsQueueingUp

alert: MongodbReadRequestsQueueingUp
annotations:
  description: |-
    MongoDB requests are queuing up
      VALUE = {{ $value }}
      LABELS = {{ $labels }}
  summary: MongoDB read requests queuing up.
expr: delta(mongodb_mongod_global_lock_current_queue{type="reader"}[1m]) > 0
for: 5m
labels:
  severity: warning

MongodbWriteRequestsQueueingUp

alert: MongodbWriteRequestsQueueingUp
annotations:
  description: |-
    MongoDB write requests are queueing up
      VALUE = {{ $value }}
      LABELS = {{ $labels }}
  summary: MongoDB write requests queuing up.
expr: delta(mongodb_mongod_global_lock_current_queue{type="writer"}[1m]) > 0
for: 5m
labels:
  severity: warning

Dashboards

Following dashboards are generated from mixins and hosted on github: