샘플 쿼리

이 문서에서는 Google Cloud 콘솔의 로그 탐색기를 사용하여 중요한 로그를 쉽게 찾을 수 있는 추천 쿼리를 설명합니다. 나열된 쿼리는 Logging 쿼리 언어로 작성되고, 로그 탐색기, Logging API, 명령줄 인터페이스에서 사용할 수 있습니다.

로그 탐색기는 불리언 표현식을 사용하여 프로젝트 내 모든 로그 항목의 하위 집합을 지정합니다. 이러한 쿼리를 사용하여 특정 로그 또는 로그 서비스의 로그 항목을 선택하거나 메타데이터 또는 사용자 정의 필드의 조건을 충족하는 로그 항목을 선택할 수 있습니다.

시작하기 전에

로그 탐색기를 사용하여 쿼리를 빌드하는 데 필요한 올바른 Identity and Access Management 권한 또는 역할이 있는지 확인합니다. 필요한 IAM 권한에 대한 자세한 내용은 Google Cloud 콘솔 권한을 참조하세요.

시작하기

  1. Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

    로그 탐색기로 이동

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

  2. 적절한 Google Cloud 프로젝트 또는 로그를 확인하려는 다른 Google Cloud 리소스를 선택합니다.

샘플 쿼리 사용

다음 표의 쿼리를 적용하려면 표현식의 콘텐츠 복사 아이콘을 클릭한 다음 복사된 표현식을 로그 탐색기 쿼리 편집기 필드에 붙여넣습니다.

쿼리 편집기에서 쿼리 입력 위치를 보여줍니다.

쿼리 편집기 필드가 표시되지 않으면 쿼리 표시를 사용 설정합니다.

쿼리 표현식을 검토한 후 쿼리 실행을 클릭합니다. 쿼리와 일치하는 로그가 쿼리 결과에 나열됩니다.

이 페이지의 뒷부분에 나열된 쿼리 중 일부에는 올바른 값으로 바꿔야 하는 변수가 포함되어 있습니다. 예를 들어 쿼리에 logName이 포함되어 있으면 제공하는 PROJECT_ID가 현재 선택된 Google Cloud 프로젝트를 참조해야 합니다. 그렇지 않으면 쿼리가 작동하지 않습니다.

다음에 유의하세요.

  • 타임스탬프가 있는 쿼리의 경우 시간 범위 선택기가 사용 중지되고 쿼리는 시간 범위 제한으로 타임스탬프 표현식을 사용합니다. 쿼리에서 타임스탬프 표현식을 사용하지 않는 경우 쿼리는 시간 범위 선택기를 시간 범위 제한으로 사용합니다.

  • 쿼리 길이는 20,000자(영문 기준)를 초과할 수 없습니다.

  • Logging 쿼리 언어는 정규 표현식을 제외하고 대소문자를 구분하지 않습니다.

  • log_id 함수를 log_name 표현식이 있는 쿼리에 사용할 수 있습니다. 예를 들어 log_name="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access" 표현식은 log_id("cloudaudit.googleapis.com/data_access")와 동일합니다. log_id 함수에 대한 자세한 내용은 Logging 쿼리 언어: 함수를 참조하세요.

Google Cloud 콘솔의 쿼리에 대한 자세한 내용은 로그 탐색기에서 쿼리 빌드를 참조하세요.

다음 섹션에서는 Google Cloud 서비스를 기준으로 쿼리를 분류합니다.

App Engine 쿼리

쿼리/필터 이름 표현식
새해 전날의 App Engine 로그(UTC 시간)
resource.type="gae_app" AND
severity>=ERROR AND
timestamp>="2018-12-31T00:00:00Z" AND timestamp<="2019-01-01T00:00:00Z" 
서버 오류가 있는 App Engine 요청 로그
resource.type="gae_app" AND
log_id("appengine.googleapis.com/request_log") AND
httpRequest.status>=500 
샘플 HTTP 오류 로그
resource.type="gae_app" AND
protoPayload.status >= 400 AND
sample(insertId, 0.1) 
App Engine trace ID 검색
resource.type="gae_app" AND
trace="projects/PROJECT_ID/traces/TRACE_ID" 
App Engine 로그
resource.type="gae_app" AND
resource.labels.module_id="MODULE_ID" AND
resource.labels.version_id="VERSION_ID" 
최근 App Engine 배포
resource.type="gae_app" AND
protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog" AND
protoPayload.serviceName="appengine.googleapis.com" 

API 쿼리 사용 설정 및 사용 중지

쿼리/필터 이름 표현식
감사 API 사용 설정 로그
protoPayload.methodName="google.api.serviceusage.v1.ServiceUsage.EnableService"
감사 API 사용 중지 로그
protoPayload.methodName="google.api.serviceusage.v1.ServiceUsage.DisableService"

BigQuery 쿼리

