이 문서에서는 Google Cloud 콘솔을 사용하여 로그 항목을 쿼리, 확인, 분석하는 방법을 설명합니다. 사용 가능한 인터페이스로는 로그 탐색기와 로그 애널리틱스라는 두 가지 인터페이스가 있습니다. 두 인터페이스 중 무엇을 사용하던 로그를 쿼리, 확인, 분석할 수 있지만 두 인터페이스는 사용하는 쿼리 언어와 기능이 다릅니다. 로그 데이터의 문제 해결과 탐색 분석을 위해서는 로그 탐색기를 사용하는 것이 좋습니다. 통계와 트렌드를 생성하려면 로그 애널리틱스를 사용하는 것이 좋습니다. Logging API 명령어를 실행하여 로그를 쿼리하고 쿼리를 저장할 수 있습니다. 또한 Google Cloud CLI를 사용하여 로그를 쿼리할 수도 있습니다.
로그 탐색기
로그 탐색기는 서비스 및 애플리케이션의 문제를 해결하고 성능을 분석할 수 있도록 설계되었습니다. 예를 들어 히스토그램에 오류율이 표시됩니다. 오류가 급증하거나 흥미로운 사항이 표시되면 해당 로그 항목을 찾아 볼 수 있습니다. 로그 항목이 오류 그룹과 연결되어 있는 경우, 해당 로그 항목에는 오류 그룹에 대한 자세한 정보에 액세스할 수 있는 옵션 메뉴가 주석으로 추가되어 있습니다.
Cloud Logging API, Google Cloud CLI, 로그 탐색기에서 같은 쿼리 언어를 지원합니다. 로그 탐색기를 사용할 때 쿼리 구성을 간소화하려면 메뉴를 사용하거나, 텍스트를 입력하거나, 경우에 따라 개별 로그 항목의 디스플레이에 포함된 옵션을 사용하여 쿼리를 빌드할 수 있습니다.
로그 탐색기에서는 특정 패턴이 포함된 로그 항목 수 계산과 같은 집계 작업을 지원하지 않습니다. 집계 작업을 수행하려면 로그 버킷에서 분석을 사용 설정한 후 로그 애널리틱스를 사용합니다.
로그 탐색기로 로그를 검색하고 보는 방법에 대한 자세한 내용은 로그 탐색기를 사용하여 로그 보기를 참조하세요.
로그 애널리틱스
로그 애널리틱스를 사용하면 로그 데이터를 분석하는 쿼리를 실행한 후 쿼리 결과를 보거나 차트로 표시할 수 있습니다. 차트를 사용하면 시간 경과에 따른 로그의 패턴과 추세를 식별할 수 있습니다. 다음 스크린샷은 로그 애널리틱스의 차트 기능을 보여줍니다.
예를 들어 문제를 해결하면서 시간 경과에 따라 특정 URL에 발생한 HTTP 요청의 평균 지연 시간을 알고 싶은 경우를 가정해보세요. 로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드하면 SQL 쿼리를 사용하여 로그 버킷에 저장된 로그를 쿼리할 수 있습니다. 이러한 SQL 쿼리에는 파이프 구문도 포함될 수 있습니다. 로그를 그룹화하고 집계하면 로그 데이터에서 유용한 정보를 얻을 수 있으므로 문제 해결에 소요되는 시간을 줄일 수 있습니다.
로그 애널리틱스를 사용하면 로그 뷰를 쿼리할 수 있습니다.
로그 뷰에는 LogEntry
데이터 구조에 해당하는 고정된 스키마가 있습니다.
BigQuery를 사용하여 로그 뷰를 쿼리할 수도 있습니다. 예를 들어 BigQuery를 사용하여 로그의 URL을 알려진 악성 URL의 공개 데이터 세트와 비교한다고 가정해 보겠습니다. 로그 데이터를 BigQuery에 표시하려면 로그 애널리틱스를 사용하도록 버킷을 업그레이드한 후 연결된 데이터 세트를 만듭니다.
로그 탐색기를 사용하면 문제를 해결하고 업그레이드된 로그 버킷의 개별 로그 항목을 볼 수 있습니다.
제한사항
로그 분석을 사용하도록 기존 로그 버킷을 업그레이드하려면 다음 제한사항이 적용됩니다.
- 로그 버킷이
_Required
버킷이 아니면 잠금 해제됩니다. - 버킷에 대기 중인 업데이트가 없습니다.
- 로그 버킷이
로그 애널리틱스를 사용하도록 업그레이드된 로그 버킷에서는 로그 애널리틱스 지원을 삭제할 수 없습니다.
업그레이드가 완료된 후 작성된 로그 항목만 분석에 사용할 수 있습니다.
로그 버킷에 필드 수준 액세스 제어가 구성된 경우 로그 애널리틱스 페이지를 사용하여 로그 뷰를 쿼리할 수 없습니다. 하지만 로그 탐색기 페이지를 통해 쿼리를 실행하고 연결된 BigQuery 데이터 세트를 쿼리할 수 있습니다. BigQuery는 필드 수준 액세스 제어를 따르지 않으므로 연결된 데이터 세트를 쿼리하면 로그 항목의 모든 필드를 쿼리할 수 있습니다.
다양한 Cloud KMS 키로 구성된 로그 버킷 여러 개를 쿼리하는 경우 다음 제약 조건이 충족되지 않으면 쿼리가 실패합니다.
- 로그 버킷이 같은 위치에 있습니다.
- 로그 버킷의 상위 리소스인 폴더나 조직은 기본 키로 구성됩니다.
- 기본 키는 로그 버킷과 같은 위치에 있습니다.
이전 제약조건이 충족되면 상위 요소의 Cloud KMS 키가 로그 애널리틱스 쿼리에서 생성된 임시 데이터를 암호화합니다.
쿼리가 실행되기 전에 중복 로그 항목이 삭제되지 않습니다. 이 동작은 로그 이름, 타임스탬프, 삽입 ID 필드를 비교하여 중복 항목을 삭제하는 로그 탐색기를 사용하여 로그 항목을 쿼리할 때와 다릅니다. 자세한 내용은 문제 해결: 로그 애널리틱스 결과에 중복 로그 항목이 있음을 참고하세요.
가격 책정
Cloud Logging은 로그를 지원되는 대상으로 라우팅하는 데 비용을 청구하지 않지만 대상에 요금이 부과될 수 있습니다.
_Required
로그 버킷을 제외하고 Cloud Logging은 로그를 로그 버킷으로 스트리밍하고 로그 버킷의 기본 보관 기간보다 긴 스토리지에 대해 요금을 청구합니다.
Cloud Logging은 로그 복사, 로그 범위 정의, 로그 탐색기 또는 로그 애널리틱스 페이지를 통해 실행되는 쿼리에 대해 요금을 부과하지 않습니다.
자세한 내용은 다음 문서를 참조하세요.
- Cloud Logging 가격 책정 요약
대상 비용:
- VPC 흐름 로그 생성 요금은 전송한 후 Cloud Logging에서 Virtual Private Cloud 흐름 로그를 제외할 때 적용됩니다.
로그 애널리틱스를 사용하도록 버킷을 업그레이드한 후 연결된 데이터 세트를 만들면 BigQuery 수집 또는 스토리지 비용이 발생하지 않습니다. 로그 버킷에 연결된 데이터 세트를 만들 때 로그 데이터를 BigQuery로 수집하지 않습니다. 대신 연결된 데이터 세트를 통해 로그 버킷에 저장된 로그 데이터에 대한 읽기 액세스 권한을 얻을 수 있습니다.
BigQuery 분석 요금은 BigQuery Studio 페이지, BigQuery API, BigQuery 명령줄 도구 사용을 포함하여 BigQuery 연결 데이터 세트에서 SQL 쿼리를 실행할 때 적용됩니다.
블로그
로그 애널리틱스에 대한 자세한 내용은 다음 블로그 게시물을 참조하세요.
- 로그 애널리틱스 개요는 Cloud Logging의 로그 애널리틱스가 정식 버전으로 출시되었습니다를 참조하세요.
- 로그 애널리틱스 쿼리로 생성된 차트를 만들고 커스텀 대시보드에 이러한 차트를 저장하는 방법을 알아보려면 공개 미리보기 버전의 Cloud Logging에서 로그 애널리틱스 차트 및 대시보드 발표를 참조하세요.
- 로그 애널리틱스를 사용하여 감사 로그를 분석하는 방법에 대한 자세한 내용은 로그 애널리틱스를 사용하여 감사 로그에서 보안 통계 확보를 참조하세요.
- 로그를 BigQuery로 라우팅하고 이 솔루션과 로그 애널리틱스 사용의 차이를 알고 싶으면 BigQuery Export 사용자를 위한 로그 애널리틱스로 전환을 참조하세요.
다음 단계
- 로그 버킷을 만들고 로그 애널리틱스를 사용하도록 업그레이드
- 로그 애널리틱스를 사용하도록 기존 버킷 업그레이드
로그를 쿼리하고 봅니다.
샘플 쿼리: