커스텀 대시보드에 로그 및 오류 표시

이 문서에서는 측정항목 데이터와 동일한 컨텍스트에서 로그 및 오류 데이터를 볼 수 있도록 커스텀 대시보드에 추가할 수 있는 위젯을 설명합니다. 로그 패널 위젯에 로그 항목이 표시됩니다. Error Reporting 패널 위젯에는 가장 최근의 오류 그룹이 표시됩니다. 두 위젯 모두 문제 해결에 도움이 될 수 있는 정보를 제공합니다. SQL 쿼리 결과를 표시하는 로그 애널리틱스 차트 위젯을 사용하여 로그 데이터의 트렌드를 식별할 수 있습니다.

로그 탐색기 및 로그 패널 위젯

로그 탐색기는 로그를 조사하는 표준 방법입니다. 대시보드에 로그 패널 위젯을 추가해도 로그 탐색기 사용 방법에는 변화가 없습니다. 로그 패널 위젯을 커스텀 대시보드에 추가할 수 있으므로 측정항목과 동일한 컨텍스트에서 로그 항목을 볼 수 있습니다.

로그 탐색기와 로그 패널 위젯은 동일한 쿼리 언어를 지원하며, 둘 다 사용자에게 볼 권한이 있는 로그 항목만 표시합니다. 로그 항목을 저장하는 리소스에 대한 Identity and Access Management(IAM) 역할에 따라 저장된 로그 항목을 볼 수 있는지 여부가 결정됩니다.

로그 탐색기와 로그 패널 위젯은 모두 기본 로그 범위에 나열된 리소스에서 로그 항목을 검색하도록 사전 구성되어 있습니다. 이 범위에 액세스할 수 없는 경우 선택한 프로젝트에서 발생한 로그 항목을 검색합니다. 프로젝트가 선택되면 검색 결과에 다른 프로젝트의 싱크에 의해 프로젝트로 라우팅된 후 로그 버킷에 저장된 로그 항목이 포함됩니다. 로그 항목을 검색할 리소스를 구성할 수 있습니다. 예를 들어 로그 뷰별로 로그 항목을 검색할 수 있습니다.

로그 패널 위젯은 심각도, 타임스탬프, 로그 항목 요약 열과 함께 행마다 하나의 로그 항목을 표시합니다. 로그 항목의 JSON 형식 표현을 보려면 로그 세부정보 보기 버튼을 클릭합니다. 각 항목 요약의 구조는 로그 유형에 따라 다릅니다. 예를 들어 다음 이미지는 두 로그 항목을 보여줍니다.

로그 패널 위젯의 두 로그 항목 이미지

앞의 그림에서 첫 번째 로그 항목은 서비스 요청에 대한 정보를 표시합니다. 요약에는 서비스, 이메일 주소, 항목의 JSON 구조 버전(문자열 형식)에 관한 정보가 표시됩니다. 두 번째 항목은 요청 결과를 표시하고 발생한 작업을 요약하는 문장만 표시합니다.

Cloud Logging에 대한 일반적인 내용은 다음 리소스를 참조하세요.

시작하기 전에

Google Cloud 콘솔을 사용하여 커스텀 대시보드에 로그 패널 위젯을 추가하고 프로젝트 또는 로그 뷰에 로그 항목을 표시하도록 구성하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 프로젝트에 대한 모니터링 편집자(roles/monitoring.editor)
  • 로그 항목을 보려는 각 프로젝트에 대한 Logging 뷰어(roles/logging.viewer). 이 역할은 모든 로그 항목에 대한 액세스 권한을 부여하지 않습니다. 역할에 대한 자세한 내용은 IAM으로 Cloud Logging 액세스 제어를 참조하세요.
  • 액세스하려는 로그 뷰의 로그 버킷을 저장하는 각 프로젝트에 대한 로그 뷰 접근자(roles/logging.viewAccessor). 로그 뷰 접근자 역할은 프로젝트에서 저장한 모든 로그 뷰에 대한 액세스 권한을 부여합니다. 특정 로그 뷰에 액세스하는 방법은 로그 뷰에 대한 액세스 제어를 참조하세요.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

대시보드에 로그 항목 표시

