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

이 문서에서는 커스텀 대시보드에 로그 데이터와 오류 데이터를 표시하는 방법을 설명합니다.

로그 데이터를 표시하려면 대시보드에 다음 위젯을 추가하면 됩니다.

  • 현재 Google Cloud 프로젝트에 최근 로그 항목을 표시하려면 로그 패널 위젯을 추가합니다. 현재 측정항목 범위를 통해 액세스할 수 있는 Google Cloud 프로젝트에 저장된 로그 항목을 표시하도록 로그 패널을 구성할 수도 있습니다.

  • 로그 데이터의 패턴과 추세를 식별하려면 SQL 쿼리 결과를 표시하는 로그 애널리틱스 차트 위젯을 추가합니다.

오류 그룹을 표시하려면 error-reporting 패널을 추가하면 됩니다. error-reporting 패널에는 단일 Google Cloud 프로젝트의 최근 오류 그룹이 표시됩니다.

커스텀 대시보드에 로그 패널 및 Error Reporting 패널을 추가하면 측정항목과 동일한 컨텍스트에서 로그와 오류를 볼 수 있습니다. 로그 패널에서 로그 항목을 필터링할 수 있으므로 관심 있는 로그 항목만 표시하도록 구성할 수 있습니다. 마찬가지로 Error Reporting 패널을 사용하면 오류를 식별하고 실패 원인을 해결할 수 있습니다.

로그 탐색기 및 로그 패널

로그 탐색기는 로그를 조사하는 표준 방법입니다. 로그 패널은 로그 탐색기를 대체하지 않습니다. 대신 측정항목과 동일한 컨텍스트에서 로그 항목을 볼 수 있습니다.

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

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

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

로그 패널은 현재 Google Cloud 프로젝트에 저장된 로그 항목을 표시하도록 사전 구성됩니다. 하지만 현재 측정항목 범위의 모든 프로젝트에 저장된 로그 항목을 표시하도록 로그 패널을 구성할 수 있습니다.

로그 패널은 로그 탐색기와 동일한 쿼리 언어를 지원합니다.

로그 패널은 스토리지 뷰를 지원하지 않습니다. 스토리지 뷰를 통해서만 로그를 사용할 수 있는 경우 로그 탐색기를 사용하세요. 스토리지 뷰에 대한 자세한 내용은 범위 상세검색을 참조하세요.

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

시작하기 전에

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

    • 모니터링 편집자(roles/monitoring.editor)
    • 로그 항목을 보려는 각 프로젝트에 대한 Logging 뷰어(roles/logging.viewer). 로그를 볼 권한이 없는 프로젝트의 로그 항목은 대시보드에 표시되지 않습니다. 로그 항목을 보는 데 필요한 역할에 대한 자세한 내용은 IAM으로 Cloud Logging 액세스 제어를 참조하세요.

    역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

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

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

로그 패널 추가 및 구성

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

로그 패널 추가

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

  1. Google Cloud 콘솔의 탐색 패널에서 Monitoring을 선택한 후 대시보드를 선택합니다.

    대시보드로 이동

  2. 대시보드를 선택하거나 대시보드 만들기를 클릭합니다.
  3. 툴바에서 위젯 추가를 클릭합니다.
  4. 위젯 추가 대화상자에서 로그를 선택합니다.
  5. 선택사항: 기본 구성을 업데이트합니다.

    1. 제목을 추가합니다.

    2. 현재 프로젝트만이 아닌 여러 Google Cloud 프로젝트의 로그를 표시하려면 프로젝트를 클릭한 후 선택합니다.

    3. 로그 패널에 표시되는 로그를 제한하려면 쿼리 편집기 필드에 쿼리를 입력합니다.

    이전 단계에 대한 자세한 내용은 로그 패널 구성을 참조하세요.

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

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

기본적으로 로그 패널에는 로그 항목 테이블이 표시됩니다. 심각도 메뉴와 필터 표시줄 설정을 사용하여 표시할 로그를 일시적으로 변경할 수 있습니다. 포인터를 사용하여 로그 패널의 크기와 위치를 수정할 수도 있습니다.

로그 패널 구성

로그 패널은 현재 Google Cloud 프로젝트에 저장된 모든 로그 항목을 표시하도록 사전 구성됩니다. 그러나 특정 오류 조건 유형을 나타내는 로그 항목만 필요한 경우 여러 프로젝트의 로그를 확인해야 하는 경우가 있습니다. 이 섹션에서는 로그 패널의 기본 구성을 수정하는 방법을 설명합니다.

