DATABASES MONGODB DataDog monitors
How to use this module
module "datadog-monitors-databases-mongodb" {
source = "git::ssh://git@bitbucket.org/morea/terraform.feature.datadog.git//databases/mongodb?ref={revision}"
environment = "${var.environment}"
message = "${module.datadog-message-alerting.alerting-message}"
}
Purpose
Creates DataDog monitors with the following checks:
- Member down in the replica set
Inputs
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| delay | Delay in seconds for the metric evaluation | string | 15 |
no |
| environment | Architecture Environment | string | - | yes |
| filter_tags_custom | Tags used for custom filtering when filter_tags_use_defaults is false | string | * |
no |
| filter_tags_use_defaults | Use default filter tags convention | string | true |
no |
| message | Message sent when an alert is triggered | string | - | yes |
| mongodb_replicaset_message | Custom message for Mongodb replicaset monitor | string | `` | no |
| mongodb_replicaset_silenced | Groups to mute for Mongodb replicaset monitor | map | <map> |
no |
| mongodb_replicaset_time_aggregator | Monitor aggregator for Mongodb replicaset [available values: min, max or avg] | string | max |
no |
| mongodb_replicaset_timeframe | Monitor timeframe for Mongodb replicaset [available values: last_#m (1, 5, 10, 15, or 30), last_#h (1, 2, or 4), or last_1d] |
string | last_5m |
no |
Outputs
| Name | Description |
|---|---|
| mongodb_replicaset_state_id | id for monitor mongodb_replicaset_state |
Related documentation
DataDog documentation: https://docs.datadoghq.com/integrations/mongo/
Custom settings
Prepare your ReplicaSet
Add a user to your ReplicaSet (on the primary instance)
use admin
db.auth("admin", "admin-password") ## This is optional is you don't have any admin password
db.createUser({"user":"datadog", "pwd": "{{PASSWORD}}", "roles" : [ {role: 'read', db: 'admin' }, {role: 'clusterMonitor', db: 'admin'}, {role: 'read', db: 'local' }]})
Configure your Datadog agent
Add this file conf.d/mongo.yaml
init_config:
instances:
- server: mongodb://datadog:password@[MONGO_URI]
tags:
- mytag1
- mytag2
- server: mongodb://datadog:password@[MONGO_URI]
tags:
- mytag1
- mytag2
Monitor ReplicaSet Health
Name: [environment] Replica Set heath for {{ replset_name }}
This monitor will check the health of your ReplicaSet
Metrics are :
1: The replicaSet is OK
0: The replicaSet is KO
This monitor will trigger an alert for each ReplicaSet.