Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動します。 情報
異常アラートの作成や管理、および異常指標の収集に使用するほとんどの 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 呼び出しの本文は、固定アラートで使用されるものと同じですが、次の変更があります。
アラートが異常アラートであることを指定するには、新しく以下のプロパティを追加する必要があります。
"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 プロキシで、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
}'
異常を伴う Events API を使用する
/metrics/events API を使用して、組織のすべてのイベントを指定の時間間隔で取得します。イベントのリストには、Edge で検出された異常とトリガーされたアラートが含まれます。アラートには、固定アラートと異常アラートの両方を含めることができます。
デフォルトでは、API は過去 1 時間のすべてのイベントを返します。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)でイベントをフィルタします。複数の値をカンマ区切りのリストとして指定します。 |
すべての種類 |