groups: - name: DcuMongodbExporter rules: - alert: MongodbReplicationLag(dcu) expr: 'avg(mongodb_replset_member_optime_date{state="PRIMARY"}) - avg(mongodb_replset_member_optime_date{state="SECONDARY"}) > 10' for: 0m labels: severity: critical annotations: summary: MongoDB replication lag (DCU) (instance {{ $labels.instance }}) description: "Mongodb replication lag is more than 10s\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" - alert: MongodbReplicationStatus3 expr: 'mongodb_replset_member_state == 3' for: 0m labels: severity: critical annotations: summary: MongoDB replication Status 3 (instance {{ $labels.instance }}) description: "MongoDB Replication set member either perform startup self-checks, or transition from completing a rollback or resync\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" - alert: MongodbReplicationStatus6 expr: 'mongodb_replset_member_state == 6' for: 0m labels: severity: critical annotations: summary: MongoDB replication Status 6 (instance {{ $labels.instance }}) description: "MongoDB Replication set member as seen from another member of the set, is not yet known\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" - alert: MongodbReplicationStatus8 expr: 'mongodb_replset_member_state == 8' for: 0m labels: severity: critical annotations: summary: MongoDB replication Status 8 (instance {{ $labels.instance }}) description: "MongoDB Replication set member as seen from another member of the set, is unreachable\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" - alert: MongodbReplicationStatus9 expr: 'mongodb_replset_member_state == 9' for: 0m labels: severity: critical annotations: summary: MongoDB replication Status 9 (instance {{ $labels.instance }}) description: "MongoDB Replication set member is actively performing a rollback. Data is not available for reads\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" - alert: MongodbReplicationStatus10 expr: 'mongodb_replset_member_state == 10' for: 0m labels: severity: critical annotations: summary: MongoDB replication Status 10 (instance {{ $labels.instance }}) description: "MongoDB Replication set member was once in a replica set but was subsequently removed\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" - alert: MongodbNumberCursorsOpen(dcu) expr: 'mongodb_metrics_cursor_open{state="total_open"} > 10000' for: 2m labels: severity: warning annotations: summary: MongoDB number cursors open (DCU) (instance {{ $labels.instance }}) description: "Too many cursors opened by MongoDB for clients (> 10k)\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" - alert: MongodbCursorsTimeouts(dcu) expr: 'increase(mongodb_metrics_cursor_timed_out_total[1m]) > 100' for: 2m labels: severity: warning annotations: summary: MongoDB cursors timeouts (DCU) (instance {{ $labels.instance }}) description: "Too many cursors are timing out ({{ $value }} in the last minute)\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" - alert: MongodbTooManyConnections(dcu) expr: 'mongodb_connections{state="current"} / (mongodb_connections{state="current"} + mongodb_connections{state="available"}) * 100 > 80 and (mongodb_connections{state="current"} + mongodb_connections{state="available"}) > 0' for: 2m labels: severity: warning annotations: summary: MongoDB too many connections (DCU) (instance {{ $labels.instance }}) description: "Too many connections (> 80%)\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"