您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
使用流量快訊,當環境、Proxy 或區域的流量在特定時間範圍內依指定百分比變動時,系統就會發出通知。
您可以設定的時間範圍如下:
- 1 小時
- 1 天
- 7 天
- 15 天 (僅限 API)
- 30 天 (僅限 API)
快訊的運作方式是比較目前時間範圍與前一個時間範圍的流量。例如,您指定一小時的時間範圍。接著,快訊會比較最近一小時的流量與前一小時的流量,以計算流量的百分比變化:
percentChange = ((currentTraffic - previousTraffic) / previousTraffic) * 100
正值代表流量增加,負值表示流量減少。
接著,您可以設定觸發流量快訊的門檻,做為指定時間範圍內 API 流量的增減百分比。
設定該百分比前,請先確保其符合正常的流量模式。例如,如果您的 API 流量通常會在一天當中波動,在特定尖峰時段,每小時流量遽增最多高達 100%,則這些激增屬於正常現象,且不應觸發快訊。但是,如果您接著設定快訊,讓系統每小時流量增加 50% 時觸發快訊,系統就會針對一般流量發出不必要的快訊。
如要進一步瞭解快訊,請參閱設定快訊和通知。
新增路況快訊和通知
如何新增路況快訊和通知:- 在 Edge UI 中,依序點選「Analyze」(分析) >「Alert Rules」(快訊規則)。
- 按一下「+快訊」。
- 輸入下列與快訊相關的一般資訊:
欄位 說明 快訊名稱 快訊名稱。請使用能夠貼切描述觸發條件且對您有意義的名稱。名稱長度不得超過 128 個字元。 說明 快訊的說明。 快訊類型 選取「總流量」。詳情請參閱「關於快訊類型」一文。 環境 從下拉式清單中選取環境。 狀態 切換啟用或停用快訊。 - 定義觸發快訊的條件的門檻和維度。
條件欄位 說明 門檻 指定在與上一個時間間隔相比,當流量「增加」或「減少」特定百分比時,觸發快訊。
將「調高幅度」百分比設為大於或等於 0% 的值。將「減量」百分比設為大於或等於 0% 且小於或等於 100% 的值。
你可以選擇以下時間間隔:
- 1 小時
- 1 天
- 1 週
維度 按一下「+ 新增維度」,然後指定要傳回結果的維度詳細資料,包括 API Proxy 和區域。
您可將特定維度設為:
- 「Proxy」:設為特定 Proxy 或「所有」 Proxy。 Proxy 不支援 "Any" 的值。您可以改為為每個感興趣的 Proxy 新增快訊。
- 「區域」:設為特定區域或「所有」區域。「Region」不支援「Any」值。反之,您可以對關注的每個區域分別新增快訊。
- 按一下「+ 通知」即可新增快訊通知。
通知詳細資訊 說明 頻道 選取您要使用的通知管道,並指定目的地: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
注意:每則通知只能指定一個目的地。如要為同一頻道類型指定多個目的地,請新增其他通知。
- 電子郵件 - 電子郵件地址,例如
- 如要新增其他通知,請重複上一個步驟。
- 如果您已經新增通知,請設定下列欄位:
欄位 說明 教戰手冊 (選填) 任意形式的文字欄位,針對觸發快訊時的建議動作提供簡短說明。您也可以指定內部維基或社群網頁的連結,以便參考最佳做法。這個欄位中的資訊會包含在通知中。這個欄位的內容不得超過 1500 個字元。 節流 傳送通知的頻率。從下拉式清單中選取所需的值。 - 按一下「儲存」。
在「事件」資訊主頁查看快訊
當 Edge 偵測到快訊條件時,會自動將條件記錄到 Edge UI 的「Events」(事件) 資訊主頁。「事件」資訊主頁中顯示的事件清單會列出所有快訊 (包括固定和憑證)。
如何查看快訊:
在 Edge UI 中,依序按一下「分析」>「事件」。新的「活動」資訊主頁畫面會顯示:
依下列條件篩選「事件」資訊主頁:
- 環境
- 區域
- 時間範圍
- 在事件資訊主頁中選取資料列,即可顯示含有即將到期憑證的 KeyStore,以便進一步調查快訊內容。您可以透過 KeyStore 頁面上傳新憑證並刪除即將到期的憑證。
使用快訊 API 取得路況快訊
用於建立及管理流量快訊的 API,與其他快訊類型的 API 相同:
不過,部分 API 具有額外屬性來支援異常快訊,包括:
建立或更新流量快訊
使用與目前其他快訊類型相同的 API 建立或更新流量快訊。用於建立或更新流量快訊的 API 呼叫主體,與其他快訊所使用的 API 相同,但有下列異動:
新增下列資源,指定快訊為流量快訊:
"alertType": "runtime" "alertSubType": "trafficfixed"
這些屬性的預設值如下:
"alertType": "runtime" "alertSubType": "fixed"
- 在
conditions
陣列的dimensions
元素中:- 您必須設定
org
、env
、proxy
和region
屬性的值。系統僅支援這些屬性。 您可以將proxy
和region
設為ALL
, - 您必須將
traffic
屬性的值設為total
。
- 您必須設定
在
conditions
陣列中:metrics
屬性的值必須為trafficChange
。comparator
屬性必須設為increasedBy
或decreasedBy
。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
屬性。
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」一文。