감사 로그를 사용하여 Pub/Sub 문제 해결

Pub/Sub는 Pub/Sub 리소스의 관리 및 액세스 활동을 캡처하는 감사 로그를 생성합니다. 이러한 활동의 예로는 주제 만들기, 구독 업데이트, 스냅샷 삭제 등이 있습니다. 이러한 로그를 사용하여 문제를 해결하고 메시징 인프라의 보안을 보장할 수 있습니다.

다음은 Pub/Sub의 감사 로그와 관련하여 기억해야 할 몇 가지 중요한 사항입니다.

  • Pub/Sub 감사 로그는 pubsub.googleapis.com이라는 서비스 이름을 사용합니다.

  • Pub/Sub에는 여러 유형의 로그가 있습니다. 예를 들면 다음과 같습니다.

    • 관리자 활동 로그는 주제 및 구독 만들기, 삭제, 업데이트와 같은 작업을 기록합니다.

    • 데이터 액세스 로그는 주제 가져오기 또는 구독 나열과 같은 작업을 기록합니다.

    • 시스템 이벤트 로그는 비활성 구독 삭제와 같은 이벤트를 기록합니다.

  • Pub/Sub는 메시지 게시, 구독, 확인과 같은 메시지 작업을 로깅하지 않습니다.

Pub/Sub의 감사 로그에 대한 자세한 내용은 감사 로깅을 참조하세요.

Pub/Sub 감사 로그 보기

로그 탐색기는 내 모든 로그 데이터에 액세스할 수 있는 중앙 위치를 제공합니다. 내부 Google Cloud. 로그 탐색기 를 사용하여 Pub/Sub 로그를 볼 수 있습니다.

  1. 로그 탐색기 를 볼 수 있는 필수 권한을 가져옵니다.

    자세한 내용은 시작하기 전에를 참조하세요.

  2. 콘솔에서 로그 탐색기 페이지로 이동합니다. Google Cloud

    로그 탐색기로 이동

  3. 기존 Google Cloud 프로젝트, 폴더 또는 조직을 선택합니다.

  4. Pub/Sub와 관련된 모든 감사 로그를 표시하려면 쿼리 편집기 필드에 다음 쿼리를 입력합니다.

     protoPayload.serviceName="pubsub.googleapis.com"
    
    쿼리 편집기 필드에 쿼리를 입력하는 방법을 보여주는 그림
    그림 1 쿼리 입력
  5. 쿼리 실행 을 클릭합니다.

  6. 특정 리소스 및 감사 로그 유형에 대한 감사 로그를 표시하려면 쿼리 빌더 창에서 다음을 수행합니다.

    1. 모든 리소스에서 감사 로그를 확인할 Google Cloud 리소스를 선택합니다. 예를 들어 Cloud Pub/Sub 주제 를 선택한 후 주제 이름을 선택합니다.

    2. 모든 로그 이름에서 확인할 감사 로그 유형을 선택합니다.

      예를 들면 다음과 같습니다.

      • 관리자 활동 감사 로그의 경우 activity를 선택합니다.

      • 시스템 이벤트 감사 로그의 경우 system_event를 선택합니다.

쿼리가 자동으로 실행됩니다.

감사 로그를 사용하여 Pub/Sub 문제를 해결하는 방법

  1. 조사 중인 특정 문제를 확인합니다. 다음은 발생할 수 있는 문제의 목록입니다.

    • 주제, 구독, 스냅샷 또는 스키마를 생성, 삭제 또는 수정한 사용자를 식별합니다.

    • 주제 또는 구독 설정 변경사항을 추적합니다.

    • 주제 또는 구독이 있는지, 현재 상태를 확인합니다.

    하지만 감사 로그를 사용하여 메시지 게시 및 전송과 관련된 문제를 해결할 수는 없습니다. 메시지 전송 실패, 메시지 중복 또는 메시지 순서 지정 문제에 대한 로그는 찾을 수 없습니다. 감사 로그는 느린 구독자 또는 메시지 확인 문제를 식별하는 데도 도움이 되지 않습니다. 메시지 수준 문제를 해결하려면 모니터링 측정항목, 데드 레터 큐, 애플리케이션 로그와 같은 다른 도구를 사용해야 합니다.

  2. 문제에 따라 감사 로그를 필터링하는 쿼리를 구성합니다. 예를 들어 구독을 삭제한 사용자를 찾으려면 protoPayload.methodName="google.pubsub.v1.Publisher.DeleteSubscription"으로 필터링합니다.

    구독 생성 시 발생할 수 있는 오류를 조사하려면 protoPayload.methodName="google.pubsub.v1.Subscriber.CreateSubscription"으로 필터링합니다.

  3. 로그 항목의 타임스탬프, 보안 주체, 리소스 이름을 검토하여 이벤트 시퀀스를 파악하고 이상을 식별합니다.

Pub/Sub의 감사 로그 쿼리를 구성하는 방법에 대한 자세한 내용은 감사 로깅을 참조하세요.