設定快訊和通知

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

快訊條件會定義特定狀態碼 (例如 404/502/2xx/4xx/5xx)、延遲和錯誤代碼門檻,一旦超出門檻,系統就會在 UI 中觸發視覺快訊,並透過各種管道傳送通知,例如電子郵件、Slack、PagerDuty 或 Webhook。您可以在環境、API Proxy 或目標服務,或區域層級設定快訊。觸發快訊時,您會收到新增快訊和通知時定義的通知。

舉例來說,如果部署至正式環境的 orders-prod API 代理程式,在 5 分鐘內 5xx 錯誤率超過 23%,您可能想觸發快訊,並傳送通知給營運團隊。

下圖顯示 UI 中的快訊:

以下是觸發快訊時可能收到的電子郵件通知範例。

在快訊通知內文中,按一下下列連結即可查看更多資訊:

  • 按一下「查看詳細資料」,即可查看更多詳細資料,包括過去一小時內各項條件的快訊設定和活動。
  • 「快訊定義」:查看快訊定義。
  • 「快訊記錄」:查看特定快訊的詳細資訊。
  • 查看劇本:查看建議採取的行動 (如有)。
  • 按一下「View API Analytics Report」(查看 API Analytics 報表),查看快訊條件的自訂報表。

下列各節說明如何設定及管理快訊和通知。

關於快訊類型

API 監控服務的初始版本可讓您建立以模式為準的規則,根據一組預先定義的條件,指定何時要發出快訊。這類快訊稱為「固定」快訊,也是 API 監控服務在初始版本中支援的唯一快訊類型。

舉例來說,您可以在下列情況引發固定警報:

  • [rate of 5xx errors] [is greater than] [10%] for [10 minutes] from [target mytarget1]
  • [count of 2xx errors] [is less than] [50] for [5 minutes] in [region us-east-1]
  • [proxy myproxy1] 的 [p90 延遲時間] [大於] [750 毫秒] [10 分鐘]

19.11.13 安全性報告 Beta 版 新增了下列類型的快訊:

由於 API 監控現在支援多種快訊,因此「建立快訊」對話方塊現在會顯示選取快訊類型的選項:

「建立快訊」對話方塊現在提供多種快訊類型

查看快訊設定

如要查看目前定義的快訊設定,請在 Edge 使用者介面中依序點選「Analyze」>「Alert Rules」

系統會顯示「快訊」頁面,如下圖所示:

快訊電子郵件

如圖所示,「快訊」頁面可讓您:

查看貴機構觸發的快訊記錄

如要查看過去 24 小時內為貴機構觸發的快訊記錄,請在 Edge UI 中依序點按「Analyze」>「Alert Rules」,然後按一下「History」分頁標籤。

系統隨即會顯示「快訊記錄」頁面。

快訊記錄

按一下快訊名稱,即可在「調查資訊主頁」中查看快訊詳細資料。您可以搜尋警報名稱的部分或全部內容,篩選清單。

新增快訊和通知