쿼리/필터 이름 표현식
BigQuery 감사 로그
resource.type=("bigquery_dataset" OR "bigquery_project") AND
logName:"cloudaudit.googleapis.com" 
프로젝트의 BigQuery 감사 로그
resource.type="bigquery_project" AND
logName:"cloudaudit.googleapis.com" 
데이터 세트의 BigQuery 감사 로그
resource.type="bigquery_dataset" AND
logName:"cloudaudit.googleapis.com" 
BI Engine 모델의 BigQuery 감사 로그
resource.type="bigquery_biengine_model" AND
logName:"cloudaudit.googleapis.com" 
Data Transfer Service 실행의 BigQuery 감사 로그
resource.type="bigquery_dts_run" AND
logName:"cloudaudit.googleapis.com" 
Data Transfer Service 구성의 BigQuery 감사 로그
resource.type="bigquery_dts_config" AND
logName:"cloudaudit.googleapis.com" 
BigQuery Data Transfer Service 작업
resource.type=("bigquery_project") AND
protoPayload.requestMetadata.callerSuppliedUserAgent=
"BigQuery Data Transfer Service" AND
protoPayload.methodName=("google.cloud.bigquery.v2.JobService.InsertJob" OR
"google.cloud.bigquery.v2.JobService.Query") 
BigQuery 전송 실행 로그
resource.type="bigquery_dts_config" AND
labels.run_id="RUN_ID" AND
resource.labels.config_id="CONFIG_ID" 
BigQuery 데이터 세트 업데이트
resource.type="bigquery_dataset" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName=
"google.cloud.bigquery.v2.DatasetService.UpdateDataset" 
BigQuery 작업 완료됨
resource.type="bigquery_project" AND
log_id("cloudaudit.googleapis.com/data_access") AND
protoPayload.methodName=("google.cloud.bigquery.v2.JobService.InsertJob"
OR "google.cloud.bigquery.v2.JobService.Query") 
BigQuery 대규모 쿼리
resource.type="bigquery_project" AND
protoPayload.metadata.jobChange.job.jobStats.queryStats.totalBilledBytes
> 1073741824 
BigQuery 할당량 초과됨
resource.type=("bigquery_dataset" OR "bigquery_project")
AND
protoPayload.status.code=8 AND
severity>=WARNING 
BigQuery 쿼리 시작됨
resource.type="bigquery_project" AND
protoPayload.metadata.jobInsertion.reason:*
BigQuery 동시 로드/추출 작업
resource.type="bigquery_resource" AND
protoPayload.methodName="jobservice.insert" AND
protoPayload.serviceData.jobInsertRequest.resource.jobConfiguration.query.query:
"extract"

Dataflow 쿼리

쿼리/필터 이름 표현식
Dataflow 작업자의 오류 및 경고
resource.type="dataflow_step" AND
log_id("dataflow.googleapis.com/worker") AND
severity>=WARNING 

Dataproc 쿼리

쿼리/필터 이름 표현식
Dataproc Apache Hadoop 로그
resource.type="cloud_dataproc_cluster" AND
jsonPayload.class:"org.apache.hadoop.mapreduce" 

Cloud Deployment Manager

쿼리/필터 이름 표현식
Deployment Manager 오류
resource.type="deployment" AND
severity>=ERROR 

Cloud Run 함수 쿼리

쿼리/필터 이름 표현식
Cloud 함수 오류
resource.type="cloud_function" AND
log_id("cloudfunctions.googleapis.com/cloud-functions") AND
severity>=ERROR 

Cloud Monitoring 쿼리

쿼리/필터 이름 표현식
모든 알림 채널
오류 표시
resource.type="stackdriver_notification_channel" AND
severity>=ERROR 
제한으로 인한
알림 채널 오류 표시
resource.type="stackdriver_notification_channel" AND
severity>=ERROR AND
jsonPayload.summary="Notification delivery throttled."
업타임 리소스에서
작성한 로그 표시
resource.type="uptime_url"
업타임 체크 서비스에서
수신한 요청 표시
"GoogleStackdriverMonitoring-UptimeChecks"

Cloud Run 쿼리

쿼리/필터 이름 표현식
특정 작업의 Cloud Run 로그
resource.type="cloud_run_job" AND
resource.labels.service_name="JOB_NAME"
특정 버전 및 서비스의 Cloud Run 로그
resource.type="cloud_run_revision" AND
resource.labels.service_name="SERVICE_NAME"

Cloud Source Repositories 쿼리

쿼리/필터 이름 표현식
Cloud Source Repository 로그
resource.type="csr_repository" AND
resource.labels.name="REPOSITORY_NAME"

Spanner 쿼리

쿼리/필터 이름 표현식
특정 Spanner 인스턴스의 Cloud Spanner 로그
resource.type="spanner_instance" AND
resource.labels.instance_id="SPANNER_INSTANCE"

Cloud SQL 쿼리

