本頁面適用於 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
檢查角色
-
前往 Google Cloud 控制台的「IAM」頁面。
前往「身分與存取權管理」頁面 - 選取專案。
-
在「Principal」欄中,找出含有您電子郵件地址的資料列。
如果您的電子郵件地址不在該欄中,表示您沒有任何角色。
- 在含有電子郵件地址的資料列「角色」欄中,檢查角色清單是否包含必要角色。
授予角色
-
前往 Google Cloud 控制台的「IAM」頁面。
前往「身分與存取權管理」頁面 - 選取專案。
- 按一下 「授予存取權」。
- 在「New principals」(新增主體) 欄位中輸入您的電子郵件地址。
- 在「請選擇角色」清單中,選取角色。
- 如要授予其他角色,請按一下 「Add another role」(新增其他角色),然後新增其他角色。
- 按一下「儲存」。
為 Apigee 執行個體啟用入站存取記錄功能
使用 Cloud 控制台中的 Apigee UI 或 API 建立或編輯 Apigee 執行個體時,可以啟用 Cloud Logging 入站存取記錄功能。
如要在建立或更新 Apigee 執行個體時啟用這項功能,請按照「管理執行個體」中的操作說明,開始建立或編輯執行個體。
Apigee in Cloud 控制台
在「建立執行個體」或「編輯執行個體」頁面的「記錄」部分中:
- 按一下「啟用記錄功能」切換鈕,啟用這項功能。
- 您可以從「回應代碼」方塊中選取 HTTP 回應代碼,做為存取記錄的篩選器。
如要包含所有記錄 (不論 HTTP 回應代碼為何),請選取
None (all HTTP responses)
。如要建立自訂篩選器,請選取
Custom
,然後依下列格式輸入篩選器:status_code > XX && status code <= YY
例如:
status_code >= 500 && status_code < 504
- 提供建立或編輯執行個體所需的所有資訊後,請按一下「儲存」。
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 主控台的記錄檔探索工具中,查看專案中執行個體的入站存取記錄,時間只需幾分鐘。
如要在記錄檔探索工具中查看記錄項目,請按照下列步驟操作:
- 在 Google Cloud 控制台中,依序選取「Logging」>「Logs Explorer」。
- 確認已選取 Google Cloud 專案。
- 在「Query」分頁中,使用下列任一方法,在「Query」編輯器欄位中輸入記錄名稱:
- 如要使用「記錄檔名稱」選取方塊:
- 按一下「Log name」選取方塊,開啟「Log name」窗格。
- 在「Select log names」方塊中輸入
ingress_instance
。 - 按一下 [套用]。
- 記錄名稱會顯示在「查詢」編輯器欄位中。
- 在「Query」編輯器欄位中,直接輸入記錄名稱:
logName="projects/ORG_NAME/logs/apigee.googleapis.com/ingress_instance"
- 如要使用「記錄檔名稱」選取方塊:
- 在「查詢」編輯器欄位中建立查詢的其餘部分。記錄會顯示在「Query results」清單中。
- 按一下任一記錄項目即可查看詳細資料。
使用入口存取記錄排解問題
啟用這項功能後,記錄檔就會顯示在記錄檔探索工具中,您可以利用多項 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 停用這項功能,請按照下列步驟操作:
-
在 Google Cloud 控制台中,依序前往「Management」>「instances」 頁面。
- 按一下要編輯的執行個體。
- 在「Instance details」(執行個體詳細資料) 頁面中,按一下 「Edit」(編輯)。
- 在「編輯執行個體」頁面中,按一下「啟用記錄」切換鈕來停用這項功能。
- 按一下 [儲存]。
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 例項名稱。