제목, 로그가 표시되는 프로젝트 목록을 구성하거나 쿼리를 입력하려면 다음을 수행하세요.

  1. 로그 패널에 포인터를 배치하여 툴바를 활성화한 후 위젯 수정을 선택합니다.

    다음 스크린샷은 구성 창의 예시입니다.

    로그 패널 구성 창의 예시

  2. 선택사항: 로그 패널에 표시되는 제목을 추가합니다.

  3. 선택사항: 여러 Google Cloud 프로젝트의 로그를 표시하려면 프로젝트를 클릭한 후 선택합니다.

    기본적으로 현재 Google Cloud 프로젝트의 로그 항목만 표시됩니다. 하지만 로그 패널에는 현재 측정항목 범위를 통해 액세스할 수 있는 모든 Google Cloud 프로젝트의 로그가 표시될 수 있습니다.

    Google Cloud 프로젝트의 로그를 볼 권한이 없으면 프로젝트 메뉴에 '이 프로젝트의 로그를 볼 권한이 없습니다.'라는 메시지가 표시됩니다. 권한 오류를 해결하려면 시스템 관리자에게 문의하여 프로젝트의 로그 뷰어(roles/logging.viewer) 역할을 부여하도록 요청하세요.

  4. 선택사항: 로그 패널에 표시되는 로그를 제한하려면 쿼리 편집기 필드에 쿼리를 입력합니다.

    쿼리가 자동으로 실행되지 않도록 한 경우, 쿼리를 입력한 후 쿼리 실행을 클릭합니다.

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

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

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

    개별 리소스를 선택하면 리소스 메뉴에서 추가 메뉴와 추가 버튼이 활성화됩니다. 이 메뉴를 사용하면 리소스 유형, 특정 리소스 유형에 대한 서비스, 리소스 유형에 대한 서비스의 메서드를 선택할 수 있습니다. 예를 들어 감사된 리소스 유형의 절을 추가하려면 감사된 리소스를 선택한 다음 추가를 선택합니다. 이 단계에서는 쿼리 편집기 필드에 다음 절을 추가합니다.

     resource.type="audited_resource"
    

    마찬가지로 감사된 특정 서비스의 절을 추가하려면 감사된 리소스를 선택하고 모든 서비스 메뉴에서 서비스를 선택한 후 추가를 선택합니다. 다음은 이 접근 방식을 사용하여 생성된 절의 예시입니다.

     resource.type="audited_resource" resource.labels.service="bigquery.googleapis.com"
    
  5. 선택사항: 로그 패널에 템플릿 변수를 적용합니다. 자세한 내용은 커스텀 대시보드에 임시 필터 추가위젯에 영구 필터 적용을 참조하세요.

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

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

로그 항목 필터링

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

  • 대시보드 시간 선택기: 쿼리는 이 필드에서 지정된 간격으로 작성된 로그 항목만 검색합니다.

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

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

  • 로그 패널에서 지정된 쿼리: 쿼리 필드는 검색할 로그를 결정합니다. 쿼리를 지정하지 않으면 선택한 시간 간격의 모든 로그가 검색됩니다. 쿼리를 지정하면 로그 패널에 현재 쿼리가 도움말로 표시되는 쿼리 표시 아이콘이 표시됩니다.

    쿼리를 수정하려면 다음 중 하나를 수행합니다.

    • 쿼리를 영구적으로 변경하려면 로그 패널을 수정하세요.
    • 쿼리를 일시적으로 변경하려면 대시보드 툴바를 사용하여 리소스 라벨에 필터를 추가합니다. 예를 들어 대시보드 전체 필터 cluster_name: mycluster를 추가하면 resource.labels."cluster_name"="mycluster"가 포함되도록 쿼리가 업데이트됩니다. 자세한 내용은 임시 필터 추가영구 필터 추가를 참조하세요.
  • 로그 패널에서 지정된 Google Cloud 프로젝트: 이 설정을 수정하려면 로그 패널을 수정합니다.

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

날짜별 로그 항목 필터링

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

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

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

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

심각도별 로그 항목 필터링

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

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

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

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

문자열 또는 구문으로 로그 항목 필터링

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

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

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

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

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

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

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

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

구성 예시

다음은 몇 가지 샘플 구성입니다.

  • 최신 로그를 보려면 대시보드 툴바를 1H로 설정하고, 쿼리 편집기 필드를 비워 두고, 로그 패널 필드를 기본값으로 둡니다.

  • 심각도 수준이 'Warning' 이상인 로그만 일시적으로 표시하려면 로그 패널 심각도 메뉴에서 Warning을 선택합니다.

    페이지를 새로고침하거나 대시보드에서 이동할 때 로그 패널 심각도 메뉴 값이 기본값으로 재설정됩니다.

  • 심각도 수준이 '경고'인 로그만 표시하도록 로그 패널을 구성하려면 쿼리 편집기 필드에 severity=WARNING 절을 추가합니다.

    쿼리 편집기 필드에 저장된 쿼리가 저장됩니다. 페이지를 새로고침하거나 대시보드를 새로고침해도 로그 패널에 지정된 경고 수준과 일치하는 로그만 표시됩니다.

  • Compute Engine 인스턴스 로그만 표시하도록 로그 패널을 구성하려면 쿼리 편집기 필드에 resource.type="gce_instance" 절을 추가하세요.

현재 설정을 충족하는 로그 항목이 없으면 '현재 필터와 일치하는 항목이 없습니다'라는 메시지가 표시됩니다. 쿼리 편집기 필드에서 쿼리를 구성하고 로그 패널 필터도 설정하면 설정이 충돌할 수 있습니다. 자세한 내용은 로그 패널에 '항목 없음' 메시지가 표시됨을 참조하세요.

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

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

  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. 수정된 대시보드를 저장하려면 툴바에서 저장을 클릭합니다.

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

Error Reporting 패널 추가

이 섹션에서는 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. 수정된 대시보드를 저장하려면 툴바에서 저장을 클릭합니다.

문제 해결

다음 단계

  • Cloud Monitoring이 여러 Google Cloud 프로젝트에 저장된 측정항목 및 로그에 대한 가시성을 제공하는 방법에 대한 자세한 내용은 측정항목 범위 개요를 참조하세요.

  • Cloud Monitoring API를 사용하여 로그 패널을 구성하는 방법은 LogsPanel 위젯이 있는 대시보드를 참조하세요.

  • 오류 그룹에 대한 자세한 내용은 Error Reporting 개요를 참조하세요.