Google Cloud Console을 사용하여 로그 내보내기

이 페이지에서는 Cloud Console과 gcloud 명령줄 도구를 사용하여 로그 항목을 내보내는 방법을 설명합니다.

Cloud Logging API를 사용하여 로그 항목을 내보낼 수도 있습니다.

로그 내보내기에 대한 간략한 개념은 로그 내보내기 개요를 참조하세요. 요약하면 로그 필터내보내기 대상을 포함하는 싱크를 하나 이상 만들어 로그를 내보내는 방식입니다. Cloud Logging에서 새로운 로그 항목을 수신하면 로그 항목이 각 싱크와 비교됩니다. 로그 항목이 싱크의 필터와 일치하면 로그 항목 복사본이 내보내기 대상에 작성됩니다.

로그를 다음 대상으로 내보낼 수 있습니다.

내보낸 로그의 형식 지정 및 구성 방법과 내보낸 로그를 보는 방법은 내보낸 로그 사용을 참조하세요.

로그 탐색기 및 로그 라우터로 싱크 만들기 및 관리

Cloud Console을 사용하여 다음을 수행할 수 있습니다.

  • 모든 싱크를 한곳에서 확인합니다.
  • 싱크를 만들기 전에 싱크 쿼리와 일치하는 로그 항목을 확인합니다.
  • 싱크의 내보내기 대상 위치를 만들고 승인합니다.

하지만 Cloud Console에서는 프로젝트에 싱크만 만들거나 볼 수 있습니다. gcloud 명령줄 도구 또는 Cloud Logging API를 사용하여 조직, 폴더, 또는 결제 계정에 싱크를 만들려면 집계 싱크를 참조하세요.

싱크를 만들려면 먼저 다음을 확인해야 합니다.

  • 로그 탐색기에서 볼 수 있는 로그가 포함된 Google Cloud 프로젝트가 있어야 합니다.

  • Cloud 프로젝트에 소유자 또는 Logging/로그 구성 작성자 IAM 역할이 있어 싱크를 만들거나 삭제하거나 수정할 수 있어야 합니다. 자세한 내용은 권한 및 역할을 참조하세요.

  • 대상 서비스가 있거나 대상 서비스를 만들 수 있는 권한이 있어야 합니다.

싱크 만들기

로그 탐색기 페이지에서 싱크를 만들려면 작업 > 싱크 만들기를 선택합니다.

싱크 만들기 옵션을 보여주는 메뉴

로그 라우터 페이지에서 싱크를 만들려면 싱크 만들기를 선택합니다.

로그 라우터에서 싱크 만들기 선택

싱크 만들기를 선택한 후 로그 라우팅 싱크 만들기 패널에서 다음 단계를 완료합니다.

  1. 싱크 세부정보를 입력합니다.

    • 싱크 이름: 싱크 식별자를 입력합니다.

    • 싱크 설명(선택사항): 싱크의 목적 또는 사용 사례를 설명합니다.

  2. 싱크 대상을 입력합니다.

    • 싱크 서비스 선택: 로그를 라우팅할 서비스를 선택합니다.

    사용 가능한 서비스와 대상은 다음과 같습니다.

    • Cloud Logging 로그 버킷: 로그 버킷을 선택하거나 만듭니다.
    • BigQuery: 내보낸 로그를 수신할 특정 데이터세트를 선택하거나 만듭니다. 파티션을 나눈 테이블도 사용할 수 있습니다.
    • Cloud Storage: 내보낸 로그를 수신할 특정 Cloud Storage 버킷을 선택하거나 만듭니다.
    • Pub/Sub: 내보낸 로그를 수신할 특정 주제를 선택하거나 만듭니다.
    • Splunk: Splunk 서비스에 대한 Pub/Sub 주제를 선택합니다.
    • 기타 프로젝트: Google Cloud 서비스와 대상을 다음 형식으로 추가합니다.

      SERVICE.googleapis.com/projects/PROJECT_ID/DESTINATION/DESTINATION_ID
      

      예를 들어 내보내기 대상이 BigQuery 데이터 세트이면 싱크 대상은 다음과 같습니다.

      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
      

  3. 싱크에 포함할 로그 선택

    • 포함 필터 빌드: 필터를 입력하여 싱크 대상으로 라우팅할 로그를 선택합니다.

    모든 데이터 액세스 로그를 단일 버킷으로 라우팅하는 필터를 만들 수 있습니다. 이 필터는 다음과 같습니다.

    LOG_ID("cloudaudit.googleapis.com/data_access") OR LOG_ID("externalaudit.googleapis.com/data_access")
    

    올바른 필터를 입력했는지 확인하려면 미리보기 로그를 선택합니다. 그러면 필터가 미리 채워진 새 탭에서 로그 탐색기가 열립니다. 필터를 만드는 방법에 대한 자세한 내용은 Logging 쿼리 언어를 참조하세요.

  4. 싱크에서 제외할 로그를 선택하세요(선택사항).

    • 제외 필터 빌드: 제외 추가를 선택하고 필터를 입력하여 싱크 대상으로 라우팅하지 않는 로그를 선택합니다.

    • 제외 필터 이름: 제외 필터 식별자를 입력합니다.

    • 제외 필터 비율: 0~100 사이의 정수를 입력합니다. 제외 필터와 일치하는 수신 로그는 해당 값에 따라 샘플링됩니다.

      0 값은 필터와 일치하는 로그의 0%를 샘플링합니다. 따라서 0은 제외 필터 사용 중지와 동일합니다. 100 값은 모든 로그의 100%를 샘플링합니다. 따라서 제외 필터와 일치하는 모든 로그가 대상에서 제외됩니다. 50 값은 제외 필터와 일치하는 로그의 50%를 샘플링합니다. 따라서 제외와 일치하는 로그의 50%가 제외되고 나머지 다른 유형 50%는 목적지로 라우팅됩니다.

      싱크당 최대 50개의 제외 필터를 만들 수 있습니다.

  5. 싱크 만들기를 선택합니다.

