로그 수집 및 통합

개요

하단의 설정 옵션을 선택하여 로그 수집을 시작합니다. 이미 로그 전달자 Daemon을 사용하고 있다면 Rsyslog, Syslog-ng, NXlog, FluentD, 또는 로그스태시(Logstash) 전용 설명서를 참조하세요.

로그를 Datadog으로 직접 보내려면 사용할 수 있는 Datadog 로그 수집 엔드포인트 목록을 참조하세요.

참고: 로그를 JSON 형식으로 Datadog에 전송할 시, Datadog에는 특정 의미를 갖는 예약 속성 집합이 존재합니다. 자세한 내용을 확인하려면 예약 속성 섹션을 참조하세요.

설정

  1. Datadog 에이전트를 설치합니다.
  2. 로그 수집을 활성화하려면 에이전트의 주요 설정 파일(datadog.yaml)에서 logs_enabled: falselogs_enabled: true로 변경합니다. 자세한 정보와 예시를 확인하려면 호스트 에이전트 로그 수집 설명서를 참조하세요.
  3. 일단 활성화되면 Datadog 에이전트를 로그 파일 추적 또는 UDP/TCP로 전송된 로그를 수신하거나, 로그 필터링 또는 민감한 데이터 스크러빙멀티 라인 로그 집계 작업을 하도록 설정할 수 있습니다.
  1. Datadog 에이전트를 설치합니다.
  2. 로그 수집을 활성화하려면 에이전트의 주요 설정 파일(datadog.yaml)에서 logs_enabled: falselogs_enabled: true로 변경합니다. 자세한 정보와 예시를 확인하려면 호스트 에이전트 로그 수집 설명서를 참조하세요.
  3. 다음 애플리케이션 언어 설치 지침에 따라 로거를 설정하고 로그 생성을 시작하세요:
Java
Python
go
Ruby
.Net
PHP
Node.js
Javascript
React Native
Android
ios
Flutter
Roku

컨테이너 또는 오케스트레이터 공급자를 선택하고 다음의 로그 수집 전용 지침을 따르세요:

Docker
Kubernetes
Red Hat OpenShift
Amazon ECS
ECS Fargate

참조:

환경에서 Datadog으로 로그를 전송하는 AWS Lambda 함수인 Datadog 포워더(Forwarder)를 사용합니다. AWS 서버리스 환경에서 로그 수집을 활성화하려면 Datadog 포워더(Forwarder) 설명서를 참조하세요.

하단에서 클라우드 공급자를 선택하면 로그를 자동으로 수집해 Datadog으로 전달하는 방법을 확인할 수 있습니다.

Docker
Kubernetes
Amazon ECS
Amazon ECS

Datadog 통합과 로그 수집 작업은 하나로 연결되어 있습니다. 통합 기본 설정 파일을 사용하여 Datadog에서 전용 프로세서, 파싱, 패싯을 활성화할 수 있습니다. 다음에 따라 통합 로그 수집을 시작합니다.

  1. 통합 페이지에서 통합을 선택하고 설정 지침을 따릅니다.
  2. 통합 로그 수집 지침을 따릅니다. 해당 섹션에서는 통합의 conf.yaml 파일에서 로그 섹션의 주석을 해제하고 환경에 맞추어 설정하는 방법을 다룹니다.

추가 설정 옵션

로깅 엔드포인트

Datadog은 SSL 암호화 연결과 암호화되지 않은 연결 모두 로깅 엔드포인트를 제공합니다. 되도록 암호화된 엔드포인트를 사용하세요. Datadog 에이전트는 암호화 엔드포인트를 사용하여 Datadog에 로그를 전송합니다. 자세한 내용을 확인하려면 Datadog 보안 문서를 참조하세요.

지원하는 엔드포인트

페이지 오른쪽의 사이트 선택 드롭다운 메뉴에서 Datadog 사이트별 지원 엔드포인트를 확인할 수 있습니다.