쿼리/필터 이름 표현식
Cloud SQL 감사 로그
resource.type="cloudsql_database" AND
resource.labels.database_id="DATABASE_ID" AND
log_id("cloudaudit.googleapis.com/activity")
Cloud SQL MySQL 오류 로그
resource.type="cloudsql_database" AND
log_id("cloudsql.googleapis.com/mysql.err")
Cloud SQL MySQL 기반 데이터베이스
resource.type="cloudsql_database" AND
resource.labels.database_id="DATABASE_ID" AND
log_id("cloudsql.googleapis.com/mysql")
Cloud SQL Postgres 기반 데이터베이스
resource.type="cloudsql_database" AND
resource.labels.database_id="DATABASE_ID" AND
log_id("cloudsql.googleapis.com/postgres.log")
Cloud SQL SQL Server 오류 로그
resource.type="cloudsql_database" AND
log_id("cloudsql.googleapis.com/sqlserver.err")
Cloud SQL SQL 서버 기반 데이터베이스
resource.type="cloudsql_database" AND
resource.labels.database_id="DATABASE_ID" AND
log_id("cloudsql.googleapis.com/sqlagent.out")

Cloud Storage 쿼리

쿼리/필터 이름 표현식
GCS 버킷 로그
resource.type="gcs_bucket" AND
resource.labels.bucket_name="BUCKET_NAME"
GCS 버킷 감사 로그
resource.type="gcs_bucket" AND
logName:"cloudaudit.googleapis.com" 
GCS 버킷 생성 로그
resource.type="gcs_bucket" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.method_name="storage.buckets.create" 
GCS 버킷 삭제 로그
resource.type="gcs_bucket" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.method_name="storage.buckets.delete" 

Cloud Tasks 쿼리

쿼리/필터 이름 표현식
Cloud Tasks 큐 로그
resource.type="cloud_tasks_queue" AND
resource.labels.queue_id="QUEUE_ID"

Compute Engine 쿼리

