Monitors allow you to watch a metric or check that you care about, notifying your team when some defined threshold is exceeded. Refer to the Creating Monitors page for more information on creating monitors.
GET https://api.datadoghq.eu/api/v1/monitor/can_deletehttps://api.ddog-gov.com/api/v1/monitor/can_deletehttps://api.datadoghq.com/api/v1/monitor/can_deletehttps://api.us3.datadoghq.com/api/v1/monitor/can_delete
Check if the given monitors can be deleted.
Name
Type
Description
monitor_ids [required]
array
The IDs of the monitor to check.
OK
Response of monitor IDs that can or can’t be safely deleted.
Field
Type
Description
data [required]
object
Wrapper object with the list of monitor IDs.
ok
[integer]
An array of of Monitor IDs that can be safely deleted.
errors
object
A mapping of Monitor ID to strings denoting where it's used.
<any-key>
[string]
Strings denoting where a monitor is used.
{
"data": {
"ok": []
},
"errors": {
"<any-key>": []
}
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
Deletion conflict error
Response of monitor IDs that can or can’t be safely deleted.
Field
Type
Description
data [required]
object
Wrapper object with the list of monitor IDs.
ok
[integer]
An array of of Monitor IDs that can be safely deleted.
errors
object
A mapping of Monitor ID to strings denoting where it's used.
<any-key>
[string]
Strings denoting where a monitor is used.
{
"data": {
"ok": []
},
"errors": {
"<any-key>": []
}
}
# Required query arguments
export monitor_ids="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/monitor/can_delete?monitor_ids=${monitor_ids}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
monitorIds := []int64{int64(123)} // []int64 | The IDs of the monitor to check.
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
resp, r, err := apiClient.MonitorsApi.CheckCanDeleteMonitor(ctx).MonitorIds(monitorIds).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `MonitorsApi.CheckCanDeleteMonitor``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `CheckCanDeleteMonitor`: CheckCanDeleteMonitorResponse
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from MonitorsApi.CheckCanDeleteMonitor:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
go run "main.go"
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.MonitorsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
List<Long> monitorIds = Arrays.asList(); // List<Long> | The IDs of the monitor to check.
try {
CheckCanDeleteMonitorResponse result = apiInstance.checkCanDeleteMonitor(monitorIds);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#checkCanDeleteMonitor");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
java "Example.java"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
# Check if you can delete the given monitors.
api.Monitor.can_delete(monitor_ids=[56838, 771060, 1000376])
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python "example.py"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import monitors_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = monitors_api.MonitorsApi(api_client)
monitor_ids = [
1,
] # [int] | The IDs of the monitor to check.
# example passing only required values which don't have defaults set
try:
# Check if a monitor can be deleted
api_response = api_instance.check_can_delete_monitor(monitor_ids)
pprint(api_response)
except ApiException as e:
print("Exception when calling MonitorsApi->check_can_delete_monitor: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python3 "example.py"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
# Check if you can delete the given monitors.
dog.can_delete_monitors([56838, 771060, 1000376])
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
require 'datadog_api_client'
api_instance = DatadogAPIClient::V1::MonitorsAPI.new
monitor_ids = [3.56] # Array<Integer> | The IDs of the monitor to check.
begin
# Check if a monitor can be deleted
result = api_instance.check_can_delete_monitor(monitor_ids)
p result
rescue DatadogAPIClient::V1::APIError => e
puts "Error when calling MonitorsAPI->check_can_delete_monitor: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
POST https://api.datadoghq.eu/api/v1/monitorhttps://api.ddog-gov.com/api/v1/monitorhttps://api.datadoghq.com/api/v1/monitorhttps://api.us3.datadoghq.com/api/v1/monitor
Create a monitor using the specified options.
The type of monitor chosen from:
query alert
query alert
or trace-analytics alert
composite
service check
event alert
query alert
service check
query alert
or service check
process alert
log alert
metric alert
service check
query alert
service check
rum alert
slo alert
event alert
event-v2 alert
Metric Alert Query
Example: time_aggr(time_window):space_aggr:metric{tags} [by {key}] operator #
time_aggr
: avg, sum, max, min, change, or pct_changetime_window
: last_#m
(with #
between 1 and 2880 depending on the monitor type) or last_#h
(with #
between 1 and 48 depending on the monitor type), or last_1d
space_aggr
: avg, sum, min, or maxtags
: one or more tags (comma-separated), or *key
: a ‘key’ in key:value tag syntax; defines a separate alert for each tag in the group (multi-alert)operator
: <, <=, >, >=, ==, or !=#
: an integer or decimal number used to set the thresholdIf you are using the _change_
or _pct_change_
time aggregator, instead use change_aggr(time_aggr(time_window), timeshift):space_aggr:metric{tags} [by {key}] operator #
with:
change_aggr
change, pct_changetime_aggr
avg, sum, max, min Learn moretime_window
last_#m (between 1 and 2880 depending on the monitor type), last_#h (between 1 and 48 depending on the monitor type), or last_#d (1 or 2)timeshift
#m_ago (5, 10, 15, or 30), #h_ago (1, 2, or 4), or 1d_agoUse this to create an outlier monitor using the following query:
avg(last_30m):outliers(avg:system.cpu.user{role:es-events-data} by {host}, 'dbscan', 7) > 0
Service Check Query
Example: "check".over(tags).last(count).count_by_status()
check
name of the check, e.g. datadog.agent.up
tags
one or more quoted tags (comma-separated), or “*”. e.g.: .over("env:prod", "role:db")
count
must be at greater than or equal to your max threshold (defined in the options
). It is limited to 100.
For example, if you’ve specified to notify on 1 critical, 3 ok, and 2 warn statuses, count
should be 3.Event Alert Query
Example: events('sources:nagios status:error,warning priority:normal tags: "string query"').rollup("count").last("1h")"
event
, the event query string:string_query
free text query to match against event title and text.sources
event sources (comma-separated).status
event statuses (comma-separated). Valid options: error, warn, and info.priority
event priorities (comma-separated). Valid options: low, normal, all.host
event reporting host (comma-separated).tags
event tags (comma-separated).excluded_tags
excluded event tags (comma-separated).rollup
the stats roll-up method. count
is the only supported method now.last
the timeframe to roll up the counts. Examples: 45m, 4h. Supported timeframes: m, h and d. This value should not exceed 48 hours.NOTE Only available on US1 and EU.
Event V2 Alert Query
Example: events(query).rollup(rollup_method[, measure]).last(time_window) operator #
query
The search query - following the Log search syntax.rollup_method
The stats roll-up method - supports count
, avg
and cardinality
.measure
For avg
and cardinality rollup_method
- specify the measure or the facet name you want to use.time_window
#m (5, 10, 15, or 30), #h (1, 2, or 4, 24).operator
<
, <=
, >
, >=
, ==
, or !=
.#
an integer or decimal number used to set the threshold.NOTE Only available on US1-FED, US3, and in closed beta on EU and US1.
Process Alert Query
Example: processes(search).over(tags).rollup('count').last(timeframe) operator #
search
free text search string for querying processes.
Matching processes match results on the Live Processes page.tags
one or more tags (comma-separated)timeframe
the timeframe to roll up the counts. Examples: 10m, 4h. Supported timeframes: s, m, h and doperator
<, <=, >, >=, ==, or !=#
an integer or decimal number used to set the thresholdLogs Alert Query
Example: logs(query).index(index_name).rollup(rollup_method[, measure]).last(time_window) operator #
query
The search query - following the Log search syntax.index_name
For multi-index organizations, the log index in which the request is performed.rollup_method
The stats roll-up method - supports count
, avg
and cardinality
.measure
For avg
and cardinality rollup_method
- specify the measure or the facet name you want to use.time_window
#m (between 1 and 2880), #h (between 1 and 48)operator
<
, <=
, >
, >=
, ==
, or !=
.#
an integer or decimal number used to set the threshold.Composite Query
Example: 12345 && 67890
, where 12345
and 67890
are the IDs of non-composite monitors
name
[required, default = dynamic, based on query]: The name of the alert.message
[required, default = dynamic, based on query]: 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.tags
[optional, default = empty list]: A list of tags to associate with your monitor.
When getting all monitor details via the API, use the monitor_tags
argument to filter results by these tags.
It is only available via the API and isn’t visible or editable in the Datadog UI.SLO Alert Query
Example: error_budget("slo_id").over("time_window") operator #
slo_id
: The alphanumeric SLO ID of the SLO you are configuring the alert for.time_window
: The time window of the SLO target you wish to alert on. Valid options: 7d
, 30d
, 90d
.operator
: >=
or >
Create a monitor request body.
Field
Type
Description
created
date-time
Timestamp of the monitor creation.
creator
object
Object describing the creator of the shared element.
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
deleted
date-time
Whether or not the monitor is deleted. (Always null
)
id
int64
ID of this monitor.
message
string
A message to include with notifications for this monitor.
modified
date-time
Last timestamp when the monitor was edited.
multi
boolean
Whether or not the monitor is broken down on different groups.
name
string
The monitor name.
options
object
List of options associated with your monitor.
aggregation
object
Type of aggregation performed in the monitor query.
group_by
string
Group to break down the monitor on.
metric
string
Metric name used in the monitor.
type
string
Metric type used in the monitor.
device_ids
[string]
DEPRECATED: IDs of the device the Synthetics monitor is running on.
enable_logs_sample
boolean
Whether or not to send a log sample when the log monitor triggers.
escalation_message
string
A message to include with a re-notification. Supports the @username
notification we allow elsewhere.
Not applicable if renotify_interval
is None
.
evaluation_delay
int64
Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300
(5min),
the timeframe is set to last_5m
and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
groupby_simple_monitor
boolean
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
include_tags
boolean
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
Examples
True
, [Triggered on {host:h1}] Monitor Title
False
, [Triggered] Monitor Title
locked
boolean
Whether or not the monitor is locked (only editable by creator and admins).
min_failure_duration
int64
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
min_location_failed
int64
The minimum number of locations in failure at the same time during
at least one moment in the min_failure_duration
period (min_location_failed
and min_failure_duration
are part of the advanced alerting rules - integer, >= 1).
new_host_delay
int64
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results. Should be a non negative integer.
no_data_timeframe
int64
The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe is used for metric alerts, and 24 hours is used for service checks.
notify_audit
boolean
A Boolean indicating whether tagged users is notified on changes to this monitor.
notify_no_data
boolean
A Boolean indicating whether this monitor notifies when data stops reporting.
renotify_interval
int64
The number of minutes after the last notification before a monitor re-notifies on the current status. It only re-notifies if it’s not resolved.
require_full_window
boolean
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 are skipped. Default is false.
silenced
object
DEPRECATED: Information about the downtime applied to the monitor.
<any-key>
int64
ID of the downtime applied to the monitor.
synthetics_check_id
string
DEPRECATED: ID of the corresponding Synthetic check.
threshold_windows
object
Alerting time window options.
recovery_window
string
Describes how long an anomalous metric must be normal before the alert recovers.
trigger_window
string
Describes how long a metric must be anomalous before an alert triggers.
thresholds
object
List of the different monitor threshold available.
critical
double
The monitor CRITICAL
threshold.
critical_recovery
double
The monitor CRITICAL
recovery threshold.
ok
double
The monitor OK
threshold.
unknown
double
The monitor UNKNOWN threshold.
warning
double
The monitor WARNING
threshold.
warning_recovery
double
The monitor WARNING
recovery threshold.
timeout_h
int64
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
overall_state
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
priority
int64
Integer from 1 (high) to 5 (low) indicating alert severity.
query
string
The monitor query.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API. Cannot be used with locked
option.
state
object
Wrapper object with the different monitor states.
groups
object
Dictionary where the keys are groups (comma separated lists of tags) and the values are the list of groups your monitor is broken down on.
<any-key>
object
Monitor state for a single group.
last_nodata_ts
int64
Latest timestamp the monitor was in NO_DATA state.
last_notified_ts
int64
Latest timestamp of the notification sent for this monitor group.
last_resolved_ts
int64
Latest timestamp the monitor group was resolved.
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
name
string
The name of the monitor.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
tags
[string]
Tags associated to your monitor.
type
enum
The type of the monitor. For more information about type
, see the monitor options docs.
Allowed enum values: composite,event alert,log alert,metric alert,process alert,query alert,rum alert,service check,synthetics alert,trace-analytics alert,slo alert,event-v2 alert
{
"message": "string",
"name": "string",
"options": {
"enable_logs_sample": false,
"escalation_message": "string",
"evaluation_delay": "integer",
"groupby_simple_monitor": false,
"include_tags": false,
"locked": false,
"min_failure_duration": "integer",
"min_location_failed": "integer",
"new_host_delay": "integer",
"no_data_timeframe": "integer",
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": "integer",
"require_full_window": false,
"silenced": {
"<any-key>": "integer"
},
"synthetics_check_id": "string",
"threshold_windows": {
"recovery_window": "string",
"trigger_window": "string"
},
"thresholds": {
"critical": "number",
"critical_recovery": "number",
"ok": "number",
"unknown": "number",
"warning": "number",
"warning_recovery": "number"
},
"timeout_h": "integer"
},
"priority": "integer",
"query": "string",
"restricted_roles": [],
"tags": [],
"type": "string"
}
OK
Object describing a monitor.
Field
Type
Description
created
date-time
Timestamp of the monitor creation.
creator
object
Object describing the creator of the shared element.
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
deleted
date-time
Whether or not the monitor is deleted. (Always null
)
id
int64
ID of this monitor.
message
string
A message to include with notifications for this monitor.
modified
date-time
Last timestamp when the monitor was edited.
multi
boolean
Whether or not the monitor is broken down on different groups.
name
string
The monitor name.
options
object
List of options associated with your monitor.
aggregation
object
Type of aggregation performed in the monitor query.
group_by
string
Group to break down the monitor on.
metric
string
Metric name used in the monitor.
type
string
Metric type used in the monitor.
device_ids
[string]
DEPRECATED: IDs of the device the Synthetics monitor is running on.
enable_logs_sample
boolean
Whether or not to send a log sample when the log monitor triggers.
escalation_message
string
A message to include with a re-notification. Supports the @username
notification we allow elsewhere.
Not applicable if renotify_interval
is None
.
evaluation_delay
int64
Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300
(5min),
the timeframe is set to last_5m
and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
groupby_simple_monitor
boolean
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
include_tags
boolean
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
Examples
True
, [Triggered on {host:h1}] Monitor Title
False
, [Triggered] Monitor Title
locked
boolean
Whether or not the monitor is locked (only editable by creator and admins).
min_failure_duration
int64
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
min_location_failed
int64
The minimum number of locations in failure at the same time during
at least one moment in the min_failure_duration
period (min_location_failed
and min_failure_duration
are part of the advanced alerting rules - integer, >= 1).
new_host_delay
int64
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results. Should be a non negative integer.
no_data_timeframe
int64
The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe is used for metric alerts, and 24 hours is used for service checks.
notify_audit
boolean
A Boolean indicating whether tagged users is notified on changes to this monitor.
notify_no_data
boolean
A Boolean indicating whether this monitor notifies when data stops reporting.
renotify_interval
int64
The number of minutes after the last notification before a monitor re-notifies on the current status. It only re-notifies if it’s not resolved.
require_full_window
boolean
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 are skipped. Default is false.
silenced
object
DEPRECATED: Information about the downtime applied to the monitor.
<any-key>
int64
ID of the downtime applied to the monitor.
synthetics_check_id
string
DEPRECATED: ID of the corresponding Synthetic check.
threshold_windows
object
Alerting time window options.
recovery_window
string
Describes how long an anomalous metric must be normal before the alert recovers.
trigger_window
string
Describes how long a metric must be anomalous before an alert triggers.
thresholds
object
List of the different monitor threshold available.
critical
double
The monitor CRITICAL
threshold.
critical_recovery
double
The monitor CRITICAL
recovery threshold.
ok
double
The monitor OK
threshold.
unknown
double
The monitor UNKNOWN threshold.
warning
double
The monitor WARNING
threshold.
warning_recovery
double
The monitor WARNING
recovery threshold.
timeout_h
int64
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
overall_state
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
priority
int64
Integer from 1 (high) to 5 (low) indicating alert severity.
query
string
The monitor query.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API. Cannot be used with locked
option.
state
object
Wrapper object with the different monitor states.
groups
object
Dictionary where the keys are groups (comma separated lists of tags) and the values are the list of groups your monitor is broken down on.
<any-key>
object
Monitor state for a single group.
last_nodata_ts
int64
Latest timestamp the monitor was in NO_DATA state.
last_notified_ts
int64
Latest timestamp of the notification sent for this monitor group.
last_resolved_ts
int64
Latest timestamp the monitor group was resolved.
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
name
string
The name of the monitor.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
tags
[string]
Tags associated to your monitor.
type
enum
The type of the monitor. For more information about type
, see the monitor options docs.
Allowed enum values: composite,event alert,log alert,metric alert,process alert,query alert,rum alert,service check,synthetics alert,trace-analytics alert,slo alert,event-v2 alert
{
"created": "2019-09-19T10:00:00.000Z",
"creator": {
"email": "string",
"handle": "string",
"name": "string"
},
"deleted": "2019-09-19T10:00:00.000Z",
"id": "integer",
"message": "string",
"modified": "2019-09-19T10:00:00.000Z",
"multi": false,
"name": "string",
"options": {
"aggregation": {
"group_by": "host",
"metric": "metrics.name",
"type": "count"
},
"device_ids": [],
"enable_logs_sample": false,
"escalation_message": "string",
"evaluation_delay": "integer",
"groupby_simple_monitor": false,
"include_tags": false,
"locked": false,
"min_failure_duration": "integer",
"min_location_failed": "integer",
"new_host_delay": "integer",
"no_data_timeframe": "integer",
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": "integer",
"require_full_window": false,
"silenced": {
"<any-key>": "integer"
},
"synthetics_check_id": "string",
"threshold_windows": {
"recovery_window": "string",
"trigger_window": "string"
},
"thresholds": {
"critical": "number",
"critical_recovery": "number",
"ok": "number",
"unknown": "number",
"warning": "number",
"warning_recovery": "number"
},
"timeout_h": "integer"
},
"overall_state": "string",
"priority": "integer",
"query": "string",
"restricted_roles": [],
"state": {
"groups": {
"<any-key>": {
"last_nodata_ts": "integer",
"last_notified_ts": "integer",
"last_resolved_ts": "integer",
"last_triggered_ts": "integer",
"name": "string",
"status": "string"
}
}
},
"tags": [],
"type": "string"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/monitor" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{}
EOF
package main
import (
"context"
"encoding/json"
"fmt"
"os"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
body := *datadog.NewMonitor() // Monitor | Create a monitor request body.
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
resp, r, err := apiClient.MonitorsApi.CreateMonitor(ctx).Body(body).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `MonitorsApi.CreateMonitor``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `CreateMonitor`: Monitor
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from MonitorsApi.CreateMonitor:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
go run "main.go"
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.MonitorsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
Monitor body = new Monitor(); // Monitor | Create a monitor request body.
try {
Monitor result = apiInstance.createMonitor(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#createMonitor");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
java "Example.java"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
# Create a new monitor
monitor_options = {
"notify_no_data": True,
"no_data_timeframe": 20
}
tags = ["app:webserver", "frontend"]
api.Monitor.create(
type="metric alert",
query="avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
name="Bytes received on host0",
message="We may need to add web hosts if this is consistently high.",
tags=tags,
options=monitor_options
)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python "example.py"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import monitors_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = monitors_api.MonitorsApi(api_client)
body = Monitor(
created=dateutil_parser('1970-01-01T00:00:00.00Z'),
creator=Creator(
email="email_example",
handle="handle_example",
name="name_example",
),
deleted=dateutil_parser('1970-01-01T00:00:00.00Z'),
id=1,
message="message_example",
modified=dateutil_parser('1970-01-01T00:00:00.00Z'),
multi=True,
name="name_example",
options=MonitorOptions(
aggregation=MonitorOptionsAggregation(
group_by="host",
metric="metrics.name",
type="count",
),
device_ids=[
MonitorDeviceID("laptop_large"),
],
enable_logs_sample=True,
escalation_message="none",
evaluation_delay=1,
groupby_simple_monitor=True,
include_tags=True,
locked=True,
min_failure_duration=0,
min_location_failed=1,
new_host_delay=300,
no_data_timeframe=1,
notify_audit=False,
notify_no_data=False,
renotify_interval=1,
require_full_window=True,
silenced={
"key": 1,
},
synthetics_check_id="synthetics_check_id_example",
threshold_windows=MonitorThresholdWindowOptions(
recovery_window="recovery_window_example",
trigger_window="trigger_window_example",
),
thresholds=MonitorThresholds(
critical=3.14,
critical_recovery=3.14,
ok=3.14,
unknown=3.14,
warning=3.14,
warning_recovery=3.14,
),
timeout_h=1,
),
overall_state=MonitorOverallStates("Alert"),
priority=1,
query="query_example",
restricted_roles=[
"restricted_roles_example",
],
state=MonitorState(
groups={
"key": MonitorStateGroup(
last_nodata_ts=1,
last_notified_ts=1,
last_resolved_ts=1,
last_triggered_ts=1,
name="name_example",
status=MonitorOverallStates("Alert"),
),
},
),
tags=[
"tags_example",
],
type=MonitorType("composite"),
) # Monitor | Create a monitor request body.
# example passing only required values which don't have defaults set
try:
# Create a monitor
api_response = api_instance.create_monitor(body)
pprint(api_response)
except ApiException as e:
print("Exception when calling MonitorsApi->create_monitor: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python3 "example.py"
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
# Create a new monitor
options = {
'notify_no_data' => true,
'no_data_timeframe' => 20
}
tags = ['app:webserver', 'frontend']
dog.monitor(
'metric alert',
'avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100',
name: 'Bytes received on host0',
message: 'We may need to add web hosts if this is consistently high.',
tags: tags,
options: options
)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
require 'datadog_api_client'
api_instance = DatadogAPIClient::V1::MonitorsAPI.new
body = DatadogAPIClient::V1::Monitor.new # Monitor | Create a monitor request body.
begin
# Create a monitor
result = api_instance.create_monitor(body)
p result
rescue DatadogAPIClient::V1::APIError => e
puts "Error when calling MonitorsAPI->create_monitor: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
DELETE https://api.datadoghq.eu/api/v1/monitor/{monitor_id}https://api.ddog-gov.com/api/v1/monitor/{monitor_id}https://api.datadoghq.com/api/v1/monitor/{monitor_id}https://api.us3.datadoghq.com/api/v1/monitor/{monitor_id}
Delete the specified monitor
Name
Type
Description
monitor_id [required]
integer
The ID of the monitor.
Name
Type
Description
force
string
Delete the monitor even if it’s referenced by other resources (e.g. SLO, composite monitor).
OK
Response from the delete monitor call.
{
"deleted_monitor_id": "integer"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication error
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
Item not found error
Error response object.
{
"errors": [
"Bad Request"
]
}
# Path parameters
export monitor_id="CHANGE_ME"
# Curl command
curl -X DELETE "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/monitor/${monitor_id}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
monitorId := int64(789) // int64 | The ID of the monitor.
force := "force_example" // string | Delete the monitor even if it's referenced by other resources (e.g. SLO, composite monitor). (optional)
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
resp, r, err := apiClient.MonitorsApi.DeleteMonitor(ctx, monitorId).Force(force).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `MonitorsApi.DeleteMonitor``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `DeleteMonitor`: DeletedMonitor
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from MonitorsApi.DeleteMonitor:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
go run "main.go"
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.MonitorsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
Long monitorId = 56L; // Long | The ID of the monitor.
String force = "force_example"; // String | Delete the monitor even if it's referenced by other resources (e.g. SLO, composite monitor).
try {
DeletedMonitor result = apiInstance.deleteMonitor(monitorId, new MonitorsApi.DeleteMonitorOptionalParameters()
.force(force));
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#deleteMonitor");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
java "Example.java"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
# Delete a monitor
api.Monitor.delete(2081)
# Force delete a monitor to override warnings
api.Monitor.delete(2081, force=True)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python "example.py"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import monitors_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = monitors_api.MonitorsApi(api_client)
monitor_id = 1 # int | The ID of the monitor.
force = "force_example" # str | Delete the monitor even if it's referenced by other resources (e.g. SLO, composite monitor). (optional)
# example passing only required values which don't have defaults set
try:
# Delete a monitor
api_response = api_instance.delete_monitor(monitor_id)
pprint(api_response)
except ApiException as e:
print("Exception when calling MonitorsApi->delete_monitor: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Delete a monitor
api_response = api_instance.delete_monitor(monitor_id, force=force)
pprint(api_response)
except ApiException as e:
print("Exception when calling MonitorsApi->delete_monitor: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python3 "example.py"
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
# Delete a monitor
dog.delete_monitor(62_625)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
require 'datadog_api_client'
api_instance = DatadogAPIClient::V1::MonitorsAPI.new
monitor_id = 789 # Integer | The ID of the monitor.
opts = {
force: 'force_example' # String | Delete the monitor even if it's referenced by other resources (e.g. SLO, composite monitor).
}
begin
# Delete a monitor
result = api_instance.delete_monitor(monitor_id, opts)
p result
rescue DatadogAPIClient::V1::APIError => e
puts "Error when calling MonitorsAPI->delete_monitor: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
PUT https://api.datadoghq.eu/api/v1/monitor/{monitor_id}https://api.ddog-gov.com/api/v1/monitor/{monitor_id}https://api.datadoghq.com/api/v1/monitor/{monitor_id}https://api.us3.datadoghq.com/api/v1/monitor/{monitor_id}
Edit the specified monitor.
Name
Type
Description
monitor_id [required]
integer
The ID of the monitor.
Edit a monitor request body.
Field
Type
Description
created
date-time
Timestamp of the monitor creation.
creator
object
Object describing the creator of the shared element.
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
deleted
date-time
Whether or not the monitor is deleted. (Always null
)
id
int64
ID of this monitor.
message
string
A message to include with notifications for this monitor.
modified
date-time
Last timestamp when the monitor was edited.
multi
boolean
Whether or not the monitor is broken down on different groups.
name
string
The monitor name.
options
object
List of options associated with your monitor.
aggregation
object
Type of aggregation performed in the monitor query.
group_by
string
Group to break down the monitor on.
metric
string
Metric name used in the monitor.
type
string
Metric type used in the monitor.
device_ids
[string]
DEPRECATED: IDs of the device the Synthetics monitor is running on.
enable_logs_sample
boolean
Whether or not to send a log sample when the log monitor triggers.
escalation_message
string
A message to include with a re-notification. Supports the @username
notification we allow elsewhere.
Not applicable if renotify_interval
is None
.
evaluation_delay
int64
Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300
(5min),
the timeframe is set to last_5m
and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
groupby_simple_monitor
boolean
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
include_tags
boolean
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
Examples
True
, [Triggered on {host:h1}] Monitor Title
False
, [Triggered] Monitor Title
locked
boolean
Whether or not the monitor is locked (only editable by creator and admins).
min_failure_duration
int64
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
min_location_failed
int64
The minimum number of locations in failure at the same time during
at least one moment in the min_failure_duration
period (min_location_failed
and min_failure_duration
are part of the advanced alerting rules - integer, >= 1).
new_host_delay
int64
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results. Should be a non negative integer.
no_data_timeframe
int64
The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe is used for metric alerts, and 24 hours is used for service checks.
notify_audit
boolean
A Boolean indicating whether tagged users is notified on changes to this monitor.
notify_no_data
boolean
A Boolean indicating whether this monitor notifies when data stops reporting.
renotify_interval
int64
The number of minutes after the last notification before a monitor re-notifies on the current status. It only re-notifies if it’s not resolved.
require_full_window
boolean
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 are skipped. Default is false.
silenced
object
DEPRECATED: Information about the downtime applied to the monitor.
<any-key>
int64
ID of the downtime applied to the monitor.
synthetics_check_id
string
DEPRECATED: ID of the corresponding Synthetic check.
threshold_windows
object
Alerting time window options.
recovery_window
string
Describes how long an anomalous metric must be normal before the alert recovers.
trigger_window
string
Describes how long a metric must be anomalous before an alert triggers.
thresholds
object
List of the different monitor threshold available.
critical
double
The monitor CRITICAL
threshold.
critical_recovery
double
The monitor CRITICAL
recovery threshold.
ok
double
The monitor OK
threshold.
unknown
double
The monitor UNKNOWN threshold.
warning
double
The monitor WARNING
threshold.
warning_recovery
double
The monitor WARNING
recovery threshold.
timeout_h
int64
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
overall_state
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
priority
int64
Integer from 1 (high) to 5 (low) indicating alert severity.
query
string
The monitor query.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API. Cannot be used with locked
option.
state
object
Wrapper object with the different monitor states.
groups
object
Dictionary where the keys are groups (comma separated lists of tags) and the values are the list of groups your monitor is broken down on.
<any-key>
object
Monitor state for a single group.
last_nodata_ts
int64
Latest timestamp the monitor was in NO_DATA state.
last_notified_ts
int64
Latest timestamp of the notification sent for this monitor group.
last_resolved_ts
int64
Latest timestamp the monitor group was resolved.
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
name
string
The name of the monitor.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
tags
[string]
Tags associated to your monitor.
type
enum
The type of the monitor. For more information about type
, see the monitor options docs.
Allowed enum values: composite,event alert,log alert,metric alert,process alert,query alert,rum alert,service check,synthetics alert,trace-analytics alert,slo alert,event-v2 alert
{
"message": "string",
"name": "string",
"options": {
"enable_logs_sample": false,
"escalation_message": "string",
"evaluation_delay": "integer",
"groupby_simple_monitor": false,
"include_tags": false,
"locked": false,
"min_failure_duration": "integer",
"min_location_failed": "integer",
"new_host_delay": "integer",
"no_data_timeframe": "integer",
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": "integer",
"require_full_window": false,
"silenced": {
"<any-key>": "integer"
},
"synthetics_check_id": "string",
"threshold_windows": {
"recovery_window": "string",
"trigger_window": "string"
},
"thresholds": {
"critical": "number",
"critical_recovery": "number",
"ok": "number",
"unknown": "number",
"warning": "number",
"warning_recovery": "number"
},
"timeout_h": "integer"
},
"priority": "integer",
"query": "string",
"restricted_roles": [],
"tags": [],
"type": "string"
}
OK
Object describing a monitor.
Field
Type
Description
created
date-time
Timestamp of the monitor creation.
creator
object
Object describing the creator of the shared element.
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
deleted
date-time
Whether or not the monitor is deleted. (Always null
)
id
int64
ID of this monitor.
message
string
A message to include with notifications for this monitor.
modified
date-time
Last timestamp when the monitor was edited.
multi
boolean
Whether or not the monitor is broken down on different groups.
name
string
The monitor name.
options
object
List of options associated with your monitor.
aggregation
object
Type of aggregation performed in the monitor query.
group_by
string
Group to break down the monitor on.
metric
string
Metric name used in the monitor.
type
string
Metric type used in the monitor.
device_ids
[string]
DEPRECATED: IDs of the device the Synthetics monitor is running on.
enable_logs_sample
boolean
Whether or not to send a log sample when the log monitor triggers.
escalation_message
string
A message to include with a re-notification. Supports the @username
notification we allow elsewhere.
Not applicable if renotify_interval
is None
.
evaluation_delay
int64
Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300
(5min),
the timeframe is set to last_5m
and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
groupby_simple_monitor
boolean
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
include_tags
boolean
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
Examples
True
, [Triggered on {host:h1}] Monitor Title
False
, [Triggered] Monitor Title
locked
boolean
Whether or not the monitor is locked (only editable by creator and admins).
min_failure_duration
int64
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
min_location_failed
int64
The minimum number of locations in failure at the same time during
at least one moment in the min_failure_duration
period (min_location_failed
and min_failure_duration
are part of the advanced alerting rules - integer, >= 1).
new_host_delay
int64
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results. Should be a non negative integer.
no_data_timeframe
int64
The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe is used for metric alerts, and 24 hours is used for service checks.
notify_audit
boolean
A Boolean indicating whether tagged users is notified on changes to this monitor.
notify_no_data
boolean
A Boolean indicating whether this monitor notifies when data stops reporting.
renotify_interval
int64
The number of minutes after the last notification before a monitor re-notifies on the current status. It only re-notifies if it’s not resolved.
require_full_window
boolean
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 are skipped. Default is false.
silenced
object
DEPRECATED: Information about the downtime applied to the monitor.
<any-key>
int64
ID of the downtime applied to the monitor.
synthetics_check_id
string
DEPRECATED: ID of the corresponding Synthetic check.
threshold_windows
object
Alerting time window options.
recovery_window
string
Describes how long an anomalous metric must be normal before the alert recovers.
trigger_window
string
Describes how long a metric must be anomalous before an alert triggers.
thresholds
object
List of the different monitor threshold available.
critical
double
The monitor CRITICAL
threshold.
critical_recovery
double
The monitor CRITICAL
recovery threshold.
ok
double
The monitor OK
threshold.
unknown
double
The monitor UNKNOWN threshold.
warning
double
The monitor WARNING
threshold.
warning_recovery
double
The monitor WARNING
recovery threshold.
timeout_h
int64
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
overall_state
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
priority
int64
Integer from 1 (high) to 5 (low) indicating alert severity.
query
string
The monitor query.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API. Cannot be used with locked
option.
state
object
Wrapper object with the different monitor states.
groups
object
Dictionary where the keys are groups (comma separated lists of tags) and the values are the list of groups your monitor is broken down on.
<any-key>
object
Monitor state for a single group.
last_nodata_ts
int64
Latest timestamp the monitor was in NO_DATA state.
last_notified_ts
int64
Latest timestamp of the notification sent for this monitor group.
last_resolved_ts
int64
Latest timestamp the monitor group was resolved.
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
name
string
The name of the monitor.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
tags
[string]
Tags associated to your monitor.
type
enum
The type of the monitor. For more information about type
, see the monitor options docs.
Allowed enum values: composite,event alert,log alert,metric alert,process alert,query alert,rum alert,service check,synthetics alert,trace-analytics alert,slo alert,event-v2 alert
{
"created": "2019-09-19T10:00:00.000Z",
"creator": {
"email": "string",
"handle": "string",
"name": "string"
},
"deleted": "2019-09-19T10:00:00.000Z",
"id": "integer",
"message": "string",
"modified": "2019-09-19T10:00:00.000Z",
"multi": false,
"name": "string",
"options": {
"aggregation": {
"group_by": "host",
"metric": "metrics.name",
"type": "count"
},
"device_ids": [],
"enable_logs_sample": false,
"escalation_message": "string",
"evaluation_delay": "integer",
"groupby_simple_monitor": false,
"include_tags": false,
"locked": false,
"min_failure_duration": "integer",
"min_location_failed": "integer",
"new_host_delay": "integer",
"no_data_timeframe": "integer",
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": "integer",
"require_full_window": false,
"silenced": {
"<any-key>": "integer"
},
"synthetics_check_id": "string",
"threshold_windows": {
"recovery_window": "string",
"trigger_window": "string"
},
"thresholds": {
"critical": "number",
"critical_recovery": "number",
"ok": "number",
"unknown": "number",
"warning": "number",
"warning_recovery": "number"
},
"timeout_h": "integer"
},
"overall_state": "string",
"priority": "integer",
"query": "string",
"restricted_roles": [],
"state": {
"groups": {
"<any-key>": {
"last_nodata_ts": "integer",
"last_notified_ts": "integer",
"last_resolved_ts": "integer",
"last_triggered_ts": "integer",
"name": "string",
"status": "string"
}
}
},
"tags": [],
"type": "string"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication error
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
Monitor Not Found error
Error response object.
{
"errors": [
"Bad Request"
]
}
# Path parameters
export monitor_id="CHANGE_ME"
# Curl command
curl -X PUT "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/monitor/${monitor_id}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{}
EOF
package main
import (
"context"
"encoding/json"
"fmt"
"os"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
monitorId := int64(789) // int64 | The ID of the monitor.
body := *datadog.NewMonitorUpdateRequest() // MonitorUpdateRequest | Edit a monitor request body.
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
resp, r, err := apiClient.MonitorsApi.UpdateMonitor(ctx, monitorId).Body(body).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `MonitorsApi.UpdateMonitor``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `UpdateMonitor`: Monitor
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from MonitorsApi.UpdateMonitor:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
go run "main.go"
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.MonitorsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
Long monitorId = 56L; // Long | The ID of the monitor.
MonitorUpdateRequest body = new MonitorUpdateRequest(); // MonitorUpdateRequest | Edit a monitor request body.
try {
Monitor result = apiInstance.updateMonitor(monitorId, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#updateMonitor");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
java "Example.java"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import monitors_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = monitors_api.MonitorsApi(api_client)
monitor_id = 1 # int | The ID of the monitor.
body = MonitorUpdateRequest(
created=dateutil_parser('1970-01-01T00:00:00.00Z'),
creator=Creator(
email="email_example",
handle="handle_example",
name="name_example",
),
deleted=dateutil_parser('1970-01-01T00:00:00.00Z'),
id=1,
message="message_example",
modified=dateutil_parser('1970-01-01T00:00:00.00Z'),
multi=True,
name="name_example",
options=MonitorOptions(
aggregation=MonitorOptionsAggregation(
group_by="host",
metric="metrics.name",
type="count",
),
device_ids=[
MonitorDeviceID("laptop_large"),
],
enable_logs_sample=True,
escalation_message="none",
evaluation_delay=1,
groupby_simple_monitor=True,
include_tags=True,
locked=True,
min_failure_duration=0,
min_location_failed=1,
new_host_delay=300,
no_data_timeframe=1,
notify_audit=False,
notify_no_data=False,
renotify_interval=1,
require_full_window=True,
silenced={
"key": 1,
},
synthetics_check_id="synthetics_check_id_example",
threshold_windows=MonitorThresholdWindowOptions(
recovery_window="recovery_window_example",
trigger_window="trigger_window_example",
),
thresholds=MonitorThresholds(
critical=3.14,
critical_recovery=3.14,
ok=3.14,
unknown=3.14,
warning=3.14,
warning_recovery=3.14,
),
timeout_h=1,
),
overall_state=MonitorOverallStates("Alert"),
priority=1,
query="query_example",
restricted_roles=[
"restricted_roles_example",
],
state=MonitorState(
groups={
"key": MonitorStateGroup(
last_nodata_ts=1,
last_notified_ts=1,
last_resolved_ts=1,
last_triggered_ts=1,
name="name_example",
status=MonitorOverallStates("Alert"),
),
},
),
tags=[
"tags_example",
],
type=MonitorType("composite"),
) # MonitorUpdateRequest | Edit a monitor request body.
# example passing only required values which don't have defaults set
try:
# Edit a monitor
api_response = api_instance.update_monitor(monitor_id, body)
pprint(api_response)
except ApiException as e:
print("Exception when calling MonitorsApi->update_monitor: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python3 "example.py"
require 'datadog_api_client'
api_instance = DatadogAPIClient::V1::MonitorsAPI.new
monitor_id = 789 # Integer | The ID of the monitor.
body = DatadogAPIClient::V1::MonitorUpdateRequest.new # MonitorUpdateRequest | Edit a monitor request body.
begin
# Edit a monitor
result = api_instance.update_monitor(monitor_id, body)
p result
rescue DatadogAPIClient::V1::APIError => e
puts "Error when calling MonitorsAPI->update_monitor: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/monitor/{monitor_id}https://api.ddog-gov.com/api/v1/monitor/{monitor_id}https://api.datadoghq.com/api/v1/monitor/{monitor_id}https://api.us3.datadoghq.com/api/v1/monitor/{monitor_id}
Get details about the specified monitor from your organization.
Name
Type
Description
monitor_id [required]
integer
The ID of the monitor
Name
Type
Description
group_states
string
When specified, shows additional information about the group states. Choose one or more from all
, alert
, warn
, and no data
.
OK
Object describing a monitor.
Field
Type
Description
created
date-time
Timestamp of the monitor creation.
creator
object
Object describing the creator of the shared element.
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
deleted
date-time
Whether or not the monitor is deleted. (Always null
)
id
int64
ID of this monitor.
message
string
A message to include with notifications for this monitor.
modified
date-time
Last timestamp when the monitor was edited.
multi
boolean
Whether or not the monitor is broken down on different groups.
name
string
The monitor name.
options
object
List of options associated with your monitor.
aggregation
object
Type of aggregation performed in the monitor query.
group_by
string
Group to break down the monitor on.
metric
string
Metric name used in the monitor.
type
string
Metric type used in the monitor.
device_ids
[string]
DEPRECATED: IDs of the device the Synthetics monitor is running on.
enable_logs_sample
boolean
Whether or not to send a log sample when the log monitor triggers.
escalation_message
string
A message to include with a re-notification. Supports the @username
notification we allow elsewhere.
Not applicable if renotify_interval
is None
.
evaluation_delay
int64
Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300
(5min),
the timeframe is set to last_5m
and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
groupby_simple_monitor
boolean
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
include_tags
boolean
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
Examples
True
, [Triggered on {host:h1}] Monitor Title
False
, [Triggered] Monitor Title
locked
boolean
Whether or not the monitor is locked (only editable by creator and admins).
min_failure_duration
int64
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
min_location_failed
int64
The minimum number of locations in failure at the same time during
at least one moment in the min_failure_duration
period (min_location_failed
and min_failure_duration
are part of the advanced alerting rules - integer, >= 1).
new_host_delay
int64
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results. Should be a non negative integer.
no_data_timeframe
int64
The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe is used for metric alerts, and 24 hours is used for service checks.
notify_audit
boolean
A Boolean indicating whether tagged users is notified on changes to this monitor.
notify_no_data
boolean
A Boolean indicating whether this monitor notifies when data stops reporting.
renotify_interval
int64
The number of minutes after the last notification before a monitor re-notifies on the current status. It only re-notifies if it’s not resolved.
require_full_window
boolean
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 are skipped. Default is false.
silenced
object
DEPRECATED: Information about the downtime applied to the monitor.
<any-key>
int64
ID of the downtime applied to the monitor.
synthetics_check_id
string
DEPRECATED: ID of the corresponding Synthetic check.
threshold_windows
object
Alerting time window options.
recovery_window
string
Describes how long an anomalous metric must be normal before the alert recovers.
trigger_window
string
Describes how long a metric must be anomalous before an alert triggers.
thresholds
object
List of the different monitor threshold available.
critical
double
The monitor CRITICAL
threshold.
critical_recovery
double
The monitor CRITICAL
recovery threshold.
ok
double
The monitor OK
threshold.
unknown
double
The monitor UNKNOWN threshold.
warning
double
The monitor WARNING
threshold.
warning_recovery
double
The monitor WARNING
recovery threshold.
timeout_h
int64
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
overall_state
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
priority
int64
Integer from 1 (high) to 5 (low) indicating alert severity.
query
string
The monitor query.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API. Cannot be used with locked
option.
state
object
Wrapper object with the different monitor states.
groups
object
Dictionary where the keys are groups (comma separated lists of tags) and the values are the list of groups your monitor is broken down on.
<any-key>
object
Monitor state for a single group.
last_nodata_ts
int64
Latest timestamp the monitor was in NO_DATA state.
last_notified_ts
int64
Latest timestamp of the notification sent for this monitor group.
last_resolved_ts
int64
Latest timestamp the monitor group was resolved.
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
name
string
The name of the monitor.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
tags
[string]
Tags associated to your monitor.
type
enum
The type of the monitor. For more information about type
, see the monitor options docs.
Allowed enum values: composite,event alert,log alert,metric alert,process alert,query alert,rum alert,service check,synthetics alert,trace-analytics alert,slo alert,event-v2 alert
{
"created": "2019-09-19T10:00:00.000Z",
"creator": {
"email": "string",
"handle": "string",
"name": "string"
},
"deleted": "2019-09-19T10:00:00.000Z",
"id": "integer",
"message": "string",
"modified": "2019-09-19T10:00:00.000Z",
"multi": false,
"name": "string",
"options": {
"aggregation": {
"group_by": "host",
"metric": "metrics.name",
"type": "count"
},
"device_ids": [],
"enable_logs_sample": false,
"escalation_message": "string",
"evaluation_delay": "integer",
"groupby_simple_monitor": false,
"include_tags": false,
"locked": false,
"min_failure_duration": "integer",
"min_location_failed": "integer",
"new_host_delay": "integer",
"no_data_timeframe": "integer",
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": "integer",
"require_full_window": false,
"silenced": {
"<any-key>": "integer"
},
"synthetics_check_id": "string",
"threshold_windows": {
"recovery_window": "string",
"trigger_window": "string"
},
"thresholds": {
"critical": "number",
"critical_recovery": "number",
"ok": "number",
"unknown": "number",
"warning": "number",
"warning_recovery": "number"
},
"timeout_h": "integer"
},
"overall_state": "string",
"priority": "integer",
"query": "string",
"restricted_roles": [],
"state": {
"groups": {
"<any-key>": {
"last_nodata_ts": "integer",
"last_notified_ts": "integer",
"last_resolved_ts": "integer",
"last_triggered_ts": "integer",
"name": "string",
"status": "string"
}
}
},
"tags": [],
"type": "string"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication error
Error response object.
{
"errors": [
"Bad Request"
]
}
Monitor Not Found error
Error response object.
{
"errors": [
"Bad Request"
]
}
# Path parameters
export monitor_id="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/monitor/${monitor_id}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
monitorId := int64(789) // int64 | The ID of the monitor
groupStates := "groupStates_example" // string | When specified, shows additional information about the group states. Choose one or more from `all`, `alert`, `warn`, and `no data`. (optional)
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
resp, r, err := apiClient.MonitorsApi.GetMonitor(ctx, monitorId).GroupStates(groupStates).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `MonitorsApi.GetMonitor``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetMonitor`: Monitor
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from MonitorsApi.GetMonitor:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
go run "main.go"
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.MonitorsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
Long monitorId = 56L; // Long | The ID of the monitor
String groupStates = "groupStates_example"; // String | When specified, shows additional information about the group states. Choose one or more from `all`, `alert`, `warn`, and `no data`.
try {
Monitor result = apiInstance.getMonitor(monitorId, new MonitorsApi.GetMonitorOptionalParameters()
.groupStates(groupStates));
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#getMonitor");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
java "Example.java"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
# Get a monitor's details
api.Monitor.get(2081, group_states='all')
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python "example.py"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import monitors_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = monitors_api.MonitorsApi(api_client)
monitor_id = 1 # int | The ID of the monitor
group_states = "group_states_example" # str | When specified, shows additional information about the group states. Choose one or more from `all`, `alert`, `warn`, and `no data`. (optional)
# example passing only required values which don't have defaults set
try:
# Get a monitor's details
api_response = api_instance.get_monitor(monitor_id)
pprint(api_response)
except ApiException as e:
print("Exception when calling MonitorsApi->get_monitor: %s\n" % e)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get a monitor's details
api_response = api_instance.get_monitor(monitor_id, group_states=group_states)
pprint(api_response)
except ApiException as e:
print("Exception when calling MonitorsApi->get_monitor: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python3 "example.py"
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
# Get a monitors's details
dog.get_monitor(91_879, group_states: 'all')
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
require 'datadog_api_client'
api_instance = DatadogAPIClient::V1::MonitorsAPI.new
monitor_id = 789 # Integer | The ID of the monitor
opts = {
group_states: 'group_states_example' # String | When specified, shows additional information about the group states. Choose one or more from `all`, `alert`, `warn`, and `no data`.
}
begin
# Get a monitor's details
result = api_instance.get_monitor(monitor_id, opts)
p result
rescue DatadogAPIClient::V1::APIError => e
puts "Error when calling MonitorsAPI->get_monitor: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/monitorhttps://api.ddog-gov.com/api/v1/monitorhttps://api.datadoghq.com/api/v1/monitorhttps://api.us3.datadoghq.com/api/v1/monitor
Get details about the specified monitor from your organization.
Name
Type
Description
group_states
string
When specified, shows additional information about the group states.
Choose one or more from all
, alert
, warn
, and no data
.
name
string
A string to filter monitors by name.
tags
string
A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope.
For example, host:host0
.
monitor_tags
string
A comma separated list indicating what service and/or custom tags, if any, should be used to filter the list of monitors.
Tags created in the Datadog UI automatically have the service key prepended. For example, service:my-app
.
with_downtimes
boolean
If this argument is set to true, then the returned data includes all current downtimes for each monitor.
id_offset
integer
Monitor ID offset.
page
integer
The page to start paginating from. If this argument is not specified, the request returns all monitors without pagination.
page_size
integer
The number of monitors to return per page. If the page argument is not specified, the default behavior returns all monitors without a page_size
limit. However, if page is specified and page_size
is not, the argument defaults to 100.
OK
Field
Type
Description
created
date-time
Timestamp of the monitor creation.
creator
object
Object describing the creator of the shared element.
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
deleted
date-time
Whether or not the monitor is deleted. (Always null
)
id
int64
ID of this monitor.
message
string
A message to include with notifications for this monitor.
modified
date-time
Last timestamp when the monitor was edited.
multi
boolean
Whether or not the monitor is broken down on different groups.
name
string
The monitor name.
options
object
List of options associated with your monitor.
aggregation
object
Type of aggregation performed in the monitor query.
group_by
string
Group to break down the monitor on.
metric
string
Metric name used in the monitor.
type
string
Metric type used in the monitor.
device_ids
[string]
DEPRECATED: IDs of the device the Synthetics monitor is running on.
enable_logs_sample
boolean
Whether or not to send a log sample when the log monitor triggers.
escalation_message
string
A message to include with a re-notification. Supports the @username
notification we allow elsewhere.
Not applicable if renotify_interval
is None
.
evaluation_delay
int64
Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300
(5min),
the timeframe is set to last_5m
and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
groupby_simple_monitor
boolean
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
include_tags
boolean
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
Examples
True
, [Triggered on {host:h1}] Monitor Title
False
, [Triggered] Monitor Title
locked
boolean
Whether or not the monitor is locked (only editable by creator and admins).
min_failure_duration
int64
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
min_location_failed
int64
The minimum number of locations in failure at the same time during
at least one moment in the min_failure_duration
period (min_location_failed
and min_failure_duration
are part of the advanced alerting rules - integer, >= 1).
new_host_delay
int64
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results. Should be a non negative integer.
no_data_timeframe
int64
The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe is used for metric alerts, and 24 hours is used for service checks.
notify_audit
boolean
A Boolean indicating whether tagged users is notified on changes to this monitor.
notify_no_data
boolean
A Boolean indicating whether this monitor notifies when data stops reporting.
renotify_interval
int64
The number of minutes after the last notification before a monitor re-notifies on the current status. It only re-notifies if it’s not resolved.
require_full_window
boolean
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 are skipped. Default is false.
silenced
object
DEPRECATED: Information about the downtime applied to the monitor.
<any-key>
int64
ID of the downtime applied to the monitor.
synthetics_check_id
string
DEPRECATED: ID of the corresponding Synthetic check.
threshold_windows
object
Alerting time window options.
recovery_window
string
Describes how long an anomalous metric must be normal before the alert recovers.
trigger_window
string
Describes how long a metric must be anomalous before an alert triggers.
thresholds
object
List of the different monitor threshold available.
critical
double
The monitor CRITICAL
threshold.
critical_recovery
double
The monitor CRITICAL
recovery threshold.
ok
double
The monitor OK
threshold.
unknown
double
The monitor UNKNOWN threshold.
warning
double
The monitor WARNING
threshold.
warning_recovery
double
The monitor WARNING
recovery threshold.
timeout_h
int64
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
overall_state
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
priority
int64
Integer from 1 (high) to 5 (low) indicating alert severity.
query
string
The monitor query.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API. Cannot be used with locked
option.
state
object
Wrapper object with the different monitor states.
groups
object
Dictionary where the keys are groups (comma separated lists of tags) and the values are the list of groups your monitor is broken down on.
<any-key>
object
Monitor state for a single group.
last_nodata_ts
int64
Latest timestamp the monitor was in NO_DATA state.
last_notified_ts
int64
Latest timestamp of the notification sent for this monitor group.
last_resolved_ts
int64
Latest timestamp the monitor group was resolved.
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
name
string
The name of the monitor.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
tags
[string]
Tags associated to your monitor.
type
enum
The type of the monitor. For more information about type
, see the monitor options docs.
Allowed enum values: composite,event alert,log alert,metric alert,process alert,query alert,rum alert,service check,synthetics alert,trace-analytics alert,slo alert,event-v2 alert
{
"created": "2019-09-19T10:00:00.000Z",
"creator": {
"email": "string",
"handle": "string",
"name": "string"
},
"deleted": "2019-09-19T10:00:00.000Z",
"id": "integer",
"message": "string",
"modified": "2019-09-19T10:00:00.000Z",
"multi": false,
"name": "string",
"options": {
"aggregation": {
"group_by": "host",
"metric": "metrics.name",
"type": "count"
},
"device_ids": [],
"enable_logs_sample": false,
"escalation_message": "string",
"evaluation_delay": "integer",
"groupby_simple_monitor": false,
"include_tags": false,
"locked": false,
"min_failure_duration": "integer",
"min_location_failed": "integer",
"new_host_delay": "integer",
"no_data_timeframe": "integer",
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": "integer",
"require_full_window": false,
"silenced": {
"<any-key>": "integer"
},
"synthetics_check_id": "string",
"threshold_windows": {
"recovery_window": "string",
"trigger_window": "string"
},
"thresholds": {
"critical": "number",
"critical_recovery": "number",
"ok": "number",
"unknown": "number",
"warning": "number",
"warning_recovery": "number"
},
"timeout_h": "integer"
},
"overall_state": "string",
"priority": "integer",
"query": "string",
"restricted_roles": [],
"state": {
"groups": {
"<any-key>": {
"last_nodata_ts": "integer",
"last_notified_ts": "integer",
"last_resolved_ts": "integer",
"last_triggered_ts": "integer",
"name": "string",
"status": "string"
}
}
},
"tags": [],
"type": "string"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/monitor" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
groupStates := "groupStates_example" // string | When specified, shows additional information about the group states. Choose one or more from `all`, `alert`, `warn`, and `no data`. (optional)
name := "name_example" // string | A string to filter monitors by name. (optional)
tags := "tags_example" // string | A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope. For example, `host:host0`. (optional)
monitorTags := "monitorTags_example" // string | A comma separated list indicating what service and/or custom tags, if any, should be used to filter the list of monitors. Tags created in the Datadog UI automatically have the service key prepended. For example, `service:my-app`. (optional)
withDowntimes := true // bool | If this argument is set to true, then the returned data includes all current downtimes for each monitor. (optional)
idOffset := int64(789) // int64 | Monitor ID offset. (optional)
page := int64(789) // int64 | The page to start paginating from. If this argument is not specified, the request returns all monitors without pagination. (optional)
pageSize := int32(56) // int32 | The number of monitors to return per page. If the page argument is not specified, the default behavior returns all monitors without a `page_size` limit. However, if page is specified and `page_size` is not, the argument defaults to 100. (optional)
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
resp, r, err := apiClient.MonitorsApi.ListMonitors(ctx).GroupStates(groupStates).Name(name).Tags(tags).MonitorTags(monitorTags).WithDowntimes(withDowntimes).IdOffset(idOffset).Page(page).PageSize(pageSize).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `MonitorsApi.ListMonitors``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `ListMonitors`: []Monitor
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from MonitorsApi.ListMonitors:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
go run "main.go"
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.MonitorsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
String groupStates = "groupStates_example"; // String | When specified, shows additional information about the group states. Choose one or more from `all`, `alert`, `warn`, and `no data`.
String name = "name_example"; // String | A string to filter monitors by name.
String tags = "tags_example"; // String | A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope. For example, `host:host0`.
String monitorTags = "monitorTags_example"; // String | A comma separated list indicating what service and/or custom tags, if any, should be used to filter the list of monitors. Tags created in the Datadog UI automatically have the service key prepended. For example, `service:my-app`.
Boolean withDowntimes = true; // Boolean | If this argument is set to true, then the returned data includes all current downtimes for each monitor.
Long idOffset = 56L; // Long | Monitor ID offset.
Long page = 56L; // Long | The page to start paginating from. If this argument is not specified, the request returns all monitors without pagination.
Integer pageSize = 56; // Integer | The number of monitors to return per page. If the page argument is not specified, the default behavior returns all monitors without a `page_size` limit. However, if page is specified and `page_size` is not, the argument defaults to 100.
try {
List<Monitor> result = apiInstance.listMonitors(new MonitorsApi.ListMonitorsOptionalParameters()
.groupStates(groupStates)
.name(name)
.tags(tags)
.monitorTags(monitorTags)
.withDowntimes(withDowntimes)
.idOffset(idOffset)
.page(page)
.pageSize(pageSize));
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#listMonitors");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
java "Example.java"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
# Get all monitor details
print(api.Monitor.get_all())
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python "example.py"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import monitors_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = monitors_api.MonitorsApi(api_client)
group_states = "group_states_example" # str | When specified, shows additional information about the group states. Choose one or more from `all`, `alert`, `warn`, and `no data`. (optional)
name = "name_example" # str | A string to filter monitors by name. (optional)
tags = "tags_example" # str | A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope. For example, `host:host0`. (optional)
monitor_tags = "monitor_tags_example" # str | A comma separated list indicating what service and/or custom tags, if any, should be used to filter the list of monitors. Tags created in the Datadog UI automatically have the service key prepended. For example, `service:my-app`. (optional)
with_downtimes = True # bool | If this argument is set to true, then the returned data includes all current downtimes for each monitor. (optional)
id_offset = 1 # int | Monitor ID offset. (optional)
page = 1 # int | The page to start paginating from. If this argument is not specified, the request returns all monitors without pagination. (optional)
page_size = 1 # int | The number of monitors to return per page. If the page argument is not specified, the default behavior returns all monitors without a `page_size` limit. However, if page is specified and `page_size` is not, the argument defaults to 100. (optional)
# example passing only required values which don't have defaults set
# and optional values
try:
# Get all monitor details
api_response = api_instance.list_monitors(group_states=group_states, name=name, tags=tags, monitor_tags=monitor_tags, with_downtimes=with_downtimes, id_offset=id_offset, page=page, page_size=page_size)
pprint(api_response)
except ApiException as e:
print("Exception when calling MonitorsApi->list_monitors: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python3 "example.py"
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
# Get all monitor details
dog.get_all_monitors
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
require 'datadog_api_client'
api_instance = DatadogAPIClient::V1::MonitorsAPI.new
opts = {
group_states: 'group_states_example', # String | When specified, shows additional information about the group states. Choose one or more from `all`, `alert`, `warn`, and `no data`.
name: 'name_example', # String | A string to filter monitors by name.
tags: 'tags_example', # String | A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope. For example, `host:host0`.
monitor_tags: 'monitor_tags_example', # String | A comma separated list indicating what service and/or custom tags, if any, should be used to filter the list of monitors. Tags created in the Datadog UI automatically have the service key prepended. For example, `service:my-app`.
with_downtimes: true, # Boolean | If this argument is set to true, then the returned data includes all current downtimes for each monitor.
id_offset: 789, # Integer | Monitor ID offset.
page: 789, # Integer | The page to start paginating from. If this argument is not specified, the request returns all monitors without pagination.
page_size: 56 # Integer | The number of monitors to return per page. If the page argument is not specified, the default behavior returns all monitors without a `page_size` limit. However, if page is specified and `page_size` is not, the argument defaults to 100.
}
begin
# Get all monitor details
result = api_instance.list_monitors(opts)
p result
rescue DatadogAPIClient::V1::APIError => e
puts "Error when calling MonitorsAPI->list_monitors: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/monitor/groups/searchhttps://api.ddog-gov.com/api/v1/monitor/groups/searchhttps://api.datadoghq.com/api/v1/monitor/groups/searchhttps://api.us3.datadoghq.com/api/v1/monitor/groups/search
Search and filter your monitor groups details.
Name
Type
Description
query
string
After entering a search query in your Manage Monitor page use the query parameter value in the URL of the page as value for this parameter. Consult the dedicated manage monitor documentation page to learn more.
The query can contain any number of space-separated monitor attributes, for instance query="type:metric status:alert"
.
page
integer
Page to start paginating from.
per_page
integer
Number of monitors to return per page.
sort
string
String for sort order, composed of field and sort order separate by a comma, e.g. name,asc
. Supported sort directions: asc
, desc
. Supported fields:
name
status
tags
OK
Field
Type
Description
counts
object
status
[object]
Search facets.
count
int64
The number of found monitors with the listed value.
name
The facet value.
type
[object]
Search facets.
count
int64
The number of found monitors with the listed value.
name
The facet value.
groups
[object]
group
string
group_tags
[string]
last_nodata_ts
int64
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
monitor_id
int64
The ID of the monitor.
monitor_name
string
The name of the monitor.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
metadata
object
page
int64
The page to start paginating from.
page_count
int64
The number of pages.
per_page
int64
The number of monitors to return per page.
total_count
int64
The total number of monitors.
{
"counts": {
"status": [
{
"count": "integer",
"name": "undefined"
}
],
"type": [
{
"count": "integer",
"name": "undefined"
}
]
},
"groups": [
{
"group": "string",
"group_tags": [],
"last_nodata_ts": "integer",
"last_triggered_ts": "integer",
"monitor_id": "integer",
"monitor_name": "string",
"status": "string"
}
],
"metadata": {
"page": "integer",
"page_count": "integer",
"per_page": "integer",
"total_count": "integer"
}
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/monitor/groups/search" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
# Search monitor groups
api.Monitor.search_groups()
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python "example.py"
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
# Search monitor groups
dog.search_monitor_groups
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
GET https://api.datadoghq.eu/api/v1/monitor/searchhttps://api.ddog-gov.com/api/v1/monitor/searchhttps://api.datadoghq.com/api/v1/monitor/searchhttps://api.us3.datadoghq.com/api/v1/monitor/search
Search and filter your monitors details.
Name
Type
Description
query
string
After entering a search query in your Manage Monitor page use the query parameter value in the URL of the page as value for this parameter. Consult the dedicated manage monitor documentation page to learn more.
The query can contain any number of space-separated monitor attributes, for instance query="type:metric status:alert"
.
page
integer
Page to start paginating from.
per_page
integer
Number of monitors to return per page.
sort
string
String for sort order, composed of field and sort order separate by a comma, e.g. name,asc
. Supported sort directions: asc
, desc
. Supported fields:
name
status
tags
OK
Field
Type
Description
counts
object
muted
[object]
Search facets.
count
int64
The number of found monitors with the listed value.
name
The facet value.
status
[object]
Search facets.
count
int64
The number of found monitors with the listed value.
name
The facet value.
tag
[object]
Search facets.
count
int64
The number of found monitors with the listed value.
name
The facet value.
type
[object]
Search facets.
count
int64
The number of found monitors with the listed value.
name
The facet value.
metadata
object
page
int64
The page to start paginating from.
page_count
int64
The number of pages.
per_page
int64
The number of monitors to return per page.
total_count
int64
The total number of monitors.
monitors
[object]
classification
string
creator
object
Object describing the creator of the shared element.
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
id
int64
ID of this monitor.
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
metrics
[string]
name
string
The monitor name.
notifications
[object]
The notification triggered by the monitor.
handle
string
The email address that received the notification.
name
string
The username receiving the notification
org_id
int64
scopes
[string]
The scope(s) to which the downtime applies, e.g. host:app2
.
Provide multiple scopes as a comma-separated list, e.g. env:dev,env:prod
.
The resulting downtime applies to sources that matches ALL provided scopes
(i.e. env:dev AND env:prod
), NOT any of them.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
tags
[string]
Tags associated to your monitor.
type
enum
The type of the monitor. For more information about type
, see the monitor options docs.
Allowed enum values: composite,event alert,log alert,metric alert,process alert,query alert,rum alert,service check,synthetics alert,trace-analytics alert,slo alert,event-v2 alert
{
"counts": {
"muted": [
{
"count": "integer",
"name": "undefined"
}
],
"status": [
{
"count": "integer",
"name": "undefined"
}
],
"tag": [
{
"count": "integer",
"name": "undefined"
}
],
"type": [
{
"count": "integer",
"name": "undefined"
}
]
},
"metadata": {
"page": "integer",
"page_count": "integer",
"per_page": "integer",
"total_count": "integer"
},
"monitors": [
{
"classification": "string",
"creator": {
"email": "string",
"handle": "string",
"name": "string"
},
"id": "integer",
"last_triggered_ts": "integer",
"metrics": [],
"name": "string",
"notifications": [
{
"handle": "string",
"name": "string"
}
],
"org_id": "integer",
"scopes": [
"host:app2",
"env:dev,env:prod"
],
"status": "string",
"tags": [],
"type": "string"
}
]
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/monitor/search" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
# Search monitors
api.Monitor.search()
# Examples of possible query parameters:
# api.Monitor.search(query="id:7100311")
# api.Monitor.search(query="title:foo metric:system.core.idle status:Alert")
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python "example.py"
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
# Search monitors
dog.search_monitors
# Examples of possible query parameters:
# dog.search_monitors(query="id:7100311")
# dog.search_monitors(query="title:foo metric:system.core.idle status:Alert")
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
POST https://api.datadoghq.eu/api/v1/monitor/{monitor_id}/mutehttps://api.ddog-gov.com/api/v1/monitor/{monitor_id}/mutehttps://api.datadoghq.com/api/v1/monitor/{monitor_id}/mutehttps://api.us3.datadoghq.com/api/v1/monitor/{monitor_id}/mute
Mute the specified monitor.
Name
Type
Description
monitor_id [required]
integer
The id of the monitor
Name
Type
Description
scope
string
The scope to apply the mute to.
For example, if your alert is grouped by {host}
, you might mute host:app1
.
end
integer
A POSIX timestamp for when the mute should end.
OK
Object describing a monitor.
Field
Type
Description
created
date-time
Timestamp of the monitor creation.
creator
object
Object describing the creator of the shared element.
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
deleted
date-time
Whether or not the monitor is deleted. (Always null
)
id
int64
ID of this monitor.
message
string
A message to include with notifications for this monitor.
modified
date-time
Last timestamp when the monitor was edited.
multi
boolean
Whether or not the monitor is broken down on different groups.
name
string
The monitor name.
options
object
List of options associated with your monitor.
aggregation
object
Type of aggregation performed in the monitor query.
group_by
string
Group to break down the monitor on.
metric
string
Metric name used in the monitor.
type
string
Metric type used in the monitor.
device_ids
[string]
DEPRECATED: IDs of the device the Synthetics monitor is running on.
enable_logs_sample
boolean
Whether or not to send a log sample when the log monitor triggers.
escalation_message
string
A message to include with a re-notification. Supports the @username
notification we allow elsewhere.
Not applicable if renotify_interval
is None
.
evaluation_delay
int64
Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300
(5min),
the timeframe is set to last_5m
and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
groupby_simple_monitor
boolean
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
include_tags
boolean
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
Examples
True
, [Triggered on {host:h1}] Monitor Title
False
, [Triggered] Monitor Title
locked
boolean
Whether or not the monitor is locked (only editable by creator and admins).
min_failure_duration
int64
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
min_location_failed
int64
The minimum number of locations in failure at the same time during
at least one moment in the min_failure_duration
period (min_location_failed
and min_failure_duration
are part of the advanced alerting rules - integer, >= 1).
new_host_delay
int64
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results. Should be a non negative integer.
no_data_timeframe
int64
The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe is used for metric alerts, and 24 hours is used for service checks.
notify_audit
boolean
A Boolean indicating whether tagged users is notified on changes to this monitor.
notify_no_data
boolean
A Boolean indicating whether this monitor notifies when data stops reporting.
renotify_interval
int64
The number of minutes after the last notification before a monitor re-notifies on the current status. It only re-notifies if it’s not resolved.
require_full_window
boolean
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 are skipped. Default is false.
silenced
object
DEPRECATED: Information about the downtime applied to the monitor.
<any-key>
int64
ID of the downtime applied to the monitor.
synthetics_check_id
string
DEPRECATED: ID of the corresponding Synthetic check.
threshold_windows
object
Alerting time window options.
recovery_window
string
Describes how long an anomalous metric must be normal before the alert recovers.
trigger_window
string
Describes how long a metric must be anomalous before an alert triggers.
thresholds
object
List of the different monitor threshold available.
critical
double
The monitor CRITICAL
threshold.
critical_recovery
double
The monitor CRITICAL
recovery threshold.
ok
double
The monitor OK
threshold.
unknown
double
The monitor UNKNOWN threshold.
warning
double
The monitor WARNING
threshold.
warning_recovery
double
The monitor WARNING
recovery threshold.
timeout_h
int64
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
overall_state
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
priority
int64
Integer from 1 (high) to 5 (low) indicating alert severity.
query
string
The monitor query.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API. Cannot be used with locked
option.
state
object
Wrapper object with the different monitor states.
groups
object
Dictionary where the keys are groups (comma separated lists of tags) and the values are the list of groups your monitor is broken down on.
<any-key>
object
Monitor state for a single group.
last_nodata_ts
int64
Latest timestamp the monitor was in NO_DATA state.
last_notified_ts
int64
Latest timestamp of the notification sent for this monitor group.
last_resolved_ts
int64
Latest timestamp the monitor group was resolved.
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
name
string
The name of the monitor.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
tags
[string]
Tags associated to your monitor.
type
enum
The type of the monitor. For more information about type
, see the monitor options docs.
Allowed enum values: composite,event alert,log alert,metric alert,process alert,query alert,rum alert,service check,synthetics alert,trace-analytics alert,slo alert,event-v2 alert
{
"created": "2019-09-19T10:00:00.000Z",
"creator": {
"email": "string",
"handle": "string",
"name": "string"
},
"deleted": "2019-09-19T10:00:00.000Z",
"id": "integer",
"message": "string",
"modified": "2019-09-19T10:00:00.000Z",
"multi": false,
"name": "string",
"options": {
"aggregation": {
"group_by": "host",
"metric": "metrics.name",
"type": "count"
},
"device_ids": [],
"enable_logs_sample": false,
"escalation_message": "string",
"evaluation_delay": "integer",
"groupby_simple_monitor": false,
"include_tags": false,
"locked": false,
"min_failure_duration": "integer",
"min_location_failed": "integer",
"new_host_delay": "integer",
"no_data_timeframe": "integer",
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": "integer",
"require_full_window": false,
"silenced": {
"<any-key>": "integer"
},
"synthetics_check_id": "string",
"threshold_windows": {
"recovery_window": "string",
"trigger_window": "string"
},
"thresholds": {
"critical": "number",
"critical_recovery": "number",
"ok": "number",
"unknown": "number",
"warning": "number",
"warning_recovery": "number"
},
"timeout_h": "integer"
},
"overall_state": "string",
"priority": "integer",
"query": "string",
"restricted_roles": [],
"state": {
"groups": {
"<any-key>": {
"last_nodata_ts": "integer",
"last_notified_ts": "integer",
"last_resolved_ts": "integer",
"last_triggered_ts": "integer",
"name": "string",
"status": "string"
}
}
},
"tags": [],
"type": "string"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication error
Error response object.
{
"errors": [
"Bad Request"
]
}
Monitor Not Found error
Error response object.
{
"errors": [
"Bad Request"
]
}
# Path parameters
export monitor_id="CHANGE_ME"
# Curl command
curl -X POST "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/monitor/${monitor_id}/mute" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
# Mute a monitor
api.Monitor.mute(2088)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python "example.py"
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
# Mute a monitor
dog.mute_monitor(62_628)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
POST https://api.datadoghq.eu/v1/monitor/mute_allhttps://api.ddog-gov.com/v1/monitor/mute_allhttps://api.datadoghq.com/v1/monitor/mute_allhttps://api.us3.datadoghq.com/v1/monitor/mute_all
Muting prevents all monitors from notifying through email and posts to the event stream. State changes are only visible by checking the alert page.
OK
Object describing a monitor.
Field
Type
Description
created
date-time
Timestamp of the monitor creation.
creator
object
Object describing the creator of the shared element.
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
deleted
date-time
Whether or not the monitor is deleted. (Always null
)
id
int64
ID of this monitor.
message
string
A message to include with notifications for this monitor.
modified
date-time
Last timestamp when the monitor was edited.
multi
boolean
Whether or not the monitor is broken down on different groups.
name
string
The monitor name.
options
object
List of options associated with your monitor.
aggregation
object
Type of aggregation performed in the monitor query.
group_by
string
Group to break down the monitor on.
metric
string
Metric name used in the monitor.
type
string
Metric type used in the monitor.
device_ids
[string]
DEPRECATED: IDs of the device the Synthetics monitor is running on.
enable_logs_sample
boolean
Whether or not to send a log sample when the log monitor triggers.
escalation_message
string
A message to include with a re-notification. Supports the @username
notification we allow elsewhere.
Not applicable if renotify_interval
is None
.
evaluation_delay
int64
Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300
(5min),
the timeframe is set to last_5m
and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
groupby_simple_monitor
boolean
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
include_tags
boolean
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
Examples
True
, [Triggered on {host:h1}] Monitor Title
False
, [Triggered] Monitor Title
locked
boolean
Whether or not the monitor is locked (only editable by creator and admins).
min_failure_duration
int64
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
min_location_failed
int64
The minimum number of locations in failure at the same time during
at least one moment in the min_failure_duration
period (min_location_failed
and min_failure_duration
are part of the advanced alerting rules - integer, >= 1).
new_host_delay
int64
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results. Should be a non negative integer.
no_data_timeframe
int64
The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe is used for metric alerts, and 24 hours is used for service checks.
notify_audit
boolean
A Boolean indicating whether tagged users is notified on changes to this monitor.
notify_no_data
boolean
A Boolean indicating whether this monitor notifies when data stops reporting.
renotify_interval
int64
The number of minutes after the last notification before a monitor re-notifies on the current status. It only re-notifies if it’s not resolved.
require_full_window
boolean
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 are skipped. Default is false.
silenced
object
DEPRECATED: Information about the downtime applied to the monitor.
<any-key>
int64
ID of the downtime applied to the monitor.
synthetics_check_id
string
DEPRECATED: ID of the corresponding Synthetic check.
threshold_windows
object
Alerting time window options.
recovery_window
string
Describes how long an anomalous metric must be normal before the alert recovers.
trigger_window
string
Describes how long a metric must be anomalous before an alert triggers.
thresholds
object
List of the different monitor threshold available.
critical
double
The monitor CRITICAL
threshold.
critical_recovery
double
The monitor CRITICAL
recovery threshold.
ok
double
The monitor OK
threshold.
unknown
double
The monitor UNKNOWN threshold.
warning
double
The monitor WARNING
threshold.
warning_recovery
double
The monitor WARNING
recovery threshold.
timeout_h
int64
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
overall_state
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
priority
int64
Integer from 1 (high) to 5 (low) indicating alert severity.
query
string
The monitor query.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API. Cannot be used with locked
option.
state
object
Wrapper object with the different monitor states.
groups
object
Dictionary where the keys are groups (comma separated lists of tags) and the values are the list of groups your monitor is broken down on.
<any-key>
object
Monitor state for a single group.
last_nodata_ts
int64
Latest timestamp the monitor was in NO_DATA state.
last_notified_ts
int64
Latest timestamp of the notification sent for this monitor group.
last_resolved_ts
int64
Latest timestamp the monitor group was resolved.
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
name
string
The name of the monitor.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
tags
[string]
Tags associated to your monitor.
type
enum
The type of the monitor. For more information about type
, see the monitor options docs.
Allowed enum values: composite,event alert,log alert,metric alert,process alert,query alert,rum alert,service check,synthetics alert,trace-analytics alert,slo alert,event-v2 alert
{
"created": "2019-09-19T10:00:00.000Z",
"creator": {
"email": "string",
"handle": "string",
"name": "string"
},
"deleted": "2019-09-19T10:00:00.000Z",
"id": "integer",
"message": "string",
"modified": "2019-09-19T10:00:00.000Z",
"multi": false,
"name": "string",
"options": {
"aggregation": {
"group_by": "host",
"metric": "metrics.name",
"type": "count"
},
"device_ids": [],
"enable_logs_sample": false,
"escalation_message": "string",
"evaluation_delay": "integer",
"groupby_simple_monitor": false,
"include_tags": false,
"locked": false,
"min_failure_duration": "integer",
"min_location_failed": "integer",
"new_host_delay": "integer",
"no_data_timeframe": "integer",
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": "integer",
"require_full_window": false,
"silenced": {
"<any-key>": "integer"
},
"synthetics_check_id": "string",
"threshold_windows": {
"recovery_window": "string",
"trigger_window": "string"
},
"thresholds": {
"critical": "number",
"critical_recovery": "number",
"ok": "number",
"unknown": "number",
"warning": "number",
"warning_recovery": "number"
},
"timeout_h": "integer"
},
"overall_state": "string",
"priority": "integer",
"query": "string",
"restricted_roles": [],
"state": {
"groups": {
"<any-key>": {
"last_nodata_ts": "integer",
"last_notified_ts": "integer",
"last_resolved_ts": "integer",
"last_triggered_ts": "integer",
"name": "string",
"status": "string"
}
}
},
"tags": [],
"type": "string"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication error
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/v1/monitor/mute_all" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
POST https://api.datadoghq.eu/monitor/bulk_resolvehttps://api.ddog-gov.com/monitor/bulk_resolvehttps://api.datadoghq.com/monitor/bulk_resolvehttps://api.us3.datadoghq.com/monitor/bulk_resolve
Resolve monitor.
Array of group(s) to resolve for a given monitor_id, e.g.:
{"monitor_id": "group_to_resolve"}
.
It supports multiple groups per monitor, e.g.:
resolve: [{"monitor_id": "group_1"}, {"monitor_id": "group_2"}]
.
It can also resolve all triggered groups with the pseudo-group ALL_GROUPS
:
resolve: [{"monitor_id": "ALL_GROUPS"}]
.
[]
OK
[]
# Curl command
curl -X POST "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/monitor/bulk_resolve" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
[]
EOF
POST https://api.datadoghq.eu/api/v1/monitor/{monitor_id}/unmutehttps://api.ddog-gov.com/api/v1/monitor/{monitor_id}/unmutehttps://api.datadoghq.com/api/v1/monitor/{monitor_id}/unmutehttps://api.us3.datadoghq.com/api/v1/monitor/{monitor_id}/unmute
Unmute the specified monitor.
Name
Type
Description
monitor_id [required]
integer
The id of the monitor
Name
Type
Description
scope
string
The scope to apply the mute to.
For example, if your alert is grouped by {host}
, you might mute host:app1
.
all_scopes
boolean
Clear muting across all scopes. Default is false
.
OK
Object describing a monitor.
Field
Type
Description
created
date-time
Timestamp of the monitor creation.
creator
object
Object describing the creator of the shared element.
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
deleted
date-time
Whether or not the monitor is deleted. (Always null
)
id
int64
ID of this monitor.
message
string
A message to include with notifications for this monitor.
modified
date-time
Last timestamp when the monitor was edited.
multi
boolean
Whether or not the monitor is broken down on different groups.
name
string
The monitor name.
options
object
List of options associated with your monitor.
aggregation
object
Type of aggregation performed in the monitor query.
group_by
string
Group to break down the monitor on.
metric
string
Metric name used in the monitor.
type
string
Metric type used in the monitor.
device_ids
[string]
DEPRECATED: IDs of the device the Synthetics monitor is running on.
enable_logs_sample
boolean
Whether or not to send a log sample when the log monitor triggers.
escalation_message
string
A message to include with a re-notification. Supports the @username
notification we allow elsewhere.
Not applicable if renotify_interval
is None
.
evaluation_delay
int64
Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300
(5min),
the timeframe is set to last_5m
and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
groupby_simple_monitor
boolean
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
include_tags
boolean
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
Examples
True
, [Triggered on {host:h1}] Monitor Title
False
, [Triggered] Monitor Title
locked
boolean
Whether or not the monitor is locked (only editable by creator and admins).
min_failure_duration
int64
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
min_location_failed
int64
The minimum number of locations in failure at the same time during
at least one moment in the min_failure_duration
period (min_location_failed
and min_failure_duration
are part of the advanced alerting rules - integer, >= 1).
new_host_delay
int64
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results. Should be a non negative integer.
no_data_timeframe
int64
The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe is used for metric alerts, and 24 hours is used for service checks.
notify_audit
boolean
A Boolean indicating whether tagged users is notified on changes to this monitor.
notify_no_data
boolean
A Boolean indicating whether this monitor notifies when data stops reporting.
renotify_interval
int64
The number of minutes after the last notification before a monitor re-notifies on the current status. It only re-notifies if it’s not resolved.
require_full_window
boolean
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 are skipped. Default is false.
silenced
object
DEPRECATED: Information about the downtime applied to the monitor.
<any-key>
int64
ID of the downtime applied to the monitor.
synthetics_check_id
string
DEPRECATED: ID of the corresponding Synthetic check.
threshold_windows
object
Alerting time window options.
recovery_window
string
Describes how long an anomalous metric must be normal before the alert recovers.
trigger_window
string
Describes how long a metric must be anomalous before an alert triggers.
thresholds
object
List of the different monitor threshold available.
critical
double
The monitor CRITICAL
threshold.
critical_recovery
double
The monitor CRITICAL
recovery threshold.
ok
double
The monitor OK
threshold.
unknown
double
The monitor UNKNOWN threshold.
warning
double
The monitor WARNING
threshold.
warning_recovery
double
The monitor WARNING
recovery threshold.
timeout_h
int64
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
overall_state
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
priority
int64
Integer from 1 (high) to 5 (low) indicating alert severity.
query
string
The monitor query.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API. Cannot be used with locked
option.
state
object
Wrapper object with the different monitor states.
groups
object
Dictionary where the keys are groups (comma separated lists of tags) and the values are the list of groups your monitor is broken down on.
<any-key>
object
Monitor state for a single group.
last_nodata_ts
int64
Latest timestamp the monitor was in NO_DATA state.
last_notified_ts
int64
Latest timestamp of the notification sent for this monitor group.
last_resolved_ts
int64
Latest timestamp the monitor group was resolved.
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
name
string
The name of the monitor.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
tags
[string]
Tags associated to your monitor.
type
enum
The type of the monitor. For more information about type
, see the monitor options docs.
Allowed enum values: composite,event alert,log alert,metric alert,process alert,query alert,rum alert,service check,synthetics alert,trace-analytics alert,slo alert,event-v2 alert
{
"created": "2019-09-19T10:00:00.000Z",
"creator": {
"email": "string",
"handle": "string",
"name": "string"
},
"deleted": "2019-09-19T10:00:00.000Z",
"id": "integer",
"message": "string",
"modified": "2019-09-19T10:00:00.000Z",
"multi": false,
"name": "string",
"options": {
"aggregation": {
"group_by": "host",
"metric": "metrics.name",
"type": "count"
},
"device_ids": [],
"enable_logs_sample": false,
"escalation_message": "string",
"evaluation_delay": "integer",
"groupby_simple_monitor": false,
"include_tags": false,
"locked": false,
"min_failure_duration": "integer",
"min_location_failed": "integer",
"new_host_delay": "integer",
"no_data_timeframe": "integer",
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": "integer",
"require_full_window": false,
"silenced": {
"<any-key>": "integer"
},
"synthetics_check_id": "string",
"threshold_windows": {
"recovery_window": "string",
"trigger_window": "string"
},
"thresholds": {
"critical": "number",
"critical_recovery": "number",
"ok": "number",
"unknown": "number",
"warning": "number",
"warning_recovery": "number"
},
"timeout_h": "integer"
},
"overall_state": "string",
"priority": "integer",
"query": "string",
"restricted_roles": [],
"state": {
"groups": {
"<any-key>": {
"last_nodata_ts": "integer",
"last_notified_ts": "integer",
"last_resolved_ts": "integer",
"last_triggered_ts": "integer",
"name": "string",
"status": "string"
}
}
},
"tags": [],
"type": "string"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication error
Error response object.
{
"errors": [
"Bad Request"
]
}
Monitor Not Found error
Error response object.
{
"errors": [
"Bad Request"
]
}
# Path parameters
export monitor_id="CHANGE_ME"
# Curl command
curl -X POST "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/monitor/${monitor_id}/unmute" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
# Unmute all alerts
api.Monitor.unmute(2088)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python "example.py"
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
# Unmute an alert
dog.unmute_monitor(62_628)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
POST https://api.datadoghq.eu/v1/monitor/unmute_allhttps://api.ddog-gov.com/v1/monitor/unmute_allhttps://api.datadoghq.com/v1/monitor/unmute_allhttps://api.us3.datadoghq.com/v1/monitor/unmute_all
Disables muting all monitors. Throws an error if mute all was not enabled previously.
OK
Bad Request
Authentication error
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/v1/monitor/unmute_all" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
POST https://api.datadoghq.eu/api/v1/monitor/validatehttps://api.ddog-gov.com/api/v1/monitor/validatehttps://api.datadoghq.com/api/v1/monitor/validatehttps://api.us3.datadoghq.com/api/v1/monitor/validate
Validate the monitor provided in the request.
Monitor request object
Field
Type
Description
created
date-time
Timestamp of the monitor creation.
creator
object
Object describing the creator of the shared element.
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
deleted
date-time
Whether or not the monitor is deleted. (Always null
)
id
int64
ID of this monitor.
message
string
A message to include with notifications for this monitor.
modified
date-time
Last timestamp when the monitor was edited.
multi
boolean
Whether or not the monitor is broken down on different groups.
name
string
The monitor name.
options
object
List of options associated with your monitor.
aggregation
object
Type of aggregation performed in the monitor query.
group_by
string
Group to break down the monitor on.
metric
string
Metric name used in the monitor.
type
string
Metric type used in the monitor.
device_ids
[string]
DEPRECATED: IDs of the device the Synthetics monitor is running on.
enable_logs_sample
boolean
Whether or not to send a log sample when the log monitor triggers.
escalation_message
string
A message to include with a re-notification. Supports the @username
notification we allow elsewhere.
Not applicable if renotify_interval
is None
.
evaluation_delay
int64
Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300
(5min),
the timeframe is set to last_5m
and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
groupby_simple_monitor
boolean
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
include_tags
boolean
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
Examples
True
, [Triggered on {host:h1}] Monitor Title
False
, [Triggered] Monitor Title
locked
boolean
Whether or not the monitor is locked (only editable by creator and admins).
min_failure_duration
int64
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
min_location_failed
int64
The minimum number of locations in failure at the same time during
at least one moment in the min_failure_duration
period (min_location_failed
and min_failure_duration
are part of the advanced alerting rules - integer, >= 1).
new_host_delay
int64
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results. Should be a non negative integer.
no_data_timeframe
int64
The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe is used for metric alerts, and 24 hours is used for service checks.
notify_audit
boolean
A Boolean indicating whether tagged users is notified on changes to this monitor.
notify_no_data
boolean
A Boolean indicating whether this monitor notifies when data stops reporting.
renotify_interval
int64
The number of minutes after the last notification before a monitor re-notifies on the current status. It only re-notifies if it’s not resolved.
require_full_window
boolean
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 are skipped. Default is false.
silenced
object
DEPRECATED: Information about the downtime applied to the monitor.
<any-key>
int64
ID of the downtime applied to the monitor.
synthetics_check_id
string
DEPRECATED: ID of the corresponding Synthetic check.
threshold_windows
object
Alerting time window options.
recovery_window
string
Describes how long an anomalous metric must be normal before the alert recovers.
trigger_window
string
Describes how long a metric must be anomalous before an alert triggers.
thresholds
object
List of the different monitor threshold available.
critical
double
The monitor CRITICAL
threshold.
critical_recovery
double
The monitor CRITICAL
recovery threshold.
ok
double
The monitor OK
threshold.
unknown
double
The monitor UNKNOWN threshold.
warning
double
The monitor WARNING
threshold.
warning_recovery
double
The monitor WARNING
recovery threshold.
timeout_h
int64
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
overall_state
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
priority
int64
Integer from 1 (high) to 5 (low) indicating alert severity.
query
string
The monitor query.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API. Cannot be used with locked
option.
state
object
Wrapper object with the different monitor states.
groups
object
Dictionary where the keys are groups (comma separated lists of tags) and the values are the list of groups your monitor is broken down on.
<any-key>
object
Monitor state for a single group.
last_nodata_ts
int64
Latest timestamp the monitor was in NO_DATA state.
last_notified_ts
int64
Latest timestamp of the notification sent for this monitor group.
last_resolved_ts
int64
Latest timestamp the monitor group was resolved.
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
name
string
The name of the monitor.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
tags
[string]
Tags associated to your monitor.
type
enum
The type of the monitor. For more information about type
, see the monitor options docs.
Allowed enum values: composite,event alert,log alert,metric alert,process alert,query alert,rum alert,service check,synthetics alert,trace-analytics alert,slo alert,event-v2 alert
{
"message": "string",
"name": "string",
"options": {
"enable_logs_sample": false,
"escalation_message": "string",
"evaluation_delay": "integer",
"groupby_simple_monitor": false,
"include_tags": false,
"locked": false,
"min_failure_duration": "integer",
"min_location_failed": "integer",
"new_host_delay": "integer",
"no_data_timeframe": "integer",
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": "integer",
"require_full_window": false,
"silenced": {
"<any-key>": "integer"
},
"synthetics_check_id": "string",
"threshold_windows": {
"recovery_window": "string",
"trigger_window": "string"
},
"thresholds": {
"critical": "number",
"critical_recovery": "number",
"ok": "number",
"unknown": "number",
"warning": "number",
"warning_recovery": "number"
},
"timeout_h": "integer"
},
"priority": "integer",
"query": "string",
"restricted_roles": [],
"tags": [],
"type": "string"
}
OK
Object describing a monitor.
Field
Type
Description
created
date-time
Timestamp of the monitor creation.
creator
object
Object describing the creator of the shared element.
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
deleted
date-time
Whether or not the monitor is deleted. (Always null
)
id
int64
ID of this monitor.
message
string
A message to include with notifications for this monitor.
modified
date-time
Last timestamp when the monitor was edited.
multi
boolean
Whether or not the monitor is broken down on different groups.
name
string
The monitor name.
options
object
List of options associated with your monitor.
aggregation
object
Type of aggregation performed in the monitor query.
group_by
string
Group to break down the monitor on.
metric
string
Metric name used in the monitor.
type
string
Metric type used in the monitor.
device_ids
[string]
DEPRECATED: IDs of the device the Synthetics monitor is running on.
enable_logs_sample
boolean
Whether or not to send a log sample when the log monitor triggers.
escalation_message
string
A message to include with a re-notification. Supports the @username
notification we allow elsewhere.
Not applicable if renotify_interval
is None
.
evaluation_delay
int64
Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300
(5min),
the timeframe is set to last_5m
and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
groupby_simple_monitor
boolean
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
include_tags
boolean
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
Examples
True
, [Triggered on {host:h1}] Monitor Title
False
, [Triggered] Monitor Title
locked
boolean
Whether or not the monitor is locked (only editable by creator and admins).
min_failure_duration
int64
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
min_location_failed
int64
The minimum number of locations in failure at the same time during
at least one moment in the min_failure_duration
period (min_location_failed
and min_failure_duration
are part of the advanced alerting rules - integer, >= 1).
new_host_delay
int64
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results. Should be a non negative integer.
no_data_timeframe
int64
The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe is used for metric alerts, and 24 hours is used for service checks.
notify_audit
boolean
A Boolean indicating whether tagged users is notified on changes to this monitor.
notify_no_data
boolean
A Boolean indicating whether this monitor notifies when data stops reporting.
renotify_interval
int64
The number of minutes after the last notification before a monitor re-notifies on the current status. It only re-notifies if it’s not resolved.
require_full_window
boolean
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 are skipped. Default is false.
silenced
object
DEPRECATED: Information about the downtime applied to the monitor.
<any-key>
int64
ID of the downtime applied to the monitor.
synthetics_check_id
string
DEPRECATED: ID of the corresponding Synthetic check.
threshold_windows
object
Alerting time window options.
recovery_window
string
Describes how long an anomalous metric must be normal before the alert recovers.
trigger_window
string
Describes how long a metric must be anomalous before an alert triggers.
thresholds
object
List of the different monitor threshold available.
critical
double
The monitor CRITICAL
threshold.
critical_recovery
double
The monitor CRITICAL
recovery threshold.
ok
double
The monitor OK
threshold.
unknown
double
The monitor UNKNOWN threshold.
warning
double
The monitor WARNING
threshold.
warning_recovery
double
The monitor WARNING
recovery threshold.
timeout_h
int64
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
overall_state
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
priority
int64
Integer from 1 (high) to 5 (low) indicating alert severity.
query
string
The monitor query.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API. Cannot be used with locked
option.
state
object
Wrapper object with the different monitor states.
groups
object
Dictionary where the keys are groups (comma separated lists of tags) and the values are the list of groups your monitor is broken down on.
<any-key>
object
Monitor state for a single group.
last_nodata_ts
int64
Latest timestamp the monitor was in NO_DATA state.
last_notified_ts
int64
Latest timestamp of the notification sent for this monitor group.
last_resolved_ts
int64
Latest timestamp the monitor group was resolved.
last_triggered_ts
int64
Latest timestamp the monitor group triggered.
name
string
The name of the monitor.
status
enum
The different states your monitor can be in.
Allowed enum values: Alert,Ignored,No Data,OK,Skipped,Unknown,Warn
tags
[string]
Tags associated to your monitor.
type
enum
The type of the monitor. For more information about type
, see the monitor options docs.
Allowed enum values: composite,event alert,log alert,metric alert,process alert,query alert,rum alert,service check,synthetics alert,trace-analytics alert,slo alert,event-v2 alert
{
"created": "2019-09-19T10:00:00.000Z",
"creator": {
"email": "string",
"handle": "string",
"name": "string"
},
"deleted": "2019-09-19T10:00:00.000Z",
"id": "integer",
"message": "string",
"modified": "2019-09-19T10:00:00.000Z",
"multi": false,
"name": "string",
"options": {
"aggregation": {
"group_by": "host",
"metric": "metrics.name",
"type": "count"
},
"device_ids": [],
"enable_logs_sample": false,
"escalation_message": "string",
"evaluation_delay": "integer",
"groupby_simple_monitor": false,
"include_tags": false,
"locked": false,
"min_failure_duration": "integer",
"min_location_failed": "integer",
"new_host_delay": "integer",
"no_data_timeframe": "integer",
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": "integer",
"require_full_window": false,
"silenced": {
"<any-key>": "integer"
},
"synthetics_check_id": "string",
"threshold_windows": {
"recovery_window": "string",
"trigger_window": "string"
},
"thresholds": {
"critical": "number",
"critical_recovery": "number",
"ok": "number",
"unknown": "number",
"warning": "number",
"warning_recovery": "number"
},
"timeout_h": "integer"
},
"overall_state": "string",
"priority": "integer",
"query": "string",
"restricted_roles": [],
"state": {
"groups": {
"<any-key>": {
"last_nodata_ts": "integer",
"last_notified_ts": "integer",
"last_resolved_ts": "integer",
"last_triggered_ts": "integer",
"name": "string",
"status": "string"
}
}
},
"tags": [],
"type": "string"
}
Invalid JSON
Error response object.
{
"errors": [
"Bad Request"
]
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com/api/v1/monitor/validate" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{}
EOF
package main
import (
"context"
"encoding/json"
"fmt"
"os"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
body := *datadog.NewMonitor() // Monitor | Monitor request object
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
resp, r, err := apiClient.MonitorsApi.ValidateMonitor(ctx).Body(body).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `MonitorsApi.ValidateMonitor``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `ValidateMonitor`: Monitor
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from MonitorsApi.ValidateMonitor:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
go run "main.go"
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.MonitorsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
Monitor body = new Monitor(); // Monitor | Monitor request object
try {
Monitor result = apiInstance.validateMonitor(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#validateMonitor");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
java "Example.java"
from datadog import initialize, api
options = {
"api_key": "<DATADOG_API_KEY>",
"app_key": "<DATADOG_APPLICATION_KEY>"
}
initialize(**options)
monitor_type = "metric alert"
query = "avg(last_1h):sum:system.net.bytes_rcvd{host:host0} > 200"
monitor_options = {"thresholds": {"critical": 90.0}}
# Validate a monitor's definition
api.Monitor.validate(
type=monitor_type,
query=query,
options=monitor_options,
)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python "example.py"
import os
from dateutil.parser import parse as dateutil_parser
from datadog_api_client.v1 import ApiClient, ApiException, Configuration
from datadog_api_client.v1.api import monitors_api
from datadog_api_client.v1.models import *
from pprint import pprint
# See configuration.py for a list of all supported configuration parameters.
configuration = Configuration()
# Enter a context with an instance of the API client
with ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = monitors_api.MonitorsApi(api_client)
body = Monitor(
created=dateutil_parser('1970-01-01T00:00:00.00Z'),
creator=Creator(
email="email_example",
handle="handle_example",
name="name_example",
),
deleted=dateutil_parser('1970-01-01T00:00:00.00Z'),
id=1,
message="message_example",
modified=dateutil_parser('1970-01-01T00:00:00.00Z'),
multi=True,
name="name_example",
options=MonitorOptions(
aggregation=MonitorOptionsAggregation(
group_by="host",
metric="metrics.name",
type="count",
),
device_ids=[
MonitorDeviceID("laptop_large"),
],
enable_logs_sample=True,
escalation_message="none",
evaluation_delay=1,
groupby_simple_monitor=True,
include_tags=True,
locked=True,
min_failure_duration=0,
min_location_failed=1,
new_host_delay=300,
no_data_timeframe=1,
notify_audit=False,
notify_no_data=False,
renotify_interval=1,
require_full_window=True,
silenced={
"key": 1,
},
synthetics_check_id="synthetics_check_id_example",
threshold_windows=MonitorThresholdWindowOptions(
recovery_window="recovery_window_example",
trigger_window="trigger_window_example",
),
thresholds=MonitorThresholds(
critical=3.14,
critical_recovery=3.14,
ok=3.14,
unknown=3.14,
warning=3.14,
warning_recovery=3.14,
),
timeout_h=1,
),
overall_state=MonitorOverallStates("Alert"),
priority=1,
query="query_example",
restricted_roles=[
"restricted_roles_example",
],
state=MonitorState(
groups={
"key": MonitorStateGroup(
last_nodata_ts=1,
last_notified_ts=1,
last_resolved_ts=1,
last_triggered_ts=1,
name="name_example",
status=MonitorOverallStates("Alert"),
),
},
),
tags=[
"tags_example",
],
type=MonitorType("composite"),
) # Monitor | Monitor request object
# example passing only required values which don't have defaults set
try:
# Validate a monitor
api_response = api_instance.validate_monitor(body)
pprint(api_response)
except ApiException as e:
print("Exception when calling MonitorsApi->validate_monitor: %s\n" % e)
First install the library and its dependencies and then save the example to example.py
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
python3 "example.py"
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
type = 'metric alert'
query = 'THIS IS A BAD QUERY'
parameters = {
name: 'Bytes received on host0',
message: 'We may need to add web hosts if this is consistently high.',
tags: ['app:webserver', 'frontend'],
options: {
notify_no_data: true,
no_data_timeframe: 20,
thresholds: { critical: 90.0 }
}
}
# Validate a monitor definition
dog.validate_monitor(type, query, parameters)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"
require 'datadog_api_client'
api_instance = DatadogAPIClient::V1::MonitorsAPI.new
body = DatadogAPIClient::V1::Monitor.new # Monitor | Monitor request object
begin
# Validate a monitor
result = api_instance.validate_monitor(body)
p result
rescue DatadogAPIClient::V1::APIError => e
puts "Error when calling MonitorsAPI->validate_monitor: #{e}"
end
First install the library and its dependencies and then save the example to example.rb
and run following commands:
export DD_SITE="datadoghq.comus3.datadoghq.comdatadoghq.euddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>"
rb "example.rb"