이 문서에서는 Google Cloud 콘솔, Google Cloud CLI, Logging API를 사용하여 Cloud Logging 버킷을 만들고 관리하는 방법을 설명합니다.
또한 Google Cloud 프로젝트 수준에서 로그 버킷을 만들고 관리하는 방법도 제공합니다. 폴더나 조직 수준에서는 로그 버킷을 만들 수 없습니다. 하지만 Cloud Logging은 자동으로 폴더 및 조직 수준에서 _Default
및 _Required
버킷을 만듭니다.
로그 분석을 사용하도록 로그 버킷을 업그레이드할 수 있습니다. 로그 분석을 사용하면 로그 데이터에 SQL 쿼리를 실행하여 애플리케이션, 보안, 네트워킹 문제를 해결할 수 있습니다.
BigQuery를 사용하여 로그 데이터를 분석하는 방법에는 두 가지가 있습니다.
로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드한 후 연결된 BigQuery 데이터 세트를 만듭니다. 이 시나리오에서 Logging은 로그 데이터를 저장하지만 BigQuery는 로그 데이터를 읽을 수 있습니다.
BigQuery로 로그 항목을 내보냅니다. 이 시나리오에서는 싱크를 만들어야 하고, BigQuery가 데이터를 저장하고 관리하며, 파티션을 나눈 테이블을 사용할 수 있는 옵션이 있습니다.
BigQuery에서 로그 데이터를 사용할 수 있으면 로그 데이터를 BigQuery에 저장된 다른 데이터와 조인할 수 있으며 Looker Studio 및 Looker와 같은 다른 도구에서 이 데이터에 액세스할 수 있습니다.
버킷의 개념 개요는 라우팅 및 스토리지 개요: 로그 버킷을 참조하세요.
시작하기 전에
버킷을 시작하려면 다음을 수행합니다.
Google Cloud 프로젝트 청구가 사용 설정되었는지 확인합니다.
Identity and Access Management(IAM) 역할이 버킷을 생성, 업그레이드, 연결하는 데 필요한 권한을 부여하는지 확인합니다.
로그 구성 작성자(
roles/logging.configWriter
) 역할은 버킷을 관리하는 데 필요한 권한을 부여하는 최소한의 사전 정의된 역할입니다. 권한 및 역할의 전체 목록은 IAM으로 액세스 제어를 참조하세요.조직에서
_Required
및_Default
버킷에 기본 스토리지 리전을 적용하기 위해 기본 리소스 위치를 설정합니다.BigQuery를 사용하여 로그 버킷에 저장된 데이터를 보려면 다음을 수행합니다.
BigQuery API가 사용 설정되었는지 확인 사용 가능한 서비스를 나열하여 API가 사용 설정되었는지 확인할 수 있습니다.
Identity and Access Management 역할에는 연결된 데이터 세트를 만들 수 있는 권한이 있습니다. 자세한 내용은 연결된 BigQuery 데이터 세트의 권한을 참조하세요.
고객 관리 암호화 키(CMEK)를 사용하는 로그 버킷을 만드는 방법에 대한 자세한 내용은 로그 스토리지에 대해 CMEK 구성을 참조하세요.
버킷 만들기
Google Cloud 프로젝트당 최대 100개의 버킷을 만들 수 있습니다.
Google Cloud 프로젝트의 사용자 정의 로그 버킷을 만들려면 다음 안내를 따르세요.
Google Cloud 콘솔
Google Cloud 프로젝트에서 로그 버킷을 만들려면 다음을 따르세요.
-
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
로그 버킷 만들기를 클릭합니다.
버킷의 이름과 설명을 입력하세요.
선택사항: 로그 분석을 사용하도록 버킷을 업그레이드합니다.
로그 애널리틱스를 사용하도록 업그레이드를 선택합니다.
로그 분석을 사용하도록 버킷을 업그레이드하는 경우 SQL 쿼리를 사용하여 로그 애널리틱스 페이지에서 로그를 쿼리할 수 있습니다. 로그 탐색기를 사용하여 계속 로그를 볼 수도 있습니다.
일부 리전에서는 로그 분석이 지원되지 않습니다. 자세한 내용은 지원되는 리전을 참조하세요.
선택사항: BigQuery에서 로그를 보려면 이 버킷에 연결되는 새 BigQuery 데이터 세트 만들기를 선택하고 고유한 데이터 세트 이름을 입력합니다.
이 옵션을 선택하면 BigQuery가 로그 버킷에 저장된 데이터를 읽을 수 있습니다. 이제 로그 데이터에 조인할 수 있는 BigQuery 인터페이스에서 쿼리할 수 있으며 Looker Studio 및 Looker와 같은 다른 도구의 데이터에 액세스할 수도 있습니다.
선택사항: 로그의 스토리지 리전을 선택하려면 로그 버킷 리전 선택 메뉴를 클릭하고 리전을 선택합니다. 리전을 선택하지 않으면
global
리전이 사용되며 이는 로그가 모든 리전에 물리적으로 위치할 수 있다는 뜻입니다.선택사항: 버킷의 로그에 대해 커스텀 보관 기간을 설정하려면 다음을 클릭합니다.
보관 기간 필드에 Cloud Logging에서 로그를 보관할 일수(1~3650일)를 입력합니다. 보관 기간을 지정하지 않으면 기본값은
30 days
입니다.또한 생성 후 커스텀 보관을 적용하기 위해 버킷을 업데이트할 수 있습니다.
버킷 만들기를 클릭합니다.
로그 버킷이 생성되면 Logging에서 버킷을 업그레이드하고 데이터 세트 옵션이 생성된 경우 데이터 세트 링크를 만듭니다.
이 단계를 완료하는 데 다소 시간이 걸릴 수 있습니다.
gcloud
로그 버킷만 만들려면 gcloud logging buckets create
명령어를 실행합니다. 로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드하려면 --enable-analytics
및 --async
플래그를 포함하고 LOCATION 변수를 로그 애널리틱스가 지원되는 리전으로 설정해야 합니다.
gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async OPTIONAL_FLAGS
--async
플래그는 명령어를 강제로 비동기화합니다. 비동기 메서드는 Operation
객체를 반환하며 메서드의 진행률에 대한 정보를 포함합니다. 메서드가 완료되면 Operation
객체에 상태가 포함됩니다. 자세한 내용은 비동기 API 메서드를 참조하세요.
로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드하지 않으려면 --enable-analytics
및 --async
플래그를 생략합니다. LOCATION 변수를 지원되는 리전으로 설정할 수 있습니다.
예를 들어 asia-east2
리전에 BUCKET_ID my-bucket
으로 버킷을 만들려는 경우 명령어는 다음과 같습니다.
gcloud logging buckets create my-bucket --location asia-east2 --description "My first bucket"
예를 들어 us
위치에 BUCKET_ID my-upgraded-bucket
으로 버킷을 만든 다음 로그 분석을 사용하도록 로드 버킷을 업그레이드하는 경우 명령어는 다음과 같습니다.
gcloud logging buckets create my-upgraded-bucket --location us \ --description "My first upgraded bucket" \ --enable-analytics --retention-days=45
API
버킷을 만들려면 projects.locations.buckets.create
또는 projects.locations.buckets.createAsync
메서드를 사용합니다. 메서드의 인수를 다음과 같이 준비하세요.
parent
매개변수를 버킷을 만들 리소스projects/PROJECT_ID/locations/LOCATION
으로 설정합니다.LOCATION 변수는 로그를 저장할 리전을 나타냅니다. 일부 리전에서는 로그 분석이 지원되지 않습니다. 자세한 내용은 지원되는 리전을 참조하세요.
예를 들어
asia-east2
리전에서my-project
프로젝트에 대해 버킷을 만들려는 경우parent
매개변수는projects/my-project/locations/asia-east2
와 같습니다.bucketId
매개변수를 설정합니다. 예를 들면my-bucket
입니다.다음 중 하나를 수행합니다.
로그 버킷을 만든 후 로그 분석을 사용하도록 로그 버킷을 업그레이드하려면 다음 안내를 따르세요.
LogBucket.analyticsEnabled
불리언을true
로 설정합니다.비동기 메서드
projects.locations.buckets.createAsync
를 호출하여 버킷을 만듭니다.비동기 메서드에 대한 응답은
Operation
객체입니다. 이 객체에는 메서드의 진행률에 대한 정보가 포함됩니다. 메서드가 완료되면Operation
객체에 상태가 포함됩니다. 자세한 내용은 비동기 API 메서드를 참조하세요.createAsync
메서드가 완료되는 데 몇 분 정도 걸립니다. 이 메서드는analyticsEnabled
불리언이true
로 설정되어 있고 업그레이드된 버킷에 대해 리전이 지원되지 않는 경우 오류 메시지를 생성하거나 실패하지 않습니다. 예를 들어 위치를asia-east2
로 설정하면 로그 버킷이 생성되지만 로그 분석을 사용하도록 업그레이드되지 않습니다.
그렇지 않으면 동기 메서드
projects.locations.buckets.create
를 호출하여 버킷을 만듭니다.
버킷을 만든 후 싱크를 만들어 로그 항목을 버킷으로 라우팅하고 로그 보기를 구성하여 새 버킷의 로그에 액세스할 수 있는 사용자와 액세스 가능한 로그를 제어합니다. 또한 커스텀 보관 및 제한된 필드를 구성하도록 버킷을 업데이트할 수 있습니다.
로그 버킷에 저장된 로그 볼륨 추적
Google Cloud 콘솔의 로그 스토리지 페이지는 로그 버킷에 저장된 로그 데이터의 볼륨을 추적합니다.
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
로그 스토리지 페이지에는 Google Cloud 프로젝트의 통계 요약이 표시됩니다.
다음과 같은 통계가 보고됩니다.
이번달 수집: Google Cloud 프로젝트에서 이번달의 첫째 날부터 로그 버킷에 저장한 로그 데이터의 양입니다.
지난달 수집: Google Cloud 프로젝트에서 지난달 로그 버킷에 저장한 로그 데이터의 양입니다.
월말 기준 예상 수집: 현재 사용량을 기준으로 이번 달 말까지 Google Cloud 프로젝트에서 로그 버킷에 저장할 예상 로그 데이터의 양입니다.
이번 달 청구 가능한 스토리지: 청구 대상으로 30일 이상 보관된 로그 데이터 양입니다.
이전 통계에는 _Required
버킷의 로그가 포함되지 않습니다. 해당 버킷의 로그는 제외하거나 사용 중지할 수 없습니다.
Google Cloud 콘솔의 로그 라우터 페이지에서는 로그 버킷에 로그 저장이나 월별 할당량을 초과하는 스토리지 요금을 최소화하는 데 사용할 수 있는 도구를 제공합니다. 다음을 수행하면 됩니다.
- 버킷 수준에서 로그가 저장되지 않도록 사용 중지합니다.
- 특정 로그 항목이 로그 버킷에 저장되지 않도록 제외합니다.
자세한 내용은 싱크 관리를 참조하세요.
버킷 관리
이 섹션에서는 Google Cloud CLI Google Cloud 콘솔을 사용하여 로그 버킷을 관리하는 방법을 설명합니다.
버킷 업데이트
설명 또는 보관 기간과 같은 버킷 속성을 업데이트하려면 다음을 수행합니다.
Google Cloud 콘솔
버킷 속성을 업데이트하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
업데이트할 버킷에서 more_vert 더보기를 클릭합니다.
버킷 수정을 선택합니다.
필요에 따라 버킷을 수정합니다.
버킷 업데이트를 클릭합니다.
gcloud
버킷 속성을 업데이트하려면 gcloud logging buckets update
명령어를 실행합니다.
gcloud logging buckets update BUCKET_ID --location=LOCATION UPDATED_ATTRIBUTES
예를 들면 다음과 같습니다.
gcloud logging buckets update my-bucket --location=global --description "Updated description"
API
버킷 속성을 업데이트하려면 Logging API에서 projects.locations.buckets.patch
를 사용합니다.
로그 분석을 사용하도록 버킷을 업그레이드
로그 분석을 사용하도록 기존 버킷을 업그레이드하려면 다음 제한사항이 적용됩니다.
- 로그 버킷은 Google Cloud 프로젝트 수준에서 생성되었습니다.
- 로그 버킷이
_Required
버킷이 아니면 잠금 해제됩니다. - 버킷에 대기 중인 업데이트가 없습니다.
일부 리전에서는 로그 애널리틱스가 지원되지 않습니다. 자세한 내용은 지원되는 리전을 참조하세요.
Google Cloud 콘솔
로그 애널리틱스를 사용하도록 기존 버킷을 업그레이드하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
업그레이드할 버킷을 찾습니다.
로그 애널리틱스 사용 가능 열에 업그레이드가 표시되면 로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드할 수 있습니다. 업그레이드를 클릭합니다.
대화상자가 열립니다. 확인을 클릭합니다.
gcloud
로그 분석을 사용하도록 로그 버킷을 업그레이드하려면 gcloud logging buckets update
명령어를 실행합니다. --enable-analytics
플래그를 설정해야 하며 --async
플래그도 포함하는 것이 좋습니다.
gcloud logging buckets update BUCKET_ID --location=LOCATION --enable-analytics --async
--async
플래그는 명령어를 강제로 비동기화합니다. 비동기 메서드는 Operation
객체를 반환하며 메서드의 진행률에 대한 정보를 포함합니다. 메서드가 완료되면 Operation
객체에 상태가 포함됩니다. 자세한 내용은 비동기 API 메서드를 참조하세요.
API
로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드하려면 Cloud Logging API의 projects.locations.buckets.updateAsync
메서드를 사용합니다.
메서드의 인수를 다음과 같이 준비하세요.
LogBucket.analyticsEnabled
불리언을true
로 설정합니다.- 명령어의 쿼리 매개변수에는
updateMask=analyticsEnabled
를 사용합니다.
비동기 메서드에 대한 응답은 Operation
객체입니다. 이 객체에는 메서드의 진행률에 대한 정보가 포함됩니다. 메서드가 완료되면 Operation
객체에 상태가 포함됩니다. 자세한 내용은 비동기 API 메서드를 참조하세요.
updateAsync
를 완료하는 데 몇 분 정도 걸릴 수 있습니다.
연결된 BigQuery 데이터 세트 만들기
BigQuery의 기능을 사용하여 로그 데이터를 분석하려면 로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드한 다음 연결된 데이터 세트를 만듭니다. 이 구성을 사용하면 Logging은 로그 데이터를 저장하지만 BigQuery는 로그 데이터를 읽을 수 있습니다.
Google Cloud 콘솔
기존 로그 버킷의 BigQuery 데이터 세트 링크를 만들려면 다음을 수행합니다.
이 문서의 시작하기 전에 섹션을 검토합니다.
-
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
로그 버킷을 찾아 로그 애널리틱스 사용 가능 열에 열기가 표시되는지 확인합니다.
이 열에 업그레이드가 표시되면 로그 버킷이 로그 애널리틱스를 사용하도록 업그레이드되지 않은 것입니다. 로그 애널리틱스를 구성합니다.
- 업그레이드를 클릭합니다.
- 대화상자에서 확인을 클릭합니다.
업그레이드가 완료되면 다음 단계로 진행합니다.
로그 버킷에서 더보기more_vert를 클릭한 다음 버킷 수정을 수정합니다.
로그 버킷 수정 대화상자가 열립니다.
이 버킷에 연결되는 새 BigQuery 데이터 세트 만들기를 선택하고 새 데이터 세트의 이름을 입력합니다.
데이터 세트 이름은 Google Cloud 프로젝트마다 고유해야 합니다. 기존 데이터 세트의 이름을 입력하면
Dataset name must be unique in the selected region.
오류가 표시됩니다.완료를 클릭한 다음 버킷 업데이트를 클릭합니다.
Logging이 로그 스토리지 페이지에 연결된 데이터 세트 이름을 표시한 후 BigQuery가 데이터 세트를 인식하는 데 몇 분 정도 걸릴 수 있습니다.
gcloud
로그 분석을 사용하도록 업그레이드된 로그 버킷의 연결된 데이터 세트를 만들려면 gcloud logging links create
명령어를 실행합니다.
gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
LINK_ID 필드는 Google Cloud 프로젝트에 고유해야 합니다.
links create
명령어는 비동기식입니다. 비동기 메서드는 Operation
객체를 반환하며 메서드의 진행률에 대한 정보를 포함합니다. 메서드가 완료되면 Operation
객체에 상태가 포함됩니다. 자세한 내용은 비동기 API 메서드를 참조하세요.
links create
명령어가 완료되는 데 몇 분 정도 걸립니다.
예를 들어 다음 명령어는 이름이 my-bucket
인 버킷에 대해 연결된 데이터 세트를 만듭니다.
gcloud logging links create mylink --bucket=my-bucket --location=global
데이터 세트 이름은 Google Cloud 프로젝트마다 고유해야 합니다. 기존 데이터 세트와 이름이 같은 데이터 세트를 만들려고 하면 다음 오류가 표시됩니다.
BigQuery dataset with name "my-bucket" already exists.
로그 분석을 사용하도록 업그레이드되지 않은 로그 버킷에 연결된 데이터 세트를 만들려고 하면 다음 오류가 보고됩니다.
A link can only be created for an analytics-enabled bucket.
API
로그 분석을 사용하여 업그레이드된 기존 로그 버킷에 연결된 BigQuery 데이터 세트를 만들려면 Cloud Logging API의 비동기 projects.locations.buckets.links.create
메서드를 호출합니다.
메서드의 인수를 다음과 같이 준비하세요.
create
명령어에 대해 요청 본문을 구성합니다. 요청 본문은Link
객체로 형식이 지정됩니다.- 명령어의 쿼리 매개변수에는
linkId=LINK_ID
를 사용합니다. 사용자가 제공하는 LINK_ID가 데이터 세트의 이름으로 사용되므로, LINK_ID는 출력 전용 DATASET_ID와 동일한 값을 공유합니다.
비동기 메서드에 대한 응답은 Operation
객체입니다. 이 객체에는 메서드의 진행률에 대한 정보가 포함됩니다. 메서드가 완료되면 Operation
객체에 상태가 포함됩니다. 자세한 내용은 비동기 API 메서드를 참조하세요.
links.create
메서드가 완료되는 데 몇 분 정도 걸립니다.
데이터 세트 이름은 Google Cloud 프로젝트마다 고유해야 합니다. 기존 데이터 세트와 이름이 같은 데이터 세트를 만들려고 하면 다음 오류가 표시됩니다.
BigQuery dataset with name "my-bucket" already exists.
로그 분석을 사용하도록 업그레이드되지 않은 로그 버킷에 연결된 데이터 세트를 만들려고 하면 다음 오류가 보고됩니다.
A link can only be created for an analytics-enabled bucket.
버킷 잠그기
업데이트되지 않도록 버킷을 잠글 때 버킷의 보관 정책도 잠깁니다. 보관 정책이 잠긴 후에는 버킷의 모든 로그 항목이 버킷의 보관 기간을 충족할 때까지 버킷을 삭제할 수 없습니다.
누구도 로그 버킷을 업데이트하거나 삭제하지 못하도록 방지하려면 버킷을 잠급니다. 버킷을 잠그려면 다음을 수행합니다.
Google Cloud 콘솔
Google Cloud 콘솔은 로그 버킷 잠금을 지원하지 않습니다.
gcloud
버킷을 잠그려면 --locked
플래그로 gcloud logging buckets update
명령어를 실행합니다.
gcloud logging buckets update BUCKET_ID --location=LOCATION --locked
예를 들면 다음과 같습니다.
gcloud logging buckets update my-bucket --location=global --locked
API
버킷 속성을 잠그려면 Logging API에서 projects.locations.buckets.patch
를 사용합니다. locked
매개변수를 true
로 설정합니다.
버킷 나열
Google Cloud 프로젝트와 연결된 로그 버킷을 나열하고 보관 설정과 같은 세부정보를 보려면 다음을 수행합니다.
Google Cloud 콘솔
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
로그 버킷이라는 테이블에 현재 Google Cloud 프로젝트와 연결된 버킷이 나열됩니다.
테이블에는 각 로그 버킷의 다음 속성이 나열됩니다.
- 이름: 로그 버킷의 이름입니다.
- 설명: 버킷에 대한 설명입니다.
- 보관 기간: Cloud Logging에서 버킷 데이터를 저장하는 기간(일)입니다.
- 리전: 버킷 데이터가 저장되는 지리적 위치입니다.
- 상태: 버킷이 잠금 상태인지 또는 잠금 해제되었는지 여부입니다.
버킷이 Cloud Logging에 의해 삭제 대기 중인 경우 해당 테이블 항목이 warning 경고 기호로 주석 처리됩니다.
gcloud
gcloud logging buckets list
명령어를 실행합니다.
gcloud logging buckets list
로그 버킷의 다음 속성이 표시됩니다.
LOCATION
: 버킷 데이터가 저장되는 리전입니다.BUCKET_ID
: 로그 버킷의 이름입니다.RETENTION_DAYS
: Cloud Logging에서 버킷의 데이터를 저장할 기간(일)입니다.LIFECYCLE_STATE
: 버킷이 Cloud Logging의 삭제 대기 중인지 여부를 나타냅니다.LOCKED
: 버킷이 잠금 상태인지 또는 잠금 해제되었는지 여부입니다.CREATE_TIME
: 버킷이 생성된 시간을 나타내는 타임스탬프입니다.UPDATE_TIME
: 버킷이 마지막으로 수정된 시간을 나타내는 타임스탬프입니다.
버킷 하나에 대한 속성도 볼 수 있습니다. 예를 들어 global
리전의 _Default
로그 버킷에 대한 세부정보를 보려면 gcloud logging buckets describe
명령어를 실행합니다.
gcloud logging buckets describe _Default --location=global
API
Google Cloud 프로젝트와 연결된 로그 버킷을 나열하려면 Logging API에서 projects.locations.buckets.list
를 사용합니다.
버킷 세부정보 보기
단일 로그 버킷의 세부정보를 보려면 다음을 수행합니다.
Google Cloud 콘솔
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
로그 버킷에서 more_vert 추가 질문을 클릭한 후 버킷 세부정보 보기를 선택합니다.
대화상자에 다음과 같은 로그 버킷 속성이 나열됩니다.
- 이름: 로그 버킷의 이름입니다.
- 설명: 로그 버킷에 대한 설명입니다.
- 보관 기간: Cloud Logging에서 버킷 데이터를 저장하는 기간(일)입니다.
- 리전: 버킷 데이터가 저장되는 지리적 위치입니다.
- 로그 애널리틱스: 로그 애널리틱스를 사용하도록 버킷이 업그레이드되었는지 여부를 나타냅니다.
- BigQuery 분석: BigQuery 데이터 세트가 버킷에 연결되어 있는지 여부를 나타냅니다.
- BigQuery 데이터 세트: BigQuery Studio 페이지에서 열리는 BigQuery 데이터 세트 링크를 제공합니다. BigQuery 연결이 사용 설정된 날짜도 표시됩니다.
gcloud
gcloud logging buckets describe
명령어를 실행합니다.
예를 들어 다음 명령어는 _Default
버킷의 세부정보를 보고합니다.
gcloud logging buckets describe _Default --location=global
로그 버킷의 다음 속성이 표시됩니다.
createTime
: 버킷이 생성된 시간을 나타내는 타임스탬프입니다.description
: 로그 버킷에 대한 설명입니다.lifecycleState
: 버킷이 Cloud Logging의 삭제 대기 중인지 여부를 나타냅니다.name
: 로그 버킷의 이름입니다.retentionDays
: Cloud Logging에서 버킷의 데이터를 저장할 기간(일)입니다.updateTime
: 버킷이 마지막으로 수정된 시간을 나타내는 타임스탬프입니다.
API
단일 로그 버킷의 세부정보를 보려면 Logging API에서 projects.locations.buckets.get
을 사용합니다.
버킷 삭제
로그 버킷을 삭제하려면 다음을 수행합니다.
Google Cloud 콘솔
로그 버킷을 삭제하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
삭제할 버킷을 찾고 more_vert더보기를 클릭합니다.
BigQuery의 연결된 데이터 세트 열에 링크가 표시되면 연결된 BigQuery 데이터 세트를 삭제합니다.
버킷 수정을 클릭합니다.
이 버킷에 연결되는 새 BigQuery 데이터 세트 만들기를 선택 취소하고 완료를 클릭한 다음 버킷 업데이트를 클릭합니다.
로그 저장소 페이지로 돌아가면 삭제할 버킷의 more_vert더보기를 클릭한 후 다음 단계를 진행합니다.
버킷 삭제를 선택합니다.
확인 패널에서 삭제를 클릭합니다.
로그 스토리지 페이지의 버킷에는 삭제 보류 중인 표시가 있습니다. 모든 로그가 포함된 버킷은 7일 후에 삭제됩니다.
gcloud
로그 버킷을 삭제하려면 gcloud logging buckets delete
명령어를 실행합니다.
gcloud logging buckets delete BUCKET_ID --location=LOCATION
버킷에 연결된 BigQuery 데이터 세트가 있으면 로그 버킷을 삭제할 수 없습니다.
- 로그 버킷과 연결된 링크를 나열하려면
gcloud logging links list
명령어를 실행합니다. - 데이터 세트를 삭제하려면
gcloud logging links delete
명령어를 실행합니다.
API
버킷을 삭제하려면 Logging API에서 projects.locations.buckets.delete
를 사용합니다.
버킷에 연결된 BigQuery 데이터 세트가 있는 경우 로그 버킷을 삭제하면 오류가 발생합니다. 로그 버킷을 삭제하기 전에 연결된 데이터 세트를 삭제해야 합니다.
- 로그 버킷과 연결된 링크를 나열하려면
projects.locations.buckets.links.list
메서드를 실행합니다. - 연결된 데이터 세트를 삭제하려면
projects.locations.buckets.links.delete
메서드를 실행합니다.
삭제된 버킷은 7일 동안 대기 상태로 유지되며 이 기간 동안에는 Logging이 계속 버킷으로 로그를 라우팅합니다. 삭제된 버킷으로의 로그 라우팅을 중지하려면 해당 버킷이 대상인 로그 싱크를 삭제하거나 싱크의 필터를 수정하여 삭제된 버킷으로의 로그 라우팅을 중지할 수 있습니다.
대기 중 상태인 삭제된 버킷과 동일한 이름을 사용하는 새 로그 버킷을 만들 수 없습니다.
삭제된 버킷 복원하기
삭제 대기 중인 로그 버킷을 복원하거나 삭제 취소할 수 있습니다. 로그 버킷을 복원하려면 다음을 수행합니다.
Google Cloud 콘솔
삭제 대기 중인 로그 버킷을 복원하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
복원할 버킷에 대해 more_vert 더보기를 클릭한 후 삭제된 버킷 복원을 선택합니다.
확인 패널에서 복원을 클릭합니다.
로그 스토리지 페이지에서 로그 버킷의 삭제 대기 표시가 사라집니다.
gcloud
삭제 대기 중인 로그 버킷을 복원하려면 gcloud logging buckets undelete
명령어를 실행합니다.
gcloud logging buckets undelete BUCKET_ID --location=LOCATION
API
삭제 대기 중인 버킷을 복원하려면 Logging API에서 projects.locations.buckets.undelete
를 사용합니다.
로그 버킷에 저장된 월별 로그 바이트에 대한 알림
알림 정책을 만들려면 Google Cloud 콘솔의 로그 스토리지 페이지에서 add_alert 사용량 알림 만들기를 클릭합니다. 이 버튼은 Monitoring에서 알림 정책 만들기 페이지를 열고 측정항목 유형 필드를 logging.googleapis.com/billing/bytes_ingested
로 채웁니다.
로그 버킷에 기록되는 로그 바이트 수가 Cloud Logging의 사용자 정의 한도를 초과할 때 트리거되는 알림 정책을 만들려면 다음 설정을 사용하세요.
새 조건 필드 |
값 |
---|---|
리소스 및 측정항목 | 리소스 메뉴에서 전역을 선택합니다. 측정항목 카테고리 메뉴에서 로그 기반 측정항목을 선택합니다. 측정항목 메뉴에서 수집된 월별 로그 바이트를 선택합니다. |
필터 | 없음 |
시계열 시계열 집계 |
sum |
순환 기간 | 60 m |
순환 윈도우 함수 | max |
알림 트리거 구성 필드 |
값 |
---|---|
조건 유형 | Threshold |
알림 트리거 | Any time series violates |
기준 위치 | Above threshold |
기준 값 | 허용 가능한 값을 결정합니다. |
재테스트 범위 | 허용 가능한 최솟값은 30분입니다. |
알림 정책에 대한 자세한 내용은 알림 개요를 참조하세요.
버킷에 쓰기
로그를 로그 버킷에 직접 쓰지 않습니다. 대신 Google Cloud 리소스(Google Cloud 프로젝트, 폴더 또는 조직)에 로그를 작성합니다. 그러면 상위 리소스의 싱크가 로그 버킷이 포함된 대상으로 로그를 라우팅합니다. 싱크는 로그가 싱크의 필터와 일치하고 싱크에 로그를 로그 버킷으로 라우팅할 수 있는 권한이 있으면 로그를 로그 버킷 대상으로 라우팅합니다.
버킷에서 읽기
각 로그 버킷에는 로그 뷰 집합이 있습니다. 로그 버킷에서 로그를 읽으려면 로그 버킷의 로그 뷰에 대한 액세스 권한이 필요합니다. 로그 뷰를 사용하면 로그 버킷에 저장된 로그의 하위 집합에 대해서만 사용자에게 액세스 권한을 부여할 수 있습니다. 로그 뷰를 구성하는 방법과 특정 로그 뷰에 대한 액세스 권한을 부여하는 방법에 대한 자세한 내용은 로그 버킷에서 로그 뷰 구성을 참조하세요.
로그 버킷에서 로그를 읽으려면 다음을 수행합니다.
Google Cloud 콘솔
-
Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
로그 탐색기에 표시되는 로그를 맞춤설정하려면 범위 상세검색을 클릭한 후 옵션을 선택합니다.
현재 프로젝트에서 생성되었거나 현재 프로젝트로 직접 라우팅된 모든 로그를 보려면 현재 프로젝트별 범위를 선택합니다.
현재 프로젝트의 로그 버킷에 저장된 특정 로그를 보려면 스토리지별 범위를 선택한 다음 로그 뷰를 하나 이상 선택합니다.
다른 프로젝트에 있는 로그 버킷에 저장된 특정 로그를 보려면 스토리지별 범위를 선택하고 프로젝트와 로그 뷰 선택기에서 add_circle 프로젝트 가져오기를 클릭한 다음 로그 뷰를 하나 이상 선택합니다.
적용을 클릭합니다. 쿼리 결과 창이 선택된 옵션과 일치하는 로그로 새로고침됩니다.
로그 탐색기에 표시되는 로그를 맞춤설정하는 방법에 대한 자세한 내용은 로그 탐색기 개요: 범위 상세검색을 참조하세요.
gcloud
로그 버킷에서 로그를 읽으려면 gcloud logging read
명령어를 사용하고 LOG_FILTER
를 추가하여 데이터를 선택합니다.
gcloud logging read LOG_FILTER --bucket=BUCKET_ID --location=LOCATION --view=VIEW_ID
API
로그 버킷에서 로그를 읽으려면 entries.list 메서드를 사용합니다. resourceNames
를 설정해서 적절한 버킷 및 로그 보기를 지정하고 filter
를 설정해서 데이터를 선택합니다.
필터링 구문에 대한 자세한 내용은 Logging 쿼리 언어를 참조하세요.
커스텀 보관 구성
로그 버킷을 만들 때 Cloud Logging에서 버킷 로그를 저장하는 기간을 맞춤설정할 수 있습니다.
사용자 정의 로그 버킷 및 _Default
로그 버킷에 대해 보관 기간을 구성할 수 있습니다.
버킷 보관을 줄이면 만료된 로그가 삭제되지 않는 7일 유예 기간이 적용됩니다. 이렇게 만료된 로그는 쿼리하거나 볼 수 없지만, 7일 동안 버킷 보관을 연장해서 전체 액세스를 복원할 수 있습니다. 유예 기간 동안 저장된 로그는 보관 비용에 포함됩니다.
로그 버킷의 보관 기간을 업데이트하려면 다음을 수행합니다.
Google Cloud 콘솔
로그 버킷의 보관 기간을 업데이트하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
업데이트할 버킷에 대해 more_vert 더보기를 클릭한 후 버킷 수정을 선택합니다.
보관 필드에 Cloud Logging에서 로그를 보관할 일수(1~3650일)를 입력합니다.
버킷 업데이트를 클릭합니다. 새 보관 기간이 로그 버킷 목록에 표시됩니다.
gcloud
로그 버킷의 보관 기간을 업데이트하려면 RETENTION_DAYS의 값을 설정한 후 gcloud logging buckets update
명령어를 실행합니다.
gcloud logging buckets update BUCKET_ID --location=LOCATION --retention-days=RETENTION_DAYS
예를 들어 global
위치에 있는 _Default
버킷의 로그를 1년 동안 보관하려면 다음과 같은 명령어가 사용됩니다.
gcloud logging buckets update _Default --location=global --retention-days=365
버킷의 보관 기간을 연장하면 보관 규칙이 소급 적용되지 않고 향후에만 적용됩니다. 적용 가능한 보관 기간이 종료된 후에는 로그를 복구할 수 없습니다.
비동기 API 메서드
projects.locations.buckets.createAsync
와 같은 비동기 메서드의 응답은 Operation
객체입니다.
비동기 API 메서드를 호출하는 애플리케이션은 Operation.done
필드의 값이 true
일 때까지 operation.get
엔드포인트를 폴링해야 합니다.
done
이false
이면 작업이 진행 중인 것입니다.상태 정보를 새로고침하려면
GET
요청을operation.get
엔드포인트에 보냅니다.done
이true
이면 작업이 완료되고error
또는response
필드가 설정됩니다.error
: 설정된 경우 비동기 작업이 실패합니다. 이 필드의 값은 gRPC 오류 코드 및 오류 메시지를 포함하는Status
객체입니다.response
: 설정된 경우 비동기 작업이 성공적으로 완료되고 값에 결과가 반영됩니다.
Google Cloud CLI를 사용하여 비동기 명령어를 폴링하려면 다음 명령어를 실행합니다.
gcloud logging operations describe OPERATION_ID --location=LOCATION --project=PROJECT_ID
자세한 내용은 gcloud logging operations describe
를 참조하세요.
일반적인 문제 해결
로그 버킷을 사용할 때 문제가 발생하면 다음 문제 해결 단계 및 일반적인 질문에 대한 답변을 참조하세요.
이 버킷을 삭제할 수 없는 이유는 무엇인가요?
버킷을 삭제하려는 경우 다음을 수행합니다.
버킷을 삭제할 수 있는 올바른 권한이 있는지 확인합니다. 필요한 권한 목록은 IAM으로 액세스 제어를 참조하세요.
버킷 속성을 나열하여 버킷이 잠겨 있는지 확인합니다. 버킷이 잠겨 있으면 버킷의 보관 기간을 확인합니다. 버킷의 모든 로그가 버킷의 보관 기간을 이행할 때까지는 잠긴 버킷을 삭제할 수 없습니다.
로그 버킷에 연결된 BigQuery 데이터 세트가 없는지 확인합니다. 연결된 데이터 세트가 있는 로그 버킷은 삭제할 수 없습니다.
연결된 데이터 세트가 있는 로그 버킷의
delete
명령어에 대한 응답으로 다음 오류가 표시됩니다.FAILED_PRECONDITION: This bucket is used for advanced analytics and has an active link. The link must be deleted first before deleting the bucket
로그 버킷과 연결된 링크를 나열하려면
gcloud logging links list
명령어를 실행하거나projects.locations.buckets.links.list
API 메서드를 실행합니다.
로그를 버킷으로 라우팅하는 서비스 계정은 무엇인가요?
서비스 계정에 로그를 버킷으로 라우팅할 수 있는 IAM 권한이 있는지 확인하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 IAM 및 관리자인 결과를 선택합니다.
권한 탭에서 역할을 기준으로 봅니다. Google Cloud 프로젝트와 연결된 모든 IAM 역할과 주 구성원이 있는 테이블이 표시됩니다.
테이블의 필터 텍스트 상자 filter_list에 로그 버킷 작성자를 입력합니다.
로그 버킷 작성자 역할이 있는 주 구성원이 표시됩니다. 주 구성원이 서비스 계정이면 ID에는
gserviceaccount.com
문자열이 포함됩니다.선택사항: 로그를 Google Cloud 프로젝트로 라우팅하지 못하도록 서비스 계정을 삭제하려면 서비스 계정의 체크박스 check_box_outline_blank를 선택하고 삭제를 클릭합니다.
_Default
싱크에서 제외해도 Google Cloud 프로젝트 로그가 표시되는 이유는 무엇인가요?
중앙화된 Google Cloud 프로젝트에 있는 로그 버킷의 로그가 표시되어, 조직 전체에서 로그를 집계할 수 있습니다.
로그 탐색기를 사용하여 이러한 로그에 액세스하고 _Default
싱크에서 제외된 로그를 보는 경우 보기 범위가 Google Cloud 프로젝트 수준으로 지정될 수 있습니다.
이 문제를 해결하려면 범위 상세검색 패널에서 스토리지별 범위를 선택한 후 Google Cloud 프로젝트의 _Default
버킷을 선택합니다. 제외된 로그가 더 이상 표시되지 않아야 합니다.
다음 단계
로그 버킷 API 메서드에 대한 자세한 내용은 LogBucket
참조 문서를 참조하세요.
로그 버킷의 일반적인 사용 사례 해결에 대한 자세한 내용은 다음 문서를 참조하세요.