Code Engine에 대한 모니터링

IBM Cloud® Code Engine과 함께 배치되는 워크로드의 성능을 파악하십시오. 메트릭은 병목 현상을 찾거나 가능한 프로덕션 문제점을 예측하는 데 도움이 될 수 있습니다.

IBM Cloud® Monitoring 서비스를 사용하여 Code Engine 워크로드를 모니터링할 수 있습니다. Code Engine은 요청, 개정 및 지속 기간과 같은 특정 메트릭을 모니터링할 수 있도록 워크로드에 대한 선택된 정보를 Monitoring에 전달합니다.

IBM Cloud Monitoring 서비스 인스턴스 설정

Monitoring 에서 ‘ Code Engine ’ 고객 메트릭 대시보드를 설정하려면, 먼저 Monitoring 인스턴스를 생성한 다음, 모니터링하려는 Code Engine 프로젝트와 동일한 리전에서 ‘Platform Metrics’를 활성화해야 합니다. 둘 이상의 지역에 배치가 있는 경우 Monitoring을 프로비저닝하고 각 지역의 플랫폼 메트릭을 사용으로 설정해야 합니다. 자세한 정보는 Monitoring 시작하기 튜토리얼을 참조하십시오.

Monitoring을 설정하려면 다음을 수행하십시오.

  1. IBM Cloud 탐색 메뉴에서 관찰 가능성을 선택하십시오.
  2. 모니터링을 선택하십시오.
  3. 기존 Monitoring 서비스 인스턴스를 사용하거나 새로 작성하십시오.
  4. 인스턴스가 준비되면 플랫폼 메트릭 구성을 클릭하여 플랫폼 메트릭을 사용으로 설정하십시오.
  5. 지역을 선택한 후 해당 지역의 Monitoring 인스턴스를 선택하십시오. 둘 이상의 지역에 배치가 있는 경우 Monitoring을 프로비저닝하고 각 지역의 플랫폼 메트릭을 사용으로 설정해야 합니다.

모니터링 실행을 선택하여 Code Engine 대시보드에서 모니터링을 시작할 수도 있습니다.

대시보드 템플리트의 사본을 작성하고 편집하여 대시보드를 조정할 수 있습니다.

IBM Cloud Monitoring 메트릭에 액세스

Code Engine에서 Monitoring 고객 메트릭 대시보드를 보려면 다음을 수행하십시오.

  1. IBM Cloud 탐색 메뉴에서 관찰 가능성을 선택하십시오.
  2. 모니터링을 선택하십시오.
  3. 모니터링 인스턴스의 [ 보기 ] 열에 있는 [ 대시보드 ]를 클릭하면 해당 모니터링 인스턴스의 대시보드가 열립니다.
  4. 탐색 메뉴에서 대시보드 - >IBM- >IBM Code Engine 프로젝트 개요 또는 대시보드 - >IBM- >IBM Code Engine 함수 개요를 선택하십시오. 메뉴에 ‘ Code Engine ’ 대시보드가 표시되지 않는 경우, Code Engine 애플리케이션이나 작업에서 ‘모니터링 추가’를 선택하여 모니터링을 시작할 수 있습니다.
  5. 10M 타임라인 이상을 선택하십시오. 플랫폼 메트릭 데이터는 1분 단위이므로 메트릭을 표시하는 첫 번째 타임라인은 10M 타임라인입니다.

Code Engine 조치 메뉴에서 모니터링을 선택하여 언제든지 Monitoring 대시보드를 시작할 수도 있습니다.

IBM Cloud Monitoring 서비스를 사용하여 Code Engine 워크로드를 모니터링할 경우, 데이터가 처리되어 Monitoring 에서 확인할 수 있게 되기 전까지 지연이 발생할 수 있습니다. 예를 들어, 모니터링 인스턴스를 작성한 후 의미 있는 모니터링 데이터가 표시되려면 몇 분이 걸립니다. Monitoring 에 모니터링 데이터가 표시되기까지 약 5분 정도 소요될 수 있으니 유의하시기 바랍니다.

다음 항목에 대해 이용 가능한 지표: Code Engine