쿼리/필터 이름 표현식
Compute Engine 관리자 활동 로그
resource.type="gce_instance" AND
log_id("cloudaudit.googleapis.com/activity")
Compute Engine 방화벽 규칙 삭제
resource.type="gce_firewall_rule" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName:"firewalls.delete" 
Compute Engine VM syslog
resource.type="gce_instance" AND
log_id("syslog") 
Compute Engine VM authlog
resource.type="gce_instance" AND
log_id("authlog") 
Compute Engine 호스트 오류
resource.type="gce_instance"
protoPayload.serviceName="compute.googleapis.com"
(protoPayload.methodName:"OnHostMaintenance"
OR
operation.producer:"OnHostMaintenance")
log_id("cloudaudit.googleapis.com/system_event")
resource.labels.instance_id="INSTANCE_ID"
severity=INFO 
마이그레이션된 Compute Engine 호스트
resource.type="gce_instance"
protoPayload.serviceName="compute.googleapis.com"
(protoPayload.methodName:
"compute.instances.migrateOnHostMaintenance" OR
operation.producer:
"compute.instances.migrateOnHostMaintenance")
log_id("cloudaudit.googleapis.com/system_event")
resource.labels.instance_id="INSTANCE_ID"
severity=INFO 
Compute Engine VM 종료/선점됨
resource.type="gce_instance"
protoPayload.methodName=
~"compute\.instances\.(guestTerminate|preempted)"
log_id("cloudaudit.googleapis.com/system_event")
resource.labels.instance_id="INSTANCE_ID" 
Compute Engine VM 인스턴스 생성됨
resource.type="gce_instance"
protoPayload.methodName:"compute.instances.insert"
log_id("cloudaudit.googleapis.com/activity")
protoPayload.request.name="INSTANCE_NAME" 
이름으로 삭제된 Compute Engine VM 인스턴스
resource.type="gce_instance"
protoPayload.methodName:"compute.instances.delete"
log_id("cloudaudit.googleapis.com/activity")
protoPayload.resourceName:"INSTANCE_NAME" 
ID로 삭제된 Compute Engine VM 인스턴스
resource.type="gce_instance"
protoPayload.methodName:"compute.instances.delete"
log_id("cloudaudit.googleapis.com/activity")
resource.labels.instance_id="INSTANCE_ID" 
Compute Engine VM 인스턴스 다시 시작됨
resource.type="gce_instance"
protoPayload.methodName=~"compute\.instances\.(
stop|reset|automaticRestart|guestTerminate|
instanceManagerHaltForRestart)"
(log_id("cloudaudit.googleapis.com/activity")
OR log_id("cloudaudit.googleapis.com/system_event"))
resource.labels.instance_id="INSTANCE_ID" 
Compute Engine 보안 VM 부팅 무결성 실패
resource.type="gce_instance"
log_id("compute.googleapis.com/shielded_vm_integrity")
jsonPayload.earlyBootReportEvent.policyEvaluationPassed="false"
resource.labels.instance_id="INSTANCE_ID" 
게스트 OS에서 중지한 Compute Engine VM 인스턴스
resource.type="gce_instance"
protoPayload.serviceName="compute.googleapis.com"
(protoPayload.methodName:"compute.instances.guestTerminate" OR
operation.producer:"compute.instances.guestTerminate")
log_id("cloudaudit.googleapis.com/system_event")
resource.labels.instance_id="INSTANCE_ID"
severity=INFO 
Compute Engine 보안 VM 부팅 파일이 차단됨
resource.type="gce_instance"
log_id("serialconsole.googleapis.com/serial_port_1_output")
textPayload:("Security Violation")
resource.labels.instance_id="INSTANCE_ID" 
영구 디스크 생성
resource.type="gce_disk" AND
protoPayload.methodName:"compute.disks.insert" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.resourceName: "PERSISTENT_DISK_NAME"
단독 테넌트 노드에 추가된 노드
resource.type="gce_node_group"
log_id("cloudaudit.googleapis.com/activity")
protoPayload.methodName=~("compute.nodeGroups.addNodes"
OR "compute.nodeGroups.insert")
resource.labels.node_group_id="NODE_GROUP_ID"
severity="INFO"
단독 테넌트 노드의 이벤트 자동 확장
resource.type="gce_node_group"
log_id("cloudaudit.googleapis.com/system_event")
protoPayload.methodName=~("compute.nodeGroups.deleteNodes"
OR "compute.nodeGroups.addNodes")
resource.labels.node_group_id="NODE_GROUP_ID"
수동 스냅샷 생성
resource.type="gce_snapshot"
log_id("cloudaudit.googleapis.com/activity")
protoPayload.methodName:"compute.snapshots.insert"
protoPayload.resourceName:"SNAPSHOT_NAME"
예약된 스냅샷 생성
resource.type="gce_disk"
log_id("cloudaudit.googleapis.com/system_event")
protoPayload.methodName="ScheduledSnapshots"
protoPayload.response.operationType="createSnapshot"
protoPayload.response.targetLink="PERSISTENT_DISK_NAME"
스냅샷 일정 생성
resource.type="gce_resource_policy"
log_id("cloudaudit.googleapis.com/activity")
protoPayload.methodName:"compute.resourcePolicies.insert"
protoPayload.request.name="SCHEDULE_NAME"
스냅샷 일정 첨부
resource.type="gce_disk"
log_id("cloudaudit.googleapis.com/activity")
protoPayload.methodName:"compute.disks.addResourcePolicies"
protoPayload.request.resourcePolicys:"SCHEDULE_NAME"
protoPayload.resourceName:"PERSISTENT_DISK_NAME"
할당량 초과
resource.type="gce_instance"
protoPayload.methodName:"compute.instances.insert"
protoPayload.status.message:"QUOTA_EXCEEDED"
severity=ERROR
인스턴스 그룹의 비정상 인스턴스 쿼리
resource.type="gce_instance_group"
resource.labels.instance_group_name="INSTANCE_GROUP_NAME"
jsonPayload.healthCheckProbeResult.healthState="UNHEALTHY"
UTC 시간 형식의 기간 내에 인스턴스 그룹 구성원 쿼리
resource.type="gce_instance_group_manager"
resource.labels.instance_group_manager_name="INSTANCE_GROUP_NAME"
jsonPayload.@type=
"type.googleapis.com/compute.InstanceGroupManagerEvent"
jsonPayload.instanceHealthStateChange.detailedHealthState="HEALTHY"
timestamp >= START_TIME timestamp <= END_TIME 
인스턴스 그룹에서 삭제된 인스턴스
resource.type="gce_instance_group"
protoPayload.methodName:"compute.instanceGroups.removeInstances"
log_id("cloudaudit.googleapis.com/activity")
resource.labels.instance_group_name="INSTANCE_GROUP_NAME"
인스턴스 템플릿 설정 또는 업데이트
resource.type="gce_instance_group_manager"
log_id("cloudaudit.googleapis.com/activity")
protoPayload.methodName=
"v1.compute.instanceGroupManagers.setInstanceTemplate"
resource.labels.instance_group_manager_name="INSTANCE_GROUP_MANAGER"
방화벽 규칙 삭제됨
resource.type="gce_firewall_rule"
log_id("cloudaudit.googleapis.com/activity")
protoPayload.methodName:"firewalls.delete"
방화벽 로그
resource.type="gce_subnetwork"
log_id("compute.googleapis.com/firewall")
jsonPayload.instance.vm_name="INSTANCE_NAME"

Google Cloud Observability 쿼리

쿼리/필터 이름 표현식
로그 싱크 활동
resource.type="logging_sink" AND
log_id("cloudaudit.googleapis.com/activity")
로그 기반 측정항목 생성 또는 업데이트 활동
resource.type="metric" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName:(UpdateLogMetric OR CreateLogMetric)
호스트의 업타임 URL 확인
resource.type="uptime_url" AND
resource.labels.host="URL"

Identity and Access Management 쿼리

