Cloud Logging 버킷으로 라우팅된 로그 보기

이 문서에서는 Cloud Logging 버킷으로 라우팅한 로그 항목을 찾는 방법을 설명합니다. 로그 버킷은 로그 데이터를 보관하 Google Cloud 프로젝트의 Cloud Logging 스토리지 컨테이너입니다. 로그 싱크를 만들어 로그 전체 또는 하위 집합을 Cloud Logging의 버킷으로 라우팅할 수 있습니다. 이를 통해 로그가 저장되는 Google Cloud 프로젝트와 함께 저장되는 다른 로그를 유연하게 선택할 수 있습니다.

Cloud Logging 버킷으로 라우팅하는 로그를 즉시 사용할 수 있습니다.

다른 대상으로 라우팅된 로그를 보는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.

시작하기 전에

로그 버킷을 만들고 관리하는 방법에 관한 안내는 다음 문서를 참조하세요.

싱크에 대한 개념 설명은 라우팅 및 스토리지 모델 개요: 싱크를 참조하세요.

로그를 라우팅하는 방법에 대한 자세한 내용은 지원되는 대상으로 로그 라우팅을 참조하세요.

로그 보기

로그 버킷의 개별 로그 항목 문제를 해결하고 보려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔의 탐색 패널에서 Logging을 선택한 후 로그 탐색기를 선택합니다.

    로그 탐색기로 이동

  2. 작업 툴바에서 범위 상세검색을 선택합니다.
  3. 범위 상세검색 대화창에서 스토리지별 범위를 선택합니다.
  4. 로그 버킷을 하나 이상 선택한 후 적용을 클릭합니다.

    쿼리를 실행하는 방법에 대한 자세한 내용은 로그 탐색기의 쿼리 빌드를 참조하세요.

로그 애널리틱스를 사용하도록 업그레이드된 로그 버킷에 저장된 로그 항목에 대한 분석을 수행하려면 다음을 수행합니다.

  1. Google Cloud 콘솔의 탐색 패널에서 로깅을 선택한 후 로그 애널리틱스를 선택합니다.

    로그 애널리틱스로 이동

  2. 로그 뷰 목록에서 뷰를 찾은 후 쿼리를 선택합니다. 쿼리 창에는 쿼리되는 테이블의 이름이 포함된 기본 쿼리가 채워집니다.

    쿼리 창에 쿼리를 입력하거나 표시된 쿼리를 수정할 수도 있습니다.

    로그 버킷의 모든 로그를 쿼리하려면 _AllLogs 뷰를 선택합니다.

  3. 툴바에서 쿼리 실행을 클릭합니다.

    쿼리가 실행되고 쿼리 결과가 결과 탭에 표시됩니다.

    툴바 옵션을 사용하여 쿼리 형식을 지정하고, 쿼리를 삭제하고, BigQuery SQL 참조 문서를 열 수 있습니다.

    쿼리 실행 방법은 로그 애널리틱스에서 쿼리 및 로그 보기를 참조하세요.

로그 항목 조직

Logging 로그 항목은 LogEntry 유형의 객체입니다.

로그 유형(LogEntry 참조에서 [LOG_ID]고도 함)이 같은 로그 항목은 대체로 형식도 동일합니다. 다음 표는 샘플 로그 항목을 보여줍니다.

syslog

Compute Engine syslog는 가상 머신 인스턴스에서 실행되는 Logging 에이전트인 google-fluentd에서 생성되는 커스텀 로그 유형입니다.

{
  logName: "projects/my-gcp-project-id/logs/syslog",
  timestamp: "2015-01-13T19:17:01Z",
  resource: {
    type: "gce_instance",
    labels: {
      instance_id: "12345",
      zone: "us-central1-a",
      project_id: "my-gcp-project-id"
    }
  },
  insertId: "abcde12345",
  textPayload: "Jan 13 19:17:01 my-gce-instance /USR/SBIN/CRON[29980]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)"
}

request_log

App Engine의 request_log에는 RequestLog 유형의 객체를 보유하는 protoPayload 필드가 포함된 로그 항목이 있습니다.

{
  logName: "projects/my-gcp-project-id/logs/appengine.googleapis.com%2Frequest_log",
  timestamp: "2015-01-13T19:00:39.796169Z",
  resource: {
    type: "gae_app",
    labels: {
      module_id: "default",
      zone: "us6",
      project_id: "my-gcp-project-id",
      version_id: "20150925t173233"
    }
  }
  httpRequest: {
    status: 200
  }
  insertId: "abcde12345",
  operation: {
    id: "abc123",
    producer: "appengine.googleapis.com/request_id",
    first: true,
    last: true
  }
  protoPayload: {
    @type: "type.googleapis.com/google.appengine.logging.v1.RequestLog"
    versionId: "20150925t173233",
    status: 200,
    startTime: "2017-01-13T19:00:39.796169Z",
    # ...
    appId: "s~my-gcp-project-id",
    appEngineRelease: "1.9.17",
  }
}

activity

activity 로그는 관리자 활동 감사 로그입니다. 페이로드는 AuditLog 유형의 JSON 표현입니다.

{
 logName: "projects/my-gcp-project-id/logs/cloudaudit.googleapis.com%2Factivity"
 timestamp: "2017-04-22T13:41:32.245Z"
 severity: "NOTICE"
 resource: {
  type: "gce_instance"
  labels: {
   instance_id: "2403273232180765234"
   zone: "us-central1-b"
   project_id: "my-gcp-project-id"
  }
 }
 insertId: "54DC1882F4B49.A4996C2.6A02F4C1"
 operation: {
  id: "operation-1492868454262-54dc185e9a4f0-249fe233-f73d472a"
  producer: "compute.googleapis.com"
  last: true
 }
 protoPayload: {
  @type: "type.googleapis.com/google.cloud.audit.AuditLog"
  authenticationInfo: {
   principalEmail: "649517127304@cloudservices.gserviceaccount.com"
  }
  requestMetadata: {…}
  serviceName: "compute.googleapis.com"
  methodName: "v1.compute.instances.delete"
  resourceName: "projects/my-gcp-project-id/zones/us-central1-b/instances/abc123"
 }
}

문제 해결

로그가 싱크 대상에서 누락된 것으로 보이거나 싱크가 제대로 로그를 라우팅하지 않는 것으로 의심되는 경우 라우팅 및 싱크 문제 해결을 참조하세요.

가격 책정

Cloud Logging은 로그를 지원되는 대상으로 라우팅하는 데 비용을 청구하지 않지만 대상에 요금이 부과될 수 있습니다. _Required 로그 버킷을 제외하고 Cloud Logging은 로그를 로그 버킷으로 스트리밍하고 로그 버킷의 기본 보관 기간보다 긴 스토리지에 대해 요금을 청구합니다.

Cloud Logging은 로그 복사 또는 로그 탐색기 페이지 또는 로그 애널리틱스 페이지를 통해 실행된 쿼리에 대해서는 요금을 부과하지 않습니다.

자세한 내용은 다음 문서를 참조하세요.