싱크 필터와 일치하는 새 로그 항목이 싱크 대상으로 라우팅됩니다. 로그 버킷, BigQuery 또는 Pub/Sub로 전달되는 로그 항목은 즉시 스트리밍됩니다. Cloud Storage로 전달되는 로그 항목은 약 1시간마다 배치로 전송됩니다. 내보낸 대상에서 로그를 보는 방법에 대한 자세한 내용은 내보낸 로그 사용을 참조하세요.

로그를 내보내기 대상 위치로 내보내려고 시도할 때 Logging에 오류가 발생하면 프로젝트의 활동 스트림에 오류가 표시됩니다. Google Cloud Console의 프로젝트 홈페이지 상단에서 활동을 선택하세요. 일반적인 오류를 진단하려면 아래의 문제해결을 참조하세요.

다른 Google Cloud 프로젝트에 로그 내보내기

싱크가 생성된 Cloud 프로젝트가 아닌 다른 Cloud 프로젝트의 대상으로 로그를 내보낼 수 있습니다.

이렇게 하려면 다음 중 하나를 수행해야 합니다.

  • 로그를 전송하는 Cloud 프로젝트에 대한 다음 IAM 권한 중 하나를 가지고 있어야 합니다.

    • 소유자(roles/owner)
    • Logging 관리자(roles/logging.admin)
    • 로그 구성 작성자(roles/logging.configWriter)
  • 싱크의 서비스 계정에 대상에 쓰기 권한을 가지는 roles/logging.logWriter 역할을 부여합니다.

싱크의 서비스 계정에 올바른 권한을 제공하는 방법에 대한 자세한 내용은 대상 권한을 참조하세요. Logging 역할과 권한 목록은 액세스 제어를 참조하세요.

싱크 관리

싱크가 생성되면 로그 라우터 페이지에서 싱크를 볼 수 있으며 여기에서 다음 작업을 수행할 수 있습니다.

  • 싱크 세부정보 보기
  • 싱크 수정
  • 싱크 중지
  • 싱크 삭제

Logging 메뉴에서 로그 라우터 페이지로 이동하려면 로그 라우터를 선택합니다.

로그 라우터로 이동

로그 라우터 인터페이스에는 싱크가 요약된 테이블이 있습니다. 테이블의 각 행에는 로그 내보내기에 설명된 싱크 속성에 해당하는 정보가 있습니다.

  • 유형: 싱크 대상 유형입니다.
  • 이름: 현재 프로젝트의 싱크 식별자입니다.
  • 설명: 싱크 설명입니다.
  • 대상: 내보낸 로그 항목이 전달되는 위치의 전체 이름입니다.
  • 상태: 싱크가 사용 설정 또는 중지로 설정되었는지를 나타냅니다.