쿼리/필터 이름 표현식
서비스 계정 생성 로그
resource.type="service_account" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName="google.iam.admin.v1.CreateServiceAccount" 
서비스 계정 생성 키 로그
resource.type="service_account" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName="google.iam.admin.v1.CreateServiceAccountKey" 
액세스 제어 정책 설정 로그
resource.type="project" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName="SetIamPolicy" 
외부 주 구성원이 조직에 대한 액세스 권한을 부여함
resource.type="project" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.@type="type.googleapis.com/google.cloud.audit.AuditLog" AND
protoPayload.request.@type:"IamPolicy" AND
protoPayload.serviceData.policyDelta.bindingDeltas.member:* AND
NOT protoPayload.serviceData.policyDelta.bindingDeltas.member:"@DOMAIN_NAME.com" 
리소스 생성, 수정 또는 삭제
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName:("create" OR "delete" OR "update")
주 구성원에 부여된 역할
log_id("cloudaudit.googleapis.com/activity") AND
resource.type="project" AND
protoPayload.serviceName="cloudresourcemanager.googleapis.com" AND
protoPayload.methodName="SetIamPolicy" AND
protoPayload.serviceData.policyDelta.bindingDeltas.action="Add" AND
protoPayload.serviceData.policyDelta.bindingDeltas.member:"EMAIL_ID" 
주 구성원에서 삭제된 역할
log_id("cloudaudit.googleapis.com/activity") AND
resource.type="project" AND
protoPayload.serviceName="cloudresourcemanager.googleapis.com" AND
protoPayload.methodName="SetIamPolicy" AND
protoPayload.serviceData.policyDelta.bindingDeltas.action="Remove" AND
protoPayload.serviceData.policyDelta.bindingDeltas.member:"EMAIL_ID" 
커스텀 역할에서 업데이트된 권한
log_id("cloudaudit.googleapis.com/activity") AND
resource.type="iam_role" AND
protoPayload.serviceName="iam.googleapis.com" AND
protoPayload.methodName:"UpdateRole" AND
resource.labels.role_name:"ROLE_ID" 

Kubernetes 관련 쿼리

관리자 활동 감사 로그 쿼리의 개요 및 예시는 GKE 감사 로깅 페이지에서 제공되는 항목을 참조하세요.

클러스터 수준 쿼리

쿼리/필터 이름 표현식
Google Kubernetes Engine 클러스터 작업
resource.type="gke_cluster" AND
log_id("cloudaudit.googleapis.com/activity")
Google Kubernetes Engine 클러스터 만들기
resource.type="gke_cluster" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName="google.container.v1.ClusterManager.CreateCluster"
      
Kubernetes 클러스터 배포
resource.type="k8s_cluster" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName:"deployments"
      
Kubernetes 클러스터 인증 실패
resource.type="k8s_cluster" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.authenticationInfo.principalEmail="system:anonymous"
      
us-central1-b의 Kubernetes 클러스터 작업과 이벤트
resource.type="k8s_cluster" AND
resource.labels.location="us-central1-b"
      
사용자의 Kubernetes 포드 요청
resource.type="k8s_cluster" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName:"io.k8s.core.v1.pods" AND
protoPayload.authenticationInfo.principalEmail="USER_EMAIL"
      
Kubernetes 이벤트
resource.type="k8s_cluster" AND
log_id("events")
      
Kubernetes 엔드포인트 업데이트
resource.type="k8s_cluster" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.request.kind="Endpoints"
      
Kubernetes 컨트롤 플레인 로그
resource.type="k8s_cluster" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.serviceName="k8s.io"
      
Kubernetes Engine 컨트롤 플레인 로그
resource.type="k8s_cluster" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.serviceName="container.googleapis.com"
      
포드 삭제
resource.type="k8s_cluster" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName=~"io\.k8s\.core\.v1\.pods\.(create|delete)"
      
컨트롤 플레인의 Kubernetes 포드 감사 로그
resource.type="k8s_cluster" AND
resource.labels.location="CLUSTER_LOCATION" AND
resource.labels.cluster_name="CLUSTER_NAME" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.resourceName="core/v1/namespaces/POD_NAMESPACE/pods/POD_NAME
      
Kubernetes 포드 제거
resource.type="k8s_cluster" AND
resource.labels.location="CLUSTER_LOCATION" AND
resource.labels.cluster_name="CLUSTER_NAME" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName="io.k8s.core.v1.pods.eviction.create"
      
컨트롤 플레인의 Kubernetes 노드 감사 로그
resource.type="k8s_cluster" AND
resource.labels.location="CLUSTER_LOCATION" AND
resource.labels.cluster_name="CLUSTER_NAME" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName:"io.k8s.core.v1.nodes"
      
부가기능 관리자 활동의 Kubernetes 클러스터 컨트롤 플레인
resource.type="k8s_cluster" AND
resource.labels.location="CLUSTER_LOCATION" AND
resource.labels.cluster_name="CLUSTER_NAME" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.authenticationInfo.principalEmail="system:addon-manager"
      