사이트유형엔드포인트포트설명
USHTTPShttp-intake.logs.datadoghq.com443커스텀 포워더(Forwarder)가 HTTPS를 통해 JSON 또는 일반 텍스트 형식의 로그를 전송하는 데 사용됩니다. 로그 HTTP API 문서를 참조하세요.
USHTTPSagent-http-intake-pci.logs.datadoghq.com443에이전트가 HTTPS를 통해 PCI DSS 규정을 준수하도록 설정한 조직에 로그를 전송하는 데 사용됩니다. 자세한 내용을 확인하려면 로그 관리용 PCI DSS 규정 준수를 참조하세요.
USHTTPSagent-http-intake.logs.datadoghq.com443에이전트가 HTTPS를 통해 로그를 JSON 형식으로 전송하는 데 사용됩니다. 호스트 에이전트 로그 수집 문서를 참조하세요.
USHTTPSlambda-http-intake.logs.datadoghq.com443Lambda 함수가 로그를 HTTPS를 통해 원시값, Syslog 또는 JSON 형식으로 전송하는 데 사용됩니다.
USHTTPSlogs.443브라우저 SDK가 로그를 HTTPS를 통해 JSON 형식으로 전송하는 데 사용됩니다.
USTCPagent-intake.logs.datadoghq.com10514에이전트가 TLS 없이 로그를 전송하는 데 사용됩니다.
USTCP 및 TLSagent-intake.logs.datadoghq.com10516에이전트가 TLS로 로그를 전송하는 데 사용됩니다.
USTCP 및 TLSintake.logs.datadoghq.com443커스텀 포워더가 SSL 암호화 TCP 연결을 통해 원시값, Syslog 또는 JSON 형식으로 로그를 전송하는 데 사용됩니다.
USTCP 및 TLSfunctions-intake.logs.datadoghq.com443Azure 함수가 SSL 암호화 TCP 연결을 통해 원시값, Syslog 또는 JSON 형식의 로그를 전송하는 데 사용됩니다. 참고: 해당 엔드포인트는 기타 클라우드 제공업체에 유용할 수 있습니다.
USTCP 및 TLSlambda-intake.logs.datadoghq.com443Lambda 함수가 SSL 암호화 TCP 연결을 통해 원시값, Syslog 또는 JSON 형식으로 로그를 전송하는 데 사용됩니다.

사이트유형엔드포인트포트설명
EUHTTPShttp-intake.logs.datadoghq.eu443커스텀 포워더(Forwarder)가 HTTPS를 통해 JSON 또는 일반 텍스트 형식의 로그를 전송하는 데 사용됩니다. 로그 HTTP API 문서를 참조하세요.
EUHTTPSagent-http-intake.logs.datadoghq.eu443에이전트가 HTTPS를 통해 로그를 JSON 형식으로 전송하는 데 사용됩니다. 호스트 에이전트 로그 수집 문서를 참조하세요.
EUHTTPSlambda-http-intake.logs.datadoghq.eu443Lambda 함수가 로그를 HTTPS를 통해 원시값, Syslog 또는 JSON 형식으로 전송하는 데 사용됩니다.
EUHTTPSlogs.443브라우저 SDK가 로그를 HTTPS를 통해 JSON 형식으로 전송하는 데 사용됩니다.
EUTCP 및 TLSagent-intake.logs.datadoghq.eu443에이전트가 SSL 암호화 TCP 연결을 통해 프로토콜 버퍼(protobuf) 형식으로 로그를 전송하는 데 사용됩니다.
EUTCP 및 TLSfunctions-intake.logs.datadoghq.eu443Azure 함수가 SSL 암호화 TCP 연결을 통해 원시값, Syslog 또는 JSON 형식의 로그를 전송하는 데 사용됩니다. 참고: 해당 엔드포인트는 기타 클라우드 제공업체에 유용할 수 있습니다.
EUTCP 및 TLSlambda-intake.logs.datadoghq.eu443Lambda 함수가 SSL 암호화 TCP 연결을 통해 원시값, Syslog 또는 JSON 형식으로 로그를 전송하는 데 사용됩니다.

사이트유형엔드포인트포트설명
US3HTTPShttp-intake.logs.us3.datadoghq.com443커스텀 포워더(Forwarder)가 HTTPS를 통해 JSON 또는 일반 텍스트 형식의 로그를 전송하는 데 사용됩니다. 로그 HTTP API 문서를 참조하세요.
US3HTTPSlambda-http-intake.logs.us3.datadoghq.com443Lambda 함수가 로그를 HTTPS를 통해 원시값, Syslog 또는 JSON 형식으로 전송하는 데 사용됩니다.
US3HTTPSagent-http-intake.logs.us3.datadoghq.com443에이전트가 HTTPS를 통해 로그를 JSON 형식으로 전송하는 데 사용됩니다. 호스트 에이전트 로그 수집 문서를 참조하세요.
US3HTTPSlogs.443브라우저 SDK가 로그를 HTTPS를 통해 JSON 형식으로 전송하는 데 사용됩니다.

