設定快訊和通知

您正在查看 Apigee Edge 說明文件。
請參閱 Apigee X 說明文件
info

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

舉例來說,如果在 5 分鐘內,部署到實際執行環境的 orders-prod API proxy 的 5xx 錯誤率超過 23%,您可能會觸發快訊並傳送通知給營運團隊。

下圖顯示警示在 UI 中的顯示方式:

以下是電子郵件通知範例,您可能會在觸發快訊時收到這類通知。

如要進一步瞭解詳情,請在警示通知的內文中點選下列連結:

  • 點選「查看詳細資料」,即可查看更多詳細資料,包括快訊設定和過去一小時內每個條件的活動。
  • 快訊定義:查看快訊定義。
  • 快訊記錄:查看特定快訊的更多資訊。
  • 點選「查看 Playbook」,即可查看建議的行動 (如有)。
  • 查看 API Analytics 報表,查看警示條件的自訂報表。

下列各節將說明如何設定及管理警示和通知。

關於快訊類型

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

舉例來說,您可以在下列情況下發出固定快訊:

  • [5xx 錯誤率] [大於] [10%],持續 [10 分鐘],來自 [目標 mytarget1]
  • [2xx 錯誤計數] [小於] [50],持續 [5 分鐘],發生在 [us-east-1 區域]
  • [p90 延遲時間] [大於] [750 毫秒],持續 [10 分鐘],發生於 [proxy myproxy1]

19.11.13 版 Security Reporting Beta 版本新增了以下類型的警報:

  • 總流量 (Beta 版) 快訊。當流量在特定時間範圍內變動指定百分比時,您可以使用這類快訊來發出快訊。
  • 異常 (Beta 版)快訊。這類快訊會在 Edge 偵測到流量和效能問題時發出,您不必事先預先判斷。接著,您可以針對這些異常狀況發出警示。
  • 傳輸層安全標準 (TLS) 到期 (Beta 版)警示。快訊類型,可讓您在 TLS 憑證即將到期時發出通知。

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

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

查看快訊設定

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

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

快訊電子郵件

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

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

如要查看過去 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),請將指標設為尖峰制止錯誤代碼
      • 您可以使用「AssignMessage」政策重寫 Proxy 錯誤或目標錯誤的 HTTP 回應碼。API 監控功能會忽略任何重新撰寫的程式碼,並記錄實際的 HTTP 回應代碼。
    • 延遲:從下拉式清單中選取延遲值。具體來說:p50 (第 50 百分位數)、p90 (第 90 百分位數)、p95 (第 95 百分位數) 或 p99 (第 99 百分位數)。舉例來說,選取 p95 可設定快訊,在第 95 個百分位數的回應延遲時間大於下方設定的門檻時觸發。
    • 錯誤代碼:從清單中選取類別、子類別和錯誤代碼。或者,您也可以在類別或子類別中選取下列任一選項:

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

      詳情請參閱錯誤代碼參考資料

    • 總流量 (Beta 版):選取流量增加或減少。詳情請參閱「交通 (Beta 版) 快訊」。

    門檻

    設定所選指標的門檻:

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

    如果您將特定維度設為:

    • 全部:維度中的所有實體都必須符合指標條件。您無法為「Latency」類型的指標選取「All」
    • 任何:僅適用於區域。維度中的實體必須符合任何單一區域的指標標準。
      注意:如果是 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 或社群頁面的連結,以便參考最佳做法。通知會包含這個欄位中的資訊。這個欄位的內容不得超過 1,500 個半形字元。
    節流 傳送通知的頻率。從下拉式清單中選取值。有效值包括: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 屬性所有可能的屬性:

快訊類型 可能的門檻違規事項格式化內容
固定
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 使用者介面中,依序按一下「Analyze」>「Alert Rules」
  2. 按一下「設定」分頁標籤
  3. 在「報表」欄中,按一下與要管理的快訊相關聯的自訂報表。

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

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

啟用或停用快訊

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

  1. 在 Edge 使用者介面中,依序按一下「Analyze」>「Alert Rules」
  2. 在「狀態」欄中,按一下與要啟用或停用的警示相關聯的切換鈕。

編輯快訊