Kubernetes 컨트롤 플레인 오류(정상적인 Conflict 제외)
resource.type="k8s_cluster" AND
resource.labels.location="CLUSTER_LOCATION" AND
resource.labels.cluster_name="CLUSTER_NAME" AND
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.status.message!="Conflict" AND
protoPayload.status.code!=0
      
인그레스 컨트롤러 이벤트
resource.type="k8s_cluster" AND
resource.labels.location="CLUSTER_LOCATION" AND
resource.labels.cluster_name="CLUSTER_NAME" AND
log_id("events") AND
jsonPayload.source.component="loadbalancer-controller"
      
서비스 컨트롤러 이벤트(kube-controller-manager)
resource.type="k8s_cluster" AND
resource.labels.location="CLUSTER_LOCATION" AND
resource.labels.cluster_name="CLUSTER_NAME" AND
log_id("events") AND
jsonPayload.source.component="service-controller"
      
클러스터 자동 확장 처리 이벤트
resource.type="k8s_cluster" AND
resource.labels.location="CLUSTER_LOCATION" AND
resource.labels.cluster_name="CLUSTER_NAME" AND
log_id("events") AND
jsonPayload.source.component="cluster-autoscaler"
      

포드 수준 쿼리

필터 이름 표현식
생성 중 쿼리 포드
resource.type="k8s_pod" AND
resource.labels.pod_name="POD_NAME" AND
log_id("events")
      
리소스 압력으로 인해 종료된 쿼리 포드
resource.type="k8s_pod" AND
        log_id("events") AND
        jsonPayload.reason="Evicted"
      
스케줄러 이벤트
resource.type="k8s_pod" AND
resource.labels.location="CLUSTER_LOCATION" AND
resource.labels.cluster_name="CLUSTER_NAME" AND
log_id("events") AND
jsonPayload.source.component="default-scheduler"
      
스케줄러 이벤트(선점)
resource.type="k8s_pod" AND
resource.labels.location="CLUSTER_LOCATION" AND
resource.labels.cluster_name="CLUSTER_NAME" AND
log_id("events") AND
jsonPayload.source.component="default-scheduler" AND
jsonPayload.reason="Preempted"
      

노드 수준 쿼리

필터 이름 표현식
노드 이벤트
resource.type="k8s_node" AND
log_id("events")
      
Kube-proxy 로그 보기
resource.type="k8s_node" AND
log_id("kube-proxy")
      
dockerd 로그 보기
resource.type="k8s_node" AND
log_id("container-runtime")
      
kubelet 오류 또는 실패 보기
resource.type="k8s_node" AND
log_id("kubelet") AND
jsonPayload.MESSAGE:("error" OR "fail")
      
GKE 시스템 로그의 노드 로그 보기
resource.type = "k8s_node"
logName:( "logs/container-runtime" OR
"logs/docker" OR
"logs/kube-container-runtime-monitor" OR
"logs/kube-logrotate" OR
"logs/kube-node-configuration" OR
"logs/kube-node-installation" OR
"logs/kubelet" OR
"logs/kubelet-monitor" OR
"logs/node-journal" OR
"logs/node-problem-detector")
      

네임스페이스 쿼리

필터 이름 표현식
GKE 시스템 로그의 컨테이너 및 포드 로그
resource.type = ("k8s_container" OR "k8s_pod")
resource.labels.namespace_name = (
"cnrm-system" OR
"config-management-system" OR
"gatekeeper-system" OR
"gke-connect" OR
"gke-system" OR
"istio-system" OR
"knative-serving" OR
"monitoring-system" OR
"kube-system")
      

컨테이너 쿼리

필터 이름 표현식
클러스터에 있는 모든 포드와 컨테이너의 Stdout 컨테이너 로그
resource.type="k8s_container" AND
log_id("stdout")
      
클러스터에 있는 모든 포드 및 컨테이너의 컨테이너 오류 로그
resource.type="k8s_container" AND
log_id("stderr") AND
severity=ERROR
      
특정 이름을 가진 포드의 컨테이너 오류 로그
resource.type="k8s_container" AND
resource.labels.pod_name="POD_NAME" AND
severity=ERROR
      
특정 포드에 있는 특정 컨테이너의 컨테이너 오류 로그
resource.type="k8s_container" AND
resource.labels.pod_name="POD_NAME" AND
resource.labels.container_name="server" AND
severity=ERROR
      
특정 네임스페이스 및 컨테이너의 컨테이너 오류 로그
resource.type="k8s_container" AND
resource.labels.namespace_name="istio-system" AND
resource.labels.container_name="egressgateway" AND
severity=ERROR
      
특정 라벨이 있는 포드의 컨테이너 로그
resource.type="k8s_container" AND
labels."k8s-pod/app"="loadgenerator" AND
severity=ERROR
      
