datadog_monitor – Manages Datadog monitors¶
New in version 2.0.
Synopsis¶
Manages monitors within Datadog.
Options as described on https://docs.datadoghq.com/api/.
Requirements¶
The below requirements are needed on the host that executes this module.
datadog
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
api_key
string
/ required
|
Your Datadog API key.
|
|
app_key
string
/ required
|
Your Datadog app key.
|
|
escalation_message
string
|
A message to include with a re-notification. Supports the '@username' notification we allow elsewhere.
Not applicable if renotify_interval=None.
|
|
evaluation_delay
string
added in 2.7 |
Time to delay evaluation (in seconds).
Effective for sparse values.
|
|
id
string
added in 2.3 |
The ID of the alert.
If set, will be used instead of the name to locate the alert.
|
|
locked
boolean
added in 2.2 |
|
Whether changes to this monitor should be restricted to the creator or admins.
|
message
string
|
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.
Monitor message template variables can be accessed by using double square brackets, i.e '[[' and ']]'.
|
|
name
string
/ required
|
The name of the alert.
|
|
new_host_delay
string
added in 2.4 |
A positive integer representing the number of seconds to wait before evaluating the monitor for new hosts.
This gives the host time to fully initialize.
|
|
no_data_timeframe
string
|
Default: "2x timeframe for metric, 2 minutes for service"
|
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.
|
notify_audit
boolean
|
|
Whether tagged users will be notified on changes to this monitor.
|
notify_no_data
boolean
|
|
Whether this monitor will notify when data stops reporting.
|
query
string
|
The monitor query to notify on.
Syntax varies depending on what type of monitor you are creating.
|
|
renotify_interval
string
|
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 is not resolved.
|
|
require_full_window
boolean
added in 2.3 |
|
Whether this monitor needs a full window of data before it gets evaluated.
We highly recommend you set this to False for sparse metrics, otherwise some evaluations will be skipped.
|
silenced
-
|
Default: ""
|
Dictionary of scopes to silence, with timestamps or None.
Each scope will be muted until the given POSIX timestamp or forever if the value is None.
|
state
string
/ required
|
|
The designated state of the monitor.
|
tags
list
added in 2.2 |
A list of tags to associate with your monitor when creating or updating.
This can help you categorize and filter monitors.
|
|
thresholds
-
|
Default: {"critical": 1, "ok": 1, "warning": 1}
|
A dictionary of thresholds by status.
Only available for service checks and metric alerts.
Because each of them can have multiple thresholds, we do not define them directly in the query.
|
timeout_h
string
|
The number of hours of the monitor not reporting data before it will automatically resolve from a triggered state.
|
|
type
string
|
|
The type of the monitor.
|
Examples¶
# Create a metric monitor
- datadog_monitor:
type: "metric alert"
name: "Test monitor"
state: "present"
query: "datadog.agent.up.over('host:host1').last(2).count_by_status()"
message: "Host [[host.name]] with IP [[host.ip]] is failing to report to datadog."
api_key: "9775a026f1ca7d1c6c5af9d94d9595a4"
app_key: "87ce4a24b5553d2e482ea8a8500e71b8ad4554ff"
# Deletes a monitor
- datadog_monitor:
name: "Test monitor"
state: "absent"
api_key: "9775a026f1ca7d1c6c5af9d94d9595a4"
app_key: "87ce4a24b5553d2e482ea8a8500e71b8ad4554ff"
# Mutes a monitor
- datadog_monitor:
name: "Test monitor"
state: "mute"
silenced: '{"*":None}'
api_key: "9775a026f1ca7d1c6c5af9d94d9595a4"
app_key: "87ce4a24b5553d2e482ea8a8500e71b8ad4554ff"
# Unmutes a monitor
- datadog_monitor:
name: "Test monitor"
state: "unmute"
api_key: "9775a026f1ca7d1c6c5af9d94d9595a4"
app_key: "87ce4a24b5553d2e482ea8a8500e71b8ad4554ff"
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]