각 테이블 행에는 메뉴 가 있으며 다음과 같은 옵션이 있습니다.

  • 싱크 세부정보 보기: 싱크의 이름, 설명, 서비스, 대상, 포함 필터, 제외 필터를 표시합니다. 수정을 선택하면 싱크 속성을 변경할 수 있습니다.
  • 싱크 수정: 싱크 매개변수를 변경할 수 있는 싱크 수정 패널이 열립니다.
  • 싱크 사용 중지: 싱크를 사용 중지하고 싱크의 대상 위치로 로그 라우팅을 중지합니다.

  • 싱크 사용 설정: 사용 중지된 싱크를 사용 설정하고 싱크의 대상 위치로 로그 라우팅을 다시 시작합니다.

  • 싱크 삭제: 싱크를 삭제하고 싱크 대상으로 로그 라우팅을 중지할 수 있습니다. _Default_Required 싱크는 삭제할 수 없지만 _Default 싱크를 사용 중지하여 _Default 로그 버킷으로의 로그 라우팅을 중지할 수 있습니다.

열 이름을 클릭하여 데이터를 오름차순 또는 내림차순으로 정렬할 수 있습니다. 표 하단에서 표시할 행 개수를 선택할 수도 있습니다.

gcloud 명령줄 도구로 싱크 만들기 및 관리

싱크를 만들려면 gcloud 베타 로깅 싱크 만들기 명령어를 실행합니다.

gcloud beta logging sinks create SINK_NAME SINK_LOCATION OPTIONAL_FLAGS

예를 들어 Cloud Logging 로그 버킷에 싱크를 만들려면 다음 안내를 따르세요.

gcloud beta logging sinks create my-sink logging.googleapis.com/projects/myproject123/locations/global/buckets/my-bucket \
  --log-filter='logName="projects/myproject123/logs/matched"' --description="My first sink"

프로젝트의 로그를 다른 프로젝트의 버킷으로 라우팅

현재 프로젝트의 로그를 다른 프로젝트의 버킷으로 라우팅하려면 다음 단계를 완료합니다.

참고로, 프로젝트 간 버킷 싱크의 경우 이러한 싱크에 대해 Logging이 생성하는 서비스 계정에 적절한 ID 및 액세스 관리 권한을 추가해야 합니다. 또한 대상 버킷의 Google Cloud 프로젝트에서 결제를 사용 설정해야 합니다.

  1. 아직 수행하지 않은 경우 다른 프로젝트에 버킷을 만듭니다.

     gcloud beta logging buckets create BUCKET_ID --project=DESTINATION_PROJECT_ID
    
  2. 싱크를 만들어 로그를 다른 버킷으로 라우팅합니다.

     gcloud beta logging sinks create SINK_NAME \
       logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/global/buckets/BUCKET_ID \
       --log-filter='FILTER_CONDITIONS'
    
  3. 싱크 writerIdentity 필드에서 서비스 계정을 가져옵니다.

     gcloud beta logging sinks describe SINK_NAME
    

    서비스 계정은 다음과 유사합니다.

     serviceAccount:p123456789012-12345@gcp-sa-logging.iam.gserviceaccount.com
    
  4. 서비스 계정에 roles/logging.bucketWriter 역할을 부여합니다.

    1. 대상 프로젝트의 ID 및 액세스 관리 정책을 가져와서 JSON 형식으로 로컬 파일에 작성합니다.

      gcloud projects get-iam-policy DESTINATION_PROJECT_ID --format json > output.json
      
    2. 서비스 계정이 내가 만든 버킷에만 쓰기를 수행할 수 있는 IAM 조건을 추가합니다. 예를 들면 다음과 같습니다.

       {
         "bindings": [
           {
             "members": [
               "user:username@gmail.com"
             ],
             "role": "roles/owner"
           },
           {
             "members": [
               "[SERVICE_ACCOUNT]"
             ],
             "role": "roles/logging.bucketWriter",
             "condition": {
                 "title": "Bucket writer condition example",
                 "description": "Grants logging.bucketWriter role to service account [SERVICE_ACCOUNT] used by log sink [SINK_NAME]",
                 "expression":
                   "resource.name.endsWith("locations/global/buckets/BUCKET_ID")"
             }
           }
         ],
         "etag": "BwWd_6eERR4=",
         "version": 3
       }

    3. IAM 정책을 업데이트합니다.

      gcloud projects set-iam-policy DESTINATION_PROJECT_ID output.json
      

