로깅 데이터 내보내기를 위한 디자인 패턴

이 문서에서는 일반적인 로깅 내보내기 시나리오의 디자인 패턴과 권장사항을 살펴보는 문서 시리즈를 소개합니다.

Cloud Logging은 로그를 위한 작업용 Datastore와 다양한 내보내기 기능을 제공합니다. 규정 준수 요구사항을 충족하거나 로그에서 추출된 측정항목에 대해 데이터 분석을 실행하기 위해 장기 스토리지용 로그(월 또는 연 단위)를 유지하는 등의 여러 가지 이유로 로그를 내보낼 수 있습니다. Cloud Logging은 Cloud Storage, BigQuery, Pub/Sub, Elasticsearch로 내보낼 수 있습니다.

로그 내보내기

Cloud Logging은 한 조직에 대해 집계 싱크를 사용하거나 특정 Google Cloud 프로젝트에 대해 로그 내보내기를 사용하여 모든 로깅을 내보낼 수 있습니다. 로깅 필터를 사용하여 특정 프로젝트 또는 클라우드 리소스를 포함 또는 제외할 수 있습니다. 예를 들어 모든 Compute Engine 로그를 내보내면서 Cloud Load Balancing의 대량 로그는 제외할 수 있습니다. 이 방법을 사용하면 모든 로그 또는 특정 로그를 내보낼 수 있습니다.

조직에서는 집계 싱크를 사용하여 모든 프로젝트 또는 단일 폴더에서 로그를 내보낼 수 있습니다. 이 기능을 사용하면 조직의 모든 프로젝트에 로그 내보내기 정책을 적용할 수 있습니다. 조직 수준 IAM 제어를 사용하여 사용자 액세스를 로그 내보내기 구성 수정만으로 제한할 수 있습니다.

집계 싱크의 대안으로 로그 내보내기는 전체 조직이 아닌 프로젝트별로 사용 설정됩니다. 그 외에 로그 내보내기는 집계 싱크와 동일합니다.

내보내기 방법

Cloud Logging에서 로그를 내보내는 방법에는 다음 세 가지가 있습니다.

  • 파일 방법: Cloud Storage에 저장된 JSON 파일
  • BigQuery 방법: BigQuery 데이터세트로 작성된 로깅 테이블
  • Pub/Sub 방법: Pub/Sub 주제로 전송된 JSON 메시지

내보낼 내용

Cloud Logging에서 사용 가능한 로그 유형에 대해 알아보려면 사용 가능한 로그를 참조하세요.

로깅 형식

로그 유형에 따라 세 가지 로깅 페이로드 형식이 있습니다.

textPayload
내용은 단일 문자열로 표시됩니다. Cloud Logging 에이전트(syslog 포함) 및 Cloud SQL 로그에서 보고되는 로그는 모두 이 형식을 사용하는 로그의 예시입니다.
protoPayload
내용은 프로토콜 버퍼로 표시되며 로깅되는 특정 콘텐츠에 따라 달라집니다. 관리 작업 및 데이터 액세스 감사 로그는 모두 이 형식으로 내보내집니다. 이러한 로그는 내보낸 항목 유형에 따라 BigQuery의 JSON 및 테이블 구조가 다릅니다.
jsonPayload
내용은 JSON 객체로 표시되며 로깅되는 특정 콘텐츠에 따라 달라집니다. Compute Engine 및 Compute Engine 자동 확장 처리의 활동 로그는 이 형식을 사용하는 예입니다.

스키마 및 필드 문서는 로그 형식을 BigQuery 테이블 및 JSON 내보내기 파일 구조에 매핑하는 방법에 대한 자세한 정보를 제공합니다. BigQuery 내보내기에 대한 쿼리를 쓰는 경우 또는 파일 또는 Pub/Sub 내보내기 JSON 파일을 파싱하는 경우, 로깅 페이로드 형식을 고려합니다. 로그의 자세한 형식은 LogEntry의 API 정의에 나열됩니다.

로그 내보내기 시나리오

이 문서에서는 로그 내보내기에 대한 시나리오를 설명합니다. 각 시나리오에서는 요구 사항, 설정, 사용 방법을 자세히 설명하고 내보내기를 공유하는 방법을 보여 줍니다.

다음 단계