이 섹션에서는 Google Cloud 콘솔을 사용하여 로그 패널 위젯을 추가하고 구성하는 방법을 설명합니다. Cloud Monitoring API 사용에 대한 자세한 내용은 LogsPanel 위젯이 있는 대시보드를 참조하세요.

대시보드에 위젯을 최대 40개까지 넣을 수 있습니다.

콘솔을 사용하여 대시보드에 로그 패널 위젯을 추가하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서  대시보드 페이지로 이동합니다.

    대시보드로 이동

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

  2. 대시보드를 선택하거나 대시보드 만들기를 클릭합니다.
  3. 툴바에서 위젯 추가를 클릭합니다.
  4. 위젯 추가 대화상자에서 로그를 선택합니다.
  5. (선택사항) 제목을 업데이트하려면 위젯 제목 필드에 새 제목을 입력합니다.
  6. 로그 항목을 검색할 리소스를 구성합니다.

    • 프로젝트별로 검색하려면 범위 기준 항목을 프로젝트로 설정한 다음 프로젝트 항목을 펼치고 대화상자를 완료합니다.

      프로젝트 메뉴에는 현재 측정항목 범위의 모든 Google Cloud 프로젝트가 나열됩니다. 메뉴 항목에 '이 프로젝트의 로그를 볼 수 있는 프로젝트 수준의 권한이 없습니다.'라는 텍스트가 포함된 경우 Google Cloud 프로젝트에서 제공되는 로그 항목을 보는 데 필요한 권한이 없는 것입니다.

      표시되는 로그 항목에는 Google Cloud 프로젝트에서 시작된 로그 항목과 다른 프로젝트의 싱크에 의해 Google Cloud 프로젝트로 라우팅된 로그 항목이 포함됩니다.

    • 로그 버킷에서 로그 뷰로 로그 항목을 검색하려면 범위 기준 항목을 스토리지로 설정한 후에 스토리지 뷰 항목을 확장하고 대화상자를 완료합니다.

      스토리지 뷰 메뉴에는 선택한 Google Cloud 프로젝트의 로그 버킷에 대한 로그 뷰가 나열됩니다.

      다른 Google Cloud 프로젝트의 로그 버킷에서 로그 뷰를 선택하려면 메뉴에서 프로젝트 가져오기를 클릭하고 프로젝트를 선택한 후 하나 이상의 로그 뷰를 선택합니다. 현재 측정항목 범위에 포함된 프로젝트만 가져올 수 있습니다.

    • 프로젝트와 로그 뷰가 포함될 수 있는 로그 범위에 포함된 리소스를 검색하려면 범위 기준 항목을 로그 범위로 설정한 다음 로그 범위 항목을 펼치고 로그 항목을 선택합니다.

      로그 범위는 공개 미리보기 버전입니다.

  7. (선택사항) 로그 패널 위젯에 표시되는 로그를 제한하려면 쿼리 편집기 필드에 쿼리를 입력합니다. 쿼리의 자동 실행을 사용 중지한 경우에는 쿼리 실행을 클릭합니다. 쿼리에 대한 간략한 소개는 쿼리 예시를 참조하세요.

  8. 선택사항: 로그 패널 위젯에 변수를 적용합니다. 변수는 특정 위젯에만 적용되는 대시보드 수준 필터입니다. 자세한 내용은 위젯에 변수 적용을 참고하세요.

  9. 대시보드에 변경사항을 적용하려면 툴바에서 적용을 클릭합니다. 변경사항을 삭제하려면 취소를 클릭합니다.

  10. 수정된 대시보드를 저장하려면 툴바에서 저장을 클릭합니다.

    로그 패널 위젯에는 로그 항목 테이블이 표시됩니다. 위젯의 필터 표시줄을 사용하여 위젯이 표시하는 로그 항목을 일시적으로 변경할 수도 있습니다. 자세한 내용은 로그 항목 필터링 섹션을 참조하세요.

검색어 예

쿼리 편집기 필드를 채우려면 필드에 텍스트를 입력하거나 메뉴에서 선택할 수 있습니다. 쿼리 편집기 필드는 로그 탐색기와 동일한 쿼리 언어를 사용합니다. 문제 해결 정보는 문법 문제를 참조하세요.

