본문 바로가기
WIKI 기술 지식 베이스

로그 수집과 통합(Log Collection and Integrations)

원문 보기 위키 갱신

환경을 구성해 호스트, 컨테이너, 서비스에서 로그를 수집해요.

출처: 문서

본문

개요

로그 수집을 시작하려면 아래 구성 옵션 중 하나를 선택하세요. 이미 로그 시퍼 데몬을 사용 중이라면 Rsyslog, Syslog-ng, NXlog, FluentD, Logstash 전용 문서를 참고하세요.

로그를 Datadog로 직접 보내려면 사용 가능한 Datadog 로그 수집 엔드포인트 목록을 확인하세요.

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

셋업

호스트

  1. Datadog 에이전트를 설치하세요.
  2. 로그 수집을 활성화하려면 에이전트의 메인 구성 파일(datadog.yaml)에서 logs_enabled: false를 logs_enabled: true로 바꾸세요. 자세한 내용과 예제는 호스트 에이전트 로그 수집 문서를 참고하세요.
  3. 활성화되면 Datadog 에이전트는 로그 파일을 테일링하거나 UDP/TCP로 전송된 로그를 수신하고, 로그를 필터링하거나 민감한 데이터를 스크럽하며, 멀티라인 로그를 집계하도록 구성할 수 있어요.

애플리케이션

  1. Datadog 에이전트를 설치하세요.
  2. 로그 수집을 활성화하려면 에이전트의 메인 구성 파일(datadog.yaml)에서 logs_enabled: false를 logs_enabled: true로 바꾸세요. 자세한 내용과 예제는 호스트 에이전트 로그 수집 문서를 참고하세요.
  3. 애플리케이션 언어 설치 지침을 따라 로거를 구성하고 로그 생성을 시작하세요.

컨테이너

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

참고:

서버리스

환경에서 Datadog로 로그를 보내는 AWS Lambda 함수인 Datadog Forwarder를 사용하세요. AWS 서버리스 환경에서 로그 수집을 활성화하려면 Datadog Forwarder 문서를 참고하세요.

클라우드/통합

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

Datadog 통합과 로그 수집은 함께 연결돼요. 통합의 기본 구성 파일을 사용해 Datadog에서 전용 프로세서, 파싱, 페이셋을 활성화할 수 있어요. 통합으로 로그 수집을 시작하려면:

  1. 통합 페이지에서 통합을 선택하고 셋업 지침을 따르세요.
  2. 통합의 로그 수집 지침을 따르세요. 이 섹션은 해당 통합의 conf.yaml 파일에서 로그 섹션의 주석을 해제하고 환경에 맞게 구성하는 방법을 다뤄요.

데이터 전송 수수료 절감

클라우드 네트워크 모니터링으로 조직의 최고 처리량 애플리케이션을 식별하세요. 지원되는 프라이빗 연결로 Datadog에 연결하고 프라이빗 네트워크를 통해 데이터를 보내 공용 인터넷을 피하고 데이터 전송 수수료를 줄이세요. 프라이빗 링크로 전환한 후 Datadog의 클라우드 비용 관리 도구를 사용해 영향과 클라우드 비용 감소를 확인하세요.

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

에이전트 체크

커스텀 에이전트 통합을 개발 중이라면 send_log 메서드를 사용해 에이전트 체크 내에서 프로그래밍 방식으로 로그를 제출할 수 있어요. 이를 통해 커스텀 통합이 메트릭, 이벤트, 서비스 체크와 함께 로그를 발행할 수 있어요.

커스텀 에이전트 체크에서 로그를 제출하는 방법은 에이전트 통합 로그 수집을 참고하세요.

제한 사항

  • 로그 이벤트는 100개를 초과하는 태그를 가져서는 안 되며, 각 태그는 하루 최대 1천만 개의 고유 태그에 대해 256자를 초과하면 안 돼요.
  • JSON 형식으로 변환된 로그 이벤트는 2048개 미만의 속성을 포함해야 해요. 각 속성의 키는 50자 미만, 20개 미만의 연속 레벨로 중첩되어야 하며, 페이셋으로 승격된다면 각 값은 1024자 미만이어야 해요.
  • 타임스탬프가 최대 18시간 과거인 로그 이벤트만 제출할 수 있어요.
    • 미리 보기 사용 가능: 최대 7일 과거 로그를 제출하려면 미리 보기 등록하세요.
  • 로그 수집은 null 값을 가진 속성을 보존하지 않아요.
    • 미리 보기 사용 가능: null 값을 가진 속성을 보존하려면 미리 보기 등록하세요.

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

인덱스된 로그에만 적용되는 필드의 추가 잘림이 있어요: message 필드는 75KiB, 비 message 필드는 25KiB로 값이 잘려요. Datadog는 여전히 전체 텍스트를 저장하며 로그 탐색기의 일반 목록 쿼리에서 계속 표시돼요. 다만 잘린 필드로 로그를 그룹화하거나 해당 특정 필드를 표시하는 유사한 작업을 수행하는 그룹화 쿼리에서는 잘린 버전이 표시돼요.

추가 구성 옵션

로깅 엔드포인트

Datadog는 SSL 암호화 연결과 비암호화 연결 모두에 로깅 엔드포인트를 제공해요. 가능하면 암호화된 엔드포인트를 사용하세요. Datadog 에이전트는 암호화된 엔드포인트를 사용해 로그를 Datadog로 보내요. 자세한 내용은 Datadog 보안 문서에서 확인할 수 있어요.

지원되는 엔드포인트

