記錄 Apigee 存取記錄

本頁面適用於 Apigee,但不適用於 Apigee Hybrid

查看 Apigee Edge 說明文件。

Apigee 訂閱和即付即用客戶可以為機構中的每個 Apigee 執行個體啟用 Cloud Logging 入站存取記錄。啟用這項功能後,您就能查看 Apigee 基礎架構 (例如外部 Application Load Balancer 或 Anthos 閘道) 中由入口網關產生的記錄,協助排解 Apigee API 呼叫的問題。

請注意,如果為一或多個 Apigee 例項啟用這項功能,系統就會針對傳送至專案的記錄向您收費。如要進一步瞭解 Google Cloud 記錄功能的費用,請參閱 Cloud Logging 定價

本主題說明 Apigee 客戶如何為組織中的 Apigee 執行個體啟用及使用 Cloud Logging 入站存取記錄。

事前準備

如要啟用這項功能,您必須具備下列角色和權限:

  • 角色:Apigee 機構管理員 (roles/apigee.admin)
  • 權限
    • apigee.instances.create
    • apigee.instances.update

檢查角色

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「身分與存取權管理」頁面
  2. 選取專案。
  3. 在「Principal」欄中,找出含有您電子郵件地址的資料列。

    如果您的電子郵件地址不在該欄中,表示您沒有任何角色。

  4. 在含有電子郵件地址的資料列「角色」欄中,檢查角色清單是否包含必要角色。

授予角色

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「身分與存取權管理」頁面
  2. 選取專案。
  3. 按一下 「授予存取權」
  4. 在「New principals」(新增主體) 欄位中輸入您的電子郵件地址。
  5. 在「請選擇角色」清單中,選取角色。
  6. 如要授予其他角色,請按一下 「Add another role」(新增其他角色),然後新增其他角色。
  7. 按一下「儲存」

為 Apigee 執行個體啟用入站存取記錄功能

使用 Cloud 控制台中的 Apigee UI 或 API 建立或編輯 Apigee 執行個體時,可以啟用 Cloud Logging 入站存取記錄功能。

如要在建立或更新 Apigee 執行個體時啟用這項功能,請按照「管理執行個體」中的操作說明,開始建立或編輯執行個體。

Apigee in Cloud 控制台

在「建立執行個體」或「編輯執行個體」頁面的「記錄」部分中:

  1. 按一下「啟用記錄功能」切換鈕,啟用這項功能。
  2. 您可以從「回應代碼」方塊中選取 HTTP 回應代碼,做為存取記錄的篩選器。

    如要包含所有記錄 (不論 HTTP 回應代碼為何),請選取 None (all HTTP responses)

    如要建立自訂篩選器,請選取 Custom,然後依下列格式輸入篩選器:

    status_code > XX && status code <= YY

    例如:

    status_code >= 500 && status_code < 504

  3. 提供建立或編輯執行個體所需的所有資訊後,請按一下「儲存」

Apigee API

如要使用 Apigee API 更新現有執行個體,請使用下列指令:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/instances/INSTANCE_NAME?updateMask=access_logging_config.enabled,access_logging_config.filter" \
    -X PATCH -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' -H 'Content-Type: application/json' \
    -d '{
      "name": "INSTANCE_NAME",
      "accessLoggingConfig":
        {
          "enabled": "true",
          "filter": "status_code >= 0 && status_code < 600 "
        }
      }'

其中:

  • ORG_NAME 是 Apigee 機構的名稱。
  • INSTANCE_NAME 是您要編輯的 Apigee 例項名稱。

請注意,在這項指令中,為 filter 屬性指定的值會傳回所有記錄。如果您想根據 HTTP 或其他狀態碼篩選記錄,可以調整 filter 值。

執行個體成功建立或更新後,幾分鐘內就會在專案中顯示該執行個體的入站存取記錄。

查看入口存取記錄

啟用這項功能後,您就可以在 Google Cloud 主控台的記錄檔探索工具中,查看專案中執行個體的入站存取記錄,時間只需幾分鐘。