如要新增快訊和通知,請按照下列步驟操作:

  1. 在 Edge 使用者介面中,依序點選「Analyze」>「Alert Rules」
  2. 按一下「+ 警報」
  3. 輸入有關快訊的下列一般資訊:
    欄位 說明
    快訊名稱 快訊名稱。使用可描述觸發條件且對您有意義的名稱。名稱長度不得超過 128 個字元。
    快訊類型 選取「已修正」。如要進一步瞭解快訊類型,請參閱「關於快訊類型」。
    說明 快訊說明。
    環境 從下拉式清單中選取環境。
    狀態 切換啟用或停用快訊。
  4. 定義會觸發快訊的第一個條件的指標、門檻和維度。
    條件欄位 說明
    指標

    選取下列其中一個指標:

    • 狀態碼:從清單中選取狀態碼,例如 401、404、2xx、4xx 或 5xx HTTP。

      附註

      • API 可讓您設定更廣泛的狀態碼。使用 API 指定 200 到 299、400 到 599 之間的任何狀態碼,以及 2xx、4xx 或 5xx 的萬用字元值。請參閱「建立快訊」。
      • 如要設定速率限制快訊 (HTTP 狀態碼 429),請將指標設為 Spike Arrest 錯誤代碼
      • 您可以使用 AssignMessage 政策,重新編寫 HTTP 回應代碼 (來自 Proxy 錯誤或目標錯誤)。API 監控功能會忽略所有重新編寫的代碼,並記錄實際的 HTTP 回應代碼。
    • 延遲時間:從下拉式選單中選取延遲時間值。 具體來說,包括 p50 (第 50 個百分位數)、p90 (第 90 個百分位數)、p95 (第 95 個百分位數) 或 p99 (第 99 個百分位數)。舉例來說,選取 p95 即可設定快訊,在第 95 個百分位數的回應延遲時間大於下方設定的門檻時觸發。
    • 故障代碼:從清單中選取類別、子類別和故障代碼。或者,在類別或子類別中選取下列任一項目:

      • 全部:這個類別/子類別中所有故障代碼的總和必須符合指標條件。
      • 任何 - 這個類別/子類別中的單一故障代碼必須符合指標條件。

      詳情請參閱故障代碼參考資料

    門檻

    設定所選指標的門檻:

    • 狀態碼:將門檻設為一段時間內的百分比率、計數或每秒交易數 (TPS)。
    • 延遲時間:選取一段時間內的總延遲時間或目標延遲時間 (毫秒) 做為門檻。在這種情況下,如果指定百分位數的觀察延遲時間 (有流量時每分鐘更新一次) 超過門檻條件,且時間範圍涵蓋指定時間長度,就會觸發快訊。也就是說,系統不會在整個時間長度內匯總門檻條件。
    • 錯誤代碼:設定一段時間內的百分比率、計數或每秒交易數 (TPS) 做為門檻。
    維度 按一下「+ 新增維度」,然後指定要傳回結果的維度詳細資料,包括 API Proxy、目標服務或開發人員應用程式,以及區域。

    如果將特定維度設為:

    • 全部 - 維度中的所有實體都必須符合指標條件。 您無法為「延遲」類型的指標選取「全部」
    • 任何 - 僅適用於區域。維度中的實體必須符合任何單一區域的指標條件。
      注意:如果是 API Proxy 或目標服務,請選取「集合」來支援「任何」功能。
    • 集合:從清單中選取集合,指定 API Proxy 或目標服務的集合。在這種情況下,集合中的任何實體都必須符合條件。

    如果將維度設為「目標」,您可以選取目標服務或 ServiceCallout 政策指定的服務。ServiceCallout 政策的目標會顯示為以 `sc://` 為前置字元的值,例如 `sc://my.endpoint.net`。

  5. 按一下「顯示狀況資料」,即可查看過去一小時的最新狀況資料。
    圖表中的錯誤率超過快訊條件門檻時,會顯示為紅色。
    顯示條件資料

    按一下「隱藏病況資料」即可隱藏資料。

  6. 按一下「+ 新增條件」,即可新增其他條件,然後重複步驟 4 和 5。

    注意:如果指定多個條件,系統會在所有條件都符合時觸發快訊。

  7. 如要根據設定的快訊條件建立自訂報表,請按一下「根據快訊條件建立 API 分析報表」。 如果您不是機構管理員,這個選項會顯示為灰色。

    詳情請參閱「從快訊建立自訂報表」。

    注意:儲存快訊後,您可以修改自訂報表,詳情請參閱「管理自訂報表」。

  8. 按一下「+ 通知」,新增快訊通知。
    通知詳細資訊 說明
    頻道 選取要使用的通知管道,並指定目的地:電子郵件、Slack、PagerDuty 或 Webhook。
    目的地 根據所選管道類型指定目的地:
    • 電子郵件 - 電子郵件地址,例如 joe@company.com
    • Slack - Slack 頻道網址,例如 https://hooks.slack.com/services/T00000000/B00000000/XXXXX
    • PagerDuty - PagerDuty 代碼,例如 abcd1234efgh56789
    • Webhook - Webhook 網址,例如 https://apigee.com/test-webhook。 如要瞭解傳送至網址的物件,請參閱「Webhook 物件格式」。

      在 webhook 的網址中傳遞任何憑證資訊。例如 https://apigee.com/test-webhook?auth_token=1234_abcd

      您可以指定端點的網址,該端點可剖析 webhook 物件,以修改或處理該物件。 舉例來說,您可以指定 API 的網址 (例如 Edge API),或是任何可處理物件的其他端點。

      注意:每則通知只能指定一個目的地。如要為同一管道類型指定多個目的地,請新增其他通知。

  9. 如要新增其他通知,請重複執行步驟 8。
  10. 如果您已新增通知,請設定下列欄位:
    欄位 說明
    教戰手冊 (選用) 任意形式的文字欄位,可簡短說明警報觸發時建議採取的解決動作。您也可以指定內部 Wiki 或社群頁面的連結,以供參考最佳做法。這個欄位中的資訊會顯示在通知中。這個欄位的內容不得超過 1500 個字元。
    節流 傳送通知的頻率。從下拉式清單中選取值。有效值包括:15 分鐘、30 分鐘和 1 小時。
  11. 按一下「儲存」