로그 수집 중지

_Default 싱크 및 _Default 버킷으로 라우팅하는 기타 싱크를 사용 중지하여 _Default 버킷에 대한 로그 수집을 사용 중지하면 Cloud Logging은 _Default 버킷에서 로그 데이터의 수집 및 저장을 중단합니다. 그러면 다음 두 조건이 충족될 때까지 _Default 버킷에 로그가 포함됩니다.

  • _Default 버킷으로 연결되는 싱크가 없음

  • 버킷의 보관 기간이 만료됨

_Default 버킷에 로그를 전송하는 모든 싱크를 사용 중지하면 Cloud Logging은 더 이상 버킷에 새 로그를 수집하는 데 요금을 부과하지 않습니다.

로그 수집을 사용 중지하려면 다음 절차를 완료하세요.

  1. 로그 라우터로 이동합니다.

    로그 라우터로 이동

  2. 로그를 _Default 버킷으로 라우팅하는 모든 싱크를 찾으려면 싱크를 대상별로 필터링한 후 _Default를 입력합니다.

    로그를 기본 버킷으로 라우팅하는 모든 싱크 찾기

  3. 싱크마다 메뉴 를 선택한 후 싱크 사용 중지를 선택합니다.

    기본 싱크가 중지됨

이제 싱크가 중지되고 Cloud Logging에서 더 이상 로그를 _Default 버킷으로 라우팅하지 않습니다.

대상 위치 권한

이 섹션에서는 Logging에 내보낸 로그를 싱크의 내보내기 대상 위치에 쓸 수 있는 Identity and Access Management 권한을 부여하는 방법을 설명합니다.

싱크를 만들면 Logging에서 고유한 작성자 ID라는 싱크의 새로운 서비스 계정을 만듭니다. 이 서비스 계정은 Cloud Logging에서 소유 및 관리하는 계정으로, 직접 관리할 수 없습니다. 싱크가 삭제되면 서비스 계정이 삭제됩니다.

그러면 내보내기 대상 위치는 이 서비스 계정이 로그 항목을 작성할 수 있도록 허용해야 합니다. 이 권한을 설정하려면 다음 절차를 완료하세요.

  1. Cloud Console, gcloud logging 명령줄 인터페이스 또는 Logging API에서 새 싱크를 만듭니다.

  2. Cloud Console에 싱크를 만들었고 대상 위치에 대한 소유자 액세스 권한이 있으면 Cloud Logging이 사용자를 대신하여 필요한 권한을 설정합니다. 권한이 설정되었다면 더 이상 필요한 작업은 없습니다. 그렇지 않으면 계속 진행하세요.

  3. 새로운 싱크에서 싱크의 작성자 ID(이메일 주소)를 가져옵니다.

    • Cloud Console을 사용하는 경우로그 라우터 페이지로 이동하고 메뉴 > 싱크 세부정보 보기를 선택합니다. 작성자 ID가 싱크 세부정보 패널에 표시됩니다.
    • gcloud logging을 사용하는 경우에는 싱크를 나열할 때 작성자 ID가 표시됩니다.
    • Logging API를 사용하는 경우에는 LogSink 객체에서 작성자 ID를 가져올 수 있습니다.
  4. 대상에 대한 소유자 액세스 권한이 있으면 다음 방식으로 대상에 서비스 계정을 추가하세요.

    • 대상 위치가 Cloud Storage이면 버킷에 싱크의 작성자 ID를 추가하고 Storage 객체 생성자 역할을 부여합니다.
    • 대상 위치가 BigQuery이면 데이터세트에 싱크의 작성자 ID를 추가하고 BigQuery 데이터 편집자 역할을 부여합니다.
    • 대상 위치가 Pub/Sub이면 주제에 싱크의 작성자 ID를 추가하고 Pub/Sub 게시자 역할을 부여합니다.
    • 로그 버킷 대상의 경우 로그 버킷에 싱크 작성자 ID를 추가하여 이 작성자에게 roles/logging.bucketWriter 권한을 부여합니다.
  5. 내보내기 대상에 대한 소유자 액세스 권한이 없으면 해당 권한이 있는 사용자에게 작성자 ID 서비스 계정 이름을 보냅니다. 그러면 해당 사용자는 이전 단계의 지침에 따라 작성자 ID를 내보내기 대상 위치에 추가해야 합니다.

