로그 애널리틱스로 로그 쿼리 및 분석

이 문서에서는 로그 애널리틱스를 사용하도록 업그레이드된 로그 버킷에 저장된 로그 데이터를 쿼리하고 분석하는 방법을 설명합니다. SQL을 사용하여 이러한 버킷에 있는 로그를 쿼리하면 로그를 필터링하고 합산할 수 있습니다. 쿼리 결과를 보려면 표 형식을 사용하거나 차트로 데이터를 시각화할 수 있습니다. 이러한 표와 차트를 커스텀 대시보드에 저장할 수 있습니다.

로그 버킷이 로그 애널리틱스를 사용하도록 업그레이드되었는지 여부와 관계없이 로그 탐색기를 사용하여 프로젝트의 로그 버킷에 저장된 로그 항목을 볼 수 있습니다.

로그 애널리틱스를 사용할 때는 몇 가지 제한사항이 있습니다. 자세한 내용은 로그 애널리틱스: 제한사항을 참조하세요.

연결된 데이터 세트 정보

로그 애널리틱스는 BigQuery가 기본 데이터에 대한 읽기 액세스 권한을 갖도록 연결된 BigQuery 데이터 세트 생성을 지원합니다. 연결된 데이터 세트를 만들면 다음을 수행하면 됩니다.

  • 로그 항목 데이터를 다른 BigQuery 데이터 세트와 조인합니다.
  • BigQuery Studio 페이지 또는 Looker Studio와 같은 다른 서비스에서 로그 데이터를 쿼리합니다.
  • BigQuery 예약된 슬롯에서 쿼리를 실행하여 로그 애널리틱스에서 실행되는 쿼리의 성능을 향상시킵니다.

이 문서에서는 연결된 데이터 세트를 만드는 방법이나 예약된 슬롯에서 쿼리를 실행하도록 로그 애널리틱스를 구성하는 방법을 설명하지 않습니다. 이러한 주제에 관심이 있으면 BigQuery에서 연결된 데이터 세트 쿼리를 참조하세요.

시작하기 전에

로그 애널리틱스를 사용하기 전에 다음을 수행합니다.

  • 로그 애널리틱스를 사용하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

    • _Required_Default 로그 버킷을 쿼리하려는 경우: 로그 뷰어(roles/logging.viewer)
    • 프로젝트의 모든 로그 뷰를 쿼리하려는 경우: 로그 뷰 접근자(roles/logging.viewAccessor)

    프로젝트 수준에서 부여된 로그 뷰 액세스자 역할에 IAM 조건을 추가하거나 로그 뷰의 정책 파일에 IAM 바인딩을 추가하여 주 구성원을 특정 로그 뷰로 제한할 수 있습니다. 자세한 내용은 로그 뷰에 대한 액세스 제어를 참조하세요.

    이는 로그 탐색기 페이지에서 로그 항목을 보는 데 필요한 권한과 같습니다. 사용자 정의 버킷에 대한 뷰를 쿼리하거나 _Default 로그 버킷의 _AllLogs 뷰를 쿼리하는 데 필요한 추가 역할에 대한 자세한 내용은 Cloud Logging 역할을 참조하세요.

  • 로그 애널리틱스를 사용하도록 로그 버킷이 업그레이드되었는지 확인합니다.

    1. Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.

      로그 스토리지로 이동

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

    2. 쿼리하려는 로그 뷰가 있는 로그 버킷마다 로그 애널리틱스 사용 가능 열에 열기가 표시되어 있는지 확인합니다. 업그레이드가 표시되면 업그레이드를 클릭하고 대화상자를 완료합니다.

로그 뷰 쿼리

문제를 해결할 때 패턴과 일치하는 필드가 있는 로그 항목을 세거나 HTTP 요청의 평균 지연 시간을 계산할 수 있습니다. 로그 뷰에서 SQL 쿼리를 실행하여 이러한 작업을 수행할 수 있습니다.

로그 뷰에 대해 SQL 쿼리를 실행하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 로그 분석 페이지로 이동합니다.

    로그 애널리틱스로 이동

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

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

    쿼리 창에 쿼리를 입력하거나 표시된 쿼리를 수정할 수도 있습니다. 쿼리 예시는 샘플 쿼리를 참조하세요.

    기간을 지정하려면 기간 선택기를 사용하는 것이 좋습니다. 하지만 timestamp 필드를 지정하는 WHERE 절을 추가할 수 있습니다. 쿼리에 timestamp 필드가 포함된 경우 해당 타임스탬프는 기간 선택기에서 선택한 기간을 재정의하고 기간 선택기는 중지됩니다.

  3. 툴바에서 쿼리 실행 라벨이 지정된 버튼이 표시되는지 확인합니다.

    툴바에 BigQuery에서 실행이 표시되면 설정을 클릭하고 로그 애널리틱스(기본값)를 선택합니다.

  4. 쿼리를 실행합니다.

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

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

  5. 선택사항: 차트를 만들거나 결과를 커스텀 대시보드에 저장합니다.

    기본적으로 쿼리 결과는 표로 표시됩니다. 하지만 차트를 만들 수 있으며 표나 차트를 커스텀 대시보드에 저장할 수도 있습니다.

    차트를 만들고 구성하는 방법과 쿼리 결과를 대시보드에 저장하는 방법에 대한 자세한 내용은 SQL 쿼리 결과 차트로 표시를 참조하세요.

로그 뷰 스키마 표시

로그 뷰의 스키마는 각 필드에 대해 해당 구조체 및 데이터 유형을 정의합니다. 이 정보로 쿼리 구성 방식이 결정되므로 중요합니다. 예를 들어 HTTP 요청의 평균 지연 시간을 계산한다고 가정해 보세요. 지연 시간 필드에 액세스하는 방법과 정수(예: 100)로 저장되는지 또는 문자열(예: "100")로 저장되는지 여부를 알아야 합니다. 지연 시간 데이터가 문자열로 저장된 경우 평균을 계산하기 전에 쿼리가 값을 숫자 값으로 형 변환해야 합니다.

열의 데이터 유형이 JSON이면 해당 열에 사용 가능한 필드가 스키마에 나열되지 않습니다. 예를 들어 로그 항목에 이름이 json_payload인 필드가 있을 수 있습니다. 로그 애널리틱스를 사용하도록 로그 버킷이 업그레이드되면 해당 필드가 JSON 유형의 데이터 열에 매핑됩니다. 스키마에는 열의 하위 필드가 표시되지 않습니다. 즉, 스키마를 사용해서 json_payload.url이 유효한 참조인지 확인할 수 없습니다.

로그 뷰 스키마를 식별하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 로그 분석 페이지로 이동합니다.

    로그 애널리틱스로 이동

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

  2. 로그 뷰 목록에서 로그 뷰를 찾은 후 로그 뷰 이름을 선택합니다.

    스키마가 표시됩니다. 필터 필드를 사용해서 특정 필드를 찾습니다. 스키마를 수정할 수 없습니다.

다음 단계