設定路況快訊

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

使用流量快訊,當環境、Proxy 或區域的流量在特定時間範圍內依指定百分比變動時,系統就會發出通知。

您可以設定的時間範圍如下:

  • 1 小時
  • 1 天
  • 7 天
  • 15 天 (僅限 API)
  • 30 天 (僅限 API)

快訊的運作方式是比較目前時間範圍與前一個時間範圍的流量。例如,您指定一小時的時間範圍。接著,快訊會比較最近一小時的流量與前一小時的流量,以計算流量的百分比變化:

percentChange = ((currentTraffic - previousTraffic) / previousTraffic) * 100

正值代表流量增加,負值表示流量減少。

接著,您可以設定觸發流量快訊的門檻,做為指定時間範圍內 API 流量的增減百分比。

設定該百分比前,請先確保其符合正常的流量模式。例如,如果您的 API 流量通常會在一天當中波動,在特定尖峰時段,每小時流量遽增最多高達 100%,則這些激增屬於正常現象,且不應觸發快訊。但是,如果您接著設定快訊,讓系統每小時流量增加 50% 時觸發快訊,系統就會針對一般流量發出不必要的快訊。

如要進一步瞭解快訊,請參閱設定快訊和通知

新增路況快訊和通知

如何新增路況快訊和通知:
  1. 在 Edge UI 中,依序點選「Analyze」(分析) >「Alert Rules」(快訊規則)
  2. 按一下「+快訊」
  3. 輸入下列與快訊相關的一般資訊:
    欄位 說明
    快訊名稱 快訊名稱。請使用能夠貼切描述觸發條件且對您有意義的名稱。名稱長度不得超過 128 個字元。
    說明 快訊的說明。
    快訊類型 選取「總流量」。詳情請參閱「關於快訊類型」一文。
    環境 從下拉式清單中選取環境。
    狀態 切換啟用或停用快訊。
  4. 定義觸發快訊的條件的門檻和維度。
    條件欄位 說明
    門檻

    指定在與上一個時間間隔相比,當流量「增加」或「減少」特定百分比時,觸發快訊。

    將「調高幅度」百分比設為大於或等於 0% 的值。將「減量」百分比設為大於或等於 0% 且小於或等於 100% 的值。

    你可以選擇以下時間間隔:

    • 1 小時
    • 1 天
    • 1 週
    維度

    按一下「+ 新增維度」,然後指定要傳回結果的維度詳細資料,包括 API Proxy 和區域。

    您可將特定維度設為:

    • 「Proxy」:設為特定 Proxy 或「所有」 Proxy。 Proxy 不支援 "Any" 的值。您可以改為為每個感興趣的 Proxy 新增快訊。
    • 「區域」:設為特定區域或「所有」區域。「Region」不支援「Any」值。反之,您可以對關注的每個區域分別新增快訊。
  5. 按一下「+ 通知」即可新增快訊通知。
    通知詳細資訊 說明
    頻道 選取您要使用的通知管道,並指定目的地:Email、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

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

  6. 如要新增其他通知,請重複上一個步驟。
  7. 如果您已經新增通知,請設定下列欄位:
    欄位 說明
    教戰手冊 (選填) 任意形式的文字欄位,針對觸發快訊時的建議動作提供簡短說明。您也可以指定內部維基或社群網頁的連結,以便參考最佳做法。這個欄位中的資訊會包含在通知中。這個欄位的內容不得超過 1500 個字元。
    節流 傳送通知的頻率。從下拉式清單中選取所需的值。
  8. 按一下「儲存」

在「事件」資訊主頁查看快訊

當 Edge 偵測到快訊條件時,會自動將條件記錄到 Edge UI 的「Events」(事件) 資訊主頁。「事件」資訊主頁中顯示的事件清單會列出所有快訊 (包括固定和憑證)。

