이 문서에서는 스토리지, 검색, 분석, 모니터링을 지원하는 실시간 로그 관리 시스템인 Cloud Logging을 간략히 설명합니다. Cloud Logging은 Google Cloud 리소스에서 로그 데이터를 자동으로 수집합니다. 애플리케이션, 온프레미스 리소스, 다른 클라우드 제공업체의 리소스는 로그 데이터를 Cloud Logging으로 전송할 수 있습니다. 로그 데이터에서 특정 종류의 이벤트가 보고되면 Cloud Monitoring에서 알림을 전송하도록 알림 정책을 구성할 수도 있습니다. 규제 또는 보안상의 이유로 로그 데이터가 저장되는 위치를 결정할 수 있습니다.
애플리케이션 및 서드 파티 소프트웨어에서 로그 수집
클라이언트 라이브러리를 사용하여 애플리케이션을 계측하여 작성한 애플리케이션에서 로그를 수집할 수 있습니다. 하지만 애플리케이션을 계측할 필요가 없는 경우도 있습니다. 예를 들어 일부 구성에서는 운영 에이전트를 사용하여 stdout
또는 stderr
에 작성된 로그를 Google Cloud 프로젝트로 보낼 수 있습니다.
운영 에이전트를 설치한 후 해당 애플리케이션의 로그를 Google Cloud 프로젝트에 쓰도록 구성하여 nginx
와 같은 타사 애플리케이션에서 로그 데이터를 수집할 수도 있습니다.
요구사항에 가장 적합한 방식을 결정하는 데 도움이 되는 정보는 Logging 에이전트 또는 클라이언트 라이브러리 중에서 어느 것을 사용해야 하나요?를 참조하세요.
문제 해결 및 로그 분석
Google Cloud 콘솔을 사용하면 로그 탐색기 또는 로그 분석 페이지에서 로그 데이터를 보고 분석할 수 있습니다. 두 인터페이스 모두에서 로그를 쿼리하고 볼 수 있습니다. 하지만 다른 쿼리 언어를 사용하고 기능이 다릅니다.
서비스 및 애플리케이션의 성능 문제를 해결하고 분석하려면 로그 탐색기를 사용하는 것이 좋습니다. 이 인터페이스는 개별 로그 항목을 보고 관련 로그 항목을 찾을 수 있도록 설계되었습니다. 예를 들어 로그 항목이 오류 그룹의 일부인 경우 해당 항목은 오류의 자세한 정보에 액세스하는 메뉴 옵션으로 주석 처리됩니다.
예를 들어 시간 경과에 따라 특정 URL에 발급된 HTTP 요청의 평균 지연 시간을 계산하기 위해 로그에서 집계 작업을 수행하려면 로그 분석 인터페이스를 사용합니다. 이 인터페이스의 경우 SQL을 사용하여 로그 데이터를 쿼리하므로 SQL의 기능을 사용하여 로그 데이터를 파악할 수 있습니다.
로그 데이터를 프로그래매틱 방식으로 쿼리하려면 Cloud Logging API 또는 Google Cloud CLI를 사용하여 Google Cloud 프로젝트에서 로그 데이터를 내보내면 됩니다.
자세한 내용은 로그 쿼리 및 보기 개요를 참조하세요.
로그 모니터링
로그에서 특정 종류의 이벤트가 발생하면 알림이 전송되도록 Cloud Logging을 구성할 수 있습니다. 이러한 알림은 로그 항목에 특정 패턴이 나타날 경우나 로그 데이터에서 추세가 감지되면 전송될 수 있습니다. Google Cloud 서비스의 오류율을 보려면 사전 구성된 Cloud Logging 대시보드를 보면 됩니다.
예를 들어 심각한 보안 관련 이벤트와 같은 특정 메시지가 표시될 때 알림을 받으려면 로그 기반 알림 정책을 만들면 됩니다. 로그 기반 알림 정책은 특정 패턴 로그를 모니터링합니다. 해당 패턴이 발견되면 Monitoring에서 알림을 전송하고 이슈를 만듭니다. 로그 기반 알림 정책은 다음과 같이 중요하지만 드물게 발생하는 이벤트에 유용합니다.
- 감사 로그에 이벤트가 표시되면(예: 사용자가 서비스 계정의 보안 키에 액세스하려는 경우) 알림을 받기를 원합니다.
- 애플리케이션은 배포 메시지를 로그에 작성하며, 배포 변경사항이 로깅될 때 알림을 받기를 원합니다.
또는 트렌드 또는 시간 경과에 따른 이벤트 발생을 모니터링할 수 있습니다. 이러한 경우 로그 기반 측정항목을 만들면 됩니다. 로그 기반 측정항목은 일정 기준과 일치하는 로그 항목의 개수를 카운트하거나 응답 시간 등의 정보를 히스토그램으로 추출하여 정리할 수 있습니다. 또한 응답 시간이 허용되지 않는 수준으로 증가와 같은 성능 변화가 발생하면 이를 알리는 알림 정책을 구성할 수도 있습니다. 로그 기반 측정항목은 다음을 수행하려는 경우에 적합합니다.
- 로그에서 경고 또는 오류와 같은 메시지 발생 횟수를 세고 발생 횟수가 기준점을 초과하면 알림 받기
- 로그의 지연 시간 값 등의 데이터 추세를 관찰하고 값이 허용되지 않는 범위로 변경되면 알림 받기
- 로그에서 추출한 숫자 데이터를 표시하는 차트 만들기
자세한 내용은 로그 모니터링을 참조하세요.
로그 스토리지
로그 저장 위치는 구성할 필요가 없습니다. 기본적으로 Google Cloud 프로젝트는 수신하는 모든 로그를 Cloud Logging 로그 버킷에 자동으로 저장합니다. 예를 들어 Google Cloud 프로젝트에 Compute Engine 인스턴스가 포함되어 있으면 Compute Engine이 생성하는 모든 로그가 자동으로 저장됩니다. 그러나 필요한 경우 저장할 로그, 삭제할 로그, 로그 저장 위치와 같은 로그 스토리지의 다양한 측면을 구성할 수 있습니다.
다음 대상으로 로그 항목을 라우팅하거나 전달할 수 있는데, 이는 동일한 Google Cloud 프로젝트 또는 다른 Google Cloud 프로젝트에 있을 수 있습니다.
Cloud Logging 버킷: Cloud Logging에서 스토리지를 제공합니다. 로그 버킷은 여러 Google Cloud 프로젝트에서 수신한 로그 항목을 저장할 수 있습니다. 로그 버킷은 로그 항목이 시작된 동일한 프로젝트에 있거나 다른 프로젝트에 있을 수 있습니다. 로그 버킷에 저장된 로그 항목을 보는 방법에 대한 자세한 내용은 로그 쿼리 및 보기 개요 및 Cloud Logging 버킷으로 라우팅된 로그 보기를 참조하세요.
로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드한 후 연결된 데이터 세트를 만들어 Cloud Logging 데이터를 다른 데이터와 결합할 수 있습니다. 연결된 데이터 세트는 BigQuery Studio 및 Looker Studio 페이지에서 쿼리할 수 있는 읽기 전용 데이터 세트입니다.
BigQuery 데이터 세트: 쓰기 가능한 BigQuery 데이터 세트에서 로그 항목의 스토리지를 제공합니다. BigQuery 데이터 세트는 로그 항목이 시작하는 같은 프로젝트에 있거나 다른 프로젝트에 있을 수 있습니다. 저장된 로그 항목에서 빅데이터 분석 기능을 사용할 수 있습니다. BigQuery로 라우팅된 로그 항목을 보는 방법을 자세히 알아보려면 BigQuery로 라우팅된 로그 보기를 참조하세요.
- Cloud Storage 버킷: Cloud Storage에서 로그 항목의 스토리지를 제공합니다. Cloud Storage 버킷은 로그 항목이 시작된 동일한 프로젝트에 있거나 다른 프로젝트에 있을 수 있습니다. 로그 항목은 JSON 파일로 저장됩니다. Cloud Storage로 라우팅된 로그 항목을 보는 방법을 자세한 내용은 Cloud Storage로 라우팅된 로그 보기를 참조하세요.
Pub/Sub 주제: 서드 파티 통합을 지원합니다. 로그 항목은 JSON 형식으로 지정된 후 Pub/Sub 주제로 라우팅됩니다. 주제는 로그 항목이 시작된 동일한 프로젝트에 있거나 다른 프로젝트에 있을 수 있습니다. Pub/Sub로 라우팅된 로그 항목을 보는 방법을 자세한 내용은 Pub/Sub로 라우팅된 로그 보기를 참조하세요.
Google Cloud 프로젝트: 로그 항목을 다른 Google Cloud 프로젝트로 라우팅합니다. 이 구성에서는 대상 프로젝트의 싱크가 로그 항목을 처리합니다.
데이터 리전 지원을 비롯한 자세한 내용은 라우팅 및 스토리지 개요를 참조하세요.
로그 카테고리
로그 카테고리는 사용자에게 제공되는 로깅 정보를 설명하는 데 도움이 되며, 카테고리들은 상호 배타적이지 않습니다.
플랫폼 로그는 Google Cloud 서비스에서 작성하는 로그입니다. 이러한 로그는 문제를 디버깅하고 해결하는 데 도움이 되며 사용 중인 Google Cloud 서비스를 더 잘 이해하는 데 도움이 됩니다.
구성요소 로그는 플랫폼 로그와 비슷하지만 시스템에서 실행되는 Google 제공 소프트웨어 구성요소에 의해 생성됩니다. 예를 들어 GKE는 사용자가 자체 VM 또는 자체 데이터 센터에서 실행할 수 있는 소프트웨어 구성요소를 제공합니다. 로그는 사용자의 GKE 인스턴스에서 생성되어 사용자의 Google Cloud 프로젝트로 전송됩니다. GKE는 로그 또는 로그 메타데이터를 사용하여 사용자에게 지원을 제공합니다.
보안 로그는 "누가 어디서 언제 무엇을 했는지"에 대한 답변을 도와줍니다.
- Cloud 감사 로그는 Google Cloud 리소스 내 관리 활동과 액세스에 대한 정보를 제공합니다. 감사 로그를 사용 설정하면 보안, 감사, 규정 준수 항목이 Google Cloud 데이터 및 시스템에서 취약점 발생 또는 외부 데이터 오용 가능성을 모니터링할 수 있습니다. Google Cloud 지원 서비스 목록은 감사 로그를 생성하는 Google 서비스를 참조하세요.
- 액세스 투명성은 Google 직원이 Google Cloud 콘텐츠에 액세스할 때 수행한 작업의 로그를 제공합니다. 액세스 투명성 로그는 조직에서 법률 및 규제 요구사항을 준수하는지 추적하는 데 유용합니다. Google Cloud 지원 서비스 목록은 액세스 투명성 로그를 생성하는 Google 서비스를 참조하세요.
사용자 작성 로그는 커스텀 애플리케이션 및 서비스에서 작성된 로그입니다. 일반적으로 이러한 로그는 다음 방법 중 하나를 통해 Cloud Logging에 작성됩니다.
- 운영 에이전트 또는 Logging 에이전트: 사용 가능한 로그 목록은 기본 Logging 에이전트 로그를 참조하세요. 값을 반환합니다.
- 멀티 클라우드 로그 및 하이브리드 클라우드 로그는 Microsoft Azure와 같은 다른 클라우드 제공업체의 로그 및 온프레미스 인프라의 로그를 참조합니다.
로그에 대한 데이터 모델
Cloud Logging에서 로그 데이터를 구성하는 데 사용하는 데이터 모델에 따라 해당 데이터를 쿼리할 수 있는 측정기준이 결정됩니다. 예를 들어 로그는 개별 항목의 이름이 지정된 컬렉션이므로 로그 이름을 기준으로 데이터를 쿼리할 수 있습니다. 마찬가지로 각 로그는 LogEntry
객체로 형식이 지정된 로그 항목으로 구성되므로 LogEntry
필드의 값이 일부 기준과 일치하는 해당 로그 항목만 검색하는 쿼리를 작성할 수 있습니다. 예를 들어 severity
필드에 ERROR
의 값이 있는 로그 항목만 표시할 수 있습니다.
각 로그 항목은 상태를 기록하거나 VM 인스턴스 만들기와 같은 특정 이벤트를 기술하며 최소한 다음 요소를 포함합니다.
- 이벤트가 발생한 시점 또는 Cloud Logging에서 수신된 시점을 나타내는 타임스탬프
- 로그 항목 소스에 관한 정보. 이 소스를 모니터링 리소스라고 합니다. 모니터링된 리소스의 예시로는 개별 Compute Engine VM 인스턴스 및 Google Kubernetes Engine 컨테이너가 있습니다. 모니터링 리소스 유형의 전체 목록은 모니터링 리소스 및 서비스를 참조하세요.
- 구조화되지 않은 텍스트 데이터로 제공되거나 JSON 형식의 구조화된 텍스트 데이터로 제공되는 페이로드(메시지라고도 함)
로그가 속한 로그의 이름. 로그 이름에는 로그 항목이 속한 리소스의 전체 경로와 식별자가 포함됩니다. 다음은 로그 이름의 예시입니다.
projects/my-project/logs/stderr
projects/my-project/logs/stdout
projects/my-project/compute.googleapis.com/activity
액세스 제어
Identity and Access Management 역할은 주 구성원이 로그에 액세스하는 기능을 제어합니다. 사전 정의된 역할을 주 구성원에게 부여하거나 커스텀 역할을 만들 수 있습니다. 필요한 권한에 대한 자세한 내용은 액세스 제어를 참조하세요.
보관
로그 항목은 지정된 기간 동안 로그 버킷에 저장된 후 삭제됩니다. 자세한 내용은 라우팅 및 스토리지 개요: 보관을 참조하세요.
가격 책정
Cloud Logging은 로그를 지원되는 대상으로 라우팅하는 데 비용을 청구하지 않지만 대상에 요금이 부과될 수 있습니다.
_Required
로그 버킷을 제외하고 Cloud Logging은 로그를 로그 버킷으로 스트리밍하고 로그 버킷의 기본 보관 기간보다 긴 스토리지에 대해 요금을 청구합니다.
Cloud Logging은 로그 복사, 로그 범위 정의, 로그 탐색기 또는 로그 애널리틱스 페이지를 통해 실행되는 쿼리에 대해 요금을 부과하지 않습니다.
자세한 내용은 다음 문서를 참조하세요.
- Cloud Logging 가격 책정 요약
대상 비용:
- VPC 흐름 로그 생성 요금은 전송한 후 Cloud Logging에서 Virtual Private Cloud 흐름 로그를 제외할 때 적용됩니다.