在 Stackdriver 中監控環境

您可以搭配 Stackdriver MonitoringStackdriver Logging 使用 Cloud Composer。

Monitoring 可以讓您監控雲端應用程式的效能、運作時間與整體健康狀態。Stackdriver 會從 Cloud Composer 收集和擷取指標、事件和中繼資料,透過資訊主頁和圖表產生深入分析資料。您可以使用 Monitoring 瞭解 Cloud Composer 環境的效能和健康狀態以及 Airflow 指標。

Logging 會擷取排程器和工作站容器產生的記錄。這些記錄包含實用的系統層級資訊與 Airflow 相依性資訊,可協助您進行偵錯。如要瞭解如何查看記錄,請參閱查看 Airflow 記錄一文。

事前準備

  • 如要存取 Cloud Composer 環境的記錄和指標,您必須具備下列權限:

    • 記錄和監控的唯讀權限:logging.viewermonitoring.viewer
    • 記錄 (包括私密記錄) 的唯讀權限:logging.privateLogViewer
    • 監控的讀寫權限:monitoring.editor

      詳情請參閱 Cloud Composer 存取權控管一文。

  • 為了避免發生記錄重複的情形,Google Kubernetes Engine 適用的 Stackdriver Logging 為停用狀態。

  • Stackdriver Logging 會為每個狀態和 Google Cloud Platform 專案中發生的每個事件分別產生一個項目。您可以使用排除篩選器減少記錄量,包括 Stackdriver 為 Cloud Composer 產生的記錄。

  • Monitoring 無法針對每分鐘執行多次的工作負載和工作提供計數值圖表,目前也無法針對失敗的工作提供指標圖表。

指標與資源類型

您可以在 Monitoring 中查看工作流程 (DAG) 和 Celery Executor 的 Airflow 指標。

工作流程

為協助您監控工作流程的執行效率,並找出進度落後並導致長時間延遲的工作,Stackdriver 提供下列工作流程指標:

工作流程指標 API
工作流程執行次數 composer.googleapis.com/workflow/run_count
工作流程每次執行的時間長度 composer.googleapis.com/workflow/run_duration
工作執行次數 composer.googleapis.com/workflow/task/run_count
每項工作的時間長度 composer.googleapis.com/workflow/task/run_duration

Stackdriver 只會針對執行完畢 (無論成功或失敗) 的工作流程和工作顯示指標。如果沒有任何工作流程活動,或是工作流程和工作還在執行中,就不會顯示任何資料

Celery Executor

Stackdriver 提供下列 Celery Executor 指標。這些指標可協助您判斷環境中的工作站資源是否充足。

Celery Executor 指標 API
佇列中的工作數量 composer.googleapis.com/environment/task_queue_length
線上 Celery 工作站的數量 composer.googleapis.com/environment/num_celery_workers

Stackdriver 說明文件還提供下列有關 Cloud Composer 指標和資源的資訊:

  • 如需 Cloud Composer 回報給 Stackdriver 的使用指標清單,請參閱指標清單一文。
  • 如要進一步瞭解 cloud_composer_environment 資源類型,請參閱 Stackdriver 說明文件的受控資源類型一文。

在 Cloud Composer 環境中使用 Monitoring

您可以透過 Monitoring 主控台Monitoring API 存取 Monitoring。

