로그 모니터링

이 문서에서는 Cloud Monitoring을 사용하여 로그 데이터의 추세를 관찰하고 사용자가 지정한 조건이 발생할 때 알림을 받는 방법을 설명합니다. Cloud Monitoring에 로그 데이터의 데이터를 제공하기 위해 Logging에서는 다음과 같은 항목을 제공합니다.

  • 로그 항목에서 커스텀 측정항목을 생성할 수 있습니다. 이러한 측정항목을 로그 기반 측정항목이라고 합니다. 로그 기반 측정항목이 조건을 충족할 때 알림을 보내는 측정항목 기반 알림 정책을 만들 수도 있습니다. 자세한 내용은 로그 기반 측정항목으로 로그 항목 데이터 시각화를 참조하세요.

  • 알림 정책을 사용하면 로그 항목에 메시지가 표시되는 시기를 거의 실시간으로 모니터링할 수 있습니다. 이러한 알림 정책을 로그 기반 알림 정책이라고 합니다. 자세한 내용은 메시지의 개별 로그 항목 모니터링을 참조하세요.

  • 로그 애널리틱스에서 SQL 쿼리를 작성하고 쿼리 결과를 모니터링하는 알림 정책을 만들 수 있습니다. 이러한 알림 정책을 SQL 기반 알림 정책이라고 합니다. 자세한 내용은 SQL 쿼리 결과 모니터링을 참조하세요.

    SQL 기반 알림 정책은 공개 프리뷰 버전입니다.

이 문서의 나머지 부분에서는 이러한 세 가지 알림 정책의 차이점을 설명하고 승인, 비용, 한도에 대한 정보를 제공합니다.

로그 기반 측정항목으로 로그 항목 데이터 시각화

시간에 따라 로그 데이터에서 반복되는 이벤트를 모니터링하려면 로그 기반 측정항목을 사용합니다. 로그 기반 측정항목은 로그 데이터에서 숫자 데이터를 생성하며 다음 중 하나를 수행하려는 경우에 적합합니다.

  • 로그 데이터에서 경고 또는 오류와 같은 메시지 발생 횟수를 세고 발생 횟수가 기준점을 초과하면 알림 받기
  • 로그 데이터의 지연 시간 값 등의 데이터 추세를 관찰하고 값이 허용되지 않는 범위로 변경되면 알림 받기
  • 추출된 숫자 데이터를 표시하는 차트를 만듭니다.

로그 기반 측정항목은 로그 데이터에서 숫자 데이터를 생성하므로 알림 정책에서 이러한 측정항목을 사용하고 차트에 표시할 수 있습니다. 로그 기반 측정항목에 대한 알림 정책 및 차트 만들기에 대한 자세한 내용은 로그 기반 측정항목에 대한 알림 구성을 참조하세요.

Cloud Monitoring에서는 사전 정의된 로그 기반 측정항목 집합을 제공하며 사용자가 직접 정의할 수도 있습니다. 시스템 정의 로그 기반 측정항목 목록을 보려면 다음 버튼을 클릭합니다.

사용자 정의 로그 기반 측정항목

로그 기반 측정항목을 만들어 로그 데이터에서 숫자 데이터를 추출할 수 있습니다. 사용자 정의 로그 기반 측정항목은 포함된 로그 항목과 제외된 로그 항목에서 값을 계산합니다.

기본적으로 사용자 정의 로그 기반 측정항목은 Google Cloud 프로젝트의 로그 라우터에서 수신된 모든 로그 항목에서 데이터를 수집하지만, 특정 로그 버킷으로 라우팅된 로그 항목의 데이터를 수집하는 로그 기반 측정항목을 정의할 수 있습니다.

자체 로그 기반 측정항목을 정의하면 요금이 부과될 수 있습니다. 측정항목 수집과 관련된 비용에 대한 자세한 내용은 청구 가능한 측정항목을 참조하세요.

메시지에 대한 개별 로그 항목 모니터링

