로그 수집 및 통합

개요

로그 수집을 시작하려면 아래 구성 옵션을 선택하세요. 이미 log-shipper 데몬을 사용하고 있다면 Rsyslog, Syslog-ng, NXlog, FluentD 또는 Logstash 전용 설명서를 참조하세요.

로그를 Datadog에 직접 전송하려면 사용 가능한 Datadog 로그 수집 엔드포인트 목록을 참조하세요.

참고: JSON 형식의 로그를 Datadog에 보낼 때 Datadog 내에서 특정 의미를 갖는 예약된 특성 세트가 있습니다. 자세한 내용은 예약된 특성 섹션을 참조하세요.

설정

  1. Datadog Agent를 설치합니다.
  2. 로그 수집을 활성화하려면 Agent의 주요 구성 파일(datadog.yaml)에서 logs_enabled: falselogs_enabled: true로 변경하세요. 자세한 내용과 예시는 Host Agent Log 수집 설명서를 참조하세요.
  3. 활성화되면 Datadog Agent는 로그 파일 테일링 또는 UDP/TCP를 통해 전송된 로그 수신, 로그 필터링 또는 민감한 데이터 삭제, 여러 행 로그 집계를 위한 목적으로 구성될 수 있습니다.
  1. Datadog Agent를 설치합니다.
  2. 로그 수집을 활성화하려면 Agent의 주요 구성 파일(datadog.yaml)에서 logs_enabled: falselogs_enabled: true로 변경하세요. 자세한 내용과 예시는 Host Agent Log 수집 설명서를 참조하세요.
  3. 애플리케이션 언어 설치 지침에 따라 로거를 구성하고 로그 생성을 시작하세요.
Java
Python
go
Ruby
.Net
PHP
Node.js
Javascript
React Native
Android
ios
Flutter
Roku
Kotlin Multiplatform

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

Docker
Kubernetes
Red Hat OpenShift
Amazon ECS
ECS Fargate

참고:

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

로그를 자동으로 수집하여 Datadog에 전달하는 방법을 보려면 아래에서 클라우드 공급자를 선택하세요.

Docker
Kubernetes
Amazon ECS
Oracle Cloud Infrastructure
Amazon ECS

Datadog 통합과 로그 수집은 서로 연결되어 있습니다. 통합의 기본 구성 파일을 사용하여 Datadog에서 전용 프로세서, 구문 분석패싯을 활성화할 수 있습니다. 통합으로 로그 수집을 시작하려면 다음 지침을 따르세요.

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

데이터 전송 수수료 절감

Datadog의 Cloud Network Monitoring을 사용하여 조직에서 처리량이 가장 많은 애플리케이션을 파악하세요. 지원되는 프라이빗 연결을 통해 Datadog에 연결하고 프라이빗 네트워크를 통해 데이터를 전송함으로써 공용 인터넷을 사용하지 않고 데이터 전송 수수료를 절감할 수 있습니다. 프라이빗 링크로 전환한 후에는 Datadog의 Cloud Cost Management 도구를 사용하여 영향을 확인하고 클라우드 비용의 감소를 모니터링하세요.

자세한 내용은 데이터 전송 수수료를 줄이면서 로그를 Datadog로 보내는 방법을 참조하세요.

사용자 정의 Agent 통합을 개발하는 경우, send_log 메서드를 사용하여 Agent 검사 내에서 프로그래밍 방식으로 로그를 제출할 수 있습니다. 이렇게 하면 사용자 정의 통합이 메트릭, 이벤트 및 서비스 검사와 함께 로그를 방출할 수 있습니다.

사용자 정의 Agent 검사에서 로그를 제출하는 방법에 대한 자세한 내용은 Agent 통합 로그 수집을 참조하세요.

추가 구성 옵션

로깅 엔드포인트

Datadog은 SSL 암호화 연결과 비암호화 연결 모두에 대한 로깅 엔드포인트를 제공합니다. 가능하면 암호화된 엔드포인트를 사용하세요. Datadog Agent는 암호화된 엔드포인트를 사용하여 Datadog에 로그를 보냅니다. 자세한 내용은 Datadog 보안 설명서에서 확인할 수 있습니다.

지원되는 엔드포인트

Datadog 사이트에서 지원되는 엔드포인트를 보려면 페이지 오른쪽에 있는 사이트 선택기 드롭다운을 사용하세요.

사이트유형엔드포인트포트설명
HTTPS443커스텀 포워더가 HTTPS를 통해 JSON 또는 일반 텍스트 형식으로 로그를 보내는 데 사용됩니다. Logs HTTP API 설명서를 참조하세요.
HTTPS443Agent에서 HTTPS를 통해 JSON 형식으로 로그를 보내는 데 사용됩니다. Host Agent Log 수집 설명서를 참조하세요.
HTTPS443Lambda 함수가 HTTPS를 통해 원시값, Syslog 또는 JSON 형식으로 로그를 보내는 데 사용됩니다.
HTTPS로그.443Browser SDK에서 HTTPS를 통해 JSON 형식으로 로그를 보내는 데 사용됩니다.

커스텀 로그 전달

HTTP를 통해 로그를 전달할 수 있는 모든 사용자 정의 프로세스 또는 로깅 라이브러리를 Datadog Logs와 함께 사용할 수 있습니다.

HTTP를 통해 Datadog 플랫폼에 로그를 보낼 수 있습니다. 시작하려면 Datadog Log HTTP API 설명서를 참조하세요.