표 1: Code Engine
메트릭 이름
ibm_codeengine_application_actual_instances
ibm_codeengine_application_requested_instances
ibm_codeengine_application_not_ready_instances
ibm_codeengine_application_pending_instances
ibm_codeengine_application_desired_instances
ibm_codeengine_application_terminating_instances
ibm_codeengine_application_requests_total
ibm_codeengine_application_revision_count
ibm_codeengine_application_service_count
ibm_codeengine_application_route_count
ibm_codeengine_application_target_concurrency_per_pod
ibm_codeengine_application_panic_request_concurrency
ibm_codeengine_application_stable_request_concurrency
ibm_codeengine_application_panic_mode
ibm_codeengine_functions_activations
ibm_codeengine_functions_exceeded_limit
ibm_codeengine_functions_execution_time_count
ibm_codeengine_functions_execution_time_sum
ibm_codeengine_functions_init_time_count
ibm_codeengine_functions_init_time_sum
ibm_codeengine_functions_status_success
ibm_codeengine_functions_status_error_application
ibm_codeengine_functions_status_error_developer
ibm_codeengine_jobruns

ibm_codeengine_application_actual_instances

현재 할당된 팟 (Pod) 의 수입니다.

자동 애플리케이션 스케일링의 동작을 관찰하고 실행 중인 애플리케이션 인스턴스 수를 관찰하려면 이 메트릭을 사용하십시오. 이 값을 모니터하여 애플리케이션에 대해 구성 가능한 값을 조정해야 하는지 여부를 판별하십시오.

앱의 실행 중인 인스턴스 수는 구성 설정과 워크로드에 따라 자동으로 확장되거나 축소됩니다. 애플리케이션 스케일링은 구성 가능합니다. 애플리케이션 스케일링 구성 을 참조하고 애플리케이션 기본값 및 한계 에 유의하십시오.

표 2: 현재 할당된 팟 (Pod) 수
메타데이터 설명
Metric Name ibm_codeengine_application_actual_instances
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name, application revision name

ibm_codeengine_application_requested_instances

오토스케일러가 Kubernetes에 요청한 팟(Pod) 수입니다.

이 메트릭을 사용하여 자동 애플리케이션 스케일링의 동작을 관찰하십시오. 이 값을 모니터하여 애플리케이션에 대해 구성 가능한 값을 조정해야 하는지 여부를 판별하십시오.

앱의 실행 중인 인스턴스 수는 구성 설정과 워크로드에 따라 자동으로 확장되거나 축소됩니다. 애플리케이션 스케일링은 구성 가능합니다. 애플리케이션 스케일링 구성 을 참조하고 애플리케이션 기본값 및 한계 에 유의하십시오.

표 3: 오토스케일러가 요청한 팟 (Pod) 수
메타데이터 설명
Metric Name ibm_codeengine_application_requested_instances
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name, application revision name

ibm_codeengine_application_not_ready_instances

현재 준비되지 않은 팟(Pod) 수입니다.

이 메트릭을 사용하여 실행 중인 애플리케이션에 문제가 있는지 관찰하십시오.

준비되지 않음 상태에 있는 애플리케이션 인스턴스는 요청을 제공할 수 없습니다. 이 준비되지 않음 상태는 앱이 준비되지 못하게 하는 것을 표시합니다.

표 4: 현재 준비되지 않은 팟 (Pod) 수
메타데이터 설명
Metric Name ibm_codeengine_application_not_ready_instances
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name, application revision name

ibm_codeengine_application_pending_instances

현재 보류 중인 팟(Pod) 수입니다.

이 메트릭을 사용하여 실행 중인 애플리케이션에 문제가 있는지 관찰하십시오.

자동 애플리케이션 스케일링을 관찰할 때 보류 중인 애플리케이션을 관찰할 수 있습니다. 보류 중인 애플리케이션 인스턴스가 스케줄 대기 중입니다. 애플리케이션이 보류 상태로 남아 있는 경우 메모리 또는 CPU와 같은 자원이 부족하여 애플리케이션을 시작할 수 없을 수 있습니다. 지원되는 메모리와 CPU 조합을 참조하십시오.

표 5: 현재 보류 중인 팟 (Pod) 수
메타데이터 설명
Metric Name ibm_codeengine_application_pending_instances
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name, application revision name

ibm_codeengine_application_desired_instances

오토스케일러가 할당할 팟(Pod) 수입니다.

이 메트릭을 사용하여 자동 애플리케이션 스케일링의 동작을 관찰하십시오. 이 값을 모니터하여 애플리케이션에 대해 구성 가능한 값을 조정해야 하는지 여부를 판별하십시오.

앱의 실행 중인 인스턴스 수는 구성 설정과 워크로드에 따라 자동으로 확장되거나 축소됩니다. 애플리케이션 스케일링은 구성 가능합니다. 애플리케이션 스케일링 구성 을 참조하고 애플리케이션 기본값 및 한계 에 유의하십시오.