로그 항목에서 특정 메시지가 발생할 때마다 알림을 받으려면 로그 기반 알림 정책을 사용합니다. 로그 기반 알림 정책은 다음과 같이 로그 항목의 보안 관련 이벤트를 포착하는 데 유용합니다.

  • 감사 로그에 이벤트가 표시되면(예: 인간 사용자가 서비스 계정의 보안 키에 액세스하려는 경우) 알림을 받기를 원합니다.
  • 애플리케이션은 배포 메시지를 로그에 작성하며, 배포 변경사항이 로깅될 때 알림을 받기를 원합니다.

로그 기반 알림 정책은 드물게 발생하면서 중요할 것으로 예상되는 이벤트에 유용합니다. 추세나 패턴에 대해서는 아니지만 어떤 일이 발생했는지는 알고 싶은 경우 적합합니다.

로그 기반 알림 정책은 프로젝트에서 정의되며 다음 조건이 참인 경우 로그 항목을 스캔합니다.

  • 결제가 사용 설정되어 있습니다.
  • 로그 항목은 프로젝트에서 발생합니다.
  • 로그 항목이 발생한 프로젝트의 싱크 또는 로그 항목이 라우팅되는 프로젝트에서 로그 항목을 로그 버킷으로 라우팅합니다.

    예를 들어 로그 항목이 프로젝트 A에서 발생한다고 가정해 보겠습니다. 프로젝트 A의 로그 싱크가 로그 항목을 로그 버킷으로 라우팅하면 프로젝트 A에 정의된 로그 기반 알림 정책이 로그 항목을 스캔합니다.

    두 번째 예로, 로그 항목이 프로젝트 X에서 발생하고 프로젝트 X의 로그 싱크가 로그 항목을 프로젝트 Y로 라우팅한다고 가정해 보겠습니다. 프로젝트 Y의 싱크가 로그 항목을 로그 버킷으로 라우팅하면 프로젝트 X 및 프로젝트 Y에 정의된 로그 기반 알림 정책이 로그 항목을 스캔합니다.

로그 기반 알림 정책을 사용하여 폴더, 결제 계정 또는 조직에서 시작된 로그 항목을 모니터링하거나 로그 버킷에 저장되지 않은 로그 항목을 모니터링하는 데는 사용할 수 없습니다. 집계 싱크를 만들면 이러한 싱크가 로그 항목을 가로채 로그 항목이 발생한 프로젝트의 싱크에 의해 라우팅되지 않을 수 있습니다.

로그 기반 알림 정책을 만드는 방법에 대한 자세한 내용은 로그 기반 알림 정책 구성을 참조하세요.

SQL 쿼리 결과 모니터링

로그 애널리틱스를 사용하여 로그 항목 데이터에서 SQL 쿼리를 실행하는 알림 정책을 구성할 수 있습니다. 이러한 유형의 알림 정책은 로그 항목의 복잡한 패턴이나 로그 데이터 집계와 같이 로그 기반 알림 정책으로 평가할 수 없는 패턴을 기반으로 알림을 받으려는 경우에 효과적입니다. 자세한 내용은 알림 정책으로 SQL 쿼리 결과 모니터링을 참조하세요.

알림 옵션 비교

이 섹션에서는 로그 기반 측정항목으로 빌드된 알림 정책, 로그 기반 알림 정책, SQL 기반 알림 정책을 비교합니다.

요약 표

다음 표에서는 알림 기법을 요약 설명하고 추가 정보에 대한 링크를 제공합니다.

측정항목 기반 알림 정책 로그 기반 알림 정책 SQL 기반 알림 정책 추가 정보
로그 항목에서 파생된 측정항목 기준 개별 로그 항목의 문자열 기준 로그 항목에 대한 SQL 쿼리에서 반환된 테이블 기준 로그 기반 측정항목
로그 기반 알림
SQL 기반 알림
시간에 따른 추세를 알리는 데 사용됩니다. 특정 메시지가 로그에 표시되면 알림을 보내는 데 사용됩니다. 로그 항목 창의 패턴을 알리는 데 사용됩니다. 로그 기반 측정항목
로그 기반 알림
SQL 기반 알림
계산 방식:
  • 포함된 로그 항목(시스템 정의 로그 기반 측정항목)
  • 포함된 로그 항목과 제외된 로그 항목(사용자 정의 로그 기반 측정항목)