如何編輯快訊:

  1. 在 Edge 使用者介面中,依序按一下「Analyze」>「Alert Rules」
  2. 按一下要編輯的警示名稱。
  3. 視需要編輯警示。
  4. 按一下 [儲存]

刪除快訊

如何刪除快訊:

  1. 在 Edge 使用者介面中,依序按一下「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 代理程式的 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)
    • UI:API 通訊協定 > 全部
    • API:
      "faultCodeCategory":"API Protocol",
      "faultCodeSubCategory":"ALL"
  • 通用 HTTP 錯誤
    • UI:Gateway > Other > Gateway HTTPErrorResponseCode
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Others",
      "faultCodeName": "Gateway HTTPErrorResponseCode"
  • Java 服務呼叫執行錯誤 (如適用)
    • UI:執行政策 > Java 呼叫 > JavaCallout ExecutionFailed
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Java Callout",
      "faultCodeName": "JavaCallout ExecutionFailed"
  • 節點指令碼執行錯誤 (如適用)
    • UI:執行政策 > Node 指令碼 > NodeScript ExecutionError
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Node Script",
      "faultCodeName": "NodeScript ExecutionError"
  • 違反配額規定
    • UI:流量管理政策 > 配額 > 配額違規
    • API:
      "faultCodeCategory": "Traffic Mgmt Policy",
      "faultCodeSubCategory": "Quota",
      "faultCodeName": "Quota Violation"
  • 安全性政策錯誤
    • UI:安全性政策 > 任何
    • API:
      "faultCodeCategory": "Security Policy",
      "faultCodeName": "Any"
  • Sense 錯誤 (如有)
    • UI:Sense > Sense > Sense RaiseFault
    • API:
      "faultCodeCategory": "Sense",
      "faultCodeSubCategory": "Sense",
      "faultCodeName": "Sense RaiseFault"
  • 服務呼叫執行錯誤 (如適用)
    • UI:執行政策 > 服務標示 > ServiceCallout ExecutionFailed
    • API:
      "faultCodeCategory": "Execution Policy",
      "faultCodeSubCategory": "Service Callout",
      "faultCodeName": "ServiceCallout ExecutionFailed"
  • 目標錯誤
    • UI:Gateway > Target > Gateway TimeoutWithTargetOrCallout
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Target",
      "faultCodeName": "Gateway TimeoutWithTargetOrCallout"
  • 目標錯誤,沒有有效目標
    • UI:閘道 > 目標 > 閘道 TargetServerConfiguredInLoadBalancersIsDown
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Target",
      "faultCodeName": "Gateway TargetServerConfiguredInLoadBalancerIsDown
  • 目標錯誤、非預期的 EOF
    • UI:Gateway > Target > Gateway UnexpectedEOFAtTarget
    • API:
      "faultCodeCategory": "Gateway", "faultCodeSubCategory": "Target", "faultCodeName" : "Gateway UnexpectedEOFAtTarget"
  • 虛擬主機錯誤
    • UI:Gateway > Virtual Host > VirtualHost InvalidKeystoreOrTrustStore
    • API:
      "faultCodeCategory": "Gateway",
      "faultCodeSubCategory": "Virtual Host",
      "faultCodeName": "VirtualHost InvalidKeystoreOrTrustStore"
設定政策錯誤代碼快訊 使用 API 設定政策錯誤代碼快訊

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

以下範例說明如何使用 UI 設定快訊,當任何區域的飯店 API 代理程式 5xx 狀態碼的每秒交易次數 (TPS) 超過 100 次時,系統就會觸發快訊。詳情請參閱「新增快訊和通知」。

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

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

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

如要瞭解如何使用 API,請參閱「使用 API 為 API 代理程式設定 P95 延遲警示

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

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

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

為 API 設定 API Proxy 計數器快訊

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

如要瞭解如何使用 API,請參閱「為使用 API 的 API 設定 API 代理程式計數警示」。

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

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

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

為 ServiceCallout 政策設定錯誤率快訊

以下範例說明如何使用 UI 設定快訊,當任何區域的 ServiceCallout 政策指定服務的 500 錯誤率超過 10% 時,就會觸發快訊。如需詳細資訊,請參閱:

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

設定政策錯誤代碼快訊

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

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