표 6: 오토스케일러가 할당하려는 팟 (Pod) 수
메타데이터 설명
Metric Name ibm_codeengine_application_desired_instances
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name, application revision name

ibm_codeengine_application_terminating_instances

현재 종료 중인 팟(Pod) 수입니다.

이 메트릭을 사용하여 자동 애플리케이션 스케일링의 동작을 관찰하십시오. 애플리케이션이 축소될 때 애플리케이션이 종료되는지 관찰하려면 이 값을 모니터하십시오.

앱의 실행 중인 인스턴스 수는 구성 설정과 워크로드에 따라 자동으로 확장되거나 축소됩니다. 애플리케이션 스케일링은 구성 가능합니다. 애플리케이션 스케일링 구성 을 참조하고 애플리케이션 기본값 및 한계 에 유의하십시오.

표 7: 현재 종료 중인 팟 (Pod) 수
메타데이터 설명
Metric Name ibm_codeengine_application_terminating_instances
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name, application revision name

ibm_codeengine_application_requests_total

애플리케이션에 대한 총 HTTPS 요청 수입니다.

이 지표를 사용하여 애플리케이션이 수신하는 ‘ HTTPS ’ 요청의 수를 모니터링하십시오.

표 8: 애플리케이션에 대한 ‘ HTTPS ’ 요청 총 건수
메타데이터 설명
Metric Name ibm_codeengine_application_requests_total
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name, application revision name, http status code

ibm_codeengine_application_revision_count

애플리케이션당 개정 수입니다.

이 메트릭을 사용하여 애플리케이션당 개정 수를 관찰하십시오.

한 애플리케이션에는 하나 이상의 개정판이 포함됩니다. 애플리케이션 구성 특성을 업데이트할 때마다 애플리케이션의 새 개정이 작성됩니다. Code Engine 에는 프로젝트의 앱 및 앱 개정 수에 대한 할당량이 있습니다. 프로젝트 한계에 대한 자세한 정보는 프로젝트 할당량을 참조하십시오.

표 9: 애플리케이션당 개정 수
메타데이터 설명
Metric Name ibm_codeengine_application_revision_count
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name

ibm_codeengine_application_service_count

프로젝트당 애플리케이션 수입니다.

이 메트릭을 사용하여 프로젝트에 있는 애플리케이션 수를 관찰하십시오.

Code Engine에는 프로젝트의 앱 및 앱 개정 수에 대한 할당량이 있습니다. 프로젝트 한계에 대한 자세한 정보는 프로젝트 할당량을 참조하십시오.

표 10: 프로젝트당 애플리케이션 수
메타데이터 설명
Metric Name ibm_codeengine_application_service_count
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name

ibm_codeengine_application_route_count

애플리케이션당 라우트 수입니다.

Code Engine 는 애플리케이션당 하나의 라우트만 지원합니다.

표 11: 애플리케이션당 라우트 수
메타데이터 설명
Metric Name ibm_codeengine_application_route_count
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name

ibm_codeengine_application_target_concurrency_per_pod

각 팟(Pod)에 대해 원하는 동시 요청 수입니다.

이 메트릭을 사용하여 애플리케이션에 대해 설정된 대상 동시성 값을 관찰하십시오.

애플리케이션 스케일링의 대상 동시성을 구성할 수 있습니다. 애플리케이션 스케일링 구성을 참조하십시오.

표 12: 각 포드에 대해 원하는 동시 요청 수
메타데이터 설명
Metric Name ibm_codeengine_application_target_concurrency_per_pod
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name, application revision name

ibm_codeengine_application_panic_request_concurrency

패닉 기간 동안의 평균 요청 수입니다.

이 메트릭을 사용하여 자동 애플리케이션 스케일링의 동작을 관찰하십시오. 이 값을 모니터하여 애플리케이션 트래픽이 버스트 상태로 도착하는지 또는 트래픽이 안정적인지 관찰하십시오.

안정 모드가 일반 조작에 사용되는 반면, 패닉 모드는 훨씬 더 짧은 창을 가지며 트래픽 버스트가 발생하는 경우 애플리케이션 개정을 빠르게 확장하는 데 사용됩니다.

표 13: 패닉 창에 대한 평균 요청 수
메타데이터 설명
Metric Name ibm_codeengine_application_panic_request_concurrency
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name, application revision name

ibm_codeengine_application_stable_request_concurrency

안정 기간 동안의 평균 요청 수입니다.

