* provider/datadog #9375: Refactor tags to a list instead of a map. Tags are allowed to be but not restricted to, key value pairs (ie: foo:bar) but are esssentially strings. This changes allows using, and mixing of tags with form "foo" and "foo:bar". It also allows using duplicate keys like "foo:bar" and "foo:baz". * provider/datadog update import test.
4.7 KiB
layout, page_title, sidebar_current, description
| 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", "baz"]
}
Argument Reference
The following arguments are supported:
-
type- (Required) The type of the monitor, chosen from:metric alertservice checkevent alertquery 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. -
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 API -
silenced(Optional) Each scope will be muted until the given POSIX timestamp or forever if the value is 0. To 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