사이트유형엔드포인트포트설명
US5HTTPShttp-intake.logs.us5.datadoghq.com443커스텀 포워더(Forwarder)가 HTTPS를 통해 JSON 또는 일반 텍스트 형식의 로그를 전송하는 데 사용됩니다. 로그 HTTP API 문서를 참조하세요.
US5HTTPSlambda-http-intake.logs.us5.datadoghq.com443Lambda 함수가 로그를 HTTPS를 통해 원시값, Syslog 또는 JSON 형식으로 전송하는 데 사용됩니다.
US5HTTPSagent-http-intake.logs.us5.datadoghq.com443에이전트가 HTTPS를 통해 로그를 JSON 형식으로 전송하는 데 사용됩니다. 호스트 에이전트 로그 수집 문서를 참조하세요.
US5HTTPSlogs.443브라우저 SDK가 로그를 HTTPS를 통해 JSON 형식으로 전송하는 데 사용됩니다.

사이트유형엔드포인트포트설명
AP1HTTPShttp-intake.logs.ap1.datadoghq.com443커스텀 포워더(Forwarder)가 HTTPS를 통해 JSON 또는 일반 텍스트 형식의 로그를 전송하는 데 사용됩니다. 로그 HTTP API 문서를 참조하세요.
AP1HTTPSlambda-http-intake.logs.ap1.datadoghq.com443Lambda 함수가 로그를 HTTPS를 통해 원시값, Syslog 또는 JSON 형식으로 전송하는 데 사용됩니다.
AP1HTTPSagent-http-intake.logs.ap1.datadoghq.com443에이전트가 HTTPS를 통해 로그를 JSON 형식으로 전송하는 데 사용됩니다. 호스트 에이전트 로그 수집 문서를 참조하세요.
AP1HTTPSlogs.443브라우저 SDK가 로그를 HTTPS를 통해 JSON 형식으로 전송하는 데 사용됩니다.

사이트유형엔드포인트포트설명
US1-FEDHTTPShttp-intake.logs.ddog-gov.com443커스텀 포워더(Forwarder)가 HTTPS를 통해 JSON 또는 일반 텍스트 형식의 로그를 전송하는 데 사용됩니다. 로그 HTTP API 문서를 참조하세요.
US1-FEDHTTPSlambda-http-intake.logs.ddog-gov.datadoghq.com443Lambda 함수가 로그를 HTTPS를 통해 원시값, Syslog 또는 JSON 형식으로 전송하는 데 사용됩니다.
US1-FEDHTTPSagent-http-intake.logs.ddog-gov.datadoghq.com443에이전트가 HTTPS를 통해 로그를 JSON 형식으로 전송하는 데 사용됩니다. 호스트 에이전트 로그 수집 문서를 참조하세요.
US1-FEDHTTPSlogs.443브라우저 SDK가 로그를 HTTPS를 통해 JSON 형식으로 전송하는 데 사용됩니다.

커스텀 로그 전달

커스텀 프로세스 또는 로깅 라이브러리는 TCP 또는 HTTP를 통해 로그를 전달할 수 있으며, Datadog 로그와 함께 사용할 수 있습니다 .

HTTP를 통해 Datadog 플랫폼으로 로그를 전송할 수 있습니다. Datadog 로그 HTTP API 문서를 참조하여 시작해 보세요.

OpenSSL, GnuTLS 또는 다른 SSL/TLS 클라이언트를 사용하여 연결을 수동으로 테스트할 수 있습니다. GnuTLS의 경우 다음 명령을 실행합니다.

gnutls-cli intake.logs.datadoghq.com:10516

OpenSSL의 경우 다음 명령을 실행합니다.

openssl s_client -connect intake.logs.datadoghq.com:10516

반드시 로그 엔트리에 [Datadog API 키][1] 접두사를 추가하고 페이로드를 추가해야 합니다.

<DATADOG_API_KEY> Log sent directly using TLS

페이로드 또는 예시에 명시된 Log sent directly using TLS는 원시값, Syslog 또는 JSON 형식일 수 있습니다. 페이로드가 JSON 형식인 경우 Datadog은 자동으로 해당 속성을 파싱합니다.

<DATADOG_API_KEY> {"message":"json formatted log", "ddtags":"env:my-env,user:my-user", "ddsource":"my-integration", "hostname":"my-hostname", "service":"my-service"}

[1]: /ko/account_management/api-app-keys/#api-keys