이 메트릭을 사용하여 자동 애플리케이션 스케일링의 동작을 관찰하십시오. 이 값을 모니터하여 애플리케이션 트래픽이 버스트 상태로 도착하는지 또는 트래픽이 안정적인지 관찰하십시오.

안정 모드가 일반 조작에 사용되는 반면, 패닉 모드는 훨씬 더 짧은 창을 가지며 트래픽 버스트가 발생하는 경우 애플리케이션 개정을 빠르게 확장하는 데 사용됩니다.

표 14: 안정된 창에 대한 평균 요청 수
메타데이터 설명
Metric Name ibm_codeengine_application_stable_request_concurrency
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name, application revision name

ibm_codeengine_application_panic_mode

패닉 모드가 사용 가능한지 여부를 지정합니다.

이 메트릭을 사용하여 자동 애플리케이션 스케일링의 동작을 관찰하십시오. 패닉 모드가 사용되는지 여부를 관찰하려면 이 값을 모니터하십시오.

안정 모드가 일반 조작에 사용되는 반면, 패닉 모드는 훨씬 더 짧은 창을 가지며 트래픽 버스트가 발생하는 경우 애플리케이션 개정을 빠르게 확장하는 데 사용됩니다.

표 15: 패닉 모드가 사용 가능한지 여부를 지정합니다.
메타데이터 설명
Metric Name ibm_codeengine_application_panic_mode
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, application name, application revision name

ibm_codeengine_functions_activations

호출된 함수의 수입니다.

표 16: 호출된 함수 수
메타데이터 설명
Metric Name ibm_codeengine_functions_activations
Metric Type counter
Value Type none
Segment By Service instance, name of the namespace, project name, function name, function pod name, function type

ibm_codeengine_functions_exceeded_limit

프로젝트의 한계가 초과된 후에 호출되는 함수의 수입니다. 프로젝트 한계에 대한 자세한 정보는 프로젝트 할당량을 참조하십시오.

표 17: 프로젝트 한계 초과 후 호출된 함수 수
메타데이터 설명
Metric Name ibm_codeengine_functions_exceeded_limit
Metric Type counter
Value Type none
Segment By Service instance, name of the namespace, project name, function name, function pod name, function type

ibm_codeengine_functions_execution_time_count

완료될 때까지 실행되는 호출된 함수의 수입니다.

ibm_codeengine_functions_execution_time_countibm_codeengine_functions_execution_time_sum 메트릭은 호출된 함수당 평균 실행 시간을 판별하는 데 사용됩니다.

표 18: 실행을 완료하는 호출된 함수 수
메타데이터 설명
Metric Name ibm_codeengine_functions_execution_time_count
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, function name, function pod name

ibm_codeengine_functions_execution_time_sum

완료될 때까지 실행되는 호출된 함수에 대한 모든 실행 시간의 합계입니다.

ibm_codeengine_functions_execution_time_countibm_codeengine_functions_execution_time_sum 메트릭은 호출된 함수당 평균 실행 시간을 판별하는 데 사용됩니다.

표 19: 호출된 함수에 대한 모든 실행 시간의 합계
메타데이터 설명
Metric Name ibm_codeengine_functions_execution_time_sum
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, function name, function pod name

ibm_codeengine_functions_init_time_count

코드가 Code Engine 에 로드되고 실행할 준비가 되도록 초기화를 완료하는 함수의 수입니다.

ibm_codeengine_functions_init_time_countibm_codeengine_functions_init_time_sum 메트릭은 호출된 함수의 평균 초기화 시간을 판별하는 데 사용됩니다.

표 20: 초기화를 완료하는 함수 수
메타데이터 설명
Metric Name ibm_codeengine_functions_init_time_count
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, function name, function pod name

ibm_codeengine_functions_init_time_sum

호출된 함수에 대한 모든 초기화 시간의 합계입니다.

ibm_codeengine_functions_init_time_countibm_codeengine_functions_init_time_sum 메트릭은 호출된 함수의 평균 초기화 시간을 판별하는 데 사용됩니다.

표 21: 호출된 함수에 대한 모든 초기화 시간의 합계
메타데이터 설명
Metric Name ibm_codeengine_functions_init_time_sum
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, function name, function pod name

ibm_codeengine_functions_status_success

성공적으로 호출된 함수의 수입니다. Code Engine 에서 함수는 초기화를 완료하고 실행이 종료된 후, 해당 함수 코드가 성공적인 HTTP 응답 상태 코드를 반환해야만 성공적으로 호출된 것으로 간주됩니다.

