로그 전송하기
https://http-intake.logs.datadoghq.com/api/v2/logshttps://http-intake.logs.us3.datadoghq.com/api/v2/logshttps://http-intake.logs.us5.datadoghq.com/api/v2/logshttps://http-intake.logs.datadoghq.eu/api/v2/logshttps://http-intake.logs.ap1.datadoghq.com/api/v2/logshttps://http-intake.logs.ap2.datadoghq.com/api/v2/logshttps://http-intake.logs.uk1.datadoghq.com/api/v2/logshttps://http-intake.logs.ddog-gov.com/api/v2/logshttps://http-intake.logs.us2.ddog-gov.com/api/v2/logs개요
HTTP를 통해 Datadog 플랫폼으로 로그를 전송합니다. HTTP 요청당 제한은 다음과 같습니다.
- 페이로드당 최대 콘텐츠 크기(압축되지 않음): 5MB
- 단일 로그의 최대 크기: 1MB
- 여러 로그를 배열로 전송할 경우의 최대 배열 크기: 1000개 항목
1MB를 초과하는 모든 로그는 허용되며 Datadog가 로그를 자릅니다.
- 단일 로그 요청의 경우, API는 1MB 크기부터 로그를 자르고 2xx를 반환합니다.
- 다중 로그 요청의 경우, API는 모든 로그를 처리하고 1MB보다 큰 로그만 잘라낸 후 2xx를 반환합니다.
Datadog은 로그를 압축하여 전송할 것을 권장합니다.
압축된 로그를 전송할 경우 요청에 Content-Encoding: gzip 헤더를 추가하세요.
로그 이벤트는 과거 최대 18시간의 타임스탬프와 함께 제출될 수 있습니다.
HTTP API가 응답하는 상태 코드는 다음과 같습니다.
- 202: 수락됨: 처리를 위해 요청이 수락되었습니다.
- 400: 잘못된 요청(페이로드 형식 문제일 가능성이 높음)
- 401: 승인되지 않음(API 키가 누락되었을 가능성이 높음)
- 403: 권한 문제(유효하지 않은 API 키를 사용 중일 가능성이 높음)
- 408: 요청 시간 초과, 일정 시간 후 요청을 재시도해야 합니다.
- 413: 페이로드가 너무 큼(배치가 압축 해제 상태에서 5MB를 초과함)
- 429: 요청이 너무 많음, 일정 시간 후 요청을 재시도해야 합니다.
- 500: 내부 서버 오류, 서버가 요청을 이행하지 못하게 하는 예기치 않은 상태가 발생했으며, 일정 시간 후 요청을 재시도해야 합니다.
- 503: 서비스 이용 불가, 서버가 과부하 상태여서 요청을 처리할 준비가 되지 않았을 수 있으므로 잠시 후 요청을 다시 시도해야 합니다.
인수
쿼리 문자열
ddtagsLog tags can be passed as query parameters with text/plain content type.
헤더 파라미터
Content-EncodingHTTP header used to compress the media-type.
identity, gzip, deflate요청
Body Data (required)
전송할 로그(JSON 포맷)입니다.
ddsource구조화된 로그 메시지입니다.
ddtagsTags associated with your logs.
hostnameThe name of the originating host of the log.
message [required]The message reserved attribute of your log. By default, Datadog ingests the value of the message attribute as the body of the log entry. That value is then highlighted and displayed in the Logstream, where it is indexed for full text search.
serviceThe name of the application or service generating the log events. It is used to switch from Logs to APM, so make sure you define the same value when you use both products. See reserved attributes.
Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." response
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]Send deflate logs with explicit compression returns "Request accepted for processing (always 202 empty JSON)." response
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." response
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]응답
Request accepted for processing (always 202 empty JSON).
No response body
{}Bad Request
Invalid query performed.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Unauthorized
Invalid query performed.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Forbidden
Invalid query performed.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Request Timeout
Invalid query performed.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Payload Too Large
Invalid query performed.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Too Many Requests
Invalid query performed.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Internal Server Error
Invalid query performed.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}Service Unavailable
Invalid query performed.
errorsStructured errors.
detailError message.
statusError code.
titleError title.
{
"errors": [
{
"detail": "Malformed payload",
"status": "400",
"title": "Bad Request"
}
]
}코드 예시
Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-Send deflate logs with explicit compression returns "Request accepted for processing (always 202 empty JSON)." response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"ddsource": "nginx",
"ddtags": "env:staging,version:5.1",
"hostname": "i-012345678",
"message": "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
"service": "payment"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/api/v2/logs" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." response
// Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." 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.HTTPLogItem{
{
Ddsource: datadog.PtrString("nginx"),
Ddtags: datadog.PtrString("env:staging,version:5.1"),
Hostname: datadog.PtrString("i-012345678"),
Message: "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
Service: datadog.PtrString("payment"),
},
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewLogsApi(apiClient)
resp, r, err := api.SubmitLog(ctx, body, *datadogV2.NewSubmitLogOptionalParameters().WithContentEncoding(datadogV2.CONTENTENCODING_DEFLATE))
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsApi.SubmitLog`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `LogsApi.SubmitLog`:\n%s\n", responseContent)
}
Send deflate logs with explicit compression returns "Request accepted for processing (always 202 empty JSON)." response
// Send deflate logs with explicit compression returns "Request accepted for processing (always 202 empty JSON)." 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.HTTPLogItem{
{
Ddsource: datadog.PtrString("nginx"),
Ddtags: datadog.PtrString("env:staging,version:5.1"),
Hostname: datadog.PtrString("i-012345678"),
Message: "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
Service: datadog.PtrString("payment"),
},
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewLogsApi(apiClient)
resp, r, err := api.SubmitLog(ctx, body, *datadogV2.NewSubmitLogOptionalParameters().WithContentEncoding(datadogV2.CONTENTENCODING_DEFLATE))
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsApi.SubmitLog`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `LogsApi.SubmitLog`:\n%s\n", responseContent)
}
Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." response
// Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." 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.HTTPLogItem{
{
Ddsource: datadog.PtrString("nginx"),
Ddtags: datadog.PtrString("env:staging,version:5.1"),
Hostname: datadog.PtrString("i-012345678"),
Message: "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
Service: datadog.PtrString("payment"),
},
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewLogsApi(apiClient)
resp, r, err := api.SubmitLog(ctx, body, *datadogV2.NewSubmitLogOptionalParameters().WithContentEncoding(datadogV2.CONTENTENCODING_GZIP))
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsApi.SubmitLog`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `LogsApi.SubmitLog`:\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_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." response
// Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." 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.api.LogsApi.SubmitLogOptionalParameters;
import com.datadog.api.client.v2.model.ContentEncoding;
import com.datadog.api.client.v2.model.HTTPLogItem;
import java.util.Collections;
import java.util.List;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
LogsApi apiInstance = new LogsApi(defaultClient);
List<HTTPLogItem> body =
Collections.singletonList(
new HTTPLogItem()
.ddsource("nginx")
.ddtags("env:staging,version:5.1")
.hostname("i-012345678")
.message("2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World")
.service("payment"));
try {
apiInstance.submitLog(
body, new SubmitLogOptionalParameters().contentEncoding(ContentEncoding.DEFLATE));
} catch (ApiException e) {
System.err.println("Exception when calling LogsApi#submitLog");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Send deflate logs with explicit compression returns "Request accepted for processing (always 202 empty JSON)." response
// Send deflate logs with explicit compression returns "Request accepted for processing (always 202
// empty JSON)." 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.api.LogsApi.SubmitLogOptionalParameters;
import com.datadog.api.client.v2.model.ContentEncoding;
import com.datadog.api.client.v2.model.HTTPLogItem;
import java.util.Collections;
import java.util.List;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
LogsApi apiInstance = new LogsApi(defaultClient);
List<HTTPLogItem> body =
Collections.singletonList(
new HTTPLogItem()
.ddsource("nginx")
.ddtags("env:staging,version:5.1")
.hostname("i-012345678")
.message("2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World")
.service("payment"));
try {
apiInstance.submitLog(
body, new SubmitLogOptionalParameters().contentEncoding(ContentEncoding.DEFLATE));
} catch (ApiException e) {
System.err.println("Exception when calling LogsApi#submitLog");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." response
// Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." 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.api.LogsApi.SubmitLogOptionalParameters;
import com.datadog.api.client.v2.model.ContentEncoding;
import com.datadog.api.client.v2.model.HTTPLogItem;
import java.util.Collections;
import java.util.List;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
LogsApi apiInstance = new LogsApi(defaultClient);
List<HTTPLogItem> body =
Collections.singletonList(
new HTTPLogItem()
.ddsource("nginx")
.ddtags("env:staging,version:5.1")
.hostname("i-012345678")
.message("2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World")
.service("payment"));
try {
apiInstance.submitLog(
body, new SubmitLogOptionalParameters().contentEncoding(ContentEncoding.GZIP));
} catch (ApiException e) {
System.err.println("Exception when calling LogsApi#submitLog");
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_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." response
"""
Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_api import LogsApi
from datadog_api_client.v2.model.content_encoding import ContentEncoding
from datadog_api_client.v2.model.http_log import HTTPLog
from datadog_api_client.v2.model.http_log_item import HTTPLogItem
body = HTTPLog(
[
HTTPLogItem(
ddsource="nginx",
ddtags="env:staging,version:5.1",
hostname="i-012345678",
message="2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
service="payment",
),
]
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsApi(api_client)
response = api_instance.submit_log(content_encoding=ContentEncoding.DEFLATE, body=body)
print(response)
Send deflate logs with explicit compression returns "Request accepted for processing (always 202 empty JSON)." response
"""
Send deflate logs with explicit compression returns "Request accepted for processing (always 202 empty JSON)." response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_api import LogsApi
from datadog_api_client.v2.model.content_encoding import ContentEncoding
from datadog_api_client.v2.model.http_log import HTTPLog
from datadog_api_client.v2.model.http_log_item import HTTPLogItem
body = HTTPLog(
[
HTTPLogItem(
ddsource="nginx",
ddtags="env:staging,version:5.1",
hostname="i-012345678",
message="2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
service="payment",
),
]
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsApi(api_client)
response = api_instance.submit_log(content_encoding=ContentEncoding.DEFLATE, body=body)
print(response)
Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." response
"""
Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.logs_api import LogsApi
from datadog_api_client.v2.model.content_encoding import ContentEncoding
from datadog_api_client.v2.model.http_log import HTTPLog
from datadog_api_client.v2.model.http_log_item import HTTPLogItem
body = HTTPLog(
[
HTTPLogItem(
ddsource="nginx",
ddtags="env:staging,version:5.1",
hostname="i-012345678",
message="2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
service="payment",
),
]
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsApi(api_client)
response = api_instance.submit_log(content_encoding=ContentEncoding.GZIP, 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_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." response
# Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." response
require "datadog_api_client"
api_instance = DatadogAPIClient::V2::LogsAPI.new
body = [
DatadogAPIClient::V2::HTTPLogItem.new({
ddsource: "nginx",
ddtags: "env:staging,version:5.1",
hostname: "i-012345678",
message: "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
service: "payment",
}),
]
opts = {
content_encoding: ContentEncoding::DEFLATE,
}
p api_instance.submit_log(body, opts)
Send deflate logs with explicit compression returns "Request accepted for processing (always 202 empty JSON)." response
# Send deflate logs with explicit compression returns "Request accepted for processing (always 202 empty JSON)." response
require "datadog_api_client"
api_instance = DatadogAPIClient::V2::LogsAPI.new
body = [
DatadogAPIClient::V2::HTTPLogItem.new({
ddsource: "nginx",
ddtags: "env:staging,version:5.1",
hostname: "i-012345678",
message: "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
service: "payment",
}),
]
opts = {
content_encoding: ContentEncoding::DEFLATE,
}
p api_instance.submit_log(body, opts)
Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." response
# Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." response
require "datadog_api_client"
api_instance = DatadogAPIClient::V2::LogsAPI.new
body = [
DatadogAPIClient::V2::HTTPLogItem.new({
ddsource: "nginx",
ddtags: "env:staging,version:5.1",
hostname: "i-012345678",
message: "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
service: "payment",
}),
]
opts = {
content_encoding: ContentEncoding::GZIP,
}
p api_instance.submit_log(body, opts)
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_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." response
// Send deflate logs returns "Request accepted for processing (always 202 empty
// JSON)." response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_logs::LogsAPI;
use datadog_api_client::datadogV2::api_logs::SubmitLogOptionalParams;
use datadog_api_client::datadogV2::model::ContentEncoding;
use datadog_api_client::datadogV2::model::HTTPLogItem;
use std::collections::BTreeMap;
#[tokio::main]
async fn main() {
let body = vec![HTTPLogItem::new(
"2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World".to_string(),
)
.ddsource("nginx".to_string())
.ddtags("env:staging,version:5.1".to_string())
.hostname("i-012345678".to_string())
.service("payment".to_string())
.additional_properties(BTreeMap::from([]))];
let configuration = datadog::Configuration::new();
let api = LogsAPI::with_config(configuration);
let resp = api
.submit_log(
body,
SubmitLogOptionalParams::default().content_encoding(ContentEncoding::DEFLATE),
)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Send deflate logs with explicit compression returns "Request accepted for processing (always 202 empty JSON)." response
// Send deflate logs with explicit compression returns "Request accepted for
// processing (always 202 empty JSON)." response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_logs::LogsAPI;
use datadog_api_client::datadogV2::api_logs::SubmitLogOptionalParams;
use datadog_api_client::datadogV2::model::ContentEncoding;
use datadog_api_client::datadogV2::model::HTTPLogItem;
use std::collections::BTreeMap;
#[tokio::main]
async fn main() {
let body = vec![HTTPLogItem::new(
"2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World".to_string(),
)
.ddsource("nginx".to_string())
.ddtags("env:staging,version:5.1".to_string())
.hostname("i-012345678".to_string())
.service("payment".to_string())
.additional_properties(BTreeMap::from([]))];
let configuration = datadog::Configuration::new();
let api = LogsAPI::with_config(configuration);
let resp = api
.submit_log(
body,
SubmitLogOptionalParams::default().content_encoding(ContentEncoding::DEFLATE),
)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." response
// Send gzip logs returns "Request accepted for processing (always 202 empty
// JSON)." response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_logs::LogsAPI;
use datadog_api_client::datadogV2::api_logs::SubmitLogOptionalParams;
use datadog_api_client::datadogV2::model::ContentEncoding;
use datadog_api_client::datadogV2::model::HTTPLogItem;
use std::collections::BTreeMap;
#[tokio::main]
async fn main() {
let body = vec![HTTPLogItem::new(
"2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World".to_string(),
)
.ddsource("nginx".to_string())
.ddtags("env:staging,version:5.1".to_string())
.hostname("i-012345678".to_string())
.service("payment".to_string())
.additional_properties(BTreeMap::from([]))];
let configuration = datadog::Configuration::new();
let api = LogsAPI::with_config(configuration);
let resp = api
.submit_log(
body,
SubmitLogOptionalParams::default().content_encoding(ContentEncoding::GZIP),
)
.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>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" cargo runSend deflate logs returns "Request accepted for processing (always 202 empty JSON)." response
/**
* Send deflate logs returns "Request accepted for processing (always 202 empty JSON)." response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v2.LogsApi(configuration);
const params: v2.LogsApiSubmitLogRequest = {
body: [
{
ddsource: "nginx",
ddtags: "env:staging,version:5.1",
hostname: "i-012345678",
message: "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
service: "payment",
},
],
contentEncoding: "deflate",
};
apiInstance
.submitLog(params)
.then((data: any) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." response
/**
* Send gzip logs returns "Request accepted for processing (always 202 empty JSON)." response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v2.LogsApi(configuration);
const params: v2.LogsApiSubmitLogRequest = {
body: [
{
ddsource: "nginx",
ddtags: "env:staging,version:5.1",
hostname: "i-012345678",
message: "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
service: "payment",
},
],
contentEncoding: "gzip",
};
apiInstance
.submitLog(params)
.then((data: any) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Send logs returns "Request accepted for processing (always 202 empty JSON)." response
/**
* Send logs returns "Request accepted for processing (always 202 empty JSON)." response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v2.LogsApi(configuration);
const params: v2.LogsApiSubmitLogRequest = {
body: [
{
ddsource: "nginx",
ddtags: "env:staging,version:5.1",
hostname: "i-012345678",
message: "2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World",
service: "payment",
additionalProperties: {
status: "info",
},
},
],
};
apiInstance
.submitLog(params)
.then((data: any) => {
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_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"https://http-intake.logs.datadoghq.com/v1/inputhttps://http-intake.logs.us3.datadoghq.com/v1/inputhttps://http-intake.logs.us5.datadoghq.com/v1/inputhttps://http-intake.logs.datadoghq.eu/v1/inputhttps://http-intake.logs.ap1.datadoghq.com/v1/inputhttps://http-intake.logs.ap2.datadoghq.com/v1/inputhttps://http-intake.logs.uk1.datadoghq.com/v1/inputhttps://http-intake.logs.ddog-gov.com/v1/inputhttps://http-intake.logs.us2.ddog-gov.com/v1/input개요
HTTP를 통해 Datadog 플랫폼으로 로그를 전송합니다. HTTP 요청당 제한은 다음과 같습니다.
- 페이로드당 최대 콘텐츠 크기(압축되지 않음): 5MB
- 단일 로그의 최대 크기: 1MB
- 여러 로그를 배열로 전송할 경우의 최대 배열 크기: 1000개 항목
1MB를 초과하는 모든 로그는 허용되며 Datadog가 로그를 자릅니다.
- 단일 로그 요청의 경우, API는 1MB 크기부터 로그를 자르고 2xx를 반환합니다.
- 다중 로그 요청의 경우, API는 모든 로그를 처리하고 1MB보다 큰 로그만 잘라낸 후 2xx를 반환합니다.
Datadog은 로그를 압축하여 전송할 것을 권장합니다.
압축된 로그를 전송할 경우 요청에 Content-Encoding: gzip 헤더를 추가하세요.
HTTP API가 응답하는 상태 코드는 다음과 같습니다.
- 200: 양호
- 400: 잘못된 요청(페이로드 형식 문제일 가능성이 높음)
- 403: 권한 문제(유효하지 않은 API 키를 사용 중일 가능성이 높음)
- 413: 페이로드가 너무 큼(배치가 압축 해제 상태에서 5MB를 초과함)
- 5xx: 내부 오류, 일정 시간 후 요청을 재시도해야 함
인수
쿼리 문자열
ddtagsLog tags can be passed as query parameters with text/plain content type.
헤더 파라미터
Content-EncodingHTTP header used to compress the media-type.
gzip, deflate요청
Body Data (required)
전송할 로그(JSON 포맷)입니다.
ddsource구조화된 로그 메시지입니다.
ddtagsTags associated with your logs.
hostnameThe name of the originating host of the log.
message [required]The message reserved attribute of your log. By default, Datadog ingests the value of the message attribute as the body of the log entry. That value is then highlighted and displayed in the Logstream, where it is indexed for full text search.
serviceThe name of the application or service generating the log events. It is used to switch from Logs to APM, so make sure you define the same value when you use both products. See reserved attributes.
Send deflate logs returns "Response from server (always 200 empty JSON)." response
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]Send deflate logs with explicit compression returns "Response from server (always 200 empty JSON)." response
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]Send gzip logs returns "Response from server (always 200 empty JSON)." response
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]응답
Response from server (always 200 empty JSON).
No response body
{}unexpected error
Invalid query performed.
code [required]Error code.
message [required]Error message.
{
"code": 0,
"message": "Your browser sent an invalid request."
}Too many requests
Error response object.
errors [required]Array of errors returned by the API.
{
"errors": [
"Bad Request"
]
}코드 예시
Send deflate logs returns "Response from server (always 200 empty JSON)." response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-Send deflate logs with explicit compression returns "Response from server (always 200 empty JSON)." response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
printf '%s' "$(cat <<'EOF'
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
)" | python3 -c 'import sys, zlib; sys.stdout.buffer.write(zlib.compress(sys.stdin.buffer.read()))' | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: deflate" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-Send gzip logs returns "Response from server (always 200 empty JSON)." response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
export DD_API_KEY="<DD_API_KEY>"
echo $(cat << EOF
[
{
"message": "Example-Log",
"ddtags": "host:ExampleLog"
}
]
EOF
) | gzip | curl -X POST "https://http-intake.logs.${DD_SITE}/v1/input" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
-H "DD-API-KEY: ${DD_API_KEY}" \
--data-binary @-Send deflate logs returns "Response from server (always 200 empty JSON)." response
// Send deflate logs returns "Response from server (always 200 empty JSON)." 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.HTTPLogItem{
{
Message: "Example-Log",
Ddtags: datadog.PtrString("host:ExampleLog"),
},
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewLogsApi(apiClient)
resp, r, err := api.SubmitLog(ctx, body, *datadogV1.NewSubmitLogOptionalParameters().WithContentEncoding(datadogV1.CONTENTENCODING_DEFLATE))
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsApi.SubmitLog`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `LogsApi.SubmitLog`:\n%s\n", responseContent)
}
Send deflate logs with explicit compression returns "Response from server (always 200 empty JSON)." response
// Send deflate logs with explicit compression returns "Response from server (always 200 empty JSON)." 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.HTTPLogItem{
{
Message: "Example-Log",
Ddtags: datadog.PtrString("host:ExampleLog"),
},
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewLogsApi(apiClient)
resp, r, err := api.SubmitLog(ctx, body, *datadogV1.NewSubmitLogOptionalParameters().WithContentEncoding(datadogV1.CONTENTENCODING_DEFLATE))
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsApi.SubmitLog`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `LogsApi.SubmitLog`:\n%s\n", responseContent)
}
Send gzip logs returns "Response from server (always 200 empty JSON)." response
// Send gzip logs returns "Response from server (always 200 empty JSON)." 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.HTTPLogItem{
{
Message: "Example-Log",
Ddtags: datadog.PtrString("host:ExampleLog"),
},
}
ctx := datadog.NewDefaultContext(context.Background())
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewLogsApi(apiClient)
resp, r, err := api.SubmitLog(ctx, body, *datadogV1.NewSubmitLogOptionalParameters().WithContentEncoding(datadogV1.CONTENTENCODING_GZIP))
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `LogsApi.SubmitLog`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `LogsApi.SubmitLog`:\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_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"Send deflate logs returns "Response from server (always 200 empty JSON)." response
// Send deflate logs returns "Response from server (always 200 empty JSON)." response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.LogsApi;
import com.datadog.api.client.v1.api.LogsApi.SubmitLogOptionalParameters;
import com.datadog.api.client.v1.model.ContentEncoding;
import com.datadog.api.client.v1.model.HTTPLogItem;
import java.util.Collections;
import java.util.List;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
LogsApi apiInstance = new LogsApi(defaultClient);
List<HTTPLogItem> body =
Collections.singletonList(
new HTTPLogItem().message("Example-Log").ddtags("host:ExampleLog"));
try {
apiInstance.submitLog(
body, new SubmitLogOptionalParameters().contentEncoding(ContentEncoding.DEFLATE));
} catch (ApiException e) {
System.err.println("Exception when calling LogsApi#submitLog");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Send deflate logs with explicit compression returns "Response from server (always 200 empty JSON)." response
// Send deflate logs with explicit compression returns "Response from server (always 200 empty
// JSON)." response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.LogsApi;
import com.datadog.api.client.v1.api.LogsApi.SubmitLogOptionalParameters;
import com.datadog.api.client.v1.model.ContentEncoding;
import com.datadog.api.client.v1.model.HTTPLogItem;
import java.util.Collections;
import java.util.List;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
LogsApi apiInstance = new LogsApi(defaultClient);
List<HTTPLogItem> body =
Collections.singletonList(
new HTTPLogItem().message("Example-Log").ddtags("host:ExampleLog"));
try {
apiInstance.submitLog(
body, new SubmitLogOptionalParameters().contentEncoding(ContentEncoding.DEFLATE));
} catch (ApiException e) {
System.err.println("Exception when calling LogsApi#submitLog");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Send gzip logs returns "Response from server (always 200 empty JSON)." response
// Send gzip logs returns "Response from server (always 200 empty JSON)." response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.LogsApi;
import com.datadog.api.client.v1.api.LogsApi.SubmitLogOptionalParameters;
import com.datadog.api.client.v1.model.ContentEncoding;
import com.datadog.api.client.v1.model.HTTPLogItem;
import java.util.Collections;
import java.util.List;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
LogsApi apiInstance = new LogsApi(defaultClient);
List<HTTPLogItem> body =
Collections.singletonList(
new HTTPLogItem().message("Example-Log").ddtags("host:ExampleLog"));
try {
apiInstance.submitLog(
body, new SubmitLogOptionalParameters().contentEncoding(ContentEncoding.GZIP));
} catch (ApiException e) {
System.err.println("Exception when calling LogsApi#submitLog");
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_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"Send deflate logs returns "Response from server (always 200 empty JSON)." response
"""
Send deflate logs returns "Response from server (always 200 empty JSON)." response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.logs_api import LogsApi
from datadog_api_client.v1.model.content_encoding import ContentEncoding
from datadog_api_client.v1.model.http_log import HTTPLog
from datadog_api_client.v1.model.http_log_item import HTTPLogItem
body = HTTPLog(
[
HTTPLogItem(
message="Example-Log",
ddtags="host:ExampleLog",
),
]
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsApi(api_client)
response = api_instance.submit_log(content_encoding=ContentEncoding.DEFLATE, body=body)
print(response)
Send deflate logs with explicit compression returns "Response from server (always 200 empty JSON)." response
"""
Send deflate logs with explicit compression returns "Response from server (always 200 empty JSON)." response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.logs_api import LogsApi
from datadog_api_client.v1.model.content_encoding import ContentEncoding
from datadog_api_client.v1.model.http_log import HTTPLog
from datadog_api_client.v1.model.http_log_item import HTTPLogItem
body = HTTPLog(
[
HTTPLogItem(
message="Example-Log",
ddtags="host:ExampleLog",
),
]
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsApi(api_client)
response = api_instance.submit_log(content_encoding=ContentEncoding.DEFLATE, body=body)
print(response)
Send gzip logs returns "Response from server (always 200 empty JSON)." response
"""
Send gzip logs returns "Response from server (always 200 empty JSON)." response
"""
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.logs_api import LogsApi
from datadog_api_client.v1.model.content_encoding import ContentEncoding
from datadog_api_client.v1.model.http_log import HTTPLog
from datadog_api_client.v1.model.http_log_item import HTTPLogItem
body = HTTPLog(
[
HTTPLogItem(
message="Example-Log",
ddtags="host:ExampleLog",
),
]
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = LogsApi(api_client)
response = api_instance.submit_log(content_encoding=ContentEncoding.GZIP, 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_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"Send deflate logs returns "Response from server (always 200 empty JSON)." response
# Send deflate logs returns "Response from server (always 200 empty JSON)." response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::LogsAPI.new
body = [
DatadogAPIClient::V1::HTTPLogItem.new({
message: "Example-Log",
ddtags: "host:ExampleLog",
}),
]
opts = {
content_encoding: ContentEncoding::DEFLATE,
}
p api_instance.submit_log(body, opts)
Send deflate logs with explicit compression returns "Response from server (always 200 empty JSON)." response
# Send deflate logs with explicit compression returns "Response from server (always 200 empty JSON)." response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::LogsAPI.new
body = [
DatadogAPIClient::V1::HTTPLogItem.new({
message: "Example-Log",
ddtags: "host:ExampleLog",
}),
]
opts = {
content_encoding: ContentEncoding::DEFLATE,
}
p api_instance.submit_log(body, opts)
Send gzip logs returns "Response from server (always 200 empty JSON)." response
# Send gzip logs returns "Response from server (always 200 empty JSON)." response
require "datadog_api_client"
api_instance = DatadogAPIClient::V1::LogsAPI.new
body = [
DatadogAPIClient::V1::HTTPLogItem.new({
message: "Example-Log",
ddtags: "host:ExampleLog",
}),
]
opts = {
content_encoding: ContentEncoding::GZIP,
}
p api_instance.submit_log(body, opts)
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_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"Send deflate logs returns "Response from server (always 200 empty JSON)." response
// Send deflate logs returns "Response from server (always 200 empty JSON)."
// response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_logs::LogsAPI;
use datadog_api_client::datadogV1::api_logs::SubmitLogOptionalParams;
use datadog_api_client::datadogV1::model::ContentEncoding;
use datadog_api_client::datadogV1::model::HTTPLogItem;
use std::collections::BTreeMap;
#[tokio::main]
async fn main() {
let body = vec![HTTPLogItem::new("Example-Log".to_string())
.ddtags("host:ExampleLog".to_string())
.additional_properties(BTreeMap::from([]))];
let configuration = datadog::Configuration::new();
let api = LogsAPI::with_config(configuration);
let resp = api
.submit_log(
body,
SubmitLogOptionalParams::default().content_encoding(ContentEncoding::DEFLATE),
)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Send deflate logs with explicit compression returns "Response from server (always 200 empty JSON)." response
// Send deflate logs with explicit compression returns "Response from server
// (always 200 empty JSON)." response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_logs::LogsAPI;
use datadog_api_client::datadogV1::api_logs::SubmitLogOptionalParams;
use datadog_api_client::datadogV1::model::ContentEncoding;
use datadog_api_client::datadogV1::model::HTTPLogItem;
use std::collections::BTreeMap;
#[tokio::main]
async fn main() {
let body = vec![HTTPLogItem::new("Example-Log".to_string())
.ddtags("host:ExampleLog".to_string())
.additional_properties(BTreeMap::from([]))];
let configuration = datadog::Configuration::new();
let api = LogsAPI::with_config(configuration);
let resp = api
.submit_log(
body,
SubmitLogOptionalParams::default().content_encoding(ContentEncoding::DEFLATE),
)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Send gzip logs returns "Response from server (always 200 empty JSON)." response
// Send gzip logs returns "Response from server (always 200 empty JSON)." response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_logs::LogsAPI;
use datadog_api_client::datadogV1::api_logs::SubmitLogOptionalParams;
use datadog_api_client::datadogV1::model::ContentEncoding;
use datadog_api_client::datadogV1::model::HTTPLogItem;
use std::collections::BTreeMap;
#[tokio::main]
async fn main() {
let body = vec![HTTPLogItem::new("Example-Log".to_string())
.ddtags("host:ExampleLog".to_string())
.additional_properties(BTreeMap::from([]))];
let configuration = datadog::Configuration::new();
let api = LogsAPI::with_config(configuration);
let resp = api
.submit_log(
body,
SubmitLogOptionalParams::default().content_encoding(ContentEncoding::GZIP),
)
.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>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" cargo runSend deflate logs returns "Response from server (always 200 empty JSON)." response
/**
* Send deflate logs returns "Response from server (always 200 empty JSON)." response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.LogsApi(configuration);
const params: v1.LogsApiSubmitLogRequest = {
body: [
{
message: "Example-Log",
ddtags: "host:ExampleLog",
},
],
contentEncoding: "deflate",
};
apiInstance
.submitLog(params)
.then((data: any) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Send gzip logs returns "Response from server (always 200 empty JSON)." response
/**
* Send gzip logs returns "Response from server (always 200 empty JSON)." response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.LogsApi(configuration);
const params: v1.LogsApiSubmitLogRequest = {
body: [
{
message: "Example-Log",
ddtags: "host:ExampleLog",
},
],
contentEncoding: "gzip",
};
apiInstance
.submitLog(params)
.then((data: any) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Send logs returns "Response from server (always 200 empty JSON)." response
/**
* Send logs returns "Response from server (always 200 empty JSON)." response
*/
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.LogsApi(configuration);
const params: v1.LogsApiSubmitLogRequest = {
body: [
{
message: "Example-Log",
ddtags: "host:ExampleLog",
},
],
};
apiInstance
.submitLog(params)
.then((data: any) => {
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_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"