Pub/Sub로 라우팅된 로그 보기

이 문서에서는 거의 실시간으로 발생하는 Cloud Logging에서 Pub/Sub 주제로 라우팅하는 로그 항목을 찾는 방법을 설명합니다. Cloud Logging 로그를 서드 파티 소프트웨어와 통합할 때는 Pub/Sub를 사용하는 것이 좋습니다.

Pub/Sub 주제로 로그를 라우팅하면 Logging에서 해당 로그 항목을 받는 즉시 Pub/Sub 메시지로 각 로그 항목을 게시합니다. 라우팅된 로그는 일반적으로 Logging에 도착한 후 몇 초 이내에 사용할 수 있으며 로그의 99%는 60초 이내에 사용할 수 있습니다.

시작하기 전에

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

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

로그 보기

로그가 Pub/Sub를 통해 스트리밍되는 것을 확인하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 주제 페이지로 이동합니다.

    주제로 이동

    검색창을 사용하여 이 페이지를 찾는 경우 부제목이 Pub/Sub인 결과를 선택합니다.

  2. 로그 싱크에 사용된 주제에 대한 구독을 찾거나 만든 후에, 여기에서 로그 항목을 가져옵니다. 새로운 로그 항목이 게시될 때까지 기다려야 할 수도 있습니다.

로그 구성

각 메시지의 data 필드는 base64로 인코딩된 LogEntry 객체입니다. 예를 들어 Pub/Sub 구독자는 로그 항목을 수신하는 주제에서 다음과 같은 객체를 가져올 수 있습니다. 여기에 나와 있는 객체에는 하나의 메시지가 있는 목록이 포함되어 있습니다. 그러나 로그 항목이 여러 개인 경우에는 Pub/Sub에서 여러 메시지를 반환할 수 있습니다. 예시를 쉽게 읽을 수 있도록 data 값(약 600자)과 ackId 값(약 200자)이 단축 표시되었습니다.

{
 "receivedMessages": [
  {
   "ackId": "dR1JHlAbEGEIBERNK0EPKVgUWQYyODM...QlVWBwY9HFELH3cOAjYYFlcGICIjIg",
   "message": {
    "data": "eyJtZXRhZGF0YSI6eyJzZXZ0eSI6Il...Dk0OTU2G9nIjoiaGVsbG93b3JsZC5sb2cifQ==",
    "attributes": {
     "compute.googleapis.com/resource_type": "instance",
     "compute.googleapis.com/resource_id": "123456"
    },
    "messageId": "43913662360"
   }
  }
 ]
}

data 필드를 디코딩하고 형식을 지정하면 다음과 같은 LogEntry 객체를 얻게 됩니다.

{
  "log": "helloworld.log",
  "insertId": "2015-04-15|11:41:00.577447-07|10.52.166.198|-1694494956",
  "textPayload": "Wed Apr 15 20:40:51 CEST 2015 Hello, world!",
  "timestamp": "2015-04-15T18:40:56Z",
  "labels": {
    "compute.googleapis.com\/resource_type": "instance",
    "compute.googleapis.com\/resource_id": "123456"
  },
  "severity": "WARNING"
  }
}

Pub/Sub로 타사 통합

Logging은 Splunk와 같은 타사와의 로깅 통합을 지원합니다. 현재 통합 목록은 파트너에서 Google Cloud Observability 통합을 참조하세요.

Pub/Sub 주제를 통해 로그를 라우팅하면 제3자가 동일한 주제를 구독하여 로그를 수신합니다.

통합을 수행하려면 일반적으로 다음과 같은 작업을 수행해야 합니다.

  1. Google Cloud 프로젝트에서 생성한 Google Cloud 서비스 계정 이름을 서드 파티로부터 가져옵니다. 예를 들면 [email protected]입니다. 이 이름을 사용하여 제3자에 로그를 수신할 수 있는 권한을 제공합니다.

  2. 로그가 포함된 프로젝트에서 Pub/Sub API를 사용 설정합니다.

  3. Pub/Sub API 사용 설정

    API 사용 설정

  4. Pub/Sub 주제를 만듭니다. 로그 싱크를 구성할 때 또는 다음 단계를 수행하여 주제를 만들 수 있습니다.

    1. Google Cloud 콘솔에서 주제 페이지로 이동합니다.

      주제로 이동

      검색창을 사용하여 이 페이지를 찾는 경우 부제목이 Pub/Sub인 결과를 선택합니다.

    2. 주제 만들기를 선택하고 주제 이름을 입력합니다. 예를 들면 projects/my-project-id/topics/my-pubsub-topic입니다. 이 주제로 로그를 라우팅합니다.

      주제로 전송한 각 메시지에는 Pub/Sub 메시지 attributes의 라우팅된 로그 항목에 대한 타임스탬프가 포함됩니다. 예를 들면 다음과 같습니다.

      "attributes": {
        "logging.googleapis.com/timestamp": "2018-10-01T00:00:00Z"
      }
      
    3. 주제 만들기를 클릭합니다.

    4. Logging을 승인하여 주제로 로그를 라우팅합니다. 자세한 내용은 대상 권한 설정을 참조하세요.

  5. 주제를 구독하도록 제3자를 승인합니다.

    1. Google Cloud 콘솔에서 주제 페이지로 이동합니다.

      주제로 이동

      검색창을 사용하여 이 페이지를 찾는 경우 부제목이 Pub/Sub인 결과를 선택합니다.

    2. 주제를 선택합니다.
    3. 권한을 선택합니다.
    4. 권한 추가를 선택하고 서드 파티의 서비스 계정 이름을 입력합니다.
    5. 역할 선택 메뉴에서 Pub/Sub 구독자를 선택합니다.
    6. 저장을 클릭합니다.
  6. 제3자에게 Pub/Sub 주제의 이름을 제공합니다. 예를 들면 projects/my-project-number/topics/my-pubsub-topic입니다. 제3자가 해당 주제를 구독해야 라우팅을 시작할 수 있습니다.

  7. 제3자가 주제를 구독한 후에 로그 라우팅을 시작합니다.

    1. Google Cloud 콘솔에서 로그 라우터 페이지로 이동합니다.

      로그 라우터로 이동

      검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

    2. 라우팅할 로그가 포함된 프로젝트에서 싱크 만들기를 클릭합니다.
    3. 싱크의 이름과 설명을 입력한 후 다음을 클릭합니다.
    4. 싱크 서비스 메뉴에서 Cloud Pub/Sub 주제를 선택합니다.
    5. Cloud Pub/Sub 주제 메뉴에서 서드 파티가 구독한 Pub/Sub 주제를 선택한 후 다음을 클릭합니다.
    6. 싱크에 포함할 로그를 선택한 후 다음을 클릭합니다.
    7. (선택사항) 제외할 로그를 선택합니다.
    8. 싱크 만들기를 클릭합니다.

      싱크 생성됨 메시지가 포함된 대화상자가 나타납니다. 이 메시지는 앞으로 일치하는 로그를 사용자가 선택한 대상에 작성할 수 있는 권한을 사용해서 싱크가 성공적으로 생성되었음을 나타냅니다.

제3자가 즉시 로그 항목을 수신하기 시작합니다.

Pub/Sub를 사용하는 일반적인 로그 라우팅 시나리오를 살펴보려면 Cloud Logging 데이터 내보내기 시나리오: Splunk를 참조하세요.

문제 해결

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

가격 책정

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

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

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