심각도로그 이름 메뉴에서 여러 옵션을 선택할 수 있습니다. 다음은 여러 심각도 수준과 일치하는 쿼리 문의 예시입니다.

severity=(WARNING OR ERROR OR CRITICAL OR ALERT OR EMERGENCY)

리소스 메뉴를 사용하면 리소스로 필터링할 수 있습니다. 감사를 받은 리소스와 같은 리소스 유형을 선택하거나 창을 탐색하여 특정 메서드를 선택할 수 있습니다.

예를 들어 감사를 받은 리소스에 대한 쿼리를 추가하려면 다음 단계를 따르세요.

  1. 리소스 메뉴를 펼칩니다.
  2. 감사를 받은 리소스를 검색하여 선택합니다.
  3. 적용을 클릭합니다.

    이 단계에서는 쿼리 편집기 필드에 다음 절을 추가합니다.

    resource.type="audited_resource"
    

마찬가지로 Cloud Run 함수 감사 로그에 대한 쿼리를 추가하려면 다음 단계를 따르세요.

  1. 리소스 메뉴를 펼칩니다.
  2. 감사를 받은 리소스를 검색하여 선택합니다.
  3. 서비스 메뉴에서 Cloud Functions를 선택합니다.
  4. 적용을 클릭합니다.

    이 단계에서는 쿼리 편집기 필드에 다음 절을 추가합니다.

    resource.type="audited_resource" resource.labels.service="cloudfunctions.googleapis.com"
    

로그 항목 필터링

다음 필드 또는 메뉴의 값을 수정하여 로그 패널 위젯에 표시되는 로그 항목을 수정할 수 있습니다.

  • 대시보드 시간 선택기: 로그 패널 위젯이 이 필드에 지정된 간격마다 작성된 로그 항목만 검색합니다.

  • 로그 패널 위젯의 필터 필드: 쿼리가 완료된 후 지정한 필터가 적용됩니다. 이 필드의 값은 현재 세션 동안에만 보관됩니다.

  • 로그 패널 위젯의 심각도 메뉴: 쿼리가 완료된 후 심각도 수준별 필터를 적용합니다. 이 필드의 값은 현재 세션 동안에만 보관됩니다.

  • 로그 패널 위젯 쿼리: 로그 패널 위젯이 쿼리와 일치하는 로그 항목만 표시합니다. 쿼리를 지정하지 않으면 선택한 시간 간격의 모든 로그가 표시됩니다. 쿼리를 지정하면 로그 패널 위젯에 쿼리 표시 아이콘이 표시되고, 현재 쿼리가 도움말로 표시됩니다.

    쿼리를 수정하려면 로그 패널 위젯을 수정합니다.

  • 로그 패널 위젯의 Google Cloud 프로젝트: 이 설정을 수정하려면 로그 패널 위젯을 수정합니다.

  • 대시보드 필터: 대시보드 필터가 있으면 로그 패널 위젯의 쿼리에 필터 설정이 적용됩니다. 예를 들어 대시보드 필터 cluster_name: mycluster를 추가하면 resource.labels."cluster_name"="mycluster"가 포함되도록 쿼리가 업데이트됩니다. 대시보드 필터에 대한 자세한 내용은 임시 필터 추가영구 필터 추가를 참조하세요.

이 섹션의 나머지 부분에서는 로그 항목을 필터링하는 방법에 대한 추가 정보를 제공합니다.

예: 날짜로 로그 항목 필터링

로그 패널 위젯에 최근 로그를 표시하려면 대시보드 툴바의 시간 필드를 사용하세요. 예를 들어 1H를 선택합니다. 커스텀 시간 범위를 선택하지 않으면 위젯에는 선택한 기간보다 오래된 경우에도 가장 최근 로그가 항상 표시됩니다.

이슈를 조사할 때 로그 항목을 특정 시간 간격의 항목으로 제한해야 할 수 있습니다. 로그 항목이 고정된 시간 간격으로 표시되도록 로그 항목을 구성하려면 다음 중 하나 또는 둘 모두를 수행합니다.

  • 시간 범위 선택기를 사용하여 시간 범위를 선택합니다.
  • 구성 창의 쿼리 편집기 필드에 timestamp 절을 입력한 다음 필터 적용을 선택합니다.

시간 간격을 지정하면 로그 패널 위젯이 자동으로 새로고침되지 않습니다.