참고:

  • HTTPS API는 최대 1MB 크기의 로그를 지원합니다. 그러나 최적의 성능을 위해서는 개별 로그가 25K바이트를 초과하지 않는 것이 좋습니다. 로깅을 위해 Datadog Agent를 사용하는 경우 로그를 900kB(900,000바이트)로 분할하도록 구성됩니다.
  • 로그 이벤트에는 태그가 100개 미만이어야 하며, 각 태그는 256자를 초과할 수 없고 하루에 최대 1,000만 개의 고유 태그를 사용할 수 있습니다.
  • JSON 형식으로 변환된 로그 이벤트에는 256개 미만의 특성이 포함되어야 합니다. 각 특성의 키는 50자 미만이어야 하고 20개 미만의 연속 수준에 중첩되어야 하며 패싯으로 승격된 경우 해당 값은 1,024자 미만이어야 합니다.
  • 로그 이벤트는 과거 최대 18시간의 타임스탬프와 함께 제출될 수 있습니다.
미리보기 가능: 현재의 18시간 제한 대신 지난 7일의 로그를 제출할 수 있습니다. 미리보기를 등록하세요.

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

인덱싱된 로그에만 적용되는 필드에 추가 잘림이 있습니다. 메시지 필드의 경우 값이 75KiB로 잘리고 메시지 이외의 필드는 25KiB로 잘립니다. Datadog에는 여전히 전체 텍스트가 저장되며 Logs Explorer의 일반 목록 쿼리에 표시됩니다. 그러나 잘린 버전은 그룹화된 쿼리를 수행할 때 표시됩니다. 예를 들어, 잘린 필드로 로그를 그룹화하거나 특정 필드를 표시하는 유사 작업을 수행할 때 표시됩니다.

TCP log collection is not supported. Datadog provides no delivery or reliability guarantees when using TCP, and log data may be lost without notice. For reliable ingestion, use the HTTP intake endpoint, an official Datadog Agent, or forwarder integration instead. For more information, see Log Collection.
사이트유형엔드포인트포트설명
미국TCPagent-intake.logs.datadoghq.com10514Agent가 TLS를 사용하지 않고 로그를 보내는 데 사용됩니다.
미국TCP 및 TLSagent-intake.logs.datadoghq.com10516Agent가 TLS를 사용하여 로그를 보내는 데 사용됩니다.
미국TCP 및 TLSintake.logs.datadoghq.com443커스텀 포워더가 SSL로 암호화된 TCP 연결을 통해 원시값, Syslog 또는 JSON 형식으로 로그를 보내는 데 사용됩니다.
미국TCP 및 TLSfunctions-intake.logs.datadoghq.com443Azure 함수가 SSL로 암호화된 TCP 연결을 통해 원시값, Syslog 또는 JSON 형식으로 로그를 보내는 데 사용됩니다. 참고: 이 엔드포인트는 다른 클라우드 공급자에 유용할 수 있습니다.
미국TCP 및 TLSlambda-intake.logs.datadoghq.com443Lambda 함수가 SSL로 암호화된 TCP 연결을 통해 원시값, Syslog 또는 JSON 형식으로 로그를 보내는 데 사용됩니다.
EUTCP 및 TLSagent-intake.logs.datadoghq.eu443Agent가 SSL로 암호화된 TCP 연결을 통해 protobuf 형식으로 로그를 보내는 데 사용됩니다.
EUTCP 및 TLSfunctions-intake.logs.datadoghq.eu443Azure 함수가 SSL로 암호화된 TCP 연결을 통해 원시값, Syslog 또는 JSON 형식으로 로그를 보내는 데 사용됩니다. 참고: 이 엔드포인트는 다른 클라우드 공급자에 유용할 수 있습니다.
EUTCP 및 TLSlambda-intake.logs.datadoghq.eu443Lambda 함수가 SSL로 암호화된 TCP 연결을 통해 원시값, Syslog 또는 JSON 형식으로 로그를 보내는 데 사용됩니다.

특성 및 태그

특성은 Log Explorer에서 필터링 및 검색에 사용되는 로그 패싯을 규정합니다. 예약된 특성과 표준 특성 목록을 확인하고 로그 특성과 별칭을 사용하여 명명 규칙을 지원하는 방법을 알아보려면 전용 특성 및 별칭 설명서를 참조하세요.

스택 트레이스 특성

스택 트레이스를 로깅할 때 Datadog 애플리케이션 내에 로거 이름, 현재 스레드, 오류 유형, 스택 트레이스 자체와 같은 전용 UI 표시가 있는 특정 특성이 있습니다.

구문 분석된 스택 트레이스의 특성

이러한 기능을 활성화하려면 다음 특성 이름을 사용합니다.

특성설명
logger.name로거의 이름
logger.thread_name현재 스레드의 이름
error.stack실제 스택 트레이스
error.message스택 트레이스에 포함된 오류 메시지
error.kind오류의 유형 또는 ‘종류’(예: ‘Exception’ 또는 ‘OSError’)

참고: 기본적으로 통합 파이프라인은 기본 로깅 라이브러리 파라미터를 해당 특정 특성으로 리매핑하고 스택 트레이스 또는 트레이스백을 구문 분석하여 자동으로 error.messageerror.kind를 추출하려고 시도합니다.

자세한 내용은 전체 소스 코드 특성 설명서를 참조하세요.

다음 단계

로그가 수집 및 수집(ingest)되면 Log Explorer에서 사용할 수 있습니다. Log Explorer는 로그를 검색하고, 보강하고, 관련 경보를 조회할 수 있는 곳입니다. 로그 데이터 분석을 시작하려면 Log Explorer 설명서를 참조하거나 아래의 추가 로그 관리 설명서를 참조하세요.

Log Explorer에 표시되는 로그

참고 자료


*Logging without Limits는 Datadog, Inc.의 상표입니다.