- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
이벤트 관리 API를 이용하면 프로그램을 통해 이벤트를 Event Explorer에 게시하고 가져올 수 있습니다. 자세한 정보는 이벤트 관리 페이지를 참고하세요.
GET https://api.ap1.datadoghq.com/api/v1/eventshttps://api.datadoghq.eu/api/v1/eventshttps://api.ddog-gov.com/api/v1/eventshttps://api.datadoghq.com/api/v1/eventshttps://api.us3.datadoghq.com/api/v1/eventshttps://api.us5.datadoghq.com/api/v1/events
The event stream can be queried and filtered by time, priority, sources and tags.
Notes:
If the event you’re querying contains markdown formatting of any kind,
you may see characters such as %
,\
,n
in your output.
This endpoint returns a maximum of 1000
most recent results. To return additional results,
identify the last timestamp of the last result and set that as the end
query time to
paginate the results. You can also use the page parameter to specify which set of 1000
results to return.
events_read
permission.OAuth apps require the events_read
authorization scope to access this endpoint.
이름
유형
설명
start [required]
integer
POSIX timestamp.
end [required]
integer
POSIX timestamp.
priority
enum
Priority of your events, either low
or normal
.
Allowed enum values: normal, low
sources
string
A comma separated string of sources.
tags
string
A comma separated list indicating what tags, if any, should be used to filter the list of events.
unaggregated
boolean
Set unaggregated to true
to return all events within the specified [start
,end
] timeframe.
Otherwise if an event is aggregated to a parent event with a timestamp outside of the timeframe,
it won’t be available in the output. Aggregated events with is_aggregate=true
in the response will still be returned unless exclude_aggregate is set to true.
exclude_aggregate
boolean
Set exclude_aggregate
to true
to only return unaggregated events where is_aggregate=false
in the response. If the exclude_aggregate
parameter is set to true
,
then the unaggregated parameter is ignored and will be true
by default.
page
integer
By default 1000 results are returned per request. Set page to the number of the page to return with 0
being the first page. The page parameter can only be used
when either unaggregated or exclude_aggregate is set to true.
OK
An event list response.
항목
유형
설명
events
[object]
An array of events.
alert_type
enum
If an alert event is enabled, set its type.
For example, error
, warning
, info
, success
, user_update
,
recommendation
, and snapshot
.
Allowed enum values: error,warning,info,success,user_update,recommendation,snapshot
date_happened
int64
POSIX timestamp of the event. Must be sent as an integer (that is no quotes). Limited to events up to 18 hours in the past and two hours in the future.
device_name
string
A device name.
host
string
Host name to associate with the event. Any tags associated with the host are also applied to this event.
id
int64
Integer ID of the event.
id_str
string
Handling IDs as large 64-bit numbers can cause loss of accuracy issues with some programming languages. Instead, use the string representation of the Event ID to avoid losing accuracy.
payload
string
Payload of the event.
priority
enum
The priority of the event. For example, normal
or low
.
Allowed enum values: normal,low
source_type_name
string
The type of event being posted. Option examples include nagios, hudson, jenkins, my_apps, chef, puppet, git, bitbucket, etc. The list of standard source attribute values available here.
tags
[string]
A list of tags to apply to the event.
text
string
The body of the event. Limited to 4000 characters. The text supports markdown.
To use markdown in the event text, start the text block with %%% \n
and end the text block with \n %%%
.
Use msg_text
with the Datadog Ruby library.
title
string
The event title.
url
string
URL of the event.
status
string
A status.
{
"events": [
{
"alert_type": "info",
"date_happened": "integer",
"device_name": "string",
"host": "string",
"id": "integer",
"id_str": "string",
"payload": "{}",
"priority": "normal",
"source_type_name": "string",
"tags": [
"environment:test"
],
"text": "Oh boy!",
"title": "Did you hear the news today?",
"url": "string"
}
],
"status": "string"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Required query arguments
export start="CHANGE_ME"
export end="CHANGE_ME"
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/events?start=${start}&end=${end}" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get a list of events returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.events_api import EventsApi
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = EventsApi(api_client)
response = api_instance.list_events(
start=9223372036854775807,
end=9223372036854775807,
)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Get a list of events returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::EventsAPI.new
p api_instance.list_events(9223372036854775807, 9223372036854775807)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
end_time = Time.now.to_i
start_time = end_time - 100
dog.stream(start_time, end_time, :priority => "normal", :tags => ["-env:dev,application:web"], :unaggregated => true)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Get a list of events returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV1"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewEventsApi(apiClient)
resp, r, err := api.ListEvents(ctx, 9223372036854775807, 9223372036854775807, *datadogV1.NewListEventsOptionalParameters())
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `EventsApi.ListEvents`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `EventsApi.ListEvents`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Get a list of events returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.EventsApi;
import com.datadog.api.client.v1.model.EventListResponse;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
EventsApi apiInstance = new EventsApi(defaultClient);
try {
EventListResponse result = apiInstance.listEvents(9223372036854775807L, 9223372036854775807L);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling EventsApi#listEvents");
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:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
from datadog import initialize, api
import time
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
end_time = time.time()
start_time = end_time - 100
api.Event.query(
start=start_time,
end=end_time,
priority="normal",
tags=["-env:dev,application:web"],
unaggregated=True
)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python "example.py"
// Get a list of events returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_events::EventsAPI;
use datadog_api_client::datadogV1::api_events::ListEventsOptionalParams;
#[tokio::main]
async fn main() {
let configuration = datadog::Configuration::new();
let api = EventsAPI::with_config(configuration);
let resp = api
.list_events(
9223372036854775807,
9223372036854775807,
ListEventsOptionalParams::default(),
)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
* Get a list of events returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.EventsApi(configuration);
const params: v1.EventsApiListEventsRequest = {
start: 9223372036854775807,
end: 9223372036854775807,
};
apiInstance
.listEvents(params)
.then((data: v1.EventListResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"
GET https://api.ap1.datadoghq.com/api/v2/eventshttps://api.datadoghq.eu/api/v2/eventshttps://api.ddog-gov.com/api/v2/eventshttps://api.datadoghq.com/api/v2/eventshttps://api.us3.datadoghq.com/api/v2/eventshttps://api.us5.datadoghq.com/api/v2/events
List endpoint returns events that match an events search query. Results are paginated similarly to logs.
Use this endpoint to see your latest events.
This endpoint requires theevents_read
permission.OAuth apps require the events_read
authorization scope to access this endpoint.
이름
유형
설명
filter[query]
string
Search query following events syntax.
filter[from]
string
Minimum timestamp for requested events, in milliseconds.
filter[to]
string
Maximum timestamp for requested events, in milliseconds.
sort
enum
Order of events in results.
Allowed enum values: timestamp, -timestamp
page[cursor]
string
List following results with a cursor provided in the previous query.
page[limit]
integer
Maximum number of events in the response.
OK
The response object with all events matching the request and pagination information.
항목
유형
설명
data
[object]
An array of events matching the request.
attributes
object
The object description of an event response attribute.
attributes
object
Object description of attributes from your event.
aggregation_key
string
Aggregation key of the event.
date_happened
int64
POSIX timestamp of the event. Must be sent as an integer (no quotation marks). Limited to events no older than 18 hours.
device_name
string
A device name.
duration
int64
The duration between the triggering of the event and its recovery in nanoseconds.
event_object
string
The event title.
evt
object
The metadata associated with a request.
id
string
Event ID.
name
string
The event name.
source_id
int64
Event source ID.
type
string
Event type.
hostname
string
Host name to associate with the event. Any tags associated with the host are also applied to this event.
monitor
object
Attributes from the monitor that triggered the event.
created_at
int64
The POSIX timestamp of the monitor's creation in nanoseconds.
group_status
int32
Monitor group status used when there is no result_groups
.
groups
[string]
Groups to which the monitor belongs.
id
int64
The monitor ID.
message
string
The monitor message.
modified
int64
The monitor's last-modified timestamp.
name
string
The monitor name.
query
string
The query that triggers the alert.
tags
[string]
A list of tags attached to the monitor.
templated_name
string
The templated name of the monitor before resolving any template variables.
type
string
The monitor type.
monitor_groups
[string]
List of groups referred to in the event.
monitor_id
int64
ID of the monitor that triggered the event. When an event isn't related to a monitor, this field is empty.
priority
enum
The priority of the event's monitor. For example, normal
or low
.
Allowed enum values: normal,low
related_event_id
int64
Related event ID.
service
string
Service that triggered the event.
source_type_name
string
The type of event being posted.
For example, nagios
, hudson
, jenkins
, my_apps
, chef
, puppet
, git
or bitbucket
.
The list of standard source attribute values is available here.
sourcecategory
string
Identifier for the source of the event, such as a monitor alert, an externally-submitted event, or an integration.
status
enum
If an alert event is enabled, its status is one of the following:
failure
, error
, warning
, info
, success
, user_update
,
recommendation
, or snapshot
.
Allowed enum values: failure,error,warning,info,success,user_update,recommendation,snapshot
tags
[string]
A list of tags to apply to the event.
timestamp
int64
POSIX timestamp of your event in milliseconds.
title
string
The event title.
message
string
The message of the event.
tags
[string]
An array of tags associated with the event.
timestamp
date-time
The timestamp of the event.
id
string
the unique ID of the event.
type
enum
Type of the event.
Allowed enum values: event
default: event
links
object
Links attributes.
next
string
Link for the next set of results. Note that the request can also be made using the POST endpoint.
meta
object
The metadata associated with a request.
elapsed
int64
The time elapsed in milliseconds.
page
object
Pagination attributes.
after
string
The cursor to use to get the next results, if any. To make the next request, use the same
parameters with the addition of the page[cursor]
.
request_id
string
The identifier of the request.
status
string
The request status.
warnings
[object]
A list of warnings (non-fatal errors) encountered. Partial results might be returned if warnings are present in the response.
code
string
A unique code for this type of warning.
detail
string
A detailed explanation of this specific warning.
title
string
A short human-readable summary of the warning.
{
"data": [
{
"attributes": {
"attributes": {
"aggregation_key": "string",
"date_happened": "integer",
"device_name": "string",
"duration": "integer",
"event_object": "Did you hear the news today?",
"evt": {
"id": "6509751066204996294",
"name": "string",
"source_id": 36,
"type": "error_tracking_alert"
},
"hostname": "string",
"monitor": {
"created_at": 1646318692000,
"group_status": "integer",
"groups": [],
"id": "integer",
"message": "string",
"modified": "integer",
"name": "string",
"query": "string",
"tags": [
"environment:test"
],
"templated_name": "string",
"type": "string"
},
"monitor_groups": [],
"monitor_id": "integer",
"priority": "normal",
"related_event_id": "integer",
"service": "datadog-api",
"source_type_name": "string",
"sourcecategory": "string",
"status": "info",
"tags": [
"environment:test"
],
"timestamp": 1652274265000,
"title": "Oh boy!"
},
"message": "string",
"tags": [
"team:A"
],
"timestamp": "2019-01-02T09:42:36.320Z"
},
"id": "AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA",
"type": "event"
}
],
"links": {
"next": "https://app.datadoghq.com/api/v2/events?filter[query]=foo\u0026page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ=="
},
"meta": {
"elapsed": 132,
"page": {
"after": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ=="
},
"request_id": "MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR",
"status": "done",
"warnings": [
{
"code": "unknown_index",
"detail": "indexes: foo, bar",
"title": "One or several indexes are missing or invalid. Results hold data from the other indexes."
}
]
}
}
Bad Request
API error response.
{
"errors": [
"Bad Request"
]
}
Not Authorized
API error response.
{
"errors": [
"Bad Request"
]
}
Too many requests
API error response.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/events" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get a list of events returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.events_api import EventsApi
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = EventsApi(api_client)
response = api_instance.list_events()
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Get a list of events returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V2::EventsAPI.new
p api_instance.list_events()
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Get a list of events returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewEventsApi(apiClient)
resp, r, err := api.ListEvents(ctx, *datadogV2.NewListEventsOptionalParameters())
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `EventsApi.ListEvents`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `EventsApi.ListEvents`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Get a list of events returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.EventsApi;
import com.datadog.api.client.v2.model.EventsListResponse;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
EventsApi apiInstance = new EventsApi(defaultClient);
try {
EventsListResponse result = apiInstance.listEvents();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling EventsApi#listEvents");
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:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
// Get a list of events returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_events::EventsAPI;
use datadog_api_client::datadogV2::api_events::ListEventsOptionalParams;
#[tokio::main]
async fn main() {
let configuration = datadog::Configuration::new();
let api = EventsAPI::with_config(configuration);
let resp = api.list_events(ListEventsOptionalParams::default()).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
* Get a list of events returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v2.EventsApi(configuration);
apiInstance
.listEvents()
.then((data: v2.EventsListResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"
POST https://api.ap1.datadoghq.com/api/v1/eventshttps://api.datadoghq.eu/api/v1/eventshttps://api.ddog-gov.com/api/v1/eventshttps://api.datadoghq.com/api/v1/eventshttps://api.us3.datadoghq.com/api/v1/eventshttps://api.us5.datadoghq.com/api/v1/events
This endpoint allows you to post events to the stream. Tag them, set priority and event aggregate them with other events.
Event request object
{
"title": "Example-Event",
"text": "A text message.",
"tags": [
"test:ExampleEvent"
]
}
{
"title": "Example-Event very very very looooooooong looooooooooooong loooooooooooooooooooooong looooooooooooooooooooooooooong title with 100+ characters",
"text": "A text message.",
"tags": [
"test:ExampleEvent"
]
}
OK
Object containing an event response.
항목
유형
설명
event
object
Object representing an event.
alert_type
enum
If an alert event is enabled, set its type.
For example, error
, warning
, info
, success
, user_update
,
recommendation
, and snapshot
.
Allowed enum values: error,warning,info,success,user_update,recommendation,snapshot
date_happened
int64
POSIX timestamp of the event. Must be sent as an integer (that is no quotes). Limited to events up to 18 hours in the past and two hours in the future.
device_name
string
A device name.
host
string
Host name to associate with the event. Any tags associated with the host are also applied to this event.
id
int64
Integer ID of the event.
id_str
string
Handling IDs as large 64-bit numbers can cause loss of accuracy issues with some programming languages. Instead, use the string representation of the Event ID to avoid losing accuracy.
payload
string
Payload of the event.
priority
enum
The priority of the event. For example, normal
or low
.
Allowed enum values: normal,low
source_type_name
string
The type of event being posted. Option examples include nagios, hudson, jenkins, my_apps, chef, puppet, git, bitbucket, etc. The list of standard source attribute values available here.
tags
[string]
A list of tags to apply to the event.
text
string
The body of the event. Limited to 4000 characters. The text supports markdown.
To use markdown in the event text, start the text block with %%% \n
and end the text block with \n %%%
.
Use msg_text
with the Datadog Ruby library.
title
string
The event title.
url
string
URL of the event.
status
string
A status.
{
"event": {
"alert_type": "info",
"date_happened": "integer",
"device_name": "string",
"host": "string",
"id": "integer",
"id_str": "string",
"payload": "{}",
"priority": "normal",
"source_type_name": "string",
"tags": [
"environment:test"
],
"text": "Oh boy!",
"title": "Did you hear the news today?",
"url": "string"
},
"status": "string"
}
Bad Request
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/events" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"title": "Example-Event",
"text": "A text message.",
"tags": [
"test:ExampleEvent"
]
}
EOF
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/events" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"title": "Example-Event very very very looooooooong looooooooooooong loooooooooooooooooooooong looooooooooooooooooooooooooong title with 100+ characters",
"text": "A text message.",
"tags": [
"test:ExampleEvent"
]
}
EOF
// Post an event returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV1"
)
func main() {
body := datadogV1.EventCreateRequest{
Title: "Example-Event",
Text: "A text message.",
Tags: []string{
"test:ExampleEvent",
},
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewEventsApi(apiClient)
resp, r, err := api.CreateEvent(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `EventsApi.CreateEvent`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `EventsApi.CreateEvent`:\n%s\n", responseContent)
}
// Post an event with a long title returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV1"
)
func main() {
body := datadogV1.EventCreateRequest{
Title: "Example-Event very very very looooooooong looooooooooooong loooooooooooooooooooooong looooooooooooooooooooooooooong title with 100+ characters",
Text: "A text message.",
Tags: []string{
"test:ExampleEvent",
},
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewEventsApi(apiClient)
resp, r, err := api.CreateEvent(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `EventsApi.CreateEvent`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `EventsApi.CreateEvent`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"
// Post an event returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.EventsApi;
import com.datadog.api.client.v1.model.EventCreateRequest;
import com.datadog.api.client.v1.model.EventCreateResponse;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
EventsApi apiInstance = new EventsApi(defaultClient);
EventCreateRequest body =
new EventCreateRequest()
.title("Example-Event")
.text("A text message.")
.tags(Collections.singletonList("test:ExampleEvent"));
try {
EventCreateResponse result = apiInstance.createEvent(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling EventsApi#createEvent");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
// Post an event with a long title returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.EventsApi;
import com.datadog.api.client.v1.model.EventCreateRequest;
import com.datadog.api.client.v1.model.EventCreateResponse;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
EventsApi apiInstance = new EventsApi(defaultClient);
EventCreateRequest body =
new EventCreateRequest()
.title(
"Example-Event very very very looooooooong looooooooooooong"
+ " loooooooooooooooooooooong looooooooooooooooooooooooooong title with 100+"
+ " characters")
.text("A text message.")
.tags(Collections.singletonList("test:ExampleEvent"));
try {
EventCreateResponse result = apiInstance.createEvent(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling EventsApi#createEvent");
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:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
title = "Something big happened!"
text = 'And let me tell you all about it here!'
tags = ['version:1', 'application:web']
api.Event.create(title=title, text=text, tags=tags)
# If you are programmatically adding a comment to this new event
# you might want to insert a pause of .5 - 1 second to allow the
# event to be available.
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" python "example.py"
"""
Post an event returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.events_api import EventsApi
from datadog_api_client.v1.model.event_create_request import EventCreateRequest
body = EventCreateRequest(
title="Example-Event",
text="A text message.",
tags=[
"test:ExampleEvent",
],
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = EventsApi(api_client)
response = api_instance.create_event(body=body)
print(response)
"""
Post an event with a long title returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.events_api import EventsApi
from datadog_api_client.v1.model.event_create_request import EventCreateRequest
body = EventCreateRequest(
title="Example-Event very very very looooooooong looooooooooooong loooooooooooooooooooooong looooooooooooooooooooooooooong title with 100+ characters",
text="A text message.",
tags=[
"test:ExampleEvent",
],
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = EventsApi(api_client)
response = api_instance.create_event(body=body)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_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)
# submitting events doesn 't require an application_key,
# so we don't bother setting it
dog = Dogapi::Client.new(api_key)
dog.emit_event(Dogapi::Event.new('msg_text', :msg_title => 'Title'))
# If you are programmatically adding a comment to this new event
# you might want to insert a pause of.5 - 1 second to allow the
# event to be available.
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"
# Post an event returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::EventsAPI.new
body = DatadogAPIClient::V1::EventCreateRequest.new({
title: "Example-Event",
text: "A text message.",
tags: [
"test:ExampleEvent",
],
})
p api_instance.create_event(body)
# Post an event with a long title returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::EventsAPI.new
body = DatadogAPIClient::V1::EventCreateRequest.new({
title: "Example-Event very very very looooooooong looooooooooooong loooooooooooooooooooooong looooooooooooooooooooooooooong title with 100+ characters",
text: "A text message.",
tags: [
"test:ExampleEvent",
],
})
p api_instance.create_event(body)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"
// Post an event returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_events::EventsAPI;
use datadog_api_client::datadogV1::model::EventCreateRequest;
#[tokio::main]
async fn main() {
let body = EventCreateRequest::new("A text message.".to_string(), "Example-Event".to_string())
.tags(vec!["test:ExampleEvent".to_string()]);
let configuration = datadog::Configuration::new();
let api = EventsAPI::with_config(configuration);
let resp = api.create_event(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
// Post an event with a long title returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_events::EventsAPI;
use datadog_api_client::datadogV1::model::EventCreateRequest;
#[tokio::main]
async fn main() {
let body =
EventCreateRequest::new(
"A text message.".to_string(),
"Example-Event very very very looooooooong looooooooooooong loooooooooooooooooooooong looooooooooooooooooooooooooong title with 100+ characters".to_string(),
).tags(vec!["test:ExampleEvent".to_string()]);
let configuration = datadog::Configuration::new();
let api = EventsAPI::with_config(configuration);
let resp = api.create_event(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" cargo run
/**
* Post an event returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.EventsApi(configuration);
const params: v1.EventsApiCreateEventRequest = {
body: {
title: "Example-Event",
text: "A text message.",
tags: ["test:ExampleEvent"],
},
};
apiInstance
.createEvent(params)
.then((data: v1.EventCreateResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
/**
* Post an event with a long title returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.EventsApi(configuration);
const params: v1.EventsApiCreateEventRequest = {
body: {
title:
"Example-Event very very very looooooooong looooooooooooong loooooooooooooooooooooong looooooooooooooooooooooooooong title with 100+ characters",
text: "A text message.",
tags: ["test:ExampleEvent"],
},
};
apiInstance
.createEvent(params)
.then((data: v1.EventCreateResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"
GET https://api.ap1.datadoghq.com/api/v1/events/{event_id}https://api.datadoghq.eu/api/v1/events/{event_id}https://api.ddog-gov.com/api/v1/events/{event_id}https://api.datadoghq.com/api/v1/events/{event_id}https://api.us3.datadoghq.com/api/v1/events/{event_id}https://api.us5.datadoghq.com/api/v1/events/{event_id}
This endpoint allows you to query for event details.
Note: If the event you’re querying contains markdown formatting of any kind,
you may see characters such as %
,\
,n
in your output.
events_read
permission.OAuth apps require the events_read
authorization scope to access this endpoint.
이름
유형
설명
event_id [required]
integer
The ID of the event.
OK
Object containing an event response.
항목
유형
설명
event
object
Object representing an event.
alert_type
enum
If an alert event is enabled, set its type.
For example, error
, warning
, info
, success
, user_update
,
recommendation
, and snapshot
.
Allowed enum values: error,warning,info,success,user_update,recommendation,snapshot
date_happened
int64
POSIX timestamp of the event. Must be sent as an integer (that is no quotes). Limited to events up to 18 hours in the past and two hours in the future.
device_name
string
A device name.
host
string
Host name to associate with the event. Any tags associated with the host are also applied to this event.
id
int64
Integer ID of the event.
id_str
string
Handling IDs as large 64-bit numbers can cause loss of accuracy issues with some programming languages. Instead, use the string representation of the Event ID to avoid losing accuracy.
payload
string
Payload of the event.
priority
enum
The priority of the event. For example, normal
or low
.
Allowed enum values: normal,low
source_type_name
string
The type of event being posted. Option examples include nagios, hudson, jenkins, my_apps, chef, puppet, git, bitbucket, etc. The list of standard source attribute values available here.
tags
[string]
A list of tags to apply to the event.
text
string
The body of the event. Limited to 4000 characters. The text supports markdown.
To use markdown in the event text, start the text block with %%% \n
and end the text block with \n %%%
.
Use msg_text
with the Datadog Ruby library.
title
string
The event title.
url
string
URL of the event.
status
string
A status.
{
"event": {
"alert_type": "info",
"date_happened": "integer",
"device_name": "string",
"host": "string",
"id": "integer",
"id_str": "string",
"payload": "{}",
"priority": "normal",
"source_type_name": "string",
"tags": [
"environment:test"
],
"text": "Oh boy!",
"title": "Did you hear the news today?",
"url": "string"
},
"status": "string"
}
Authentication Error
Error response object.
{
"errors": [
"Bad Request"
]
}
Item Not Found
Error response object.
{
"errors": [
"Bad Request"
]
}
Too many requests
Error response object.
{
"errors": [
"Bad Request"
]
}
# Path parameters
export event_id="CHANGE_ME"
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v1/events/${event_id}" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get an event returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.events_api import EventsApi
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = EventsApi(api_client)
response = api_instance.get_event(
event_id=9223372036854775807,
)
print(response)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Get an event returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::EventsAPI.new
p api_instance.get_event(9223372036854775807)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
require 'rubygems'
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
dog = Dogapi::Client.new(api_key, app_key)
event_id = '1375909614428331251'
dog.get_event(event_id)
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Get an event returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV1"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewEventsApi(apiClient)
resp, r, err := api.GetEvent(ctx, 9223372036854775807)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `EventsApi.GetEvent`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `EventsApi.GetEvent`:\n%s\n", responseContent)
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Get an event returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.EventsApi;
import com.datadog.api.client.v1.model.EventResponse;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
EventsApi apiInstance = new EventsApi(defaultClient);
try {
EventResponse result = apiInstance.getEvent(9223372036854775807L);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling EventsApi#getEvent");
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:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
from datadog import initialize, api
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
api.Event.get(2603387619536318140)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python "example.py"
// Get an event returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_events::EventsAPI;
#[tokio::main]
async fn main() {
let configuration = datadog::Configuration::new();
let api = EventsAPI::with_config(configuration);
let resp = api.get_event(9223372036854775807).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
* Get an event returns "OK" response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.EventsApi(configuration);
const params: v1.EventsApiGetEventRequest = {
eventId: 9223372036854775807,
};
apiInstance
.getEvent(params)
.then((data: v1.EventResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"
POST https://api.ap1.datadoghq.com/api/v2/events/searchhttps://api.datadoghq.eu/api/v2/events/searchhttps://api.ddog-gov.com/api/v2/events/searchhttps://api.datadoghq.com/api/v2/events/searchhttps://api.us3.datadoghq.com/api/v2/events/searchhttps://api.us5.datadoghq.com/api/v2/events/search
List endpoint returns events that match an events search query. Results are paginated similarly to logs.
Use this endpoint to build complex events filtering and search.
This endpoint requires theevents_read
permission.항목
유형
설명
filter
object
The search and filter query settings.
from
string
The minimum time for the requested events. Supports date math and regular timestamps in milliseconds.
default: now-15m
query
string
The search query following the event search syntax.
default: *
to
string
The maximum time for the requested events. Supports date math and regular timestamps in milliseconds.
default: now
options
object
The global query options that are used. Either provide a timezone or a time offset but not both, otherwise the query fails.
timeOffset
int64
The time offset to apply to the query in seconds.
timezone
string
The timezone can be specified as GMT, UTC, an offset from UTC (like UTC+1), or as a Timezone Database identifier (like America/New_York).
default: UTC
page
object
Pagination settings.
cursor
string
The returned paging point to use to get the next results.
limit
int32
The maximum number of logs in the response.
default: 10
sort
enum
The sort parameters when querying events.
Allowed enum values: timestamp,-timestamp
{
"filter": {
"query": "datadog-agent",
"from": "2020-09-17T11:48:36+01:00",
"to": "2020-09-17T12:48:36+01:00"
},
"sort": "timestamp",
"page": {
"limit": 5
}
}
{
"filter": {
"from": "now-15m",
"to": "now"
},
"options": {
"timezone": "GMT"
},
"page": {
"limit": 2
},
"sort": "timestamp"
}
OK
The response object with all events matching the request and pagination information.
항목
유형
설명
data
[object]
An array of events matching the request.
attributes
object
The object description of an event response attribute.
attributes
object
Object description of attributes from your event.
aggregation_key
string
Aggregation key of the event.
date_happened
int64
POSIX timestamp of the event. Must be sent as an integer (no quotation marks). Limited to events no older than 18 hours.
device_name
string
A device name.
duration
int64
The duration between the triggering of the event and its recovery in nanoseconds.
event_object
string
The event title.
evt
object
The metadata associated with a request.
id
string
Event ID.
name
string
The event name.
source_id
int64
Event source ID.
type
string
Event type.
hostname
string
Host name to associate with the event. Any tags associated with the host are also applied to this event.
monitor
object
Attributes from the monitor that triggered the event.
created_at
int64
The POSIX timestamp of the monitor's creation in nanoseconds.
group_status
int32
Monitor group status used when there is no result_groups
.
groups
[string]
Groups to which the monitor belongs.
id
int64
The monitor ID.
message
string
The monitor message.
modified
int64
The monitor's last-modified timestamp.
name
string
The monitor name.
query
string
The query that triggers the alert.
tags
[string]
A list of tags attached to the monitor.
templated_name
string
The templated name of the monitor before resolving any template variables.
type
string
The monitor type.
monitor_groups
[string]
List of groups referred to in the event.
monitor_id
int64
ID of the monitor that triggered the event. When an event isn't related to a monitor, this field is empty.
priority
enum
The priority of the event's monitor. For example, normal
or low
.
Allowed enum values: normal,low
related_event_id
int64
Related event ID.
service
string
Service that triggered the event.
source_type_name
string
The type of event being posted.
For example, nagios
, hudson
, jenkins
, my_apps
, chef
, puppet
, git
or bitbucket
.
The list of standard source attribute values is available here.
sourcecategory
string
Identifier for the source of the event, such as a monitor alert, an externally-submitted event, or an integration.
status
enum
If an alert event is enabled, its status is one of the following:
failure
, error
, warning
, info
, success
, user_update
,
recommendation
, or snapshot
.
Allowed enum values: failure,error,warning,info,success,user_update,recommendation,snapshot
tags
[string]
A list of tags to apply to the event.
timestamp
int64
POSIX timestamp of your event in milliseconds.
title
string
The event title.
message
string
The message of the event.
tags
[string]
An array of tags associated with the event.
timestamp
date-time
The timestamp of the event.
id
string
the unique ID of the event.
type
enum
Type of the event.
Allowed enum values: event
default: event
links
object
Links attributes.
next
string
Link for the next set of results. Note that the request can also be made using the POST endpoint.
meta
object
The metadata associated with a request.
elapsed
int64
The time elapsed in milliseconds.
page
object
Pagination attributes.
after
string
The cursor to use to get the next results, if any. To make the next request, use the same
parameters with the addition of the page[cursor]
.
request_id
string
The identifier of the request.
status
string
The request status.
warnings
[object]
A list of warnings (non-fatal errors) encountered. Partial results might be returned if warnings are present in the response.
code
string
A unique code for this type of warning.
detail
string
A detailed explanation of this specific warning.
title
string
A short human-readable summary of the warning.
{
"data": [
{
"attributes": {
"attributes": {
"aggregation_key": "string",
"date_happened": "integer",
"device_name": "string",
"duration": "integer",
"event_object": "Did you hear the news today?",
"evt": {
"id": "6509751066204996294",
"name": "string",
"source_id": 36,
"type": "error_tracking_alert"
},
"hostname": "string",
"monitor": {
"created_at": 1646318692000,
"group_status": "integer",
"groups": [],
"id": "integer",
"message": "string",
"modified": "integer",
"name": "string",
"query": "string",
"tags": [
"environment:test"
],
"templated_name": "string",
"type": "string"
},
"monitor_groups": [],
"monitor_id": "integer",
"priority": "normal",
"related_event_id": "integer",
"service": "datadog-api",
"source_type_name": "string",
"sourcecategory": "string",
"status": "info",
"tags": [
"environment:test"
],
"timestamp": 1652274265000,
"title": "Oh boy!"
},
"message": "string",
"tags": [
"team:A"
],
"timestamp": "2019-01-02T09:42:36.320Z"
},
"id": "AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA",
"type": "event"
}
],
"links": {
"next": "https://app.datadoghq.com/api/v2/events?filter[query]=foo\u0026page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ=="
},
"meta": {
"elapsed": 132,
"page": {
"after": "eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ=="
},
"request_id": "MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR",
"status": "done",
"warnings": [
{
"code": "unknown_index",
"detail": "indexes: foo, bar",
"title": "One or several indexes are missing or invalid. Results hold data from the other indexes."
}
]
}
}
Bad Request
API error response.
{
"errors": [
"Bad Request"
]
}
Not Authorized
API error response.
{
"errors": [
"Bad Request"
]
}
Too many requests
API error response.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/events/search" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
"filter": {
"query": "datadog-agent",
"from": "2020-09-17T11:48:36+01:00",
"to": "2020-09-17T12:48:36+01:00"
},
"sort": "timestamp",
"page": {
"limit": 5
}
}
EOF
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/events/search" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
"filter": {
"from": "now-15m",
"to": "now"
},
"options": {
"timezone": "GMT"
},
"page": {
"limit": 2
},
"sort": "timestamp"
}
EOF
// Search events returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
body := datadogV2.EventsListRequest{
Filter: &datadogV2.EventsQueryFilter{
Query: datadog.PtrString("datadog-agent"),
From: datadog.PtrString("2020-09-17T11:48:36+01:00"),
To: datadog.PtrString("2020-09-17T12:48:36+01:00"),
},
Sort: datadogV2.EVENTSSORT_TIMESTAMP_ASCENDING.Ptr(),
Page: &datadogV2.EventsRequestPage{
Limit: datadog.PtrInt32(5),
},
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewEventsApi(apiClient)
resp, r, err := api.SearchEvents(ctx, *datadogV2.NewSearchEventsOptionalParameters().WithBody(body))
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `EventsApi.SearchEvents`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `EventsApi.SearchEvents`:\n%s\n", responseContent)
}
// Search events returns "OK" response with pagination
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
body := datadogV2.EventsListRequest{
Filter: &datadogV2.EventsQueryFilter{
From: datadog.PtrString("now-15m"),
To: datadog.PtrString("now"),
},
Options: &datadogV2.EventsQueryOptions{
Timezone: datadog.PtrString("GMT"),
},
Page: &datadogV2.EventsRequestPage{
Limit: datadog.PtrInt32(2),
},
Sort: datadogV2.EVENTSSORT_TIMESTAMP_ASCENDING.Ptr(),
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewEventsApi(apiClient)
resp, _ := api.SearchEventsWithPagination(ctx, *datadogV2.NewSearchEventsOptionalParameters().WithBody(body))
for paginationResult := range resp {
if paginationResult.Error != nil {
fmt.Fprintf(os.Stderr, "Error when calling `EventsApi.SearchEvents`: %v\n", paginationResult.Error)
}
responseContent, _ := json.MarshalIndent(paginationResult.Item, "", " ")
fmt.Fprintf(os.Stdout, "%s\n", responseContent)
}
}
First install the library and its dependencies and then save the example to main.go
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Search events returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.EventsApi;
import com.datadog.api.client.v2.api.EventsApi.SearchEventsOptionalParameters;
import com.datadog.api.client.v2.model.EventsListRequest;
import com.datadog.api.client.v2.model.EventsListResponse;
import com.datadog.api.client.v2.model.EventsQueryFilter;
import com.datadog.api.client.v2.model.EventsRequestPage;
import com.datadog.api.client.v2.model.EventsSort;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
EventsApi apiInstance = new EventsApi(defaultClient);
EventsListRequest body =
new EventsListRequest()
.filter(
new EventsQueryFilter()
.query("datadog-agent")
.from("2020-09-17T11:48:36+01:00")
.to("2020-09-17T12:48:36+01:00"))
.sort(EventsSort.TIMESTAMP_ASCENDING)
.page(new EventsRequestPage().limit(5));
try {
EventsListResponse result =
apiInstance.searchEvents(new SearchEventsOptionalParameters().body(body));
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling EventsApi#searchEvents");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
// Search events returns "OK" response with pagination
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.PaginationIterable;
import com.datadog.api.client.v2.api.EventsApi;
import com.datadog.api.client.v2.api.EventsApi.SearchEventsOptionalParameters;
import com.datadog.api.client.v2.model.EventResponse;
import com.datadog.api.client.v2.model.EventsListRequest;
import com.datadog.api.client.v2.model.EventsQueryFilter;
import com.datadog.api.client.v2.model.EventsQueryOptions;
import com.datadog.api.client.v2.model.EventsRequestPage;
import com.datadog.api.client.v2.model.EventsSort;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
EventsApi apiInstance = new EventsApi(defaultClient);
EventsListRequest body =
new EventsListRequest()
.filter(new EventsQueryFilter().from("now-15m").to("now"))
.options(new EventsQueryOptions().timezone("GMT"))
.page(new EventsRequestPage().limit(2))
.sort(EventsSort.TIMESTAMP_ASCENDING);
try {
PaginationIterable<EventResponse> iterable =
apiInstance.searchEventsWithPagination(new SearchEventsOptionalParameters().body(body));
for (EventResponse item : iterable) {
System.out.println(item);
}
} catch (RuntimeException e) {
System.err.println("Exception when calling EventsApi#searchEventsWithPagination");
System.err.println("Reason: " + e.getMessage());
e.printStackTrace();
}
}
}
First install the library and its dependencies and then save the example to Example.java
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
"""
Search events returns "OK" response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.events_api import EventsApi
from datadog_api_client.v2.model.events_list_request import EventsListRequest
from datadog_api_client.v2.model.events_query_filter import EventsQueryFilter
from datadog_api_client.v2.model.events_request_page import EventsRequestPage
from datadog_api_client.v2.model.events_sort import EventsSort
body = EventsListRequest(
filter=EventsQueryFilter(
query="datadog-agent",
_from="2020-09-17T11:48:36+01:00",
to="2020-09-17T12:48:36+01:00",
),
sort=EventsSort.TIMESTAMP_ASCENDING,
page=EventsRequestPage(
limit=5,
),
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = EventsApi(api_client)
response = api_instance.search_events(body=body)
print(response)
"""
Search events returns "OK" response with pagination
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.events_api import EventsApi
from datadog_api_client.v2.model.events_list_request import EventsListRequest
from datadog_api_client.v2.model.events_query_filter import EventsQueryFilter
from datadog_api_client.v2.model.events_query_options import EventsQueryOptions
from datadog_api_client.v2.model.events_request_page import EventsRequestPage
from datadog_api_client.v2.model.events_sort import EventsSort
body = EventsListRequest(
filter=EventsQueryFilter(
_from="now-15m",
to="now",
),
options=EventsQueryOptions(
timezone="GMT",
),
page=EventsRequestPage(
limit=2,
),
sort=EventsSort.TIMESTAMP_ASCENDING,
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = EventsApi(api_client)
items = api_instance.search_events_with_pagination(body=body)
for item in items:
print(item)
First install the library and its dependencies and then save the example to example.py
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# Search events returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V2::EventsAPI.new
body = DatadogAPIClient::V2::EventsListRequest.new({
filter: DatadogAPIClient::V2::EventsQueryFilter.new({
query: "datadog-agent",
from: "2020-09-17T11:48:36+01:00",
to: "2020-09-17T12:48:36+01:00",
}),
sort: DatadogAPIClient::V2::EventsSort::TIMESTAMP_ASCENDING,
page: DatadogAPIClient::V2::EventsRequestPage.new({
limit: 5,
}),
})
opts = {
body: body,
}
p api_instance.search_events(opts)
# Search events returns "OK" response with pagination
require "datadog_api_client"
api_instance = DatadogAPIClient::V2::EventsAPI.new
body = DatadogAPIClient::V2::EventsListRequest.new({
filter: DatadogAPIClient::V2::EventsQueryFilter.new({
from: "now-15m",
to: "now",
}),
options: DatadogAPIClient::V2::EventsQueryOptions.new({
timezone: "GMT",
}),
page: DatadogAPIClient::V2::EventsRequestPage.new({
limit: 2,
}),
sort: DatadogAPIClient::V2::EventsSort::TIMESTAMP_ASCENDING,
})
opts = {
body: body,
}
api_instance.search_events_with_pagination(opts) { |item| puts item }
First install the library and its dependencies and then save the example to example.rb
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Search events returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_events::EventsAPI;
use datadog_api_client::datadogV2::api_events::SearchEventsOptionalParams;
use datadog_api_client::datadogV2::model::EventsListRequest;
use datadog_api_client::datadogV2::model::EventsQueryFilter;
use datadog_api_client::datadogV2::model::EventsRequestPage;
use datadog_api_client::datadogV2::model::EventsSort;
#[tokio::main]
async fn main() {
let body = EventsListRequest::new()
.filter(
EventsQueryFilter::new()
.from("2020-09-17T11:48:36+01:00".to_string())
.query("datadog-agent".to_string())
.to("2020-09-17T12:48:36+01:00".to_string()),
)
.page(EventsRequestPage::new().limit(5))
.sort(EventsSort::TIMESTAMP_ASCENDING);
let configuration = datadog::Configuration::new();
let api = EventsAPI::with_config(configuration);
let resp = api
.search_events(SearchEventsOptionalParams::default().body(body))
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
// Search events returns "OK" response with pagination
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_events::EventsAPI;
use datadog_api_client::datadogV2::api_events::SearchEventsOptionalParams;
use datadog_api_client::datadogV2::model::EventsListRequest;
use datadog_api_client::datadogV2::model::EventsQueryFilter;
use datadog_api_client::datadogV2::model::EventsQueryOptions;
use datadog_api_client::datadogV2::model::EventsRequestPage;
use datadog_api_client::datadogV2::model::EventsSort;
use futures_util::pin_mut;
use futures_util::stream::StreamExt;
#[tokio::main]
async fn main() {
let body = EventsListRequest::new()
.filter(
EventsQueryFilter::new()
.from("now-15m".to_string())
.to("now".to_string()),
)
.options(EventsQueryOptions::new().timezone("GMT".to_string()))
.page(EventsRequestPage::new().limit(2))
.sort(EventsSort::TIMESTAMP_ASCENDING);
let configuration = datadog::Configuration::new();
let api = EventsAPI::with_config(configuration);
let response =
api.search_events_with_pagination(SearchEventsOptionalParams::default().body(body));
pin_mut!(response);
while let Some(resp) = response.next().await {
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
}
First install the library and its dependencies and then save the example to src/main.rs
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
* Search events returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v2.EventsApi(configuration);
const params: v2.EventsApiSearchEventsRequest = {
body: {
filter: {
query: "datadog-agent",
from: "2020-09-17T11:48:36+01:00",
to: "2020-09-17T12:48:36+01:00",
},
sort: "timestamp",
page: {
limit: 5,
},
},
};
apiInstance
.searchEvents(params)
.then((data: v2.EventsListResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
/**
* Search events returns "OK" response with pagination
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v2.EventsApi(configuration);
const params: v2.EventsApiSearchEventsRequest = {
body: {
filter: {
from: "now-15m",
to: "now",
},
options: {
timezone: "GMT",
},
page: {
limit: 2,
},
sort: "timestamp",
},
};
(async () => {
try {
for await (const item of apiInstance.searchEventsWithPagination(params)) {
console.log(item);
}
} catch (error) {
console.error(error);
}
})();
First install the library and its dependencies and then save the example to example.ts
and run following commands:
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"