Webhook 物件格式

如果將 Webhook 網址指定為快訊通知的傳送目的地,傳送至該網址的物件格式如下:
{
  "alertInstanceId": "event-id",
  "alertName": "name",
  "org": "org-name",
  "description": "alert-description",
  "alertId": "alert-id",
  "alertTime": "alert-timestamp",
  "thresholdViolations":{"Count0": "Duration=threshold-duration Region=region Status Code=2xx Proxy=proxy Violation=violation-description"
  },
  "thresholdViolationsFormatted": [
    {
      "metric": "count",
      "duration": "threshold-duration",
      "proxy": "proxy",
      "region": "region",
      "statusCode": "2xx",
      "violation": "violation-description"
    }
  ],
  "playbook": "playbook-link"
}

thresholdViolationsthresholdViolationsFormatted 屬性包含快訊的詳細資料。thresholdViolations 屬性包含詳細資料的單一字串,而 thresholdViolationsFormatted 則包含描述快訊的物件。通常您會使用 thresholdViolationsFormatted 屬性,因為解碼較簡單。

上例顯示設定警報指標時,固定警報的這些屬性內容,以根據 HTTP 2xx 狀態碼觸發警報,如 statusCode 屬性所示。

這些屬性的內容取決於快訊類型 (例如固定或異常狀況) 和快訊的特定設定。舉例來說,如果您根據故障代碼建立固定警報,則 thresholdViolationsFormatted 屬性會包含 faultCode 屬性,而不是 statusCode 屬性。

下表列出不同快訊類型 thresholdViolationsFormatted 屬性的所有可能屬性:

快訊類型 Possible thresholdViolationsFormatted contents
固定
metric, proxy, target, developerApp,
region, statusCode, faultCodeCategory, faultCodeSubCategory,
faultCode, percentile, comparisonType, thresholdValue,
triggerValue, duration, violation
總流量
metric, proxy, target, developerApp,
region, comparisonType, thresholdValue, triggerValue,
duration, violation
異常狀況
metric, proxy, target, region,
statusCode, faultCode, percentile, sensitivity,
violation
TLS 憑證到期
envName, certificateName, thresholdValue, violation

根據快訊建立自訂報表

如要從快訊建立自訂報表,請按照下列步驟操作:

  1. 建立快訊時,請按一下「根據快訊條件建立 API 數據分析報表」,如「新增快訊和通知」一文所述。

    儲存快訊後,UI 會顯示以下訊息:

    Alert alertName saved successfully. To customize the report generated, click here.

    按一下訊息,即可在新分頁中開啟報告,並預先填入相關欄位。自訂報表預設名稱為: API Monitoring Generated alertName

  2. 視需要編輯自訂報表,然後按一下「儲存」
  3. 按一下清單中的報表名稱,然後執行自訂報表

如要管理根據快訊條件建立的自訂報表,請按照下列步驟操作:

  1. 在 Edge UI 中,依序點選「Analyze」>「Alert Rules」
  2. 按一下「設定」分頁標籤
  3. 在「報表」欄中,按一下與要管理的快訊相關聯的自訂報表。

    自訂報表頁面會在新分頁中顯示。如果「報表」欄位空白,表示尚未建立自訂報表。如要新增自訂報表,可以編輯快訊

  4. 視需要編輯自訂報表,然後按一下「儲存」
  5. 按一下清單中的報表名稱,然後執行自訂報表

