이 문서에서는 Google Cloud 콘솔의 로그 탐색기를 사용하여 중요한 로그를 쉽게 찾을 수 있는 추천 쿼리를 설명합니다.
나열된 쿼리는 Logging 쿼리 언어 로 작성되고, 로그 탐색기 , Logging API , 명령줄 인터페이스 에서 사용할 수 있습니다.
로그 탐색기는 불리언 표현식을 사용하여 프로젝트 내 모든 로그 항목의 하위 집합을 지정합니다. 이러한 쿼리를 사용하여 특정 로그 또는 로그 서비스의 로그 항목을 선택하거나 메타데이터 또는 사용자 정의 필드의 조건을 충족하는 로그 항목을 선택할 수 있습니다.
시작하기 전에
로그 탐색기를 사용하여 쿼리를 빌드하는 데 필요한 올바른 Identity and Access Management 권한 또는 역할이 있는지 확인합니다. 필요한 IAM 권한에 대한 자세한 내용은 Google Cloud 콘솔 권한 을 참조하세요.
시작하기
Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.
로그 탐색기 로 이동
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging 인 결과를 선택합니다.
적절한 Google Cloud 프로젝트 또는 로그를 확인하려는 다른 Google Cloud 리소스를 선택합니다.
샘플 쿼리 사용
다음 테이블의 쿼리를 적용하려면 표현식의 content_copy 콘텐츠 복사 아이콘을 클릭한 후 복사된 표현식을 로그 탐색기 쿼리 편집기 필드에 붙여넣습니다.
다음 스크린샷에서는 쿼리 창을 보여줍니다.
쿼리 편집기 필드가 표시되지 않으면 쿼리 표시 를 사용 설정합니다.
쿼리 표현식을 검토한 후 쿼리 실행 을 클릭합니다. 쿼리와 일치하는 로그가 쿼리 결과 에 나열됩니다.
이 페이지의 뒷부분에 나열된 쿼리 중 일부에는 올바른 값으로 바꿔야 하는 변수가 포함되어 있습니다. 예를 들어 쿼리에 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 : "compute.instances.hostError"
OR
operation . producer : "compute.instances.hostError" )
log_id ( "cloudaudit.googleapis.com/system_event" )
resource . labels . instance_id = "INSTANCE_ID "
severity = INFO
Compute Engine 호스트 메모리 알림
resource . type = "gce_instance" AND
protoPayload . serviceName = "compute.googleapis.com" AND
( jsonPayload . methodName : "compute.instances.host_event_notify"
OR
operation . producer : "compute.instances.host_event_notify" ) AND
log_id ( "cloudaudit.googleapis.com/host_event_notify" ) AND
resource . labels . instance_id = "INSTANCE_ID " AND
severity = CRITICAL
마이그레이션된 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 . serviceName = "compute.googleapis.com"
( protoPayload . methodName = "compute.instances.scratchDiskCreationFailed"
OR
operation . producer :
"compute.instances.scratchDiskCreationFailed)
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.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 쿼리 언어를 사용하여 쿼리 빌드 를 참조하세요.