기본 개념

Cloud Logging은 Google Cloud 운영 제품군의 일부입니다. 여기에는 로그 탐색기라고 하는 사용자 인터페이스 로그 스토리지와 로그를 프로그래매틱 방식으로 관리하는 API가 포함됩니다. Logging을 사용하여 로그 항목을 읽고 쓰고, 로그를 쿼리하고, 로그 라우팅 및 사용 방법을 제어할 수 있습니다.

Google Cloud 프로젝트 및 기타 리소스

로그는 주로 Google Cloud 프로젝트와 연결되지만 조직, 폴더, 결제 계정과 같은 다른 Google Cloud 리소스에도 로그가 포함될 수 있습니다.

로그 항목

로그 항목은 컴퓨터 시스템에서 발생한 상태를 기록하거나 특정 이벤트 또는 트랜잭션에 관해 설명합니다. 로그 항목은 자체 코드, 코드가 실행 중인 Google Cloud 서비스, 타사 애플리케이션, Google Cloud가 사용하는 인프라에서 작성됩니다.

일부 로그 항목은 시스템 내에서 발생하는 특정 이벤트를 설명합니다. 이러한 로그 항목을 사용하여 사용자에게 정상적으로 작동함을 보장하거나 오류가 발생할 때 정보를 제공하는 메시지를 출력할 수 있습니다.

다른 로그 항목은 시스템 또는 구성요소에서 처리되는 트랜잭션의 세부정보를 설명할 수 있습니다. 예를 들어 부하 분산기는 수신하는 모든 요청을 로깅합니다. 부하 분산기는 요청된 URL 및 HTTP 응답 코드와 같은 정보를 기록하며 요청을 처리할 백엔드도 기록할 수 있습니다.

최신 시스템의 로그는 디스크에 작성된 텍스트 파일에서 전해지므로 로그 항목은 로그 파일의 줄과 유사하며 로깅의 기본 단위로 간주될 수 있습니다.

Google Cloud 프로젝트는 Compute Engine 또는 BigQuery와 같은 로그 항목을 생성하는 서비스를 사용하기 시작하면 로그 항목을 수신합니다. 또한 Cloud Monitoring을 AWS에 연결하거나, VM 인스턴스에 Logging 에이전트를 설치할 때, Logging API에서 entries.write 메서드를 호출할 때도 로그 항목을 가져옵니다.

로그 항목은 다음 최소 요소로 구성됩니다.

  • 이벤트가 발생한 시점 또는 Cloud Logging에서 수신된 시점을 나타내는 타임스탬프
  • 로그 항목을 생성한 모니터링 리소스
  • 구조화되지 않은 텍스트 데이터로 제공되거나 JSON 형식의 구조화된 텍스트 데이터로 제공되는 페이로드(메시지라고도 함)
  • 로그가 속한 로그의 이름.

로그 항목에는 연결된 메타데이터도 포함될 수 있습니다. 이러한 메타데이터에는 연결된 각 로그 항목의 심각도가 포함될 수 있습니다.

로그 항목 데이터 형식에 대한 자세한 내용은 LogEntry 유형을 참조하세요.

로그

로그는 프로젝트와 같은 Google Cloud 리소스 내의 이름이 정해진 로그 항목 모음입니다. 로그는 로그 항목이 포함된 경우에만 존재합니다.

로그 이름은 로그 항목이 속한 리소스의 전체 경로로 식별된 후 간단한 로그 ID(예: syslog) 또는 로그 작성자를 포함하는 구조화된 ID(예: compute.googleapis.com/activity)가 추가됩니다.

각 로그 항목마다 로그의 이름이 포함되어 있습니다.

로그 유형

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

보관 기간

로그 항목은 보관 기간이라는 제한된 기간 동안 Cloud Logging에 보관됩니다. 보관 기간이 지난 항목은 삭제됩니다. Logging 할당량 및 한도에 여러 로그 유형의 보관 기간이 나와 있습니다.

일부 로그의 보관 기간을 구성할 수 있습니다. 자세한 내용은 로그 저장: 커스텀 보관을 참조하세요.

로그도 백업하려면 이 페이지의 싱크로 로그 내보내기 섹션을 참조하세요.

쿼리와 필터

쿼리Logging 쿼리 언어의 표현식으로 표현식과 일치하는 로그 항목을 반환합니다.

필터는 싱크에서 싱크와 일치하는 로그를 라우팅하는 데 사용되는 Logging 쿼리 언어의 표현식입니다. 또한 로그 기반 측정항목을 만들 때 해당 표현식과 일치하는 로그를 Cloud Monitoring으로 라우팅할 때 필터를 사용합니다.

모니터링 리소스

각 로그 항목은 모니터링 리소스의 이름으로 그 출처를 표시합니다. 개별 Compute Engine VM 인스턴스, Google Kubernetes Engine 컨테이너, 데이터베이스 인스턴스 등을 예로 들 수 있습니다.

모니터링 리소스 유형의 전체 목록은 모니터링 리소스 및 서비스를 참조하세요.

쿼리

쿼리는 Logging 쿼리 언어의 표현식입니다. 쿼리는 로그 탐색기와 Logging API에서 로그 항목(예: 특정 VM 인스턴스의 로그 항목이나 특정 기간에 특정 민감도 수준으로 수신되는 로그 항목)을 선택하는 데 사용됩니다.

로그 라우터

감사 로그, 플랫폼 로그, 사용자 로그를 포함한 모든 로그는 Cloud Logging API로 전송되어 로그 라우터를 통과합니다. 로그 라우터는 각 로그 항목을 기존 규칙과 비교하여 수집(저장)할 로그 항목, 내보낼 로그 항목, 삭제할 로그 항목을 결정합니다.

자세한 내용은 로그 라우터 개요를 참조하세요.

싱크를 사용하여 로그 내보내기

Logging에서 수신된 로그 항목을 Cloud Storage 버킷, BigQuery 데이터 세트, Pub/Sub 주제로 내보낼 수 있습니다.

로그 싱크를 구성하여 로그를 내보내면 Logging에 로그 항목이 수신될 때마다 로그 싱크가 계속해서 로그 항목을 내보냅니다. 싱크에는 내보낼 로그 항목을 선택하는 대상과 필터가 포함됩니다.

자세한 내용은 로그 내보내기 개요를 참조하세요.

로그 기반 측정항목

측정항목은 Cloud Monitoring의 기능입니다. 로그 기반 측정항목의 값은 지정된 쿼리와 일치하는 로그 항목 수입니다.

자세한 내용은 로그 기반 측정항목 개요를 참조하세요.

액세스 제어

로그에 액세스하는 기능은 구성원에게 Identity and Access Management 역할 또는 권한을 부여하는 방식으로 제어됩니다.

IAM 뷰어 역할을 가진 모든 구성원은 대부분의 로그를 읽을 수 있습니다. 데이터 액세스 감사 로그 또는 액세스 투명성 로그를 읽으려면 구성원에게 IAM 소유자 역할이나 특수 권한이 있는 커스텀 역할이 있어야 합니다.

필요한 권한에 대한 자세한 내용은 액세스 제어를 참조하세요.