이 문서에서는 Cloud Monitoring을 사용하여 로그의 추세를 관찰하고 사용자가 설명한 조건이 발생할 때 알림을 받는 방법을 설명합니다. Cloud Monitoring에 로그의 데이터를 제공하기 위해 Logging에서는 다음과 같은 기능을 지원합니다.
로그 항목에서 커스텀 측정항목을 생성할 수 있습니다. 이러한 측정항목을 로그 기반 측정항목이라고 합니다. 로그 기반 측정항목이 조건을 충족할 때 알림을 보내는 측정항목 기반 알림 정책을 만들 수도 있습니다. 자세한 내용은 로그 기반 측정항목으로 로그 항목 데이터 시각화를 참고하세요.
알림 정책을 사용하면 로그 항목에 메시지가 표시될 때 거의 실시간으로 모니터링할 수 있습니다. 이러한 알림 정책을 로그 기반 알림 정책이라고 합니다. 자세한 내용은 메시지의 개별 로그 항목 모니터링을 참고하세요.
로그 애널리틱스에서 SQL 쿼리를 작성하고 쿼리 결과를 모니터링하는 알림 정책을 만들 수 있습니다. 이러한 알림 정책을 SQL 기반 알림 정책이라고 합니다. 자세한 내용은 SQL 쿼리 결과 모니터링을 참고하세요.
SQL 기반 알림 정책은 공개 미리보기 버전입니다.
이 문서의 나머지 부분에서는 이러한 세 가지 알림 정책의 차이점을 설명하고 승인, 비용, 한도에 대한 정보를 제공합니다.
로그 기반 측정항목으로 로그 항목 데이터 시각화
시간에 따라 로그에서 반복되는 이벤트를 모니터링하려면 로그 기반 측정항목을 사용합니다. 로그 기반 측정항목은 로그에서 숫자 데이터를 생성합니다. 로그 기반 측정항목은 다음을 수행하려는 경우에 적합합니다.
- 로그에서 경고 또는 오류와 같은 메시지 발생 횟수를 세고 발생 횟수가 기준점을 초과하면 알림 받기
- 로그의 지연 시간 값 등의 데이터 추세를 관찰하고 값이 허용되지 않는 범위로 변경되면 알림 받기
- 로그에서 추출한 숫자 데이터를 표시하는 차트 만들기
로그 기반 측정항목은 로그에서 숫자 데이터를 생성하므로 알림 정책에서 이러한 측정항목을 사용하고 차트에 표시할 수 있습니다. 로그 기반 측정항목에 대한 알림 정책 및 차트 만들기에 대한 자세한 내용은 로그 기반 측정항목에 대한 알림 구성을 참조하세요.
Cloud Monitoring에서는 사전 정의된 로그 기반 측정항목 집합을 제공하며 사용자가 직접 정의할 수도 있습니다. 시스템 정의 로그 기반 측정항목 목록을 보려면 다음 add_circle 버튼을 클릭합니다.
사용자 정의 로그 기반 측정항목
로그 기반 측정항목을 만들어 로그에서 숫자 데이터를 추출할 수 있습니다. 사용자 정의 로그 기반 측정항목은 포함된 로그와 제외된 로그에서 값을 계산합니다.
기본적으로 사용자 정의 로그 기반 측정항목은 Google Cloud 프로젝트의 로그 라우터에서 수신된 모든 로그에서 데이터를 수집하지만, 특정 로그 버킷으로 라우팅된 로그의 데이터를 수집하는 로그 기반 측정항목을 정의할 수 있습니다.
- 프로젝트 수준의 로그 기반 측정항목 정의 및 사용은 로그 기반 측정항목 사용을 참조하세요.
- 버킷 수준 로그 기반 측정항목 정의 및 사용은 로그 버킷의 로그 기반 측정항목을 참조하세요.
자체 로그 기반 측정항목을 정의하면 요금이 부과될 수 있습니다. 측정항목 수집과 관련된 비용에 대한 자세한 내용은 요금이 부과되는 측정항목을 참고하세요.
메시지에 대한 개별 로그 항목 모니터링
로그 항목에서 특정 메시지가 발생할 때마다 알림을 받으려면 로그 기반 알림 정책을 사용합니다. 로그 기반 알림 정책은 다음과 같이 로그 항목의 보안 관련 이벤트를 포착하는 데 유용합니다.
- 감사 로그에 이벤트가 표시되면(예: 인간 사용자가 서비스 계정의 보안 키에 액세스하려는 경우) 알림을 받기를 원합니다.
- 애플리케이션은 배포 메시지를 로그에 작성하며, 배포 변경사항이 로깅될 때 알림을 받기를 원합니다.
로그 기반 알림 정책은 드물게 발생하면서 중요할 것으로 예상되는 이벤트에 유용합니다. 추세나 패턴에 대해서는 아니지만 어떤 일이 발생했는지는 알고 싶은 경우 적합합니다.
로그 기반 알림 정책 만들기에 대한 자세한 내용은 로그 기반 알림 정책 구성을 참고하세요.
측정항목 기준 알림 정책을 구성하여 로그 기준 알림 정책을 시뮬레이션할 수 있습니다. 이렇게 하려면 로그 기반 측정항목을 정의하고 기준점이 1인 측정항목 기반 알림 정책에서 측정항목을 사용합니다. 로그 기반 알림 정책을 사용하면 로그 기반 측정항목을 만들고 측정항목 기반 알림 정책을 구성하지 않고도 해당 동작을 수행할 수 있습니다.
SQL 쿼리 결과 모니터링
로그 애널리틱스를 사용하여 로그 항목 데이터에 SQL 쿼리를 실행하는 알림 정책을 구성할 수 있습니다. 이러한 유형의 알림 정책은 로그 항목의 복잡한 패턴이나 로그 데이터 집계와 같이 로그 기반 알림 정책으로 평가할 수 없는 패턴을 기반으로 알림을 받으려는 경우에 효과적입니다. 자세한 내용은 알림 정책으로 SQL 쿼리 결과 모니터링을 참고하세요.
알림 옵션 비교
이 섹션에서는 로그 기반 측정항목을 기반으로 하는 알림 정책, 로그 기반 알림 정책, SQL 기반 알림 정책을 비교합니다.
요약 표
다음 표에는 알림 기법이 요약되어 있으며 추가 정보에 대한 링크를 제공합니다.
측정항목 기반 알림 정책 | 로그 기반 알림 정책 | SQL 기반 알림 정책 | 추가 정보 |
---|---|---|---|
로그 항목에서 파생된 측정항목 기준 | 개별 로그 항목의 문자열 기준 | 로그 항목에 대한 SQL 쿼리에서 반환된 테이블을 기반으로 함 | 로그 기반 측정항목 로그 기반 알림 SQL 기반 알림 |
시간에 따른 추세를 알리는 데 사용됩니다. | 특정 메시지가 로그에 표시되면 알림을 보내는 데 사용됩니다. | 로그 항목 창의 패턴을 알리는 데 사용됩니다. | 로그 기반 측정항목 로그 기반 알림 SQL 기반 알림 |
계산 방식:
|
포함된 로그만 일치 | 슬라이딩 창의 로그 항목에서 계산됨 | 사용 가능한 로그 SQL 기반 알림 |
범위 지정 프로젝트의 측정항목 범위에 있는 모든 프로젝트의 측정항목에서 작업 | 범위 지정 프로젝트의 로그에서만 작업 | 모든 Google Cloud 프로젝트에서 읽을 수 있는 모든 로그에 작동합니다. | 여러 프로젝트의 측정항목 모니터링 |
측정항목 값이 지정된 기간 동안 조건을 충족하면 이슈가 생성됨 | 특정 로그 항목이 필터와 일치할 때마다 이슈가 생성됨 | 쿼리 결과 테이블이 조건을 충족하면 이슈가 생성됨 | 이슈 및 알림 |
Monitoring에서 생성 및 관리됨 | Logging에서 생성됨, Monitoring에서 관리됨 |
로그 애널리틱스에서 생성됨, Monitoring에서 관리됨 | 알림 정책 만들기 및 관리 SQL 기반 알림 |
Monitoring에서 보기 | Monitoring에서 보기 | Monitoring에서 보기 | 알림 정책 보기 |
Monitoring에서 지원되는 모든 알림 채널 사용 가능 | Monitoring에서 지원되는 모든 알림 채널 사용 가능 | Monitoring에서 지원되는 모든 알림 채널 사용 가능 | 알림 채널 |
사용 가능한 로그
사용자 정의 로그 기반 측정항목은 Google Cloud 프로젝트에 적용될 수 있는 포함 필터 또는 제외 필터에 관계없이 Google Cloud 프로젝트의 Logging API에서 수신한 모든 로그에서 계산됩니다. 사용자 정의 로그 기반 측정항목을 기준으로 알림 정책을 만들면 정책에서 모든 로그의 데이터를 모니터링합니다.
시스템 정의 로그 기반 측정항목은 Google Cloud 프로젝트의 로그 버킷에 저장된 로그에서만 계산됩니다. 로그가 명시적으로 제외되면 이러한 측정항목에 포함되지 않습니다. 시스템 정의 로그 기반 측정항목을 기반으로 알림 정책을 만들면 정책에서 포함된 로그의 데이터만 모니터링합니다.
로그 기반 알림 정책은 프로젝트에서 시작되는 포함된 로그에서만 작동합니다. 로그 기반 알림 정책을 사용하여 제외된 로그의 메시지 또는 폴더나 조직과 같은 다른 리소스의 로그에 대한 알림을 받을 수 없습니다.
로그 기반 측정항목과 로그 기반 알림 정책 모두 개별 버킷이 아닌 Google Cloud 프로젝트 범위에서 작동합니다.
SQL 기반 알림 정책은 로그 버킷의 로그 뷰를 쿼리합니다. 이러한 로그 버킷은 로그 애널리틱스를 사용하도록 업그레이드한 후 BigQuery 데이터 세트에 연결해야 합니다. SQL 기반 알림 정책에 대한 자세한 내용은 알림 정책으로 SQL 쿼리 결과 모니터링을 참고하세요.
여러 프로젝트의 측정항목 모니터링
측정항목 범위를 구성하여 여러 프로젝트의 측정항목을 모니터링할 수 있습니다. 측정항목 범위에는 모니터링하는 모든 프로젝트와 계정이 나열됩니다. 범위 지정 프로젝트는 측정항목 범위를 호스팅합니다. 범위 지정 프로젝트는 측정항목 범위에 대해 만든 알림 정책 및 기타 구성을 저장합니다. 측정항목 범위의 범위 지정 프로젝트는 Google Cloud 콘솔 프로젝트 선택기에서 선택한 프로젝트입니다.
다른 측정항목을 기반으로 한 알림 정책과 같이 로그 기반 측정항목을 기반으로 하는 알림 정책은 범위 지정 프로젝트의 측정항목 범위에 있는 모든 프로젝트에서 작동합니다.
로그 기반 알림 정책은 측정항목 범위에서 작동하지 않습니다. 프로젝트의 로그는 측정항목 범위의 일부가 아닙니다. 로그 기반 알림 정책은 현재 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에서 로그 기반 알림 정책을 수정하고 삭제합니다. 자세한 내용은 로그 기반 알림 정책 관리를 참조하세요.
Log Analytics 또는 Cloud Monitoring API를 사용하여 SQL 기반 알림 정책을 만들 수 있습니다. Monitoring 또는 Cloud Monitoring API를 사용하여 SQL 기반 알림 정책을 수정하고 삭제합니다. 자세한 내용은 알림 정책으로 SQL 쿼리 결과 모니터링을 참고하세요.
알림 정책 보기
Monitoring의 정책 페이지에 Google Cloud 프로젝트의 모든 알림 정책이 나열됩니다. 이 목록에는 로그 기반 측정항목과 로그 기반 알림 정책을 사용하는 정책이 포함됩니다.
-
Google Cloud 콘솔에서 notifications 알림 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring인 결과를 선택합니다.
- 모든 정책 보기를 선택합니다.
로그 기반 알림 정책은 유형 열의 Logs
값과 함께 목록에 표시됩니다. 로그 기반 측정항목을 포함한 측정항목 기반 알림 정책은 유형 열의 Metrics
값과 함께 목록에 표시됩니다.
SQL 기반 알림 정책은 유형 열의 SQL
값과 함께 목록에 표시됩니다.
다음 스크린샷은 정책 목록의 일부를 보여줍니다.
알림 채널
모든 유형의 알림 정책에서 Monitoring에서 지원하는 모든 알림 채널로 알림을 보낼 수 있습니다. 이러한 채널을 알림 정책에 사용하려면 먼저 채널을 구성해야 합니다.
자세한 내용은 알림 채널 관리를 참조하세요.
승인 요구사항
로그 기반 측정항목 또는 로그 기반 알림 정책을 사용하려면 Cloud Logging 및 Cloud Monitoring 모두에 대한 승인이 필요합니다.
사용자 정의 로그 기반 측정항목은 로그 기반 측정항목 권한을 참조하세요.
로그 기반 알림 정책의 경우 로그 기반 알림 정책의 권한을 참조하세요.
SQL 기반 알림 정책의 경우 SQL 기반 알림 정책의 권한을 참고하세요.
비용 및 제한
자체 로그 기반 측정항목을 정의하면 다음이 적용됩니다.
- 사용자 정의 로그 기반 측정항목의 개수와 구조에 제한이 있습니다. 한도에 대한 자세한 내용은 로그 기반 측정항목 한도를 참조하세요.
- 사용자 정의 로그 기반 측정항목에 대한 요금이 청구될 수 있습니다. 측정항목 수집과 관련된 비용에 대한 자세한 내용은 청구 가능한 측정항목을 참조하세요.
- SQL 기반 알림 정책은 Google Cloud 프로젝트의 BigQuery 예약에서 실행됩니다. BigQuery 예약에 대한 요금이 청구될 수 있습니다. BigQuery 예약과 관련된 비용에 대한 자세한 내용은 BigQuery 가격 책정을 참고하세요.
로그 기반 측정항목을 기반으로 하는 알림 정책을 사용하는 데는 요금이 청구되지 않습니다.
알림 정책과 관련된 Monitoring 한도는 다음과 같습니다.
카테고리 | 값 | 정책 유형1 |
---|---|---|
측정항목 범위별 알림 정책(측정항목 및 로그 합계)2 | 500 | 측정항목, 로그 |
측정항목 기반 알림 정책당 조건 | 6 | 측정항목 |
SQL 기반 알림 정책별 조건 (공개 미리보기) | 1 | SQL |
측정항목 부재 조건이 평가하는 최대 기간3 |
1일 | 측정항목 |
측정항목 임계값 조건이 평가하는 최대 기간3 |
23시간 30분 | 측정항목 |
측정항목 임계값 조건에서 사용된 필터의 최대 길이 |
2,048개의 유니코드 문자 | 측정항목 |
예측 조건으로 모니터링되는 최대 시계열 수 |
64 | 측정항목 |
최소 예측 기간 | 1시간(3,600초) | 측정항목 |
최대 예측 기간 | 2.5일(216,000초) | 측정항목 |
알림 정책당 알림 채널 | 16 | 측정항목, 로그 |
최대 알림 속도4 | 각 로그 기반 알림 정책에 대해 5분당 알림 1개 | 로그 |
최대 알림 수 | 각 로그 기반 알림 정책에 대해 1일당 알림 20개 | 로그 |
알림 정책별 동시 개설된 이슈의 최대 개수 |
1,000 | 측정항목 |
새 데이터가 없는 이슈가 자동으로 닫히는 기간 |
7일 | 측정항목 |
수동으로 닫히지 않은 경우의 이슈의 최대 기간 | 7일 | 로그 |
종료된 이슈 보관 | 13개월 | 해당 사항 없음 |
미해결 이슈 보관 | 무기한 | 해당 사항 없음 |
측정항목 범위당 알림 채널 | 4,000 | 해당 사항 없음 |
다시 알림당 최대 알림 정책 수 | 16 | 측정항목, 로그 |
다시 알림 보류 | 13개월 | 해당 사항 없음 |
2Apigee 및 Apigee hybrid는 Cloud Monitoring과 긴밀하게 통합되어 있습니다. Standard, Enterprise, Enterprise Plus 등 모든 Apigee 구독 수준의 알림 한도는 Cloud Monitoring의 경우와 같습니다(측정항목 범위당 500개).
3조건이 평가되는 최대 기간은 정렬 기간과 기간 값의 합계입니다. 예를 들어 정렬 기간이 15시간으로 설정되고 기간이 15시간으로 설정된 경우 조건을 평가하려면 30시간의 데이터가 필요합니다.
4로그 기반 알림 정책의 쿼리에서 라벨 값을 추출하는 경우 추출된 값의 각 조합은 자체 알림 타임라인을 나타냅니다. 예를 들어 로그 기반 알림 정책에서 라벨 값을 추출한다고 가정해 보겠습니다. 라벨에 두 가지 값이 있을 수 있다고 가정해 보겠습니다. 이 구성을 사용하면 5분 동안 라벨 값별로 하나씩 알림 2개를 받을 수 있습니다.