승인 지연

싱크가 로그 항목을 내보내려고 하는데 내보내기 대상 위치에 대한 적절한 IAM 권한이 없으면 싱크는 오류를 보고하고 해당 로그 항목을 건너뜁니다. 권한이 부여될 때까지 이 작업이 계속되며 권한이 부여되면 싱크가 새로운 로그 항목을 내보내기 시작합니다.

싱크를 만드는 시점과 싱크의 새 서비스 계정을 사용하여 내보내기 대상 위치에 대한 쓰기를 승인하는 시점 사이에는 지연이 발생합니다. 싱크를 만든 후 처음 24시간 동안에는 프로젝트의 활동 페이지에 해당 싱크의 권한 관련 오류 메시지가 표시될 수 있지만 이는 무시해도 됩니다.

문제해결

다음은 로그를 내보낼 때 발생할 수 있는 몇 가지 일반적인 문제와 그 해결책입니다.

  • 대상 위치에서 발생하는 오류: 싱크에서 내보내기 대상 위치의 사양을 확인하세요. projects.sinks.get을 사용하여 싱크의 작성자 ID를 찾고 내보내기 대상 위치에 대한 쓰기 권한이 이 ID에 있는지 확인하세요.

  • 로그를 내보내지 않음: 가능한 몇 가지 원인은 다음과 같습니다.

    • 쿼리가 잘못되었습니다. 내보내기 쿼리를 검사하여 최근에 쿼리와 일치하는 로그 항목이 Logging에 전달되었는지 확인하고 맞춤법 또는 형식 오류를 수정하세요.

    • 싱크를 만들거나 업데이트한 이후로 일치하는 로그 항목이 수신되지 않았습니다. 새 로그 항목만 내보내집니다.

      지연 시간이 지나야 내보낸 로그를 대상 위치에서 볼 수 있습니다. Cloud Storage 대상 위치의 경우에는 특히 그렇습니다. 자세한 내용은 내보낸 로그 사용 가능 여부 확인을 참조하세요.

      내보내기 시스템 측정항목을 확인할 수도 있습니다. 내보내기 시스템 측정항목은 내보낸 로그 항목의 수와 오류로 인해 중단된 항목의 수를 각각 알려줍니다.

오류가 해결되면 싱크가 로그 내보내기를 시작합니다.

기존 로그 뷰어를 사용하여 싱크 오류를 보려면 다음을 수행합니다.

  1. 싱크가 만들어진 프로젝트 또는 기타 리소스의 활동 스트림으로 이동합니다.

    활동 스트림으로 이동

  2. 필터 패널에서 활동 유형 > 구성을 선택하고 리소스 유형 > 로그 기록 내보내기 싱크를 선택합니다.

  3. 해당 기간의 싱크 오류를 확인할 수 있도록 날짜/시간을 조정합니다.

    싱크 오류가 표시됩니다.

다음 섹션에서는 서비스별로 발생 가능한 오류와 예기치 않은 결과를 나열하고 그에 대응할 방법을 설명합니다.

Cloud Storage로 내보내는 중 발생하는 오류

다음 표에는 Cloud Storage로 로그를 내보낼 때 발생하는 가장 일반적인 오류가 나와 있습니다.

오류 원인 해결책
버킷 [YOUR_BUCKET]에 대한 권한으로 인해 로그 그룹이 새 객체를 생성할 수 없습니다. 싱크의 작성자 ID에 버킷에 대한 올바른 권한이 없습니다. 버킷에 필요한 권한을 추가하거나 다른 버킷을 사용하도록 싱크를 업데이트하세요. 대상 위치 권한을 참조하세요.
[YOUR_BUCKET]이라는 이름의 버킷을 찾을 수 없습니다. 버킷 이름에 오류가 있거나 버킷이 삭제되었을 수 있습니다. 올바른 버킷 대상 위치로 싱크를 업데이트하세요.
싱크가 생성되었지만 대상에 올바른 권한을 부여하지 못했습니다. 버킷을 만들 때 버킷의 액세스 제어 모델을 균일한 액세스 제어로 설정했습니다.