표 22: 성공적으로 호출된 함수 수
메타데이터 설명
Metric Name ibm_codeengine_functions_status_success
Metric Type counter
Value Type none
Segment By Service instance, name of the namespace, project name, function name, function pod name, function type

ibm_codeengine_functions_status_error_application

Code Engine 처리 중에 실패하는 호출된 함수의 수입니다.

표 23: Code Engine
메타데이터 설명
Metric Name ibm_codeengine_functions_status_error_application
Metric Type counter
Value Type none
Segment By Service instance, name of the namespace, project name, function name, function pod name, function type

ibm_codeengine_functions_status_error_developer

코드의 오류로 실패한 호출된 함수의 수입니다.

표 24: 코드의 오류로 실패한 호출된 함수 수
메타데이터 설명
Metric Name ibm_codeengine_functions_status_error_developer
Metric Type counter
Value Type none
Segment By Service instance, name of the namespace, project name, function name, function pod name, function type

ibm_codeengine_jobruns

작업 실행 총 횟수.

이 메트릭을 사용하여 프로젝트에 있는 작업 실행 수를 모니터할 수 있습니다. Code Engine 에는 프로젝트의 작업 및 작업 실행 수에 대한 할당량이 있습니다. 프로젝트 한계에 대한 자세한 정보는 프로젝트 할당량을 참조하십시오.

표 25: 총 작업 실행 수
메타데이터 설명
Metric Name ibm_codeengine_jobruns
Metric Type gauge
Value Type none
Segment By Service instance, name of the namespace, project name, job Name, jobrun condition

세그먼트화 속성

글로벌 속성

다음 속성은 앞에 나열된 모든 메트릭을 세그먼트화하는 데 사용할 수 있습니다.

표 26: 글로벌 속성
속성 속성 이름 속성 설명
Cloud Type ibm_ctype 클라우드 유형은 public, dedicated 또는 local의 값입니다.
Location ibm_location 모니터된 리소스의 위치입니다. 값은 region, data center 또는 global 중 하나일 수 있습니다.
Resource ibm_resource 일반적으로 식별 이름 또는 GUID인 서비스로 측정되는 리소스입니다.
Resource Type ibm_resource_type 서비스에서 측정되는 리소스의 유형입니다.
Resource group ibm_resource_group_name 서비스 인스턴스가 작성된 리소스 그룹입니다.
Scope ibm_scope 범위는 이 메트릭과 연결된 계정, 조직 또는 영역 GUID입니다.
Service name ibm_service_name 이 메트릭을 생성하는 서비스의 이름입니다.

추가 속성

다음 속성은 이전 표에 설명된 하나 이상의 속성을 세그먼트화하는 데 사용할 수 있습니다. 세그먼트화 옵션에 대해서는 개별 메트릭을 참조하십시오.

표 27: 세그먼트화 옵션
속성 속성 이름 속성 설명
Name of the namespace ibm_codeengine_namespace 네임스페이스의 이름입니다. 이 고유 식별자는 애플리케이션의 URL 파일에 포함되어 있습니다. 애플리케이션의 기본 URL 주소는 https://<appname>.<uuid>.<region>.codeengine.appdomain.cloud 형식이며, 여기서 appname 은 애플리케이션 이름, uuid 은 자동으로 생성된 고유 식별자, region 은 Code Engine 프로젝트가 위치한 리전입니다. URL 의 UUID 부분은 네임스페이스의 이름입니다.
Service instance ibm_service_instance 서비스 인스턴스 세그먼트는 메트릭이 연관된 인스턴스를 식별합니다.
HTTP status code ibm_codeengine_status HTTP 상태 코드.
Application name ibm_codeengine_application_name 애플리케이션의 이름입니다.
Application revision name ibm_codeengine_revision_name 애플리케이션 개정판의 이름.
Gateway instance ibm_codeengine_gateway_instance 게이트웨이 인스턴스입니다.
Job Name ibm_codeengine_job_name 작업 실행을 작성하는 데 사용되는 작업의 이름입니다.
Jobrun condition ibm_codeengine_jobrun_condition 작업 실행 상태.
Project name ibm_codeengine_project_name 프로젝트의 이름입니다.
Function name ibm_codeengine_function_name 호출된 함수의 이름입니다.
Function pod name ibm_codeengine_function_podname 함수를 호출한 시스템 팟 (Pod) 의 이름입니다.
Function type ibm_codeengine_function_type 함수가 호출된 방법의 유형 (sync 또는 async).