異常検出 API の使用

<ph type="x-smartling-placeholder"></ph> 現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント
詳細

異常アラートの作成や管理、および異常指標の収集に使用するほとんどの API は、固定アラートで使用するものと同じです。次のアラート API は、固定アラートと異常アラートの両方で同じように機能します。

ただし、一部の API には異常アラートをサポートする次のような追加のプロパティがあります。

$ACCESS_TOKEN の設定

以下に示されるすべての API 呼び出しでは、$ACCESS_TOKEN という環境変数に認証情報が渡されます。OAuth 2.0 アクセス トークンの取得の説明に従って、$ACCESS_TOKEN を OAuth 2.0 アクセス トークンに設定します。これらの例で使用されている cURL オプションの詳細については、cURL を使用するをご覧ください。

通知メールの申し込み

デフォルトでは、[アラートの受信] ボタンは 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 プロパティでは数値ではなく文字列を指定します。サポートされている値には、slightmoderatesevere があります。
    • durationSeconds プロパティと comparator プロパティはサポートされていません。
  • conditions 配列の dimensions 要素で、次のようにします。

    • proxy プロパティの値を ALL に設定する必要があります。
    • statusCode プロパティは 4xx, 503, 504, and 5xx の値のみをサポートしています。
    • developerAppcollectionfaultCodeCategoryfaultCodeSubCategoryfaultCodeName プロパティはサポートされていません。
  • reportEnabled プロパティは、異常アラートではサポートされていません。

次の API 呼び出しの例では、ステータス コードが 5xx のときにトリガーされる異常アラートを作成します。 いずれかのリージョンの本番環境のすべての API プロキシで中程度の頻度で発生します。通知 は、アラートがトリガーされると、指定されたメールアドレスに送信されます。

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。イベントのリストには アラートをトリガーします。アラートには、修正アラートと異常アラートの両方を含めることができます。

デフォルトでは、API は過去 1 時間のすべてのイベントを返します。from と 異なる期間を指定するには、to クエリ パラメータを使用します。fromto クエリ パラメータ値を使用して、異なる期間を指定します。

たとえば、次の 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 クエリ パラメータのみです。クエリパラメータと 詳しくは、API ドキュメントの /metrics/events をご覧ください。 この API では、異常検出をサポートする次のオプションがサポートされています。

名前 説明 デフォルト
threshold

指定したしきい値(slightmoderatesevere)でイベントをフィルタします。

type=anomaly を設定した場合にのみ許可されます。

すべての重大度
type 指定したタイプ(alert または anomaly)でイベントをフィルタします。複数の値をカンマ区切りのリストとして指定します。 すべての種類