포함된 로그 항목만 일치 슬라이딩 창의 로그 항목에서 계산됨 사용 가능한 로그 항목
SQL 기반 알림
범위 지정 프로젝트의 측정항목 범위에 있는 모든 프로젝트의 측정항목에서 작업 다음 조건을 충족하는 로그 항목에 대해 작동합니다.
  • 로그 항목은 정책이 정의된 프로젝트에서 발생합니다.
  • 로그 항목이 발생한 프로젝트의 싱크 또는 로그 항목이 라우팅되는 프로젝트에서 로그 항목을 로그 버킷으로 라우팅합니다.
연결된 데이터 세트를 통해 액세스할 수 있는 로그 뷰에서 작동합니다. 연결된 데이터 세트는 모든 프로젝트에 있을 수 있습니다. 측정항목 범위
연결된 데이터 세트
측정항목 값이 지정된 기간 동안 조건을 충족하면 사고가 생성됨 특정 로그 항목이 필터와 일치할 때마다 사고가 생성됨 쿼리 결과 테이블이 조건을 충족하면 사고가 생성됨 이슈 및 알림
Monitoring에서 생성 및 관리됨 Logging에서 생성됨,
Monitoring에서 관리됨
로그 애널리틱스에서 생성되어 Monitoring에서 관리됨 알림 정책 만들기 및 관리
SQL 기반 알림
Monitoring에서 보기 Monitoring에서 보기 Monitoring에서 보기 알림 정책 보기
Monitoring에서 지원되는 모든 알림 채널 사용 가능 Monitoring에서 지원되는 모든 알림 채널 사용 가능 Monitoring에서 지원되는 모든 알림 채널 사용 가능 알림 채널

사용 가능한 로그 항목

사용자 정의 로그 기반 측정항목은 Google Cloud 프로젝트에 적용될 수 있는 포함 필터 또는 제외 필터에 관계없이 Google Cloud 프로젝트의 Logging API에서 수신한 모든 로그 항목에서 계산됩니다. 사용자 정의 로그 기반 측정항목을 기준으로 알림 정책을 만들면 정책에서 모든 로그 항목의 데이터를 모니터링합니다.

시스템 정의 로그 기반 측정항목은Google Cloud 프로젝트의 로그 버킷에 저장된 로그 항목에서만 계산됩니다. 로그가 명시적으로 제외되면 이러한 측정항목에 포함되지 않습니다. 시스템 정의 로그 기반 측정항목을 기반으로 알림 정책을 만들면 정책에서 포함된 로그 항목의 데이터만 모니터링합니다.

로그 기반 알림 정책은 프로젝트에서 정의되며 다음 조건이 참인 경우 로그 항목을 스캔합니다.

  • 결제가 사용 설정되어 있습니다.
  • 로그 항목은 프로젝트에서 발생합니다.
  • 로그 항목이 발생한 프로젝트의 싱크 또는 로그 항목이 라우팅되는 프로젝트에서 로그 항목을 로그 버킷으로 라우팅합니다.

    예를 들어 로그 항목이 프로젝트 A에서 발생한다고 가정해 보겠습니다. 프로젝트 A의 로그 싱크가 로그 항목을 로그 버킷으로 라우팅하면 프로젝트 A에 정의된 로그 기반 알림 정책이 로그 항목을 스캔합니다.

    두 번째 예로, 로그 항목이 프로젝트 X에서 발생하고 프로젝트 X의 로그 싱크가 로그 항목을 프로젝트 Y로 라우팅한다고 가정해 보겠습니다. 프로젝트 Y의 싱크가 로그 항목을 로그 버킷으로 라우팅하면 프로젝트 X 및 프로젝트 Y에 정의된 로그 기반 알림 정책이 로그 항목을 스캔합니다.

로그 기반 알림 정책을 사용하여 폴더, 결제 계정 또는 조직에서 시작된 로그 항목을 모니터링하거나 로그 버킷에 저장되지 않은 로그 항목을 모니터링하는 데는 사용할 수 없습니다. 집계 싱크를 만들면 이러한 싱크가 로그 항목을 가로채 로그 항목이 발생한 프로젝트의 싱크에 의해 라우팅되지 않을 수 있습니다.

