作業異常狀況總覽

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

作業異常狀況是指 API 出現異常或未預期的資料模式。作業異常狀況會持續監控並執行統計分析,找出異常狀況。

作業異常狀況會自動偵測下列異常類型:

  • 機構、環境和區域層級的所有 HTTP 4xx 或 5xx 錯誤增加
  • 組織、環境和區域層級的第 90 個百分位數 (p90) 回應延遲時間總和增加

舉例來說,在這張 API 錯誤率圖表中,錯誤率在早上 7 點左右突然飆升。與該時間之前的資料相比,這項增幅異常,因此可歸類為異常狀況。

錯誤率異常狀況圖。

作業異常狀況也可以辨別不太可能表示異常狀況的變異。舉例來說,您可能會發現異常狀況發生前,錯誤率出現些微變化,但這些變化不夠顯著,因此不會歸類為異常狀況。

異常與隨機資料變異。

作業異常狀況可讓您:

  • 查看及調查異常狀況:作業異常狀況報表會回報異常的 API 事件 (異常狀況)。您可以深入瞭解事件發生的地點和時間,以及觸發事件的原因,以便快速解決問題。
  • 建立異常狀況快訊,並設定通知,讓 Apigee 在發生事件時傳送訊息給您。

使用作業異常狀況的必要條件

如要使用作業異常狀況:

在機構中啟用 AAPI Ops

如要使用 AAPI Ops,必須在貴機構中啟用這項功能。請先取得 OAuth 2.0 存取權杖,然後,您可以使用傳遞存取權杖的 API 呼叫,啟用 AAPI Ops。

查看目前的外掛程式設定

啟用 AAPI Ops 前,請先發出下列 API 呼叫,確認是否已啟用:

curl "https://apigee.googleapis.com/v1/organizations/YOUR_ORG" \
  -X GET \
  -H "Content-type: application/json" \
  -H "Authorization: Bearer $TOKEN"

其中 YOUR_ORG 是貴機構的名稱,$TOKEN 則是 OAuth 存取權杖的環境變數。這會傳回貴機構的基本資訊,包括以以下行開頭的 Apigee 外掛程式部分:

"addonsConfig": {

檢查這個部分是否包含以 "advancedApiOpsConfig" 開頭的項目,例如以下範例:

"advancedApiOpsConfig": {
          "enabled": "true"
      }

如果這個項目存在,表示機構已啟用 AAPI 作業。如果沒有,請按照下節說明啟用這項功能。

啟用 AAPI Ops

如要在機構中啟用 AAPI Ops,並使用預設設定,請發出如下所示的 POST 要求。

curl "https://apigee.googleapis.com/v1/organizations/ORG:setAddons" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{
    "addonsConfig": {
      "advancedApiOpsConfig": {
          "enabled": "true"
      }
      <Current add-ons configuration>
    }
  }'

其中 <Current add-ons configuration> 是目前的外掛程式設定。如要查看目前的外掛程式設定,請呼叫相關函式,並查看回應內容。舉例來說,如果目前的外掛程式設定為

"addonsConfig": {
    "integrationConfig": {
        "enabled":"true"
     },
    "monetizationConfig": {
        "enabled":"true"
     }
  },

啟用 AAPI Ops 的指令如下:

curl "https://apigee.googleapis.com/v1/organizations/YOUR_ORG:setAddons" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{
    "addonsConfig": {
      "advancedApiOpsConfig": {
          "enabled": "true"
      },
    "integrationConfig": {
          "enabled": "true"
      },
    "monetizationConfig": {
          "enabled": "true"
      }
    }
  }'

傳送要求後,您會看到類似以下的回應:

{
  "name": "organizations/apigee-docs-d/operations/0718a945-76e0-4393-a456-f9929603b32c",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
    "operationType": "UPDATE",
    "targetResourceName": "organizations/apigee-docs-d",
    "state": "IN_PROGRESS"
  }
}

在機構中停用 AAPI Ops

如果基於某些原因,您需要在機構中停用 AAPI Ops,可以發出 POST 要求,並在要求主體中傳遞外掛程式設定,如下所示。

curl "https://apigee.googleapis.com/v1/organizations/$ORG:setAddons" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{
    "addonsConfig": {
      "advancedApiOpsConfig": {
          "enabled": "false"
      }
     <Include current add-ons configuration>
    }
  }'

以下是回應範例,顯示作業正在進行中:

{
  "name": "organizations/$ORG/operations/06274ffb-8940-41da-836d-781cba190437",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
    "operationType": "UPDATE",
    "targetResourceName": "organizations/$ORG",
    "state": "IN_PROGRESS"
  }
}

詳情請參閱「設定機構外掛程式 API」。

異常偵測功能的運作方式

異常偵測包含下列階段:

訓練模型

作業異常偵測功能會根據 API Proxy 的歷來時間序列資料,訓練模型來瞭解 API Proxy 的行為。您無須採取任何行動來訓練模型。Apigee 會自動根據前六小時的 API 資料建立及訓練模型。因此,Apigee 必須先取得 API Proxy 至少六小時的資料來訓練模型,才能記錄異常狀況。

訓練的目的是提高模型準確度,然後以歷來資料測試模型。如要測試模型的準確度,最簡單的方法是計算錯誤率,也就是偽陽性和偽陰性的總和除以預測事件總數。

記錄異常事件

在執行階段,作業異常偵測會比較 API Proxy 的目前行為與模型預測的行為。作業異常狀況接著就能以特定信賴度,判斷作業指標何時會超出預測值。舉例來說,當 5xx 錯誤率超過模型預測的錯誤率時。

Apigee 偵測到異常狀況時,會自動將事件記錄在作業異常狀況資訊主頁中。資訊主頁顯示的事件清單包含所有偵測到的異常狀況,以及觸發的快訊。