예: 심각도로 로그 항목 필터링

실패 상황 디버깅을 모니터링할 때 오류 메시지만 보고 다른 모든 로그 항목은 표시하지 않는 것이 좋습니다. 특정 심각도 수준을 충족하는 로그 항목만 표시하도록 로그 패널 위젯을 구성하려면 다음 중 하나 또는 둘 모두를 수행합니다.

  • 임시 필터를 적용하려면 로그 패널 위젯에서 심각도 메뉴 값을 선택합니다. 이 메뉴는 최소 심각도 수준을 지정합니다. 예를 들어 값이 'Warning'이면 심각도가 'Error'인 로그 항목이 검색되지만 심각도가 'Notice'인 로그 항목은 검색되지 않습니다. 기본적으로 이 필드의 값은 Default로 설정되며 모든 로그 항목이 포함됩니다.

    대시보드에서 이동하면 심각도 메뉴의 설정이 삭제됩니다.

  • 영구 필터를 적용하려면 구성 창의 쿼리 편집기 필드에 severity 절을 입력한 다음 필터 적용을 선택합니다.

예: 문자열 또는 문법으로 로그 항목 필터링

특정 문자열 또는 문법으로 로그 항목을 필터링하면 관심 없는 로그 항목을 뷰에서 삭제할 수 있습니다. 예를 들어 특정 이메일 주소가 포함된 로그 항목을 보려면 해당 주소로 필터링하면 됩니다.

  • 특정 단어 또는 문법이 포함된 로그 항목만 볼 수 있도록 임시 필터를 적용하려면 필터 필드를 사용합니다. contains-test는 대소문자를 구분하지 않습니다.

    여러 필터를 추가하면 인접한 필터 사이에 암시적 AND가 삽입되므로 모든 필터와 일치하는 로그만 표시됩니다. 하지만 OR 연산자를 명시적으로 삽입할 수 있습니다.

    • 예를 들어 GetCompute 필터를 추가하면 두 단어가 모두 포함된 로그 항목이 표시됩니다.

    • 예를 들어 Get, OR, Compute 필터를 추가하면 Get 또는 Compute가 포함된 로그 항목이 표시됩니다.

    필터 필드의 값은 영구적이지 않습니다.

  • 영구 필터를 적용하려면 쿼리 편집기 필드에 저장된 쿼리를 수정한 후 필터 적용을 선택합니다. 쿼리 문법에 대한 자세한 내용은 Logging 쿼리 언어를 참조하세요.

    예를 들어 값에 'lamp'라는 문자열이 있는 MESSAGE 필드에 로그 항목만 표시하려면 쿼리 편집기 필드에 jsonPayload.MESSAGE:"lamp" 절을 추가합니다.

로그 탐색기에서 로그 항목 보기

로그 패널 위젯에는 로그 항목의 주요 필드가 표시되지만 전체 로그 항목은 표시되지 않습니다. 로그 항목의 모든 필드를 검사하려면 다음 단계를 따르세요.

  1. 로그 패널 위젯에서 로그 탐색기에서 보기를 선택합니다.
  2. 대화상자에서 로그 탐색기를 열 Google Cloud 프로젝트를 선택합니다.

    새 브라우저 탭에서 로그 탐색기가 열리고 로그 패널 위젯에서 선택한 필터가 자동으로 적용됩니다.

  3. 보려는 로그 항목을 선택합니다.

로그 애널리틱스 쿼리에서 생성된 차트 표시

이 섹션에서는 로그 애널리틱스 쿼리에서 생성된 차트를 구성하고 커스텀 대시보드에 저장하는 방법을 설명합니다. 로그 애널리틱스를 사용하면 SQL 쿼리를 사용하여 로그를 검색 및 집계하여 유용한 정보를 생성할 수 있습니다.