SQL 기반 알림 정책은 로그 버킷의 로그 뷰를 쿼리합니다. 이러한 로그 버킷은 로그 애널리틱스를 사용하도록 업그레이드된 후 BigQuery 데이터 세트에 연결되어야 합니다. SQL 기반 알림 정책에 대한 자세한 내용은 알림 정책으로 SQL 쿼리 결과 모니터링을 참조하세요.

여러 프로젝트의 측정항목 모니터링

측정항목 범위를 구성하여 여러 프로젝트의 측정항목을 모니터링할 수 있습니다. 측정항목 범위에는 모니터링하는 모든 프로젝트와 계정이 나열됩니다. 범위 지정 프로젝트는 측정항목 범위를 호스팅합니다. 범위 지정 프로젝트는 측정항목 범위에 대해 만든 알림 정책 및 기타 구성을 저장합니다. 측정항목 범위의 범위 지정 프로젝트는 Google Cloud 콘솔 프로젝트 선택기에서 선택한 프로젝트입니다.

다른 측정항목을 기반으로 한 알림 정책과 같이 로그 기반 측정항목을 기반으로 하는 알림 정책은 범위 지정 프로젝트의 측정항목 범위에 있는 모든 프로젝트에서 작동합니다.

측정항목 범위는 로그 기반 및 SQL 기반 정책과 같은 로그 항목 기반 알림 정책과 관련이 없습니다.

멀티 프로젝트 측정항목 범위를 포함한 측정항목 범위와 범위 지정 프로젝트에 대한 자세한 내용은 다음을 참조하세요.

이슈 및 알림

알림 정책의 조건이 충족되면 Monitoring이 이슈를 열고 알림 정책의 알림 채널로 알림을 전송합니다. 사고 세부정보를 보려면 알림 메시지에서 사고 보기를 클릭하거나 Monitoring의 사고 페이지로 직접 이동합니다.

측정항목 기반 알림 정책 사고

로그 기반 측정항목을 기반으로 하는 알림 정책은 알림 동작의 설명대로 Monitoring의 다른 모든 측정항목 기반 알림 정책처럼 사고와 알림을 만듭니다. 측정항목 기반 알림 정책의 이슈를 관리하는 방법에 대한 자세한 내용은 측정항목 기반 알림 정책 이슈를 참조하세요.

로그 기반 알림 정책 이슈

로그 기반 알림 정책은 측정항목 기반 알림 정책이 아닙니다. 로그 항목이 로그 기반 알림 정책 조건을 충족하면 Monitoring이 다음과 같이 이슈와 알림을 만듭니다.

  • Cloud Logging에서 알림 정책의 쿼리와 일치하는 로그 항목을 처음 로그 버킷에 기록하면 사고가 생성되고 알림이 전송됩니다. 그런 다음 다른 일치하는 로그 항목이 기록되면 이전 사고를 닫은 경우에만 새 사고가 생성됩니다. 하지만 닫은 사고가 삭제되는 데 최대 3분이 걸릴 수 있습니다. 사고를 닫은 지 3분 내에 일치하는 로그 항목이 수신되면 시스템에서 새 사고를 만드는 대신 해당 사고를 다시 열 수 있습니다.

  • 로그 기준 알림 정책을 만들 때 알림 사이의 최소 시간을 지정할 수 있습니다. 예를 들어 알림 간격으로 10분을 선택합니다. 로그 기반 알림 정책의 조건이 해당 기간 내에 두 번 충족되면 알림이 하나만 수신됩니다.

    로그 기반 알림 정책의 최대 사고 비율은 5분당 사고 1개입니다. 로그 기반 알림 정책 쿼리에서 라벨 값을 추출하는 경우 추출된 값의 각 조합은 자체 사고 타임라인을 나타냅니다. 예를 들어 로그 기반 알림 정책에서 라벨 값을 추출하고 라벨에 두 가지 값이 있을 수 있다고 가정해 보겠습니다. 이 구성을 사용하면 5분 동안 라벨 값마다 하나씩 사고 2개를 열 수 있습니다.

  • 로그 기반 알림 정책마다 일일 사건 한도는 20개입니다. 이 한도에 도달하면 일일 한도에 도달했다는 메시지가 알림에 포함됩니다.

  • 자동 종료 기간이 만료되면 사고가 자동으로 종료됩니다. 기본적으로 자동 종료 기간은 7일입니다.

    자동 종료 기간은 사고가 종료되기 전에 사고의 원인이 반복되지 않고 경과해야 하는 시간을 지정합니다. 따라서 사고가 열려 있고 원인이 다시 발생하면 자동 종료 기간보다 더 오래 사고가 열려 있을 수 있습니다.

