監視 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 度量值

若要在 Monitoring中查看 Code Engine 客戶度量值儀表板,請執行下列動作:

  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 上查看之前,可能會出現延遲。 例如,就在您建立監視實例之後,需要幾分鐘才會顯示有意義的監視資料。 請注意,您的監控資料可能需要約 5 分鐘才會顯示在 Monitoring 上。

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 數目
Meta 資料 說明
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

autoscaler 向 Kubernetes要求的 Pod 數目。

使用此度量值來觀察自動應用程式調整大小的行為。 監視此值,以判定您是否需要調整應用程式的可配置值。

應用程式的執行中實例數會根據配置設定及工作負載自動擴增或縮減。 應用程式調整大小是可配置的。 請參閱 配置應用程式調整大小,並瞭解 應用程式預設值和限制

表 3: Autoscaler 要求的 Pod 數目
Meta 資料 說明
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 數目
Meta 資料 說明
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 數目
Meta 資料 說明
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

autoscaler 想要配置的 Pod 數目。

使用此度量值來觀察自動應用程式調整大小的行為。 監視此值,以判定您是否需要調整應用程式的可配置值。

應用程式的執行中實例數會根據配置設定及工作負載自動擴增或縮減。 應用程式調整大小是可配置的。 請參閱 配置應用程式調整大小,並瞭解 應用程式預設值和限制

表 6: Autoscaler 想要配置的 Pod 數目
Meta 資料 說明
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 數目
Meta 資料 說明
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 請求總數
Meta 資料 說明
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: 每個應用程式的修訂數目
Meta 資料 說明
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: 每個專案的應用程式數目
Meta 資料 說明
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 僅支援每個應用程式 1 個路徑。

表 11: 每個應用程式的路由數目
Meta 資料 說明
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: 每一個 Pod 所需的並行要求數
Meta 資料 說明
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: 在防毀視窗中的平均要求計數
Meta 資料 說明
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: 穩定視窗上的平均要求計數
Meta 資料 說明
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: 指定是否啟用防毀模式
Meta 資料 說明
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: 呼叫的函數數目
Meta 資料 說明
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: 超出專案限制之後呼叫的函數數目
Meta 資料 說明
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: 完成執行的已呼叫函數數目
Meta 資料 說明
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: 所呼叫函數的所有執行時間總和
Meta 資料 說明
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: 完成起始設定的函數數目
Meta 資料 說明
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: 所呼叫函數的所有起始設定時間總和
Meta 資料 說明
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: 順利呼叫的函數數目
Meta 資料 說明
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 內失敗的已呼叫函數數目
Meta 資料 說明
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: 程式碼中因錯誤而失敗的已呼叫函數數目
Meta 資料 說明
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: 工作執行總數
Meta 資料 說明
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 受監控資源的位置,可以是區域、資料中心或全球範圍。
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 如何呼叫函數的類型 (syncasync)。