如何查看快訊:

  1. 在 Edge UI 中,依序按一下「分析」>「事件」。新的「活動」資訊主頁畫面會顯示:

  2. 依下列條件篩選「事件」資訊主頁:

    • 環境
    • 區域
    • 時間範圍
  3. 在事件資訊主頁中選取資料列,即可顯示含有即將到期憑證的 KeyStore,以便進一步調查快訊內容。您可以透過 KeyStore 頁面上傳新憑證並刪除即將到期的憑證。

使用快訊 API 取得路況快訊

用於建立及管理流量快訊的 API,與其他快訊類型的 API 相同:

不過,部分 API 具有額外屬性來支援異常快訊,包括:

建立或更新流量快訊

使用與目前其他快訊類型相同的 API 建立更新流量快訊。用於建立或更新流量快訊的 API 呼叫主體,與其他快訊所使用的 API 相同,但有下列異動:

  • 新增下列資源,指定快訊為流量快訊:

    "alertType": "runtime"
    "alertSubType": "trafficfixed"

    這些屬性的預設值如下:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • conditions 陣列的 dimensions 元素中:
    • 您必須設定 orgenvproxyregion 屬性的值。系統僅支援這些屬性。 您可以將 proxyregion 設為 ALL
    • 您必須將 traffic 屬性的值設為 total
  • conditions 陣列中:

    • metrics 屬性的值必須為 trafficChange
    • comparator 屬性必須設為 increasedBydecreasedBy
    • threshold 屬性包含一個正值,用於指定流量的增減百分比,其中 1.0 值等於 100%。increasedBy 的值必須大於或等於 0.0 (0%)。decreasedBy 的值必須大於或等於 0.0 (0%),且小於或等於 1.0 (100%)。
    • durationSeconds 屬性必須設為下列其中一個值:3600 (1 小時)、86400 (1 天)、604800 (7 天)、1296000 (15 天)、2592000 (30 天)。
  • 流量快訊不支援 reportEnabled 屬性。
以下範例說明如何設定快訊,相關快訊會在機構和環境的流量在一小時內增加 50% 時觸發。 觸發快訊時,系統會將通知傳送到指定的 PagerDuty 程式碼。
curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
  -X POST \
  -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
     "organization":"myorg",
     "name":"My Traffic Alert",
     "description":"My traffic alert",
     "environment":"prod",
     "enabled":true,
     "alertType":"runtime",
     "alertSubType":"trafficfixed",
     "conditions":[
     {
        "description":"",
        "dimensions": {
            "org":"nyorg",
            "env":"prod",
            "proxy":"ALL",
            "region":"ALL",
            "traffic":"total"
        },
        "metric": "trafficChange",
        "threshold": 0.5,
        "durationSeconds": 3600,
        "comparator": "increasedBy"
     }
     ],
     "notifications":[{ "channel":"pagerduty", "destination":"abcd1234efgh56789"}],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600,
     "reportEnabled":true
}'

按照「取得 OAuth 2.0 存取權杖」一節的說明,將 $ACCESS_TOKEN 設為 OAuth 2.0 存取權杖。如要瞭解本範例中使用的 cURL 選項,請參閱「使用 cURL」一文。

如要進一步瞭解如何使用這個 API,請參閱「查看事件」。

取得路況快訊

根據預設,取得快訊 API 會傳回所有已定義快訊的相關資訊。 這個 API 現在會採用查詢參數,以便篩選結果:

  • enabled - 如果 true 指定只傳回已啟用的快訊,預設值為 false
  • alertType:指定要傳回的快訊類型。允許的值為 runtime、預設值和 cert
  • alertSubType:指定要傳回的快訊子類型。未設定預設值,表示會傳回所有快訊子類型。

舉例來說,使用下列 API 呼叫,即可只傳回 myorg 機構的快訊:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'

以下呼叫只會傳回已啟用和已停用的路況快訊:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=runtime&alertSubType=trafficfixed'

按照「取得 OAuth 2.0 存取權杖」一文的說明,將 $ACCESS_TOKEN 設為 OAuth 2.0 存取權杖。如要瞭解本範例中使用的 cURL 選項,請參閱「使用 cURL」一文。