로그 기반 알림 정책 사고 관리에 대한 자세한 내용은 로그 기반 알림 정책 사고 관리를 참조하세요.

SQL 기반 알림 정책 사고

SQL 기반 알림 정책의 경우 SQL 쿼리 결과가 정책에 지정된 조건을 처음 충족할 때 Cloud Monitoring에서 사고를 만듭니다. 각 알림 정책에는 열려 있는 사고가 하나만 있습니다. 사고가 열려 있는 상태에서 조건이 다시 충족되더라도 Monitoring에서는 추가로 사고를 만들거나 알림을 추가로 전송하지 않습니다. 사고 종료 기간을 더 짧게 구성하거나 직접 사고를 종료하지 않으면 Monitoring은 7일 후에 SQL 기반 사고를 종료합니다.

SQL 기반 알림 정책 사고 관리에 대한 자세한 내용은 SQL 기반 알림 정책 사고 관리를 참조하세요.

알림 정책 만들기 및 관리

다른 측정항목 기반 알림 정책과 같이 Cloud Monitoring에서 로그 기반 측정항목을 기반으로 알림 정책을 생성, 수정, 삭제할 수 있습니다. 자세한 내용은 정책 관리를 참조하세요.

로그 탐색기 또는 Cloud Monitoring API를 사용하여 로그 기반 알림 정책을 만들 수 있습니다. Monitoring에서 또는 Cloud Monitoring API를 사용하여 로그 기반 알림 정책을 수정하고 삭제합니다. 자세한 내용은 로그 기반 알림 정책 관리를 참조하세요.

로그 애널리틱스 또는 Cloud Monitoring API를 사용하여 SQL 기반 알림 정책을 만들 수 있습니다. Monitoring에서 또는 Cloud Monitoring API를 사용하여 SQL 기반 알림 정책을 수정하고 삭제합니다. 자세한 내용은 알림 정책으로 SQL 쿼리 결과 모니터링을 참조하세요.

알림 정책 보기

Monitoring의 정책 페이지에 Google Cloud 프로젝트의 모든 알림 정책이 나열됩니다. 이 목록에는 로그 기반 측정항목과 로그 기반 알림 정책을 사용하는 정책이 포함됩니다.

  1. Google Cloud 콘솔에서  알림 페이지로 이동합니다.

    알림으로 이동

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

  2. 모든 정책 보기를 선택합니다.

로그 기반 알림 정책은 유형 열의 Logs 값과 함께 목록에 표시됩니다. 로그 기반 측정항목을 포함한 측정항목 기반 알림 정책은 유형 열의 Metrics 값과 함께 목록에 표시됩니다. SQL 기반 알림 정책은 유형 열의 SQL 값과 함께 목록에 표시됩니다. 다음 스크린샷은 정책 목록의 일부를 보여줍니다.

유형별로 알림 정책을 보려면 알림 정책 목록의 **유형** 열을 사용합니다.

알림 채널

모든 유형의 알림 정책의 알림을 Monitoring에서 지원하는 모든 알림 채널로 보낼 수 있습니다. 이러한 채널을 알림 정책에 사용하려면 먼저 채널을 구성해야 합니다.

자세한 내용은 알림 채널 관리를 참조하세요.

승인 요구사항

로그 기반 측정항목 또는 로그 기반 알림 정책을 사용하려면 Cloud Logging 및 Cloud Monitoring 모두에 대한 승인이 필요합니다.

비용 및 제한