페이지 오른쪽의 사이트 선택기 드롭다운을 사용해 Datadog 사이트별 지원 엔드포인트를 확인하세요.

사이트 유형 엔드포인트 포트 설명
사용자 Datadog 데이터센터 HTTPS `` 443 커스텀 포워더가 HTTPS를 통해 JSON 또는 평문 형식으로 로그를 보내는 데 사용해요. Logs HTTP API 문서 참고.
사용자 Datadog 데이터센터 HTTPS `` 443 에이전트가 HTTPS를 통해 JSON 형식으로 로그를 보내는 데 사용해요. 호스트 에이전트 로그 수집 문서 참고.
사용자 Datadog 데이터센터 HTTPS `` 443 Lambda 함수가 HTTPS를 통해 raw, Syslog 또는 JSON 형식으로 로그를 보내는 데 사용해요.
사용자 Datadog 데이터센터 HTTPS logs. 443 브라우저 SDK가 HTTPS를 통해 JSON 형식으로 로그를 보내는 데 사용해요.

커스텀 로그 전달

HTTP를 통해 로그를 전달할 수 있는 모든 커스텀 프로세스나 로깅 라이브러리는 Datadog Logs와 함께 사용할 수 있어요.

HTTP를 통해 Datadog 플랫폼으로 로그를 보낼 수 있어요. 시작하려면 Datadog Log HTTP API 문서를 참고하세요.

HTTPS API는 최대 1MB 크기의 로그를 지원해요. 다만 최적의 성능을 위해 Datadog는 개별 로그가 25KB(25,000바이트)를 넘지 않는 것을 권장해요. 로깅에 Datadog 에이전트를 사용한다면 에이전트는 로그를 900KB(900,000바이트)에서 분할하도록 구성돼요.

TCP

TCP 로그 수집은 지원되지 않아요. Datadog는 TCP 사용 시 전달 또는 안정성 보장을 제공하지 않으며, 로그 데이터가 고지 없이 유실될 수 있어요. 안정적인 수집을 위해서는 HTTP 수집 엔드포인트, 공식 Datadog 에이전트 또는 포워더 통합을 대신 사용하세요. 자세한 내용은 로그 수집을 참고하세요.

사이트 유형 엔드포인트 포트 설명
US TCP agent-intake.logs.datadoghq.com 10514 에이전트가 TLS 없이 로그를 보내는 데 사용해요.
US TCP 및 TLS agent-intake.logs.datadoghq.com 10516 에이전트가 TLS로 로그를 보내는 데 사용해요.
US TCP 및 TLS intake.logs.datadoghq.com 443 커스텀 포워더가 SSL 암호화 TCP 연결을 통해 raw, Syslog 또는 JSON 형식으로 로그를 보내는 데 사용해요.
US TCP 및 TLS functions-intake.logs.datadoghq.com 443 Azure 함수가 SSL 암호화 TCP 연결을 통해 raw, Syslog 또는 JSON 형식으로 로그를 보내는 데 사용해요. 참고: 이 엔드포인트는 다른 클라우드 공급자에도 유용할 수 있어요.
US TCP 및 TLS lambda-intake.logs.datadoghq.com 443 Lambda 함수가 SSL 암호화 TCP 연결을 통해 raw, Syslog 또는 JSON 형식으로 로그를 보내는 데 사용해요.
EU TCP 및 TLS agent-intake.logs.datadoghq.eu 443 에이전트가 SSL 암호화 TCP 연결을 통해 protobuf 형식으로 로그를 보내는 데 사용해요.
EU TCP 및 TLS functions-intake.logs.datadoghq.eu 443 Azure 함수가 SSL 암호화 TCP 연결을 통해 raw, Syslog 또는 JSON 형식으로 로그를 보내는 데 사용해요. 참고: 이 엔드포인트는 다른 클라우드 공급자에도 유용할 수 있어요.
EU TCP 및 TLS lambda-intake.logs.datadoghq.eu 443 Lambda 함수가 SSL 암호화 TCP 연결을 통해 raw, Syslog 또는 JSON 형식으로 로그를 보내는 데 사용해요.

속성과 태그

속성은 로그 탐색기에서 필터링과 검색에 사용되는 로그 페이셋을 지정해요. 예약 및 표준 속성 목록과 로그 속성·별칭으로 네이밍 규칙을 지원하는 방법은 전용 속성과 별칭 문서를 참고하세요.

스택 트레이스용 속성

스택 트레이스를 로깅할 때 로거 이름, 현재 스레드, 오류 유형, 스택 트레이스 자체처럼 Datadog 애플리케이션 내에서 전용 UI 표시가 있는 특정 속성이 있어요.

이 기능을 활성화하려면 다음 속성 이름을 사용하세요.

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

참고: 기본적으로 통합 파이프라인은 기본 로깅 라이브러리 파라미터를 이 특정 속성에 다시 매핑하고, error.message와 error.kind를 자동으로 추출하기 위해 스택 트레이스 또는 트레이스백을 파싱하려고 해요.

자세한 내용은 전체 소스 코드 속성 문서를 참고하세요.

다음 단계

로그가 수집되고 수집되면 로그 탐색기에서 사용할 수 있어요. 로그 탐색기는 로그를 검색, 강화하고 알림을 볼 수 있는 곳이에요. 로그 데이터 분석을 시작하려면 로그 탐색기 문서를 참고하거나 아래의 추가 로그 관리 문서를 참고하세요.

더 알아보기 (Learn more)

추가로 도움이 되는 문서, 링크, 아티클:

*Logging without Limits는 Datadog, Inc.의 상표예요.