啟用或停用快訊

如要啟用或停用快訊,請按照下列步驟操作:

  1. 在 Edge UI 中,依序點選「Analyze」>「Alert Rules」
  2. 在「狀態」欄中,按一下要啟用或停用快訊的切換鈕。

編輯快訊

如要編輯快訊,請按照下列步驟操作:

  1. 在 Edge UI 中,依序點選「Analyze」>「Alert Rules」
  2. 按一下要編輯的快訊名稱。
  3. 視需要編輯快訊。
  4. 按一下 [儲存]

刪除快訊

如要刪除快訊,請按照下列步驟操作:

  1. 在 Edge UI 中,依序點選「Analyze」>「Alert Rules」
  2. 將游標懸停在要刪除的快訊上,然後按一下動作選單中的

Apigee 建議您設定下列快訊,以便在發生常見問題時收到通知。 部分快訊與 API 實作方式有關,僅適用於特定情況。舉例來說,下方顯示的幾項快訊僅適用於使用 ServiceCallout 政策JavaCallout 政策的情況。

快訊 UI 範例 API 範例
所有/任何 API 的 5xx 狀態碼 為 API Proxy 設定 5xx 狀態碼快訊 使用 API 為 API Proxy 設定 5xx 狀態碼快訊
API Proxy 的 P95 延遲時間 為 API Proxy 設定 P95 延遲時間快訊 使用 API 為 API Proxy 設定 P95 延遲時間快訊
所有 API Proxy 的 404 (找不到應用程式) 狀態碼 為所有 API Proxy 設定 404 (找不到應用程式) 狀態碼快訊 為使用 API 的所有 API Proxy 設定 404 (找不到應用程式) 狀態碼快訊
API 的 API Proxy 數量 為 API 設定 API Proxy 數量快訊 為使用 API 的 API 設定 API Proxy 數量快訊
目標服務的錯誤率 為目標服務設定錯誤率快訊 使用 API 為目標服務設定錯誤率快訊
ServiceCallout 政策的錯誤率 (如適用) 為 ServiceCallout 政策設定錯誤率快訊 使用 API 為 ServiceCallout 政策設定錯誤率快訊
特定故障代碼,包括:
  • API 通訊協定錯誤 (通常為 4xx)
    • 使用者介面:依序點選「API Protocol」(API 通訊協定) >「All」(全部)
    • API:
      "faultCodeCategory":"API Protocol",
      "faultCodeSubCategory":"ALL"
  • 攔截所有 HTTP 錯誤
    • 使用者介面:依序點選「Gateway」>「Other」>「Gateway HTTPErrorResponseCode」
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Others",
      "faultCodeName": "Gateway HTTPErrorResponseCode"
  • Java 服務呼叫執行錯誤 (如適用)
    • 使用者介面:依序點選「Execution Policy」>「Java Callout」>「JavaCallout ExecutionFailed」
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Java Callout",
      "faultCodeName": "JavaCallout ExecutionFailed"
  • 節點指令碼執行錯誤 (如適用)
    • 使用者介面:執行政策 > 節點指令碼 > NodeScript ExecutionError
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Node Script",
      "faultCodeName": "NodeScript ExecutionError"
  • 配額違規事項
    • 使用者介面:依序選取「流量管理政策」>「配額」>「配額違規」
    • API:
      "faultCodeCategory": "Traffic Mgmt Policy",
      "faultCodeSubCategory": "Quota",
      "faultCodeName": "Quota Violation"
  • 安全性政策錯誤
    • 使用者介面:安全性政策 > 任何
    • API:
      "faultCodeCategory": "Security Policy",
      "faultCodeName": "Any"
  • 感應器錯誤 (如適用)
    • 使用者介面:Sense > Sense > Sense RaiseFault
    • API:
      "faultCodeCategory": "Sense",
      "faultCodeSubCategory": "Sense",
      "faultCodeName": "Sense RaiseFault"
  • 服務呼叫執行錯誤 (如適用)
    • 使用者介面:依序選取「執行政策」>「服務呼叫」>「ServiceCallout ExecutionFailed」
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Service Callout",
      "faultCodeName": "ServiceCallout ExecutionFailed"
  • 目標錯誤
    • 使用者介面:閘道 > 目標 > Gateway TimeoutWithTargetOrCallout
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Target",
      "faultCodeName": "Gateway TimeoutWithTargetOrCallout"
  • 目標錯誤,沒有有效目標
    • 使用者介面:閘道 > 目標 > Gateway TargetServerConfiguredInLoadBalancersIsDown
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Target",
      "faultCodeName": "Gateway TargetServerConfiguredInLoadBalancerIsDown
  • 目標錯誤,非預期的 EOF
    • 使用者介面:依序選取「閘道」>「目標」>「Gateway UnexpectedEOFAtTarget」
    • API:
      "faultCodeCategory": "Gateway", "faultCodeSubCategory": "Target", "faultCodeName" : "Gateway UnexpectedEOFAtTarget"
  • 虛擬主機錯誤
    • 使用者介面:依序前往「Gateway」>「Virtual Host」>「VirtualHost InvalidKeystoreOrTrustStore」
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Virtual Host",
      "faultCodeName": "VirtualHost InvalidKeystoreOrTrustStore"