특정 노드에서 실행되는 포드의 컨테이너 오류 로그
resource.type="k8s_container" AND
labels."compute.googleapis.com/resource_name"=NODE_NAME AND
severity=ERROR
      
skaffold를 사용하여 생성된 라벨이 있는 포드의 컨테이너 로그
resource.type="k8s_container" AND
labels."k8s-pod/app"="loadgenerator" AND
labels."k8s-pod/skaffold_dev/run-id"=SKAFFOLD_RUN_ID
severity=ERROR
      
textPayload에 POST가 포함된 특정 포드의 컨테이너 오류 로그
resource.type="k8s_container" AND
resource.labels.pod_name="POD_NAME" AND
textPayload:"POST" AND
severity=ERROR
      
구조화된 JSON에 GET이 포함된 특정 포드의 컨테이너 오류 로그
resource.type="k8s_container" AND
resource.labels.pod_name="POD_NAME" AND
jsonPayload."http.req.method"="GET" AND
severity=ERROR
      
kube-system 네임스페이스의 컨테이너 오류 로그
resource.type="k8s_container" AND
resource.labels.namespace_name="kube-system" AND
severity=ERROR
      
컨테이너 통계 로그의 컨테이너 오류
resource.type="k8s_container" AND
log_id("clouderrorreporting.googleapis.com/insights")
      
Kubernetes 컨테이너 로그
resource.type="k8s_container" AND
resource.labels.container_name="CONTAINER_NAME"
      

컨트롤 플레인 쿼리

참고: GKE 컨트롤 플레인 로그를 사용 설정해야 합니다.
필터 이름 표현식
Kubernetes API 서버 로그
resource.type="k8s_control_plane_component"
resource.labels.component_name="apiserver"
resource.labels.location="CLUSTER_LOCATION"
resource.labels.cluster_name="CLUSTER_NAME"
      
Kubernetes 스케줄러 로그
resource.type="k8s_control_plane_component"
resource.labels.component_name="scheduler"
resource.labels.location="CLUSTER_LOCATION"
resource.labels.cluster_name="CLUSTER_NAME"
      
Kubernetes 컨트롤러 관리자 로그
resource.type="k8s_control_plane_component"
resource.labels.component_name="controller-manager"
resource.labels.location="CLUSTER_LOCATION"
resource.labels.cluster_name="CLUSTER_NAME"
      

TPU 워크로드 쿼리

참고: GKE 시스템 및 워크로드 로깅을 사용 설정해야 합니다.
필터 이름 표현식
동일한 프리픽스를 사용하는 모든 TPU 노드의 Stdout 컨테이너 로그
resource.type="k8s_container" AND
labels."compute.googleapis.com/resource_name"=~"TPU_NODE_PREFIX.*" AND
log_id("stdout")
      
프리픽스가 동일한 모든 TPU 노드의 컨테이너 오류 로그
resource.type="k8s_container" AND
labels."compute.googleapis.com/resource_name"=~"TPU_NODE_PREFIX.*" AND
log_id("stderr") AND
severity=ERROR
      
동일한 GKE 작업의 Stdout 컨테이너 로그
resource.type="k8s_container" AND
labels."k8s-pod/batch.kubernetes.io/job-name" = "JOB_NAME" AND
log_id("stdout")
      
동일한 GKE 작업의 컨테이너 오류 로그
resource.type="k8s_container" AND
labels."k8s-pod/batch.kubernetes.io/job-name"="JOB_NAME" AND
log_id("stderr") AND
severity=ERROR
      
동일한 GKE JobSet의 Stdout 컨테이너 로그
resource.type="k8s_container" AND
labels."k8s-pod/jobset_sigs_k8s_io/jobset-name"="JOBSET_NAME" AND
log_id("stdout")
      
동일한 GKE JobSet의 컨테이너 오류 로그
resource.type="k8s_container" AND
labels."k8s-pod/jobset_sigs_k8s_io/jobset-name"="JOBSET_NAME" AND
log_id("stderr") AND
severity=ERROR
      

Logging 에이전트 애플리케이션 쿼리