로그 애널리틱스 페이지를 사용하여 차트를 구성하고 대시보드에 저장 외에도 다음을 수행하여 Monitoring에 직접 로그 애널리틱스 차트를 저장할 수 있습니다.

  1. Google Cloud 콘솔에서  대시보드 페이지로 이동합니다.

    대시보드로 이동

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

  2. 대시보드를 선택하거나 대시보드 만들기를 클릭합니다.
  3. 툴바에서 위젯 추가를 클릭합니다.
  4. 위젯 추가 대화상자에서 데이터 섹션으로 이동한 후 로그 애널리틱스를 선택합니다.
  5. 위젯 구성 패널에서 표시할 데이터를 구성한 후 쿼리 실행을 클릭합니다.

    표시할 데이터를 선택하려면 SQL 쿼리를 빌드하거나 저장된 쿼리 또는 최근 쿼리를 선택하면 됩니다.

  6. (선택사항) 결과 탭에서 표시 패널을 사용하여 차트 구성을 맞춤설정합니다.

    디스플레이 패널에서 차트 유형을 변경하고 측정기준, 측정, 분류를 변경하여 차트에 표시할 행과 열을 맞춤설정할 수 있습니다.

    • 측정기준: 측정기준은 타임스탬프, 숫자 또는 문자열 열이어야 합니다. 기본적으로 측정기준은 스키마의 첫 번째 타임스탬프 기반 열로 설정됩니다. 쿼리에 타임스탬프가 없으면 첫 번째 문자열 열이 측정기준으로 선택됩니다. 차트 표시 패널에서 측정기준을 맞춤설정할 수도 있습니다. 타임스탬프 열을 측정기준으로 선택하면 차트에 시간 경과에 따른 데이터 변화가 표시됩니다.

    • 측정: 차트 표시 패널에서 측정을 여러 개 선택할 수 있습니다. 측정을 선택할 때 count, sum, average, percentile-99와 같이 그룹화된 값에 수행할 집계 함수도 선택해야 합니다. 예를 들어 count-distinct는 지정된 열에서 고유한 값 수를 반환합니다.

    • 분류: 단일 데이터 계열을 다른 열을 기준으로 데이터 계열 여러 개로 분할하려면 분류를 추가합니다.

    차트 구성 맞춤설정에 대한 자세한 내용은 차트 구성 맞춤설정을 참조하세요.

  7. 수정된 대시보드를 저장하려면 툴바에서 저장을 클릭합니다.

로그 애널리틱스 차트를 대시보드에 저장한 후 수정할 수도 있습니다. 자세한 내용은 위젯 구성 수정을 참조하세요.

대시보드에 오류 표시

이 섹션에서는 Google Cloud 콘솔을 사용하여 Error Reporting 패널을 추가하고 구성하는 방법을 설명합니다. Cloud Monitoring API를 사용하여 대시보드에 Error Reporting 패널을 추가하는 방법에 대한 자세한 내용은 ErrorReportingPanel 위젯이 있는 대시보드를 참조하세요.

콘솔을 사용하여 대시보드에 Error Reporting 패널을 추가하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서  대시보드 페이지로 이동합니다.

    대시보드로 이동

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

  2. 대시보드를 선택하거나 대시보드 만들기를 클릭합니다.
  3. 툴바에서 위젯 추가를 클릭합니다.
  4. 위젯 추가 대화상자에서 시각화 섹션으로 이동한 후 Error Reporting 패널을 선택합니다.
  5. 오류 그룹이 표시되는 프로젝트를 선택하고 프로젝트를 펼친 다음 선택합니다.
  6. (선택사항) 제목을 업데이트합니다.
  7. (선택사항) 오류가 표시되는 리소스를 제한하려면 다음을 수행합니다.

    1. 모든 리소스를 펼치고 리소스를 선택합니다.
    2. 리소스를 선택한 후 적용을 선택하거나 추가 메뉴를 사용하여 필터 기준을 미세 조정할 수 있습니다.

      • App Engine 리소스의 오류를 표시하려면 GAE 서비스를 선택한 다음 적용을 클릭합니다.

      • 특정 App Engine 서비스의 오류를 표시하려면 GAE 서비스를 선택하고 서비스를 선택한 다음 적용을 클릭합니다.

  8. 대시보드에 변경사항을 적용하려면 툴바에서 적용을 클릭합니다. 변경사항을 삭제하려면 취소를 클릭합니다.

    다음 예시는 Error Reporting 패널을 보여줍니다.

    Error Reporting 패널 구성 창의 예시

  9. 수정된 대시보드를 저장하려면 툴바에서 저장을 클릭합니다.

문제 해결

다음 단계