如要在記錄檔探索工具中查看記錄項目,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,依序選取「Logging」>「Logs Explorer」

    前往「Logs Explorer」頁面

  2. 確認已選取 Google Cloud 專案。
  3. 在「Query」分頁中,使用下列任一方法,在「Query」編輯器欄位中輸入記錄名稱:
    • 如要使用「記錄檔名稱」選取方塊:
      1. 按一下「Log name」選取方塊,開啟「Log name」窗格。
      2. 在「Select log names」方塊中輸入 ingress_instance
      3. 按一下 [套用]
      4. 記錄名稱會顯示在「查詢」編輯器欄位中。
    • 在「Query」編輯器欄位中,直接輸入記錄名稱:

      logName="projects/ORG_NAME/logs/apigee.googleapis.com/ingress_instance"

  4. 在「查詢」編輯器欄位中建立查詢的其餘部分。記錄會顯示在「Query results」清單中。
  5. 按一下任一記錄項目即可查看詳細資料。

使用入口存取記錄排解問題

啟用這項功能後,記錄檔就會顯示在記錄檔探索工具中,您可以利用多項 Cloud Logging 功能協助排解問題,包括:

  • 使用 Cloud Logging 查詢語言建構查詢

    使用記錄檔探索工具時,您可以透過在查詢編輯器欄位中編寫查詢,以及從記錄項目內的篩選器選單選項中進行選取,擷取及分析記錄。如要進一步瞭解如何在記錄檔探索工具中建構查詢及分析資料,請參閱「使用 Cloud Logging 查詢語言建構及儲存查詢」。

  • 啟用記錄指標和警示

    您可以自行定義記錄指標,擷取 Apigee 執行個體的特定資訊。詳情請參閱「記錄指標總覽」。

    您可以透過 Logs Explorer 建立記錄型警告政策。如需詳細資訊和步驟,請參閱「使用記錄檔探索工具建立以記錄為基礎的快訊政策」。

  • 依 HTTP 狀態碼篩選

    即使您在啟用這項功能時,並未選擇依據 HTTP 狀態碼篩選入站存取記錄,還是可以在「記錄探索器」中精細調整查詢,以便依據 HTTP 狀態碼篩選記錄。如要將這個篩選器加入查詢,請使用下列格式:

    status_code > XX && status code <= YY

    例如:

    status_code >= 500 && status_code < 504

  • 依入口狀態碼篩選

    除了依 HTTP 狀態碼篩選外,您也可以建立查詢來篩選 ingress status_code 0。這個代碼通常表示網路或連線問題,導致用戶端無法收到伺服器回應。

如要進一步瞭解記錄檔探索工具提供的所有功能,請參閱「 使用記錄檔探索工具查看記錄檔」一文。

停用這項功能

完成 Apigee 執行個體的疑難排解後,您可以編輯執行個體來停用這項功能。停用這項功能後,系統將會關閉對專案中 ingress_instance 記錄的存取權,並停止計費。

您可以使用 Cloud 控制台中的 Apigee UI 或 API 編輯執行個體,停用這項功能。

Apigee in Cloud 控制台

如要使用 Cloud 主控台中的 Apigee 停用這項功能,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,依序前往「Management」>「instances」 頁面。

    前往「Instances」(執行個體)

  2. 按一下要編輯的執行個體。
  3. 在「Instance details」(執行個體詳細資料) 頁面中,按一下 「Edit」(編輯)
  4. 在「編輯執行個體」頁面中,按一下「啟用記錄」切換鈕來停用這項功能。
  5. 按一下 [儲存]

Apigee API

使用下列指令停用執行個體中的功能:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/instances/INSTANCE_NAME?updateMask=access_logging_config.enabled,access_logging_config.filter" \
    -X PATCH -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' -H 'Content-Type: application/json' \
    -d '{
      "name": "INSTANCE_NAME",
      "accessLoggingConfig":
        {
            "enabled": "false"
        }
        }'

其中:

  • ORG_NAME 是 Apigee 機構的名稱。
  • INSTANCE_NAME 是您要編輯的 Apigee 例項名稱。