자체 로그 기반 측정항목을 정의하면 다음이 적용됩니다.

  • 사용자 정의 로그 기반 측정항목의 개수와 구조에 제한이 있습니다. 한도에 대한 자세한 내용은 로그 기반 측정항목 한도를 참조하세요.
  • 사용자 정의 로그 기반 측정항목에 대한 요금이 청구될 수 있습니다. 측정항목 수집과 관련된 비용에 대한 자세한 내용은 청구 가능한 측정항목을 참조하세요.
  • SQL 기반 알림 정책은 Google Cloud 프로젝트의 BigQuery 예약에서 실행됩니다. BigQuery 예약에 대한 요금이 청구될 수 있습니다. BigQuery 예약과 관련된 비용에 대한 자세한 내용은 BigQuery 가격 책정을 참조하세요.

로그 기반 측정항목을 기반으로 하는 알림 정책을 사용하는 데는 요금이 청구되지 않습니다.

알림 정책과 관련된 Monitoring 한도는 다음과 같습니다.

카테고리 정책 유형1
측정항목 범위별 알림 정책(측정항목 및 로그 합계)2 2,000 측정항목, 로그
측정항목 기반 알림 정책별 조건 6 측정항목
SQL 기반 알림 정책별 조건(공개 프리뷰) 1 SQL
SQL 기반 알림 정책의 최대 쿼리 실행 시간(공개 프리뷰) 5분 SQL
측정항목 부재 조건이
평가하는 최대 기간3
1일 측정항목
측정항목 임계값 조건이
평가하는 최대 기간3
23시간 30분 측정항목
측정항목 임계값 조건에서
사용된 필터의 최대 길이
2,048개의 유니코드 문자 측정항목
예측 조건으로 모니터링되는
최대 시계열 수
64 측정항목
최소 예측 기간 1시간(3,600초) 측정항목
최대 예측 기간 2.5일(216,000초) 측정항목
알림 정책당 알림 채널 16 전체
로그 기반 알림의 최대 사고 비율4
5분마다 사고 1개 로그
로그 기반 알림의
최대 사고 수
로그 기반 알림 정책마다 일일 사고 20개 로그
로그 기반 알림의 경우
사고별 최대 알림 수5
사고별 일일 알림 20개 로그
프로젝트당 동시에 트리거되는
최대 알림 정책 수
80,000 전체
알림 정책별 동시 개설된
이슈의 최대 개수
1,000 전체
새 데이터가 없는 사고가
자동으로 닫히는 기간
7일 측정항목, SQL
수동으로 닫히지 않은 경우의 사고 최대 기간 7일 로그
종료된 이슈 보관 13개월 해당 사항 없음
미해결 이슈 보관 무기한 해당 사항 없음
측정항목 범위당 알림 채널 4,000 해당 사항 없음
다시 알림당 최대 알림 정책 수 16 전체
다시 알림 보류 13개월 해당 사항 없음
1측정항목: 측정항목 데이터 기준의 알림 정책입니다. 로그: 로그 메시지 기준의 알림 정책입니다(로그 기준 알림).
2측정항목 범위당 기본값인 2,000개에서 최대 10,000개까지 늘리도록 요청할 수 있습니다. ApigeeApigee hybrid는 Cloud Monitoring과 긴밀하게 통합됩니다. Standard, Enterprise, Enterprise Plus 등 모든 Apigee 구독 수준의 알림 한도는 Cloud Monitoring의 경우와 같습니다(측정항목 범위당 2000개).
3조건이 평가되는 최대 기간은 정렬 기간과 기간 값의 합계입니다. 예를 들어 정렬 기간이 15시간으로 설정되고 기간이 15시간으로 설정된 경우 조건을 평가하려면 30시간의 데이터가 필요합니다.
4로그 기반 알림 정책 쿼리에서 라벨 값을 추출하는 경우 추출된 값의 각 조합은 자체 사고 타임라인을 나타냅니다. 예를 들어 로그 기반 알림 정책에서 라벨 값을 추출하고 라벨에 두 가지 값이 있을 수 있다고 가정해 보겠습니다. 이 구성을 사용하면 5분 동안 라벨 값마다 하나씩 사고 2개를 만들 수 있습니다.
5로그 기반 알림의 경우 필터와 일치하는 로그 항목이 수신되고 가장 최근 알림 이후 5분이 경과하면 Monitoring에서 열려 있는 사고에 대한 새 알림을 전송합니다. 사고당 하루에 알림 최대 20개가 전송됩니다. 각 알림은 알림 정책에 구성된 모든 알림 채널로 전송됩니다.