ログインデックスのコンフィギュレーションを管理します。 このエンドポイントとやり取りするには、管理者権限を持つ API とアプリケーションキーが必要です。
Note: This endpoint is in public beta. If you have any feedback, contact Datadog support.
GET https://api.datadoghq.eu/api/v1/logs/config/indexeshttps://api.datadoghq.com/api/v1/logs/config/indexes
インデックスオブジェクトはログインデックスの構成を記述します。
このエンドポイントはオーガニゼーションの LogIndex
オブジェクトの配列を返します。
OK
Object with all Index configurations for a given organization.
フィールド
種類
説明
indexes
[object]
Array of Log index configurations.
daily_limit
int64
The number of log events you can send in this index per day before you are rate-limited.
exclusion_filters
[object]
An array of exclusion objects. The logs are tested against the query of each filter, following the order of the array. Only the first matching active exclusion matters, others (if any) are ignored.
filter
object
Exclusion filter is defined by a query, a sampling rule, and a active/inactive toggle.
query
string
Default query is *
, meaning all logs flowing in the index would be excluded.
Scope down exclusion filter to only a subset of logs with a log query.
sample_rate [required]
double
Sample rate to apply to logs going through this exclusion filter, a value of 1 will exclude all logs matching the query.
is_enabled
boolean
Whether or not the exclusion filter is active.
name [required]
string
Name of the index exclusion filter.
filter [required]
object
Filter for logs.
query
string
The filter query.
is_rate_limited
boolean
A boolean stating if the index is rate limited, meaning more logs than the daily limit have been sent. Rate limit is reset every-day at 2pm UTC.
name
string
The name of the index.
num_retention_days
int64
The number of days before logs are deleted from this index. Available values depend on retention plans specified in your organization's contract/subscriptions.
{
"indexes": [
{
"daily_limit": "integer",
"exclusion_filters": [
{
"filter": {
"query": "*",
"sample_rate": 1
},
"is_enabled": false,
"name": "payment"
}
],
"filter": {
"query": "source:python"
},
"is_rate_limited": false,
"name": "string",
"num_retention_days": "integer"
}
]
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.datadoghq.com/api/v1/logs/config/indexes" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("ListLogIndexes", true)
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.LogsIndexesApi.ListLogIndexes(ctx).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsIndexesApi.ListLogIndexes``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `ListLogIndexes`: LogsIndexListResponse
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from LogsIndexesApi.ListLogIndexes:\n%s\n", response_content)
}
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.LogsIndexesApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
LogsIndexesApi apiInstance = new LogsIndexesApi(defaultClient);
try {
LogsIndexListResponse result = apiInstance.listLogIndexes()
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling LogsIndexesApi#listLogIndexes");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
import os
from dateutil.parser import parse as dateutil_parser
import datadog_api_client.v1
from datadog_api_client.v1.api import logs_indexes_api
from datadog_api_client.v1.models import *
from pprint import pprint
# Defining the host is optional and defaults to https://api.datadoghq.com
# See configuration.py for a list of all supported configuration parameters.
configuration = datadog_api_client.v1.Configuration(
host = "https://api.datadoghq.com"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['apiKeyAuth'] = 'Bearer'
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['appKeyAuth'] = 'Bearer'
configuration.unstable_operations["list_log_indexes"] = True
# Enter a context with an instance of the API client
with datadog_api_client.v1.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = logs_indexes_api.LogsIndexesApi(api_client)
# example, this endpoint has no required or optional parameters
try:
# Get all indexes
api_response = api_instance.list_log_indexes()
pprint(api_response)
except datadog_api_client.v1.ApiException as e:
print("Exception when calling LogsIndexesApi->list_log_indexes: %s\n" % e)
require 'time'
require 'datadog_api_client/v1'
# setup authorization
DatadogAPIClient::V1.configure do |config|
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
# config.api_key_prefix['apiKeyAuth'] = 'Bearer'
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
# config.api_key_prefix['appKeyAuth'] = 'Bearer'
config.unstable_operations[:list_log_indexes] = true
end
api_instance = DatadogAPIClient::V1::LogsIndexesApi.new
begin
# Get all indexes
result = api_instance.list_log_indexes
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling LogsIndexesApi->list_log_indexes: #{e}"
end
Note: This endpoint is in public beta. If you have any feedback, contact Datadog support.
GET https://api.datadoghq.eu/api/v1/logs/config/indexes/{name}https://api.datadoghq.com/api/v1/logs/config/indexes/{name}
オーガニゼーションからログインデックスを取得します。このエンドポイントは、JSON 引数を受け取りません。
名前
種類
説明
name [required]
string
Name of the log index.
OK
Object describing a Datadog Log index.
フィールド
種類
説明
daily_limit
int64
The number of log events you can send in this index per day before you are rate-limited.
exclusion_filters
[object]
An array of exclusion objects. The logs are tested against the query of each filter, following the order of the array. Only the first matching active exclusion matters, others (if any) are ignored.
filter
object
Exclusion filter is defined by a query, a sampling rule, and a active/inactive toggle.
query
string
Default query is *
, meaning all logs flowing in the index would be excluded.
Scope down exclusion filter to only a subset of logs with a log query.
sample_rate [required]
double
Sample rate to apply to logs going through this exclusion filter, a value of 1 will exclude all logs matching the query.
is_enabled
boolean
Whether or not the exclusion filter is active.
name [required]
string
Name of the index exclusion filter.
filter [required]
object
Filter for logs.
query
string
The filter query.
is_rate_limited
boolean
A boolean stating if the index is rate limited, meaning more logs than the daily limit have been sent. Rate limit is reset every-day at 2pm UTC.
name
string
The name of the index.
num_retention_days
int64
The number of days before logs are deleted from this index. Available values depend on retention plans specified in your organization's contract/subscriptions.
{
"daily_limit": "integer",
"exclusion_filters": [
{
"filter": {
"query": "*",
"sample_rate": 1
},
"is_enabled": false,
"name": "payment"
}
],
"filter": {
"query": "source:python"
},
"is_rate_limited": false,
"name": "string",
"num_retention_days": "integer"
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
Not Found
Response returned by the Logs API when errors occur.
フィールド
種類
説明
error
object
Error returned by the Logs API
code
string
Code identifying the error
details
[object]
Additional error details
message
string
Error message
{
"error": {
"code": "string",
"details": [],
"message": "string"
}
}
# Path parameters
export name="CHANGE_ME"
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.datadoghq.com/api/v1/logs/config/indexes/${name}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
name := "name_example" // string | Name of the log index.
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("GetLogsIndex", true)
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.LogsIndexesApi.GetLogsIndex(ctx, name).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsIndexesApi.GetLogsIndex``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetLogsIndex`: LogsIndex
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from LogsIndexesApi.GetLogsIndex:\n%s\n", response_content)
}
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.LogsIndexesApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
LogsIndexesApi apiInstance = new LogsIndexesApi(defaultClient);
String name = "name_example"; // String | Name of the log index.
try {
LogsIndex result = apiInstance.getLogsIndex(name)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling LogsIndexesApi#getLogsIndex");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
import os
from dateutil.parser import parse as dateutil_parser
import datadog_api_client.v1
from datadog_api_client.v1.api import logs_indexes_api
from datadog_api_client.v1.models import *
from pprint import pprint
# Defining the host is optional and defaults to https://api.datadoghq.com
# See configuration.py for a list of all supported configuration parameters.
configuration = datadog_api_client.v1.Configuration(
host = "https://api.datadoghq.com"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['apiKeyAuth'] = 'Bearer'
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['appKeyAuth'] = 'Bearer'
configuration.unstable_operations["get_logs_index"] = True
# Enter a context with an instance of the API client
with datadog_api_client.v1.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = logs_indexes_api.LogsIndexesApi(api_client)
name = "name_example" # str | Name of the log index.
# example passing only required values which don't have defaults set
try:
# Get an index
api_response = api_instance.get_logs_index(name)
pprint(api_response)
except datadog_api_client.v1.ApiException as e:
print("Exception when calling LogsIndexesApi->get_logs_index: %s\n" % e)
require 'time'
require 'datadog_api_client/v1'
# setup authorization
DatadogAPIClient::V1.configure do |config|
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
# config.api_key_prefix['apiKeyAuth'] = 'Bearer'
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
# config.api_key_prefix['appKeyAuth'] = 'Bearer'
config.unstable_operations[:get_logs_index] = true
end
api_instance = DatadogAPIClient::V1::LogsIndexesApi.new
name = 'name_example' # String | Name of the log index.
begin
# Get an index
result = api_instance.get_logs_index(name)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling LogsIndexesApi->get_logs_index: #{e}"
end
Note: This endpoint is in public beta. If you have any feedback, contact Datadog support.
GET https://api.datadoghq.eu/api/v1/logs/config/index-orderhttps://api.datadoghq.com/api/v1/logs/config/index-order
ログインデックスの現在の順序を取得します。このエンドポイントは、JSON 引数を受け取りません。
OK
Object containing the ordered list of log index names.
{
"index_names": [
"main",
"payments",
"web"
]
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X GET "https://api.datadoghq.eu"https://api.datadoghq.com/api/v1/logs/config/index-order" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}"
package main
import (
"context"
"encoding/json"
"fmt"
"os"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("GetLogsIndexOrder", true)
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.LogsIndexesApi.GetLogsIndexOrder(ctx).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsIndexesApi.GetLogsIndexOrder``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetLogsIndexOrder`: LogsIndexesOrder
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from LogsIndexesApi.GetLogsIndexOrder:\n%s\n", response_content)
}
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.LogsIndexesApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
LogsIndexesApi apiInstance = new LogsIndexesApi(defaultClient);
try {
LogsIndexesOrder result = apiInstance.getLogsIndexOrder()
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling LogsIndexesApi#getLogsIndexOrder");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
import os
from dateutil.parser import parse as dateutil_parser
import datadog_api_client.v1
from datadog_api_client.v1.api import logs_indexes_api
from datadog_api_client.v1.models import *
from pprint import pprint
# Defining the host is optional and defaults to https://api.datadoghq.com
# See configuration.py for a list of all supported configuration parameters.
configuration = datadog_api_client.v1.Configuration(
host = "https://api.datadoghq.com"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['apiKeyAuth'] = 'Bearer'
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['appKeyAuth'] = 'Bearer'
configuration.unstable_operations["get_logs_index_order"] = True
# Enter a context with an instance of the API client
with datadog_api_client.v1.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = logs_indexes_api.LogsIndexesApi(api_client)
# example, this endpoint has no required or optional parameters
try:
# Get indexes order
api_response = api_instance.get_logs_index_order()
pprint(api_response)
except datadog_api_client.v1.ApiException as e:
print("Exception when calling LogsIndexesApi->get_logs_index_order: %s\n" % e)
require 'time'
require 'datadog_api_client/v1'
# setup authorization
DatadogAPIClient::V1.configure do |config|
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
# config.api_key_prefix['apiKeyAuth'] = 'Bearer'
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
# config.api_key_prefix['appKeyAuth'] = 'Bearer'
config.unstable_operations[:get_logs_index_order] = true
end
api_instance = DatadogAPIClient::V1::LogsIndexesApi.new
begin
# Get indexes order
result = api_instance.get_logs_index_order
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling LogsIndexesApi->get_logs_index_order: #{e}"
end
Note: This endpoint is in public beta. If you have any feedback, contact Datadog support.
PUT https://api.datadoghq.eu/api/v1/logs/config/indexes/{name}https://api.datadoghq.com/api/v1/logs/config/indexes/{name}
名前による識別に従ってインデックスを更新します。 リクエストが正常に完了したときに、リクエスト本文で渡されるインデックスオブジェクトを返します。
PUT` メソッドを使用すると、現在の構成を Datadog Organization に送信された 新しい構成に置き換えて、インデックス構成が更新されます。
名前
種類
説明
name [required]
string
Name of the log index.
新しい LogsIndexUpdateRequest
を含むオブジェクト。
フィールド
種類
説明
daily_limit
int64
The number of log events you can send in this index per day before you are rate-limited.
disable_daily_limit
boolean
If true, sets the daily_limit
value to null and the index is not limited on a daily basis (any
specified daily_limit
value in the request is ignored). If false or omitted, the index's current
daily_limit
is maintained.
exclusion_filters
[object]
An array of exclusion objects. The logs are tested against the query of each filter, following the order of the array. Only the first matching active exclusion matters, others (if any) are ignored.
filter
object
Exclusion filter is defined by a query, a sampling rule, and a active/inactive toggle.
query
string
Default query is *
, meaning all logs flowing in the index would be excluded.
Scope down exclusion filter to only a subset of logs with a log query.
sample_rate [required]
double
Sample rate to apply to logs going through this exclusion filter, a value of 1 will exclude all logs matching the query.
is_enabled
boolean
Whether or not the exclusion filter is active.
name [required]
string
Name of the index exclusion filter.
filter [required]
object
Filter for logs.
query
string
The filter query.
num_retention_days
int64
The number of days before logs are deleted from this index. Available values depend on retention plans specified in your organization's contract/subscriptions.
Note: Changing the retention for an index adjusts the length of retention for all logs already in this index. It may also affect billing.
{
"daily_limit": "integer",
"disable_daily_limit": false,
"exclusion_filters": [
{
"filter": {
"query": "*",
"sample_rate": 1
},
"is_enabled": false,
"name": "payment"
}
],
"filter": {
"query": "source:python"
},
"num_retention_days": "integer"
}
OK
Object describing a Datadog Log index.
フィールド
種類
説明
daily_limit
int64
The number of log events you can send in this index per day before you are rate-limited.
exclusion_filters
[object]
An array of exclusion objects. The logs are tested against the query of each filter, following the order of the array. Only the first matching active exclusion matters, others (if any) are ignored.
filter
object
Exclusion filter is defined by a query, a sampling rule, and a active/inactive toggle.
query
string
Default query is *
, meaning all logs flowing in the index would be excluded.
Scope down exclusion filter to only a subset of logs with a log query.
sample_rate [required]
double
Sample rate to apply to logs going through this exclusion filter, a value of 1 will exclude all logs matching the query.
is_enabled
boolean
Whether or not the exclusion filter is active.
name [required]
string
Name of the index exclusion filter.
filter [required]
object
Filter for logs.
query
string
The filter query.
is_rate_limited
boolean
A boolean stating if the index is rate limited, meaning more logs than the daily limit have been sent. Rate limit is reset every-day at 2pm UTC.
name
string
The name of the index.
num_retention_days
int64
The number of days before logs are deleted from this index. Available values depend on retention plans specified in your organization's contract/subscriptions.
{
"daily_limit": "integer",
"exclusion_filters": [
{
"filter": {
"query": "*",
"sample_rate": 1
},
"is_enabled": false,
"name": "payment"
}
],
"filter": {
"query": "source:python"
},
"is_rate_limited": false,
"name": "string",
"num_retention_days": "integer"
}
Invalid Parameter Error
Response returned by the Logs API when errors occur.
フィールド
種類
説明
error
object
Error returned by the Logs API
code
string
Code identifying the error
details
[object]
Additional error details
message
string
Error message
{
"error": {
"code": "string",
"details": [],
"message": "string"
}
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
Too Many Requests
Response returned by the Logs API when errors occur.
フィールド
種類
説明
error
object
Error returned by the Logs API
code
string
Code identifying the error
details
[object]
Additional error details
message
string
Error message
{
"error": {
"code": "string",
"details": [],
"message": "string"
}
}
# Path parameters
export name="CHANGE_ME"
# Curl command
curl -X PUT "https://api.datadoghq.eu"https://api.datadoghq.com/api/v1/logs/config/indexes/${name}" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}" \
-d @- << EOF
{
"exclusion_filters": [
{
"filter": {
"sample_rate": 1
},
"name": "payment"
}
],
"filter": {}
}
EOF
package main
import (
"context"
"encoding/json"
"fmt"
"os"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
name := "name_example" // string | Name of the log index.
body := *datadog.NewLogsIndexUpdateRequest(*datadog.NewLogsFilter()) // LogsIndexUpdateRequest | Object containing the new `LogsIndexUpdateRequest`.
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("UpdateLogsIndex", true)
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.LogsIndexesApi.UpdateLogsIndex(ctx, name).Body(body).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsIndexesApi.UpdateLogsIndex``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `UpdateLogsIndex`: LogsIndex
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from LogsIndexesApi.UpdateLogsIndex:\n%s\n", response_content)
}
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.LogsIndexesApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
LogsIndexesApi apiInstance = new LogsIndexesApi(defaultClient);
String name = "name_example"; // String | Name of the log index.
LogsIndexUpdateRequest body = new LogsIndexUpdateRequest(); // LogsIndexUpdateRequest | Object containing the new `LogsIndexUpdateRequest`.
try {
LogsIndex result = apiInstance.updateLogsIndex(name)
.body(body)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling LogsIndexesApi#updateLogsIndex");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
import os
from dateutil.parser import parse as dateutil_parser
import datadog_api_client.v1
from datadog_api_client.v1.api import logs_indexes_api
from datadog_api_client.v1.models import *
from pprint import pprint
# Defining the host is optional and defaults to https://api.datadoghq.com
# See configuration.py for a list of all supported configuration parameters.
configuration = datadog_api_client.v1.Configuration(
host = "https://api.datadoghq.com"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['apiKeyAuth'] = 'Bearer'
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['appKeyAuth'] = 'Bearer'
configuration.unstable_operations["update_logs_index"] = True
# Enter a context with an instance of the API client
with datadog_api_client.v1.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = logs_indexes_api.LogsIndexesApi(api_client)
name = "name_example" # str | Name of the log index.
body = LogsIndexUpdateRequest(
daily_limit=1,
disable_daily_limit=True,
exclusion_filters=[
LogsExclusion(
filter=LogsExclusionFilter(
query="*",
sample_rate=1,
),
is_enabled=True,
name="payment",
),
],
filter=LogsFilter(
query="source:python",
),
num_retention_days=1,
) # LogsIndexUpdateRequest | Object containing the new `LogsIndexUpdateRequest`.
# example passing only required values which don't have defaults set
try:
# Update an index
api_response = api_instance.update_logs_index(name, body)
pprint(api_response)
except datadog_api_client.v1.ApiException as e:
print("Exception when calling LogsIndexesApi->update_logs_index: %s\n" % e)
require 'time'
require 'datadog_api_client/v1'
# setup authorization
DatadogAPIClient::V1.configure do |config|
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
# config.api_key_prefix['apiKeyAuth'] = 'Bearer'
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
# config.api_key_prefix['appKeyAuth'] = 'Bearer'
config.unstable_operations[:update_logs_index] = true
end
api_instance = DatadogAPIClient::V1::LogsIndexesApi.new
name = 'name_example' # String | Name of the log index.
body = DatadogAPIClient::V1::LogsIndexUpdateRequest.new({filter: DatadogAPIClient::V1::LogsFilter.new}) # LogsIndexUpdateRequest | Object containing the new `LogsIndexUpdateRequest`.
begin
# Update an index
result = api_instance.update_logs_index(name, body)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling LogsIndexesApi->update_logs_index: #{e}"
end
Note: This endpoint is in public beta. If you have any feedback, contact Datadog support.
PUT https://api.datadoghq.eu/api/v1/logs/config/index-orderhttps://api.datadoghq.com/api/v1/logs/config/index-order
このエンドポイントは、オーガニゼーションのインデックス順序を更新します。 リクエストが正常に完了したときに、リクエスト本文で渡される インデックス順序オブジェクトを返します。
新しい順序のインデックス名リストを含むオブジェクト
{
"index_names": [
"main",
"payments",
"web"
]
}
OK
Object containing the ordered list of log index names.
{
"index_names": [
"main",
"payments",
"web"
]
}
Bad Request
Response returned by the Logs API when errors occur.
フィールド
種類
説明
error
object
Error returned by the Logs API
code
string
Code identifying the error
details
[object]
Additional error details
message
string
Error message
{
"error": {
"code": "string",
"details": [],
"message": "string"
}
}
Forbidden
Error response object.
{
"errors": [
"Bad Request"
]
}
# Curl command
curl -X PUT "https://api.datadoghq.eu"https://api.datadoghq.com/api/v1/logs/config/index-order" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_CLIENT_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_CLIENT_APP_KEY}" \
-d @- << EOF
{
"index_names": [
"main",
"payments",
"web"
]
}
EOF
package main
import (
"context"
"encoding/json"
"fmt"
"os"
datadog "github.com/DataDog/datadog-api-client-go/api/v1/datadog"
)
func main() {
ctx := context.WithValue(
context.Background(),
datadog.ContextAPIKeys,
map[string]datadog.APIKey{
"apiKeyAuth": {
Key: os.Getenv("DD_CLIENT_API_KEY"),
},
"appKeyAuth": {
Key: os.Getenv("DD_CLIENT_APP_KEY"),
},
},
)
body := *datadog.NewLogsIndexesOrder([]string{"IndexNames_example"}) // LogsIndexesOrder | Object containing the new ordered list of index names
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("UpdateLogsIndexOrder", true)
api_client := datadog.NewAPIClient(configuration)
resp, r, err := api_client.LogsIndexesApi.UpdateLogsIndexOrder(ctx).Body(body).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsIndexesApi.UpdateLogsIndexOrder``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `UpdateLogsIndexOrder`: LogsIndexesOrder
response_content, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from LogsIndexesApi.UpdateLogsIndexOrder:\n%s\n", response_content)
}
// Import classes:
import java.util.*;
import com.datadog.api.v1.client.ApiClient;
import com.datadog.api.v1.client.ApiException;
import com.datadog.api.v1.client.Configuration;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.LogsIndexesApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
LogsIndexesApi apiInstance = new LogsIndexesApi(defaultClient);
LogsIndexesOrder body = new LogsIndexesOrder(); // LogsIndexesOrder | Object containing the new ordered list of index names
try {
LogsIndexesOrder result = apiInstance.updateLogsIndexOrder()
.body(body)
.execute();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling LogsIndexesApi#updateLogsIndexOrder");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
import os
from dateutil.parser import parse as dateutil_parser
import datadog_api_client.v1
from datadog_api_client.v1.api import logs_indexes_api
from datadog_api_client.v1.models import *
from pprint import pprint
# Defining the host is optional and defaults to https://api.datadoghq.com
# See configuration.py for a list of all supported configuration parameters.
configuration = datadog_api_client.v1.Configuration(
host = "https://api.datadoghq.com"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['apiKeyAuth'] = 'Bearer'
# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['appKeyAuth'] = 'Bearer'
configuration.unstable_operations["update_logs_index_order"] = True
# Enter a context with an instance of the API client
with datadog_api_client.v1.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = logs_indexes_api.LogsIndexesApi(api_client)
body = LogsIndexesOrder(
index_names=["main","payments","web"],
) # LogsIndexesOrder | Object containing the new ordered list of index names
# example passing only required values which don't have defaults set
try:
# Update indexes order
api_response = api_instance.update_logs_index_order(body)
pprint(api_response)
except datadog_api_client.v1.ApiException as e:
print("Exception when calling LogsIndexesApi->update_logs_index_order: %s\n" % e)
require 'time'
require 'datadog_api_client/v1'
# setup authorization
DatadogAPIClient::V1.configure do |config|
# Configure API key authorization: apiKeyAuth
config.api_key['apiKeyAuth'] = ENV["DD_CLIENT_API_KEY"]
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
# config.api_key_prefix['apiKeyAuth'] = 'Bearer'
# Configure API key authorization: appKeyAuth
config.api_key['appKeyAuth'] = ENV["DD_CLIENT_APP_KEY"]
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
# config.api_key_prefix['appKeyAuth'] = 'Bearer'
config.unstable_operations[:update_logs_index_order] = true
end
api_instance = DatadogAPIClient::V1::LogsIndexesApi.new
body = DatadogAPIClient::V1::LogsIndexesOrder.new({index_names: ['index_names_example']}) # LogsIndexesOrder | Object containing the new ordered list of index names
begin
# Update indexes order
result = api_instance.update_logs_index_order(body)
p result
rescue DatadogAPIClient::V1::ApiError => e
puts "Error when calling LogsIndexesApi->update_logs_index_order: #{e}"
end