GCP Cloud Run¶
GCP Cloud Run 서비스 요청 트래픽, 지연 분해, 컨테이너 CPU/메모리 자원, 인스턴스 스케일링 및 프로브 시작 등의 지표를 수집합니다
구성¶
Func 설치¶
권장: Guance 통합 - 확장 - 호스티드 Func를 활성화하세요. 모든 사전 조건이 자동으로 설치되며, 이어서 스크립트 설치를 진행하면 됩니다
직접 Func를 배포하는 경우 Func 직접 배포를 참고하세요
설치 스크립트¶
-
Func 콘솔에 로그인한 뒤【스크립트 마켓】을 클릭하여 Guance 스크립트 마켓으로 들어가
integration_gcp_run을 검색합니다 -
【설치】를 클릭한 뒤, 계정 파일명, Target Principal, 계정명을 입력합니다
-
【배포 시작 스크립트】를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 대응하는 시작 스크립트를 자동 설정합니다 -
활성화한 뒤에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 확인할 수 있습니다. 【실행】을 클릭하면 정기 실행을 기다리지 않고 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다
검증¶
- 「관리 / 자동 트리거 설정」에서 해당 작업의 자동 트리거 설정이 존재하는지 확인하고, 동시에 작업 기록 및 로그를 확인해 이상이 없는지 검사합니다
- Guance의 「지표」에서
gcp_run지표 세트 및 해당 모니터링 데이터가 있는지 확인합니다 - Guance의 「지표」에서 해당 모니터링 데이터가 있는지 확인합니다
지표¶
Cloud Run의 지표는 gcp_run 지표 세트로 통합되어 보고됩니다. 원본 지표는 Cloud Monitoring run.googleapis.com/ 네임스페이스 아래의 지표 유형이며, 분포형 지표는 수집기가 통계값에 따라 _avg, _p95, _p99, _samplecount, _sumsqdev 여러 필드로 분해합니다.
공통 태그:
| 태그 | 설명 |
|---|---|
| account_name | 통합 계정명, 고유 식별자 |
| cloud_provider | 클라우드 공급자, 고정값 gcp |
| project_id | GCP 프로젝트 ID |
| project_name | GCP 프로젝트명 |
| location | 서비스가 위치한 리전 |
| service_name | Cloud Run 서비스명 |
| revision_name | 리비전명 |
| configuration_name | 설정명 |
| container_name | 컨테이너명(컨테이너 수준 지표) |
| monitor_resource_type | 모니터링 리소스 유형 |
일부 지표에 포함되는 고유 태그: response_code、response_code_class(요청 분류 지표), state(컨테이너/인스턴스 상태), readiness_status(준비 상태), scaling_driver(스케일링 드라이버), probe_type、probe_action、is_healthy、is_default(프로브 지표), kind(네트워크 트래픽 유형).
gcp_run¶
| 지표 | 원본 지표 | 설명 | 단위 |
|---|---|---|---|
| container_billable_instance_time | container/billable_instance_time | 과금 가능한 컨테이너 인스턴스 실행 시간 | 초 |
| container_completed_probe_attempt_count | container/completed_probe_attempt_count | 완료된 프로브 시도 횟수 | 회 |
| container_completed_probe_count | container/completed_probe_count | 완료된 프로브 검사 횟수 | 회 |
| container_containers | container/containers | 각 상태의 컨테이너 수 | 개 |
| container_cpu_allocation_time | container/cpu/allocation_time | 컨테이너에 할당된 CPU 시간 | 코어·초 |
| container_cpu_usage_avg | container/cpu/usage | 컨테이너 CPU 사용량 평균값 | 초 |
| container_cpu_usage_p95 | container/cpu/usage | 컨테이너 CPU 사용량 95분위 | 초 |
| container_cpu_usage_p99 | container/cpu/usage | 컨테이너 CPU 사용량 99분위 | 초 |
| container_cpu_usage_samplecount | container/cpu/usage | 컨테이너 CPU 사용량 샘플 수 | 개 |
| container_cpu_utilizations_avg | container/cpu/utilizations | 컨테이너 CPU 이용률 평균값 | 비율(0-1) |
| container_cpu_utilizations_p95 | container/cpu/utilizations | 컨테이너 CPU 이용률 95분위 | 비율(0-1) |
| container_cpu_utilizations_p99 | container/cpu/utilizations | 컨테이너 CPU 이용률 99분위 | 비율(0-1) |
| container_cpu_utilizations_samplecount | container/cpu/utilizations | 컨테이너 CPU 이용률 샘플 수 | 개 |
| container_instance_count | container/instance_count | 각 상태(활성, 유휴)의 컨테이너 인스턴스 수 | 개 |
| container_instance_count_with_readiness | container/instance_count_with_readiness | 준비 상태별 컨테이너 인스턴스 수 | 개 |
| container_max_request_concurrencies_avg | container/max_request_concurrencies | 단일 인스턴스의 최대 요청 동시성 평균값 | 개 |
| container_max_request_concurrencies_p95 | container/max_request_concurrencies | 단일 인스턴스의 최대 요청 동시성 95분위 | 개 |
| container_max_request_concurrencies_p99 | container/max_request_concurrencies | 단일 인스턴스의 최대 요청 동시성 99분위 | 개 |
| container_max_request_concurrencies_samplecount | container/max_request_concurrencies | 단일 인스턴스의 최대 요청 동시성 샘플 수 | 개 |
| container_memory_allocation_time | container/memory/allocation_time | 컨테이너에 할당된 메모리 시간 | 바이트·초 |
| container_memory_tmpfs_usage_samplecount | container/memory/tmpfs_usage | 컨테이너 tmpfs 메모리 사용량 샘플 수 | 개 |
| container_memory_usage_avg | container/memory/usage | 컨테이너 메모리 사용량 평균값 | 바이트 |
| container_memory_usage_p95 | container/memory/usage | 컨테이너 메모리 사용량 95분위 | 바이트 |
| container_memory_usage_p99 | container/memory/usage | 컨테이너 메모리 사용량 99분위 | 바이트 |
| container_memory_usage_samplecount | container/memory/usage | 컨테이너 메모리 사용량 샘플 수 | 개 |
| container_memory_utilizations_avg | container/memory/utilizations | 컨테이너 메모리 이용률 평균값 | 비율(0-1) |
| container_memory_utilizations_p95 | container/memory/utilizations | 컨테이너 메모리 이용률 95분위 | 비율(0-1) |
| container_memory_utilizations_p99 | container/memory/utilizations | 컨테이너 메모리 이용률 99분위 | 비율(0-1) |
| container_memory_utilizations_samplecount | container/memory/utilizations | 컨테이너 메모리 이용률 샘플 수 | 개 |
| container_network_received_bytes_count | container/network/received_bytes_count | 컨테이너 네트워크 수신 바이트 수 | 바이트 |
| container_network_sent_bytes_count | container/network/sent_bytes_count | 컨테이너 네트워크 송신 바이트 수 | 바이트 |
| container_probe_attempt_latencies_avg | container/probe_attempt_latencies | 단일 프로브 시도 지연 평균값 | 밀리초 |
| container_probe_attempt_latencies_p95 | container/probe_attempt_latencies | 단일 프로브 시도 지연 95분위 | 밀리초 |
| container_probe_attempt_latencies_p99 | container/probe_attempt_latencies | 단일 프로브 시도 지연 99분위 | 밀리초 |
| container_probe_attempt_latencies_samplecount | container/probe_attempt_latencies | 단일 프로브 시도 지연 샘플 수 | 개 |
| container_probe_latencies_avg | container/probe_latencies | 프로브 지연 평균값(재시도 포함) | 밀리초 |
| container_probe_latencies_p95 | container/probe_latencies | 프로브 지연 95분위(재시도 포함) | 밀리초 |
| container_probe_latencies_p99 | container/probe_latencies | 프로브 지연 99분위(재시도 포함) | 밀리초 |
| container_probe_latencies_samplecount | container/probe_latencies | 프로브 지연 샘플 수 | 개 |
| container_startup_latencies_avg | container/startup_latencies | 컨테이너 시작 지연 평균값 | 밀리초 |
| container_startup_latencies_p95 | container/startup_latencies | 컨테이너 시작 지연 95분위 | 밀리초 |
| container_startup_latencies_p99 | container/startup_latencies | 컨테이너 시작 지연 99분위 | 밀리초 |
| container_startup_latencies_samplecount | container/startup_latencies | 컨테이너 시작 지연 샘플 수 | 개 |
| pending_queue_pending_requests | pending_queue/pending_requests | 대기 중인 요청 큐 길이 | 개 |
| request_count | request_count | 요청 수 | 회 |
| request_latencies_avg | request_latencies | 요청 지연 평균값 | 밀리초 |
| request_latencies_p95 | request_latencies | 요청 지연 95분위 | 밀리초 |
| request_latencies_p99 | request_latencies | 요청 지연 99분위 | 밀리초 |
| request_latencies_samplecount | request_latencies | 요청 지연 샘플 수 | 개 |
| request_latencies_sumsqdev | request_latencies | 요청 지연 제곱 편차 합 | 밀리초² |
| request_latency_e_2_e_latencies_avg | request_latency/e2e_latencies | 엔드 투 엔드 요청 지연 평균값 | 밀리초 |
| request_latency_e_2_e_latencies_p95 | request_latency/e2e_latencies | 엔드 투 엔드 요청 지연 95분위 | 밀리초 |
| request_latency_e_2_e_latencies_p99 | request_latency/e2e_latencies | 엔드 투 엔드 요청 지연 99분위 | 밀리초 |
| request_latency_e_2_e_latencies_samplecount | request_latency/e2e_latencies | 엔드 투 엔드 요청 지연 샘플 수 | 개 |
| request_latency_e_2_e_latencies_sumsqdev | request_latency/e2e_latencies | 엔드 투 엔드 요청 지연 제곱 편차 합 | 밀리초² |
| request_latency_ingress_to_region_avg | request_latency/ingress_to_region | 인그레스에서 서비스 리전까지의 지연 평균값 | 밀리초 |
| request_latency_ingress_to_region_samplecount | request_latency/ingress_to_region | 인그레스에서 리전까지의 지연 샘플 수 | 개 |
| request_latency_ingress_to_region_sumsqdev | request_latency/ingress_to_region | 인그레스에서 리전까지의 지연 제곱 편차 합 | 밀리초² |
| request_latency_pending_samplecount | request_latency/pending | 요청 대기 지연 샘플 수 | 개 |
| request_latency_response_egress_avg | request_latency/response_egress | 응답 이그레스 지연 평균값 | 밀리초 |
| request_latency_response_egress_samplecount | request_latency/response_egress | 응답 이그레스 지연 샘플 수 | 개 |
| request_latency_response_egress_sumsqdev | request_latency/response_egress | 응답 이그레스 지연 제곱 편차 합 | 밀리초² |
| request_latency_routing_avg | request_latency/routing | 요청 라우팅 지연 평균값 | 밀리초 |
| request_latency_routing_samplecount | request_latency/routing | 요청 라우팅 지연 샘플 수 | 개 |
| request_latency_routing_sumsqdev | request_latency/routing | 요청 라우팅 지연 제곱 편차 합 | 밀리초² |
| request_latency_user_execution_avg | request_latency/user_execution | 사용자 코드 실행 지연 평균값 | 밀리초 |
| request_latency_user_execution_p95 | request_latency/user_execution | 사용자 코드 실행 지연 95분위 | 밀리초 |
| request_latency_user_execution_p99 | request_latency/user_execution | 사용자 코드 실행 지연 99분위 | 밀리초 |
| request_latency_user_execution_samplecount | request_latency/user_execution | 사용자 코드 실행 지연 샘플 수 | 개 |
| scaling_recommended_instances | scaling/recommended_instances | 자동 스케일링이 권장한 인스턴스 수 | 개 |