4.7 KiB
layout | page_title | sidebar_current | description |
---|---|---|---|
datadog | Datadog: datadog_monitor | docs-datadog-resource-monitor | Provides a Datadog monitor resource. This can be used to create and manage monitors. |
datadog_monitor
Provides a Datadog monitor resource. This can be used to create and manage Datadog monitors.
Example Usage
# Create a new Datadog monitor
resource "datadog_monitor" "foo" {
name = "Name for monitor foo"
type = "metric alert"
message = "Monitor triggered. Notify: @hipchat-channel"
escalation_message = "Escalation message @pagerduty"
query = "avg(last_1h):avg:aws.ec2.cpu{environment:foo,host:foo} by {host} > 2"
thresholds {
ok = 0
warning = 1
critical = 2
}
notify_no_data = false
renotify_interval = 60
notify_audit = false
timeout_h = 60
include_tags = true
silenced {
"*" = 0
}
tags {
"foo" = "bar"
"bar" = "baz"
}
}
Argument Reference
The following arguments are supported:
-
type
- (Required) The type of the monitor, chosen from:metric alert
service check
event alert
query alert
-
name
- (Required) Name of Datadog monitor -
query
- (Required) The monitor query to notify on with syntax varying depending on what type of monitor you are creating. See API Reference for options. -
message
- (Required) A message to include with notifications for this monitor. Email notifications can be sent to specific users by using the same '@username' notation as events. -
escalation_message
- (Optional) A message to include with a re-notification. Supports the '@username' notification allowed elsewhere. -
thresholds
- (Optional)- Metric alerts:
A dictionary of thresholds by threshold type. Currently we have two threshold types for metric alerts: critical and warning. Critical is defined in the query, but can also be specified in this option. Warning threshold can only be specified using the thresholds option.
Example usage:
thresholds { critical = 90 warning = 80 }
- Service checks:
A dictionary of thresholds by status. Because service checks can have multiple thresholds, we don't define them directly in the query.
Default values:
thresholds { ok = 1 critical = 1 warning = 1 }
- Metric alerts:
A dictionary of thresholds by threshold type. Currently we have two threshold types for metric alerts: critical and warning. Critical is defined in the query, but can also be specified in this option. Warning threshold can only be specified using the thresholds option.
Example usage:
-
notify_no_data
(Optional) A boolean indicating whether this monitor will notify when data stops reporting. Defaults to true. -
no_data_timeframe
(Optional) The number of minutes before a monitor will notify when data stops reporting. Must be at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks. Default: 2x timeframe for metric alerts, 2 minutes for service checks. -
renotify_interval
(Optional) The number of minutes after the last notification before a monitor will re-notify on the current status. It will only re-notify if it's not resolved. -
notify_audit
(Optional) A boolean indicating whether tagged users will be notified on changes to this monitor. Defaults to false. -
timeout_h
(Optional) The number of hours of the monitor not reporting data before it will automatically resolve from a triggered state. Defaults to false. -
include_tags
(Optional) A boolean indicating whether notifications from this monitor will automatically insert its triggering tags into the title. Defaults to true. -
silenced
(Optional) Each scope will be muted until the given POSIX timestamp or forever if the value is 0. -
require_full_window
(Optional) A boolean indicating whether this monitor needs a full window of data before it's evaluated. We highly recommend you set this to False for sparse metrics, otherwise some evaluations will be skipped. Default: True for "on average", "at all times" and "in total" aggregation. False otherwise. -
locked
(Optional) A boolean indicating whether changes to to this monitor should be restricted to the creator or admins. Defaults to False. -
tags
(Optional) A list of tags to associate with your monitor. This can help you categorize and filter monitors in the manage monitors page of the UI. Note: it's not currently possible to filter by these tags when querying via the APITo mute the alert completely:
silenced { '*' = 0 }
To mute role:db for a short time:
silenced { 'role:db' = 1412798116 }
Attributes Reference
The following attributes are exported:
id
- ID of the Datadog monitor
Import
Monitors can be imported using their numeric ID, e.g.
$ terraform import datadog_monitor.bytes_received_localhost 2081