設定政策錯誤代碼快訊 使用 API 設定政策錯誤代碼快訊

為 API Proxy 設定 5xx 狀態碼快訊

以下範例說明如何使用 UI 設定快訊,當任何區域的飯店 API Proxy 每秒交易數 (TPS) 超過 100 個,且 5xx 狀態碼持續 10 分鐘時,就會觸發快訊。詳情請參閱「新增快訊和通知」。

如要瞭解如何使用 API,請參閱「使用 API 為 Proxy 設定 5xx 狀態碼快訊」。

為 API Proxy 設定 P95 延遲時間快訊

以下範例說明如何使用 UI 設定快訊,當任何區域的飯店 API Proxy,在第 95 個百分位數的總回應延遲時間超過 100 毫秒,且持續 5 分鐘時,就會觸發快訊。詳情請參閱「新增快訊和通知」。

如要瞭解如何使用 API,請參閱「使用 API 為 API Proxy 設定 P95 延遲時間快訊」一文。

為所有 API Proxy 設定 404 (找不到應用程式) 快訊

以下範例說明如何使用 UI 設定快訊,當任何區域中所有 API Proxy 的 404 狀態碼百分比在 5 分鐘內超過 5% 時,就會觸發快訊。詳情請參閱「新增快訊和通知」。

如要瞭解如何使用 API,請參閱「使用 API 為所有 API Proxy 設定 404 (找不到應用程式) 快訊」。

為 API 設定 API Proxy 數量快訊

以下範例說明如何使用 UI 設定快訊,當任何區域的 API 5xx 程式碼計數在 5 分鐘內超過 200 時,就會觸發快訊。在本範例中,API 會擷取至「Critical API Proxies」集合。如需詳細資訊,請參閱:

如要瞭解如何使用 API,請參閱「為使用 API 的 API 設定 API Proxy 計數快訊」。

為目標服務設定錯誤率快訊

以下範例說明如何使用 UI 設定快訊,當任何區域的目標服務 500 程式碼率在 1 小時內超過 10% 時,系統就會觸發快訊。在本範例中,目標服務會擷取至「重要目標」集合。如需詳細資訊,請參閱:

如要瞭解如何使用 API,請參閱「使用 API 為目標服務設定錯誤率快訊」。

為 ServiceCallout 政策設定錯誤率快訊

以下範例說明如何使用使用者介面設定快訊,當 ServiceCallout 政策指定的服務在任何區域的 500 程式碼率,於 1 小時內超過 10% 時,就會觸發快訊。如需詳細資訊,請參閱:

如要瞭解如何使用 API,請參閱使用 API 為服務呼叫政策設定錯誤率快訊

設定政策錯誤代碼快訊

以下範例說明如何使用 UI 設定快訊,當所有 API 的 VerifyJWT 政策在 10 分鐘內,JWT AlgorithmMismatch 錯誤代碼計數大於 5 時,就會觸發快訊。如需詳細資訊,請參閱:

如要瞭解如何使用 API,請參閱「使用 API 設定政策錯誤代碼的錯誤代碼快訊」。