쿼리/필터 이름 표현식
Apache 로그
resource.type="gce_instance" AND
(logName:"/apache-access" OR logName:"/apache-error")
Cassandra 로그
resource.type="gce_instance" AND
log_id("cassandra")
Chef 로그
resource.type="gce_instance" AND
logName:"projects/PROJECT_ID/logs/chef-"
Gitlab 로그
resource.type="gce_instance"
logName:"projects/PROJECT_ID/logs/gitlab-" 
Jenkins 로그
resource.type="gce_instance" AND
log_id("jenkins")
Jetty 로그
resource.type="gce_instance" AND
logName:"projects/PROJECT_ID/logs/jetty-"
Joomla 로그
resource.type="gce_instance" AND
log_id("joomla")
Linux syslog
resource.type="gce_instance" AND
log_id("syslog")
Magneto 로그
resource.type="gce_instance" AND
logName:"projects/PROJECT_ID/logs/magneto-"
Mediawiki 로그
resource.type="gce_instance" AND
log_id("mediawiki")
memcached 로그
resource.type="gce_instance" AND
log_id("memcached")
MongoDB 로그
resource.type="gce_instance" AND
log_id("mongodb")
MySQL 로그
resource.type="gce_instance" AND
log_id("mysql")
Nginx 로그
resource.type="gce_instance" AND
logName:"projects/PROJECT_ID/logs/nginx-"
Postgresql 로그
resource.type="gce_instance" AND
log_id("postgresql")
Puppet 로그
resource.type="gce_instance" AND
logName:"projects/PROJECT_ID/logs/puppet-"
RabbitMQ 로그
resource.type="gce_instance" AND
logName:"projects/PROJECT_ID/logs/rabbitmq-"
Redmine 로그
resource.type="gce_instance" AND
log_id("redmine")
Salt 로그
resource.type="gce_instance" AND
logName:"projects/PROJECT_ID/logs/salt-"
MySQL 느린 쿼리
resource.type="gce_instance" AND
log_id("mysql-slow")
Solr 로그
resource.type="gce_instance" AND
log_id("solr")
SugarCRM 로그
resource.type="gce_instance" AND
log_id("sugarcrm")
Tomcat 로그
resource.type="gce_instance" AND
log_id("tomcat")
Zookeeper 로그
resource.type="gce_instance" AND
log_id("zookeeper")

네트워킹 쿼리

쿼리/필터 이름 표현식
방화벽 - 모든 로그
resource.type="gce_subnetwork" AND
log_id("compute.googleapis.com/firewall")
특정 국가의 방화벽 로그
resource.type="gce_subnetwork" AND
log_id("compute.googleapis.com/firewall") AND
jsonPayload.remote_location.country=COUNTRY_ISO_ALPHA_3
VM의 방화벽 로그
resource.type="gce_subnetwork" AND
log_id("compute.googleapis.com/firewall") AND
jsonPayload.instance.vm_name="INSTANCE_NAME"
방화벽 서브넷 로그
resource.type="gce_subnetwork" AND
log_id("compute.googleapis.com/firewall") AND
resource.labels.subnetwork_name="SUBNET_NAME"
서브넷의 Compute Engine 서브네트워크 트래픽 로그
resource.type="gce_subnetwork" AND
ip_in_net(jsonPayload.connection.dest_ip, "SUBNET_IP")
VPC 흐름 로그
resource.type="gce_subnetwork" AND
log_id("compute.googleapis.com/vpc_flows")
특정 포트 및 프로토콜의 VPC 흐름 로그
resource.type="gce_subnetwork" AND
log_id("compute.googleapis.com/vpc_flows") AND
jsonPayload.connection.src_port="PORT_ID" AND
jsonPayload.connection.protocol="PROTOCOL"
특정 서브넷 VPC 흐름 로그
resource.type="gce_subnetwork" AND
log_id("compute.googleapis.com/vpc_flows") AND
resource.labels.subnetwork_name"=SUBNET_NAME"
특정 서브넷 프리픽스의 VPC 흐름 로그
resource.type="gce_subnetwork" AND
log_id("compute.googleapis.com/vpc_flows") AND
ip_in_net(jsonPayload.connection.dest_ip,SUBNET_IP)
특정 VM의 VPC 흐름 로그
resource.type="gce_subnetwork" AND
log_id("compute.googleapis.com/vpc_flows") AND
jsonPayload.src_instance.vm_name="VM_NAME"
VPN 게이트웨이 로그
resource.type="vpn_gateway" AND
resource.labels.gateway_id="GATEWAY_ID"
HTTP 부하 분산기 5xx 오류
resource.type="http_load_balancer" AND
httpRequest.status>=500
HTTP 부하 분산기의 PHPMyAdmin 요청
resource.type="http_load_balancer" AND
httpRequest.request_url:"phpmyadmin"

보안 쿼리

쿼리/필터 이름 표현식
감사 로그 - 모두
logName:"cloudaudit.googleapis.com"
감사 로그 - 액세스 투명성(AXT)
log_id("cloudaudit.googleapis.com/access_transparency")
감사 로그 - 관리자 활동
log_id("cloudaudit.googleapis.com/activity")
감사 로그 - 데이터 액세스
log_id("cloudaudit.googleapis.com/data_access")
감사 로그 - 시스템 이벤트
log_id("cloudaudit.googleapis.com/system_event")

문제 해결

로그 탐색기 사용 시 발생할 수 있는 일반적인 문제해결 안내에 대한 자세한 내용은 로그 탐색기 사용: 문제해결을 참조하세요.

다음 단계

이러한 쿼리를 맞춤설정하는 데 사용할 수 있는 쿼리 문법에 대한 자세한 내용은 Logging 쿼리 언어를 참조하세요.

Google Cloud 콘솔의 쿼리에 대한 자세한 내용은 Logging 쿼리 언어를 사용하여 쿼리 빌드를 참조하세요.