您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
用於建立及管理異常快訊及收集異常指標的 API,大部分都與固定快訊使用的 API 相同。修正和異常快訊的下列快訊 API 運作方式相同:
不過,部分 API 具有額外屬性來支援異常快訊,包括:
設定 $ACCESS_TOKEN
下方顯示的所有 API 呼叫都會在名為 $ACCESS_TOKEN
的環境變數中傳遞憑證。按照「取得 OAuth 2.0 存取權杖」一節的說明,將 $ACCESS_TOKEN
設為 OAuth 2.0 存取權杖。如要瞭解這些範例中使用的 cURL 選項,請參閱使用 cURL 一文。
取得快訊
根據預設,Get alerts API 會傳回所有已定義快訊的相關資訊。這個 API 現在會採用查詢參數,以便篩選結果:
enabled
- 如果true
指定只傳回已啟用的快訊。預設值為false
。alertType
:指定要傳回的快訊類型。允許的值為runtime
,預設為cert
。alertSubType
:指定要傳回的快訊子類型。未設定預設值,表示會傳回所有快訊子類型。指定anomaly
即可傳回異常快訊。
例如,使用下列 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=anomaly'
建立或更新異常快訊
與目前處理固定快訊相同的 API 使用相同的 API 來建立或更新異常快訊。用於建立或更新異常快訊的 API 呼叫主體與固定快訊使用的 API 相同,但有下列異動:
您必須加入下列新資源,才能指定快訊是異常快訊:
"alertType": "runtime" "alertSubType": "anomaly"
這些屬性的預設值如下:
"alertType": "runtime" "alertSubType": "fixed"
在
conditions
陣列中:metrics
屬性僅接受下列值:count
:提高 HTTP 錯誤數量的快訊。totalLatency
- 提高延遲快訊。
threshold
屬性採用字串而非數字。支援的值包括:slight
、moderate
和severe
。- 系統不支援
durationSeconds
和comparator
屬性。
在
conditions
陣列的dimensions
元素中:- 您必須將
proxy
屬性的值設為ALL
。 statusCode
屬性僅支援4xx, 503, 504, and 5xx
的值。- 不支援
developerApp
、collection
、faultCodeCategory
、faultCodeSubCategory
、faultCodeName
屬性。
- 您必須將
- 異常快訊不支援
reportEnabled
屬性。
下列 API 呼叫範例會建立異常快訊,一旦實際工作環境中任何區域的所有 API Proxy 以中等頻率出現 5xx 狀態碼,就會觸發這個狀況。觸發快訊時,系統會將通知傳送到指定的電子郵件地址:
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":"5xx Anomaly Alert", "description":"My 5xx alert", "environment":"prod", "enabled":true, "alertType": "runtime", "alertSubType": "anomaly", "conditions":[ { "description":"", "dimensions":{ "org":"myorg", "env":"prod", "proxy":"ALL", "region":"ANY", "statusCode":"5xx" }, "metric":"count", "threshold": "moderate" } ], "notifications":[{ "channel":"email", "destination":"ops@acme.com" }], "playbook":"http://acme.com/myplaybook.html", "throttleIntervalSeconds":3600 }'
使用有異常狀況的事件 API
使用 /metrics/events
API 取得機構指定時間間隔內的所有事件。事件清單會包含 Edge 偵測到的異常狀況,以及所有觸發的快訊。這類快訊可能包含固定和異常快訊。
根據預設,API 會傳回過去一小時的所有事件。請使用 from
和 to
查詢參數指定不同的時間長度。from
和 to
查詢參數值可指定不同的時間長度。
舉例來說,下列 API 呼叫會傳回機構 myorg
在過去 12 小時內的所有事件:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \ "https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&from=-12h&to=now"
按照「取得 OAuth 2.0 存取權杖」一文的說明,將 $ACCESS_TOKEN
設為 OAuth 2.0 存取權杖。如要瞭解這個範例中使用的 cURL 選項,請參閱使用 cURL 一文。
下一個呼叫會傳回過去 24 小時內達到中等門檻的所有異常事件:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \ "https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&type=anomaly&threshold=moderate&from=-24h&to=now"
這個 API 只需要 org
查詢參數。除了 /metrics/events
的 API 文件中所述的查詢參數外,這個 API 也支援以下支援異常偵測的選項:
名稱 | 說明 | 預設 |
---|---|---|
threshold
|
按照指定門檻篩選事件: 只有在設定 |
所有嚴重程度 |
type
|
按照指定類型篩選事件:alert 或 anomaly 。使用以逗號分隔的清單指定多個值。 |
所有類型 |