主控台

  1. 建立 Cloud Composer 環境後,請前往 Monitoring 主控台查看環境監控資料。
  2. 第一次存取 Monitoring 時,系統會要求您建立一個工作區,然後選取專案。
  3. 設定工作區後,畫面上會顯示 Monitoring 主控台。

  4. 依序選取 [Resources] (資源) > [Metrics Explorer],然後選擇 [Cloud Composer]:
    1. 按一下「Find resource type and metric」(尋找資源類型與指標) 輸入方塊,畫面上會顯示資源下拉式選單。
    2. 選取 [Cloud Composer Environment] (Cloud Composer 環境) 或 [Cloud Composer Workflow] (Cloud Composer 工作流程) 資源。您也可以在方塊中輸入 cloud_composer_environmentcloud_composer_workflow
  5. 再按一下輸入方塊,然後從下拉式清單中選取指標。將滑鼠懸停在指標名稱上即可查看該指標的相關資訊。
  6. Cloud Composer 環境資訊包含在 workflow_name label: workflow_name=environment.workflow 中。如要查看特定環境的工作流程指標,請新增篩選器,方法如下:
    1. 針對 workflow_name 建立篩選器。
    2. 搭配您要查看工作流程指標的環境名稱使用規則運算式 =~ "your-environment-name.*",藉此篩選前置字串。如要瞭解如何使用規則運算式篩選標籤,請參閱篩選一節。
  7. 按一下 [Save Chart] (儲存圖表)

    您也可以依指標標籤分組,執行匯總作業,然後選取圖表檢視選項。請參閱 Monitoring 說明文件

API

您可以使用 Monitoring timeSeries.list API 擷取和列出 filter 運算式定義的指標。在 API 頁面使用「Try this API」(試用這個 API) 範本,傳送 API 要求及顯示回應。

建構自訂 Monitoring 資訊主頁

您可以建構自訂 Monitoring 資訊主頁,顯示 Cloud Composer 環境所選指標的圖表

  1. Monitoring 主控台中依序選取 [Dashboards] (資訊主頁) > [Create Dashboard] (建立資訊主頁)

  2. 在未命名的資訊主頁中,按一下 [Add Chart] (新增圖表) 並建立圖表:

    1. 在「Add Chart」(新增圖表) 視窗中,選取 [Cloud Composer Environment] (Cloud Composer 環境) 做為資源類型。
    2. 選取一或多個指標和圖表屬性。
    3. 確認或輸入新的圖表標題,然後按一下 [Save] (儲存)
    4. 視需要在資訊主頁中新增其他圖表,然後按一下 [Save] (儲存)

    以下是 Task Duration 指標的範例。這個指標會提供工作流程中有效工作時間長度的圖表,很適合用來微調效能。

  3. 如要查看資訊主頁,請按一下 Monitoring「Dashboards」(資訊主頁) 選單中的標題。

  4. 在資訊主頁顯示頁面中,您可以查看、更新和刪除圖表。

使用 Monitoring 快訊

您可以建立 Monitoring 快訊,在 Cloud Composer 指標超過指定門檻時收到通知。

建立快訊

如何建立快訊:

  1. Monitoring 主控台中,依序選取 [Alerting] (快訊) > [Create a Policy] (建立政策)。畫面上會顯示「Create a new alerting policy」(建立新快訊政策) 頁面。

  2. 在「Conditions」(條件) 中,按一下 [Add Condition] (新增條件)。

  3. 在「Create condition」(建立條件) 頁面中,執行下列步驟:

    1. 為條件新增名稱。
    2. 在分頁標頭中,捲動至「Metric」(指標)。
    3. 在「Target」(目標) 底下,選擇 [Cloud Composer Environment] (Cloud Composer 環境) 或 [Cloud Composer Workflow] (Cloud Composer 工作流程) 做為資源類型。
    4. 為所選資源類型選取指標。
    5. 按一下 [Save] (儲存)

  4. 設定快訊條件後,請在「Create a new alerting policy」頁面設定通知管道、說明文件及新快訊政策名稱,以完成快訊政策。

請參閱 Stackdriver 說明文件,進一步瞭解如何管理快訊政策指定快訊政策的條件

查看快訊

當指標門檻條件觸發快訊時,Monitoring 會建立事件 (及對應的事件)。

您可以在 Monitoring 的「Alerting」(快訊) >「Incidents」(事件) 頁面中查看事件。

如果您在快訊政策中定義了通知機制,例如電子郵件或簡訊通知,則 Monitoring 也會傳送事件通知。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Composer