OpenSSL, GnuTLS 또는 다른 SSL/TLS 클라이언트를 사용하여 연결을 수동으로 테스트할 수 있습니다. GnuTLS의 경우 다음 명령을 실행합니다.

gnutls-cli tcp-intake.logs.datadoghq.eu:443

OpenSSL의 경우 다음 명령을 실행합니다.

openssl s_client -connect tcp-intake.logs.datadoghq.eu:443

반드시 로그 엔트리에 Datadog API 키 접두사를 추가하고 페이로드를 추가해야 합니다.

<DATADOG_API_KEY> Log sent directly using TLS

페이로드 또는 예시에 명시된 Log sent directly using TLS는 원시값, Syslog 또는 JSON 형식일 수 있습니다. 페이로드가 JSON 형식인 경우 Datadog은 자동으로 해당 속성을 파싱합니다.

<DATADOG_API_KEY> {"message":"json formatted log", "ddtags":"env:my-env,user:my-user", "ddsource":"my-integration", "hostname":"my-hostname", "service":"my-service"}

해당 사이트에는 TCP 엔드포인트를 권장하지 않습니다. 자세한 내용을 확인하려면 고객지원에 문의하세요.

해당 사이트에서는 TCP 엔드포인트가 지원되지 않습니다.

참조:

  • HTTPS API는 로그를 최대 1MB 크기까지 지원합니다. 그러나 최적의 성능을 위해서 개별 로그 크기는 25킬로바이트를 넘지 않아야 합니다. 로깅 시 Datadog 에이전트를 사용하는 경우, 로그를 256kB(256,000바이트)로 분할하도록 설정됩니다.
  • 로그 이벤트의 태그는 100개 이하여야 하며, 일일 최대 1,000만개의 고유 태그를 사용할 수 있도록 각 태그는 256자를 초과해서는 안 됩니다.
  • JSON 형식으로 변환된 로그 이벤트에는 256개 미만의 속성이 포함되어야 합니다. 각 속성의 키는 50자 미만이여야 하며, 연속 레벨이 10개 미만으로 중첩되어야 합니다. 패싯으로 프로모션되는 경우 각 값은 1024자 미만이어야 합니다.
  • 로그 이벤트는 최대 18시간 전의 타임스탬프와 같이 제출할 수 있습니다.

해당 제한을 준수하지 않는 로그 이벤트는 시스템에 의해 변환되거나 잘릴 수 있으며, 제시된 시간을 벗어날 경우 색인화되지 않을 수 있습니다. 그러나 Datadog은 사용자 데이터를 최대한 많이 보존하려 노력합니다.

속성 및 태그

속성은 로그 탐색기에서 필터링 및 검색에 사용되는 로그 패싯을 규정합니다. 속성 및 앨리어싱 전용 문서를 참조하여 예약 및 표준 속성 목록을 확인하고 로그 속성 및 앨리어싱 명명 규칙 지원 방식을 알아보세요.

스택 트레이스 속성

스택 트레이스(stack trace) 로그 수집 시, 로거 이름, 현재 스레드, 에러 타입, 스택 트레이스 자체 등, Datadog 애플리케이션 내 전용 UI 표시가 있는 특정 속성이 있습니다.

Attributes for a parsed stack trace

해당 기능을 활성화하려면 다음 속성 이름을 사용합니다.

속성설명
logger.name로거 이름
logger.thread_name현재 스레드 이름
error.stack실제 스택 트레이스(stack trace)
error.message스택 트레이스(stack trace)에 포함된 에러 메시지
error.kind에러의 타입 또는 ‘종류’ (예: ‘예외’ 또는 ‘OSError’)

참고: 기본적으로 통합 파이프라인은 기본 로깅 라이브러리 파라미터를 해당 특정 속성으로 리매핑하고, 스택 트레이스(stack trace) 또는 트레이스백을 파싱하여 error.messageerror.kind을 자동으로 추출하려 합니다.

자세한 내용을 확인하려면 소스 코드 속성 문서 전문을 참조하세요.

다음 단계

로그가 수집되면 로그 탐색기에서 이용할 수 있습니다. 로그 탐색기는 로그에 대한 알림을 검색하고, 보강하고, 확인할 수 있는 기능입니다. 로그 탐색기 문서를 확인하여 로그 데이터 분석을 시작하거나 하단의 추가 로그 관리 문서를 참조하세요.

Logs appearing in the Log Explorer

참고 자료


*제한 없는 로그 수집은 Datadog, Inc.의 등록 상표입니다.