イベントを集計する
https://api.datadoghq.com/api/v2/logs/analytics/aggregatehttps://api.us3.datadoghq.com/api/v2/logs/analytics/aggregatehttps://api.us5.datadoghq.com/api/v2/logs/analytics/aggregatehttps://api.datadoghq.eu/api/v2/logs/analytics/aggregatehttps://api.ap1.datadoghq.com/api/v2/logs/analytics/aggregatehttps://api.ap2.datadoghq.com/api/v2/logs/analytics/aggregatehttps://api.uk1.datadoghq.com/api/v2/logs/analytics/aggregatehttps://api.ddog-gov.com/api/v2/logs/analytics/aggregatehttps://api.us2.ddog-gov.com/api/v2/logs/analytics/aggregate概要
イベントをバケットに集約しメトリクスと時系列を計算する API エンドポイント。
OAuth apps require the logs_read_data authorization scope to access this endpoint.
リクエスト
Body Data (required)
computeオーガニゼーションからログのリストを取得するリクエストと共に送信されたオブジェクト。
aggregation [required]An aggregation function
count, cardinality, pc75, pc90, pc95, pc98, pc99, sum, min, maxShow 2 more
avg, medianintervalThe time buckets' size (only used for type=timeseries) Defaults to a resolution of 150 points
metricThe metric to use
typeThe type of compute
totaltimeseries, totalfilterThe search and filter query settings
fromThe minimum time for the requested logs, supports date math and regular timestamps (milliseconds).
now-15mindexesFor customers with multiple indexes, the indexes to search. Defaults to ['*'] which means all indexes.
queryThe search query - following the log search syntax.
*storage_tierSpecifies storage type as indexes, online-archives or flex
indexesindexes, online-archives, flextoThe maximum time for the requested logs, supports date math and regular timestamps (milliseconds).
nowgroup_byThe rules for the group by
facet [required]The name of the facet to use (required)
histogramUsed to perform a histogram computation (only for measure facets). Note: at most 100 buckets are allowed, the number of buckets is (max - min)/interval.
interval [required]The bin size of the histogram buckets
max [required]The maximum value for the measure used in the histogram (values greater than this one are filtered out)
min [required]The minimum value for the measure used in the histogram (values smaller than this one are filtered out)
limitThe maximum buckets to return for this group by. Note: at most 10000 buckets are allowed. If grouping by multiple facets, the product of limits must not exceed 10000.
10missingThe value to use for logs that don't have the facet used to group by
Object 1The missing value to use if there is string valued facet.
Object 2The missing value to use if there is a number valued facet.
sortA sort rule
aggregationAn aggregation function
count, cardinality, pc75, pc90, pc95, pc98, pc99, sum, min, maxShow 2 more
avg, medianmetricThe metric to sort by (only used for type=measure)
orderThe order to use, ascending or descending
asc, desctypeThe type of sorting algorithm
alphabeticalalphabetical, measuretotalA resulting object to put the given computes in over all the matching records.
Object 1If set to true, creates an additional bucket labeled "$facet_total"
Object 2A string to use as the key value for the total bucket
Object 3A number to use as the key value for the total bucket
optionsDEPRECATED Global query options that are used during the query. Note: These fields are currently deprecated and do not affect the query results.
timeOffsetThe time offset (in seconds) to apply to the query.
timezoneThe timezone can be specified as GMT, UTC, an offset from UTC (like UTC+1), or as a Timezone Database identifier (like America/New_York).
UTCpagePaging settings
cursorThe returned paging point to use to get the next results. Note: at most 1000 results can be paged.
Aggregate compute events returns "OK" response
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}Aggregate compute events with group by returns "OK" response
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
},
"group_by": [
{
"facet": "host",
"missing": "miss",
"sort": {
"type": "measure",
"order": "asc",
"aggregation": "pc90",
"metric": "@duration"
}
}
]
}Aggregate events returns "OK" response
{
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}応答
OK
The response object for the logs aggregate API endpoint
dataThe query results
bucketsThe list of matching buckets, one item per bucket
byThe key, value pairs for each group by
<any-key>The values for each group by
computesA map of the metric name -> value for regular compute or list of values for a timeseries
<any-key>A bucket value, can be either a timeseries or a single value
Object 1A single string value
Object 2A single number value
Object 3A timeseries array
timeThe time value for this point
valueThe value for this point
metaThe metadata associated with a request
elapsedThe time elapsed in milliseconds
pagePaging attributes.
afterThe 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_idThe identifier of the request
statusThe status of the response
done, timeoutwarningsA list of warnings (non fatal errors) encountered, partial results might be returned if warnings are present in the response.
codeA unique code for this type of warning
detailA detailed explanation of this specific warning
titleA short human-readable summary of the warning
{
"data": {
"buckets": [
{
"by": {
"<any-key>": "undefined"
},
"computes": {
"<any-key>": {
"description": "undefined",
"type": "undefined"
}
}
}
]
},
"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 [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Not Authorized
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}コード例
Aggregate compute events returns "OK" response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOFAggregate compute events with group by returns "OK" response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
},
"group_by": [
{
"facet": "host",
"missing": "miss",
"sort": {
"type": "measure",
"order": "asc",
"aggregation": "pc90",
"metric": "@duration"
}
}
]
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
},
"group_by": [
{
"facet": "host",
"missing": "miss",
"sort": {
"type": "measure",
"order": "asc",
"aggregation": "pc90",
"metric": "@duration"
}
}
]
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
},
"group_by": [
{
"facet": "host",
"missing": "miss",
"sort": {
"type": "measure",
"order": "asc",
"aggregation": "pc90",
"metric": "@duration"
}
}
]
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
},
"group_by": [
{
"facet": "host",
"missing": "miss",
"sort": {
"type": "measure",
"order": "asc",
"aggregation": "pc90",
"metric": "@duration"
}
}
]
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
},
"group_by": [
{
"facet": "host",
"missing": "miss",
"sort": {
"type": "measure",
"order": "asc",
"aggregation": "pc90",
"metric": "@duration"
}
}
]
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
},
"group_by": [
{
"facet": "host",
"missing": "miss",
"sort": {
"type": "measure",
"order": "asc",
"aggregation": "pc90",
"metric": "@duration"
}
}
]
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
},
"group_by": [
{
"facet": "host",
"missing": "miss",
"sort": {
"type": "measure",
"order": "asc",
"aggregation": "pc90",
"metric": "@duration"
}
}
]
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
},
"group_by": [
{
"facet": "host",
"missing": "miss",
"sort": {
"type": "measure",
"order": "asc",
"aggregation": "pc90",
"metric": "@duration"
}
}
]
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"compute": [
{
"aggregation": "count",
"interval": "5m",
"type": "timeseries"
}
],
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
},
"group_by": [
{
"facet": "host",
"missing": "miss",
"sort": {
"type": "measure",
"order": "asc",
"aggregation": "pc90",
"metric": "@duration"
}
}
]
}
EOFAggregate events returns "OK" response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/logs/analytics/aggregate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"filter": {
"from": "now-15m",
"indexes": [
"main"
],
"query": "*",
"to": "now"
}
}
EOFAggregate compute events returns "OK" response
// Aggregate compute 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.LogsAggregateRequest{
Compute: []datadogV2.LogsCompute{
{
Aggregation: datadogV2.LOGSAGGREGATIONFUNCTION_COUNT,
Interval: datadog.PtrString("5m"),
Type: datadogV2.LOGSCOMPUTETYPE_TIMESERIES.Ptr(),
},
},
Filter: &datadogV2.LogsQueryFilter{
From: datadog.PtrString("now-15m"),
Indexes: []string{
"main",
},
Query: datadog.PtrString("*"),
To: datadog.PtrString("now"),
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewLogsApi(apiClient)
resp, r, err := api.AggregateLogs(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsApi.AggregateLogs`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `LogsApi.AggregateLogs`:\n%s\n", responseContent)
}
Aggregate compute events with group by returns "OK" response
// Aggregate compute events with group by 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.LogsAggregateRequest{
Compute: []datadogV2.LogsCompute{
{
Aggregation: datadogV2.LOGSAGGREGATIONFUNCTION_COUNT,
Interval: datadog.PtrString("5m"),
Type: datadogV2.LOGSCOMPUTETYPE_TIMESERIES.Ptr(),
},
},
Filter: &datadogV2.LogsQueryFilter{
From: datadog.PtrString("now-15m"),
Indexes: []string{
"main",
},
Query: datadog.PtrString("*"),
To: datadog.PtrString("now"),
},
GroupBy: []datadogV2.LogsGroupBy{
{
Facet: "host",
Missing: &datadogV2.LogsGroupByMissing{
LogsGroupByMissingString: datadog.PtrString("miss")},
Sort: &datadogV2.LogsAggregateSort{
Type: datadogV2.LOGSAGGREGATESORTTYPE_MEASURE.Ptr(),
Order: datadogV2.LOGSSORTORDER_ASCENDING.Ptr(),
Aggregation: datadogV2.LOGSAGGREGATIONFUNCTION_PERCENTILE_90.Ptr(),
Metric: datadog.PtrString("@duration"),
},
},
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewLogsApi(apiClient)
resp, r, err := api.AggregateLogs(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsApi.AggregateLogs`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `LogsApi.AggregateLogs`:\n%s\n", responseContent)
}
Aggregate events returns "OK" response
// Aggregate 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.LogsAggregateRequest{
Filter: &datadogV2.LogsQueryFilter{
From: datadog.PtrString("now-15m"),
Indexes: []string{
"main",
},
Query: datadog.PtrString("*"),
To: datadog.PtrString("now"),
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewLogsApi(apiClient)
resp, r, err := api.AggregateLogs(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsApi.AggregateLogs`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `LogsApi.AggregateLogs`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"Aggregate compute events returns "OK" response
// Aggregate compute events returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.LogsApi;
import com.datadog.api.client.v2.model.LogsAggregateRequest;
import com.datadog.api.client.v2.model.LogsAggregateResponse;
import com.datadog.api.client.v2.model.LogsAggregationFunction;
import com.datadog.api.client.v2.model.LogsCompute;
import com.datadog.api.client.v2.model.LogsComputeType;
import com.datadog.api.client.v2.model.LogsQueryFilter;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
LogsApi apiInstance = new LogsApi(defaultClient);
LogsAggregateRequest body =
new LogsAggregateRequest()
.compute(
Collections.singletonList(
new LogsCompute()
.aggregation(LogsAggregationFunction.COUNT)
.interval("5m")
.type(LogsComputeType.TIMESERIES)))
.filter(
new LogsQueryFilter()
.from("now-15m")
.indexes(Collections.singletonList("main"))
.query("*")
.to("now"));
try {
LogsAggregateResponse result = apiInstance.aggregateLogs(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling LogsApi#aggregateLogs");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Aggregate compute events with group by returns "OK" response
// Aggregate compute events with group by returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.LogsApi;
import com.datadog.api.client.v2.model.LogsAggregateRequest;
import com.datadog.api.client.v2.model.LogsAggregateResponse;
import com.datadog.api.client.v2.model.LogsAggregateSort;
import com.datadog.api.client.v2.model.LogsAggregateSortType;
import com.datadog.api.client.v2.model.LogsAggregationFunction;
import com.datadog.api.client.v2.model.LogsCompute;
import com.datadog.api.client.v2.model.LogsComputeType;
import com.datadog.api.client.v2.model.LogsGroupBy;
import com.datadog.api.client.v2.model.LogsGroupByMissing;
import com.datadog.api.client.v2.model.LogsQueryFilter;
import com.datadog.api.client.v2.model.LogsSortOrder;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
LogsApi apiInstance = new LogsApi(defaultClient);
LogsAggregateRequest body =
new LogsAggregateRequest()
.compute(
Collections.singletonList(
new LogsCompute()
.aggregation(LogsAggregationFunction.COUNT)
.interval("5m")
.type(LogsComputeType.TIMESERIES)))
.filter(
new LogsQueryFilter()
.from("now-15m")
.indexes(Collections.singletonList("main"))
.query("*")
.to("now"))
.groupBy(
Collections.singletonList(
new LogsGroupBy()
.facet("host")
.missing(new LogsGroupByMissing("miss"))
.sort(
new LogsAggregateSort()
.type(LogsAggregateSortType.MEASURE)
.order(LogsSortOrder.ASCENDING)
.aggregation(LogsAggregationFunction.PERCENTILE_90)
.metric("@duration"))));
try {
LogsAggregateResponse result = apiInstance.aggregateLogs(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling LogsApi#aggregateLogs");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Aggregate events returns "OK" response
// Aggregate events returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.LogsApi;
import com.datadog.api.client.v2.model.LogsAggregateRequest;
import com.datadog.api.client.v2.model.LogsAggregateResponse;
import com.datadog.api.client.v2.model.LogsQueryFilter;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
LogsApi apiInstance = new LogsApi(defaultClient);
LogsAggregateRequest body =
new LogsAggregateRequest()
.filter(
new LogsQueryFilter()
.from("now-15m")
.indexes(Collections.singletonList("main"))
.query("*")
.to("now"));
try {
LogsAggregateResponse result = apiInstance.aggregateLogs(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling LogsApi#aggregateLogs");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"Aggregate compute events returns "OK" response
"""
Aggregate compute events returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_api import LogsApi
from datadog_api_client.v2.model.logs_aggregate_request import LogsAggregateRequest
from datadog_api_client.v2.model.logs_aggregation_function import LogsAggregationFunction
from datadog_api_client.v2.model.logs_compute import LogsCompute
from datadog_api_client.v2.model.logs_compute_type import LogsComputeType
from datadog_api_client.v2.model.logs_query_filter import LogsQueryFilter
body = LogsAggregateRequest(
compute=[
LogsCompute(
aggregation=LogsAggregationFunction.COUNT,
interval="5m",
type=LogsComputeType.TIMESERIES,
),
],
filter=LogsQueryFilter(
_from="now-15m",
indexes=[
"main",
],
query="*",
to="now",
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = LogsApi(api_client)
response = api_instance.aggregate_logs(body=body)
print(response)
Aggregate compute events with group by returns "OK" response
"""
Aggregate compute events with group by returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_api import LogsApi
from datadog_api_client.v2.model.logs_aggregate_request import LogsAggregateRequest
from datadog_api_client.v2.model.logs_aggregate_sort import LogsAggregateSort
from datadog_api_client.v2.model.logs_aggregate_sort_type import LogsAggregateSortType
from datadog_api_client.v2.model.logs_aggregation_function import LogsAggregationFunction
from datadog_api_client.v2.model.logs_compute import LogsCompute
from datadog_api_client.v2.model.logs_compute_type import LogsComputeType
from datadog_api_client.v2.model.logs_group_by import LogsGroupBy
from datadog_api_client.v2.model.logs_query_filter import LogsQueryFilter
from datadog_api_client.v2.model.logs_sort_order import LogsSortOrder
body = LogsAggregateRequest(
compute=[
LogsCompute(
aggregation=LogsAggregationFunction.COUNT,
interval="5m",
type=LogsComputeType.TIMESERIES,
),
],
filter=LogsQueryFilter(
_from="now-15m",
indexes=[
"main",
],
query="*",
to="now",
),
group_by=[
LogsGroupBy(
facet="host",
missing="miss",
sort=LogsAggregateSort(
type=LogsAggregateSortType.MEASURE,
order=LogsSortOrder.ASCENDING,
aggregation=LogsAggregationFunction.PERCENTILE_90,
metric="@duration",
),
),
],
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = LogsApi(api_client)
response = api_instance.aggregate_logs(body=body)
print(response)
Aggregate events returns "OK" response
"""
Aggregate events returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_api import LogsApi
from datadog_api_client.v2.model.logs_aggregate_request import LogsAggregateRequest
from datadog_api_client.v2.model.logs_query_filter import LogsQueryFilter
body = LogsAggregateRequest(
filter=LogsQueryFilter(
_from="now-15m",
indexes=[
"main",
],
query="*",
to="now",
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = LogsApi(api_client)
response = api_instance.aggregate_logs(body=body)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"Aggregate compute events returns "OK" response
# Aggregate compute events returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::LogsAPI.new
body = DatadogAPIClient::V2::LogsAggregateRequest.new({
compute: [
DatadogAPIClient::V2::LogsCompute.new({
aggregation: DatadogAPIClient::V2::LogsAggregationFunction::COUNT,
interval: "5m",
type: DatadogAPIClient::V2::LogsComputeType::TIMESERIES,
}),
],
filter: DatadogAPIClient::V2::LogsQueryFilter.new({
from: "now-15m",
indexes: [
"main",
],
query: "*",
to: "now",
}),
})
p api_instance.aggregate_logs(body)
Aggregate compute events with group by returns "OK" response
# Aggregate compute events with group by returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::LogsAPI.new
body = DatadogAPIClient::V2::LogsAggregateRequest.new({
compute: [
DatadogAPIClient::V2::LogsCompute.new({
aggregation: DatadogAPIClient::V2::LogsAggregationFunction::COUNT,
interval: "5m",
type: DatadogAPIClient::V2::LogsComputeType::TIMESERIES,
}),
],
filter: DatadogAPIClient::V2::LogsQueryFilter.new({
from: "now-15m",
indexes: [
"main",
],
query: "*",
to: "now",
}),
group_by: [
DatadogAPIClient::V2::LogsGroupBy.new({
facet: "host",
missing: "miss",
sort: DatadogAPIClient::V2::LogsAggregateSort.new({
type: DatadogAPIClient::V2::LogsAggregateSortType::MEASURE,
order: DatadogAPIClient::V2::LogsSortOrder::ASCENDING,
aggregation: DatadogAPIClient::V2::LogsAggregationFunction::PERCENTILE_90,
metric: "@duration",
}),
}),
],
})
p api_instance.aggregate_logs(body)
Aggregate events returns "OK" response
# Aggregate events returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::LogsAPI.new
body = DatadogAPIClient::V2::LogsAggregateRequest.new({
filter: DatadogAPIClient::V2::LogsQueryFilter.new({
from: "now-15m",
indexes: [
"main",
],
query: "*",
to: "now",
}),
})
p api_instance.aggregate_logs(body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"Aggregate compute events returns "OK" response
// Aggregate compute events returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_logs::LogsAPI;
use datadog_api_client::datadogV2::model::LogsAggregateRequest;
use datadog_api_client::datadogV2::model::LogsAggregationFunction;
use datadog_api_client::datadogV2::model::LogsCompute;
use datadog_api_client::datadogV2::model::LogsComputeType;
use datadog_api_client::datadogV2::model::LogsQueryFilter;
#[tokio::main]
async fn main() {
let body = LogsAggregateRequest::new()
.compute(vec![LogsCompute::new(LogsAggregationFunction::COUNT)
.interval("5m".to_string())
.type_(LogsComputeType::TIMESERIES)])
.filter(
LogsQueryFilter::new()
.from("now-15m".to_string())
.indexes(vec!["main".to_string()])
.query("*".to_string())
.to("now".to_string()),
);
let configuration = datadog::Configuration::new();
let api = LogsAPI::with_config(configuration);
let resp = api.aggregate_logs(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Aggregate compute events with group by returns "OK" response
// Aggregate compute events with group by returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_logs::LogsAPI;
use datadog_api_client::datadogV2::model::LogsAggregateRequest;
use datadog_api_client::datadogV2::model::LogsAggregateSort;
use datadog_api_client::datadogV2::model::LogsAggregateSortType;
use datadog_api_client::datadogV2::model::LogsAggregationFunction;
use datadog_api_client::datadogV2::model::LogsCompute;
use datadog_api_client::datadogV2::model::LogsComputeType;
use datadog_api_client::datadogV2::model::LogsGroupBy;
use datadog_api_client::datadogV2::model::LogsGroupByMissing;
use datadog_api_client::datadogV2::model::LogsQueryFilter;
use datadog_api_client::datadogV2::model::LogsSortOrder;
#[tokio::main]
async fn main() {
let body = LogsAggregateRequest::new()
.compute(vec![LogsCompute::new(LogsAggregationFunction::COUNT)
.interval("5m".to_string())
.type_(LogsComputeType::TIMESERIES)])
.filter(
LogsQueryFilter::new()
.from("now-15m".to_string())
.indexes(vec!["main".to_string()])
.query("*".to_string())
.to("now".to_string()),
)
.group_by(vec![LogsGroupBy::new("host".to_string())
.missing(LogsGroupByMissing::LogsGroupByMissingString(
"miss".to_string(),
))
.sort(
LogsAggregateSort::new()
.aggregation(LogsAggregationFunction::PERCENTILE_90)
.metric("@duration".to_string())
.order(LogsSortOrder::ASCENDING)
.type_(LogsAggregateSortType::MEASURE),
)]);
let configuration = datadog::Configuration::new();
let api = LogsAPI::with_config(configuration);
let resp = api.aggregate_logs(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Aggregate events returns "OK" response
// Aggregate events returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_logs::LogsAPI;
use datadog_api_client::datadogV2::model::LogsAggregateRequest;
use datadog_api_client::datadogV2::model::LogsQueryFilter;
#[tokio::main]
async fn main() {
let body = LogsAggregateRequest::new().filter(
LogsQueryFilter::new()
.from("now-15m".to_string())
.indexes(vec!["main".to_string()])
.query("*".to_string())
.to("now".to_string()),
);
let configuration = datadog::Configuration::new();
let api = LogsAPI::with_config(configuration);
let resp = api.aggregate_logs(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runAggregate compute events returns "OK" response
/**
* Aggregate compute events returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.LogsApi(configuration);
const params: v2.LogsApiAggregateLogsRequest = {
body: {
compute: [
{
aggregation: "count",
interval: "5m",
type: "timeseries",
},
],
filter: {
from: "now-15m",
indexes: ["main"],
query: "*",
to: "now",
},
},
};
apiInstance
.aggregateLogs(params)
.then((data: v2.LogsAggregateResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Aggregate compute events with group by returns "OK" response
/**
* Aggregate compute events with group by returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.LogsApi(configuration);
const params: v2.LogsApiAggregateLogsRequest = {
body: {
compute: [
{
aggregation: "count",
interval: "5m",
type: "timeseries",
},
],
filter: {
from: "now-15m",
indexes: ["main"],
query: "*",
to: "now",
},
groupBy: [
{
facet: "host",
missing: "miss",
sort: {
type: "measure",
order: "asc",
aggregation: "pc90",
metric: "@duration",
},
},
],
},
};
apiInstance
.aggregateLogs(params)
.then((data: v2.LogsAggregateResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Aggregate events returns "OK" response
/**
* Aggregate events returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.LogsApi(configuration);
const params: v2.LogsApiAggregateLogsRequest = {
body: {
filter: {
from: "now-15m",
indexes: ["main"],
query: "*",
to: "now",
},
},
};
apiInstance
.aggregateLogs(params)
.then((data: v2.LogsAggregateResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"