設定計數器指標

本文說明如何使用 Google Cloud 控制台、Logging API 和 Google Cloud CLI,建立計數器類型的記錄指標。

計數器指標會計算符合指定篩選條件的記錄項目數量。舉例來說,您可以建立記錄指標,計算含有特定錯誤訊息的記錄項目數量。記錄指標可套用至單一 Google Cloud 專案或記錄檔 bucket。

如要瞭解記錄指標,請參閱「記錄指標總覽」。

事前準備

  1. 如要使用記錄指標,您必須擁有啟用帳單的 Google Cloud 專案:

    1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
    2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    3. Make sure that billing is enabled for your Google Cloud project.

    4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    5. Make sure that billing is enabled for your Google Cloud project.

    6. 確認您的 Identity and Access Management 角色包含建立及查看記錄型指標,以及建立快訊政策所需的權限。詳情請參閱「記錄指標的權限」。

    7. 建立計數器類型的記錄指標

      這項指標會計算符合您提供篩選條件的記錄項目。您可以在篩選器中使用規則運算式,建議您加入資源類型。篩選條件長度不得超過 20,000 個字元。

      請勿在篩選器中輸入私密資訊。篩選器會視為服務資料。

      控制台

      請按照下列步驟,在專案的Google Cloud 控制台中建立計數器指標: Google Cloud

      1. 在 Google Cloud 控制台中,前往「記錄指標」頁面:

        前往「記錄指標」

        如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

      2. 按一下「建立指標」,系統會顯示「建立記錄指標」面板。

      3. 設定「指標類型」:選取「計數器」

      4. 在「詳細資料」部分中,設定下列欄位:

        • 記錄指標名稱:選擇在 Google Cloud 專案的記錄指標中不重複的名稱。存在一些命名限制;詳情請參閱疑難排解一文。
        • 說明:輸入指標說明。
        • 單位:保留此欄位空白,或插入數字「1」
      5. 在「篩選器選取」部分定義指標篩選器。

        1. 使用「選取專案或記錄檔 bucket」選單,選擇指標要計算 Google Cloud 專案中的記錄項目,還是特定記錄檔 bucket 中的記錄項目。

        2. 使用記錄查詢語言建立篩選器,只收集您要在指標中計數的記錄項目。您也可以使用規則運算式建立指標的篩選器。

        3. 如要查看符合篩選條件的記錄項目,請按一下「預覽記錄」

      6. (選用) 在「Labels」(標籤) 區段中新增標籤。如需建立標籤的操作說明,請參閱「建立標籤」。

      7. 按一下「建立指標」即可建立指標。

      gcloud

      您可以使用下列指令建立不含自訂標籤的記錄指標:

      gcloud logging metrics create METRIC_NAME \
        --description="METRIC_DESCRIPTION" \
        --log-filter="FILTER" \
        [--bucket-name="BUCKET_NAME"]
      

      舉例來說,以下指令會建立名為 error_count 的專案範圍記錄型指標。

      gcloud logging metrics create error_count \
           --description "Errors in syslog." \
           --log-filter "resource.type=gce_instance AND log_id(\"syslog\") AND severity>=ERROR"
      

      如要改為建立 bucket 範圍的記錄指標,請提供 --bucket_name 標記:

      gcloud logging metrics create error_count \
          --description "Errors in syslog." \
          --log-filter "resource.type=gce_instance AND log_id(\"syslog\") AND severity>=ERROR" \
          --bucket-name projects/my-project/locations/global/buckets/my-test-bucket
      

      如需建立標籤的操作說明,請參閱「設定記錄指標的標籤」。

      API

      如要建立計數器指標,請使用 Logging API 的 projects.metrics.create 方法。如果您使用參考資料頁面上的 APIs Explorer 窗格,請準備引數,如下所示:

      1. parent 欄位設定為要建立指標的專案或值區:

        • 如果是專案範圍的記錄指標,請指定專案:
        projects/PROJECT_ID
        
        • 如果是以 bucket 為範圍的記錄指標,請指定 bucket:
        projects/PROJECT_ID/locations/LOCATION/bucket/BUCKET_ID
        
      2. 將要求主體設定為 LogMetric 物件。以下是計數器指標的物件範例:

        {
          name:        "my-metric"
          description: "This is my metric."
          filter:      "resource.type=gce_instance AND log_id(\"syslog\")",
          metricDescriptor: {
              labels: [
                {
                  key: "my-label",
                  valueType: STRING,
                  description: "This is my label.",
                }
              ]
          },
          labelExtractors: {
            "my-label":
              "REGEXP_EXTRACT(jsonPayload.someField, \"before ([0-9]+) after\")",
            ...
          },
        }
        

      注意:

      • 選擇在專案的記錄指標中不重複的指標名稱。存在一些命名限制;詳情請參閱疑難排解一文。

      • 針對計數器指標,LogMetric 欄位 valueExtractorbucketOptions 沒有目的,會遭到省略。

      • 如果您的指標沒有標籤,可以省略 metricDescriptorlabelExtractors 欄位。如果您的指標有標籤,請參閱記錄指標標籤一文中的標籤簡介,以及有關在 API 中建立這些標籤的詳細資料。

      詳情請參閱 LogMetric 類型。

      新指標的延遲時間

      新的指標會立即顯示在 Logs Explorer 的指標清單和相關的 Monitoring 選單中。資料通常會在不到一分鐘內提供。

      檢查記錄指標

      如要列出 Google Cloud 專案中的使用者定義記錄指標,或檢查 Google Cloud 專案中的特定指標,請按照下列步驟操作:

      控制台

      1. 在 Google Cloud 控制台中,前往「記錄指標」頁面:

        前往「記錄指標」

        如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

      2. 「使用者定義指標」窗格會顯示目前 Google Cloud 專案中的使用者定義記錄指標:

      3. 如要在以記錄為準的指標中查看資料,請按一下指標列中的「選單」,然後選取「在 Metrics Explorer 中查看」

      gcloud

      如要列出 Google Cloud 專案中使用者定義的記錄指標,請使用下列指令:

      gcloud logging metrics list
      

      如要在 Google Cloud 專案中顯示使用者定義的記錄指標,請使用下列指令:

      gcloud logging metrics describe METRIC_NAME
      

      如要取得說明,請使用下列指令:

      gcloud logging metrics --help
      

      您無法透過 Google Cloud CLI 讀取指標的時間序列資料。

      API

      列出指標

      如要列出 Google Cloud 專案中使用者定義的記錄指標,請使用 projects.metrics.list API 方法。按照下列方式填寫方法參數:

      • parent: Google Cloud 專案的資源名稱: projects/PROJECT_ID
      • pageSize:結果數上限。
      • pageToken:取得下一個頁面的結果。如要瞭解如何使用網頁權杖,請參閱 projects.metrics.list

      擷取指標定義

      如要擷取單一使用者定義的記錄指標,請使用 projects.metrics.get API 方法。按照下列方式填寫方法參數:

      • metricName:指標的資源名稱:

        projects/PROJECT_ID/metrics/METRIC_ID
        

      讀取指標資料

      如要讀取記錄指標中的時間序列資料,請使用 Cloud Monitoring API 中的 projects.timeseries.list。如要瞭解時間序列資料,請參閱「讀取時間序列」。

      如要讀取單一使用者定義的記錄指標,請填入這個指標類型和 ID,做為方法參數:

      logging.googleapis.com/user/METRIC_ID
      

      更新記錄指標

      您可以編輯使用者定義的記錄指標,變更說明、篩選器,以及指標中參照的欄位名稱。您可以為指標新增標籤,也可以變更用於擷取指標及其標籤值的規則運算式。如果您使用以 bucket 為範圍的指標,也可以更新指標的 bucket。

      您無法變更使用者定義的記錄指標名稱、類型或標籤,也無法刪除記錄指標中的現有標籤。

      如要編輯記錄指標,請按照下列步驟操作:

      控制台

      1. 在 Google Cloud 控制台中,前往「記錄指標」頁面:

        前往「記錄指標」

        如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

      2. 在要修改的記錄指標的「選單」中,按一下「編輯指標」

      3. 變更指標中的允許項目。

      4. 按一下「更新指標」

      gcloud

      使用 Google Cloud CLI 變更計數器指標的說明、篩選器查詢和 bucket。你可以一次更新所有欄位,也可以只更新部分欄位。

      gcloud logging update METRIC_NAME \
        --description="METRIC_DESCRIPTION" \
        --log-filter="FILTER" \
        --bucket-name=BUCKET_NAME
      

      如果變更與值區範圍指標相關聯的值區,則變更前收集的任何指標資料,都不會再反映目前的設定。系統不會移除先前區間收集的指標資料。

      如要更新分配指標或其他計數器指標欄位 (不含 METRIC_NAME),請建立檔案,其中包含 JSON 或 YAML 格式的修訂版 LogMetric 規格。接著,使用 --config-from-file 欄位呼叫 update 指令,更新指標,並將 FILENAME 替換為 JSON 或 YAML 檔案的名稱:

      gcloud logging update METRIC_NAME --config-from-file FILENAME
      

      如需詳細資料,請使用下列指令:

      gcloud logging metrics update --help
      

      API

      如要編輯記錄指標,請使用 API 中的 projects.metrics.update 方法。將欄位設定如下:

      • metricName:指標的完整資源名稱:

        projects/PROJECT_ID/metrics/METRIC_ID
        

        例如:

        projects/my-gcp-project/metrics/my-error-metric
        
      • 在要求主體中,包含與現有指標完全相同的 LogMetric 物件,但您要變更及新增的指標除外。

      刪除記錄指標

      如要刪除使用者定義的記錄指標,請按照下列步驟操作:

      控制台

      1. 在 Google Cloud 控制台中,前往「記錄指標」頁面:

        前往「記錄指標」

        如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

      2. 選取要刪除的指標,然後按一下「刪除」

        您也可以按一下要刪除的記錄指標 選單 中的「刪除指標」

      gcloud

      使用下列指令,在目前的 Google Cloud 專案中刪除使用者定義的記錄型指標:

      gcloud logging metrics delete METRIC_NAME
      

      如需詳細資料,請使用下列指令:

      gcloud logging metrics delete --help
      

      API

      如要刪除使用者定義的記錄指標,請使用 API 中的 projects.metrics.delete 方法。

      此外,在 Google Cloud 控制台的「記錄指標」頁面中,記錄指標介面的「使用者定義的指標」窗格提供更多功能,可協助您管理Google Cloud 專案中的使用者定義指標。詳情請參閱使用者定義指標