(이 오류 메시지는 서비스 계정을 추가한 후에도 계속 표시됩니다.)
버킷을 만들 때 액세스 제어 모델로 세분화된 액세스 제어를 선택하세요. 기존 버킷의 경우 버킷을 만든 지 90일이 지나지 않았다면 권한 탭을 사용해 액세스 제어 모델을 변경할 수 있습니다.

BigQuery로 내보내는 중 발생하는 오류

다음 표에는 로그를 BigQuery로 내보낼 때 발생하는 가장 일반적인 오류가 나와 있습니다.

오류 원인 해결책
데이터세트 [YOUR_DATASET]에 대한 권한으로 인해 로그 그룹이 새 표를 생성할 수 없습니다. 싱크의 작성자 ID에 데이터세트에 대한 충분한 권한이 없습니다. 데이터세트에 권한을 추가하세요. 대상 위치 권한을 참조하세요.
[YOUR_DATASET]라는 이름의 데이터세트를 찾을 수 없습니다. 싱크의 대상 위치에 오류가 있거나 누군가 데이터세트를 삭제했을 수 있습니다. 데이터세트를 다시 생성하거나 내보내기 싱크를 업데이트하여 다른 데이터세트를 사용하세요.
데이터세트 [YOUR_DATASET]의 표 [YOUR_TABLE]로 스트리밍되는 로그가 표의 스키마와 일치하지 않습니다. 현재 표의 스키마와 호환되지 않는 로그를 내보내려고 시도하고 있습니다. 로그 항목이 표의 스키마와 일치하는지 확인하세요. 흔히 발생하는 문제로는 다른 데이터 유형의 로그 항목을 전송할 때를 들 수 있는데, 예를 들자면 로그 항목의 필드 중 하나는 정수인데 스키마에서 해당하는 열은 문자열 유형일 수 있습니다. 활동 스트림에는 잘못된 로그 항목 중 하나에 대한 링크가 포함됩니다. 오류의 원인을 해결한 후 현재 표의 이름을 다시 지정하고 Logging을 통해 표를 다시 만들 수 있습니다.
데이터세트 [YOUR_DATASET]의 표 [YOUR_TABLE]에서 표별 스트리밍 삽입 할당량이 초과되었습니다. 너무 많은 로그 항목을 지나치게 빨리 내보내고 있습니다. 로그 스트리밍에 적용되는 BigQuery 기본 할당량 한도를 참조하세요. 싱크에서 생성하는 로그 데이터의 양을 줄이세요. 싱크의 쿼리를 업데이트하여 일치하는 로그 항목 수를 줄이거나 sample() 함수를 사용하세요.
파티션을 나눈 테이블 [YOUR_TABLE]로 스트리밍한 로그가 허용되는 시간 범위를 벗어납니다. BigQuery는 지나치게 먼 과거나 미래의 로그는 수락하지 않습니다. 허용된 시간 범위를 벗어난 로그는 싱크로 내보낼 수 없습니다. 이러한 로그는 대신 Cloud Storage로 내보내고 BigQuery 로드 작업을 사용하면 됩니다. 자세한 안내는 BigQuery 문서를 참조하세요.
조직 정책이 금지하는 작업이므로 로그를 데이터세트 [YOUR_DATASET]로 스트리밍할 수 없습니다. 선택한 데이터세트에 작성하는 것을 금지하는 조직 정책이 존재합니다. 조직 정책에 관한 자세한 내용은 문서를 참조하세요. 규정을 준수하는 데이터세트를 사용하도록 내보내기 싱크를 수정하세요.

Pub/Sub로 로그를 내보내는 중 발생하는 오류

다음 표에는 Pub/Sub로 로그를 내보낼 때 발생하는 가장 일반적인 오류가 나와 있습니다.

오류 원인 해결책
[ACCOUNT]가 [TOPIC]에 게시하려면 [PROJECT]의 수정 권한을 갖고 있어야 합니다. 싱크의 작성자 ID에 해당 주제에 대한 올바른 권한이 없습니다. 프로젝트에 필요한 권한을 추가하세요. 대상 위치 권한을 참조하세요.
주제 [TOPIC]이 없습니다. 내보낸 로그를 수신하도록 구성된 주제를 삭제했을 수 있습니다. 동일한 이름의 주제를 다시 만들거나 내보내기 구성을 변경하여 다른 주제를 사용하세요.

다음 단계