交通情報を設定

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動します。
情報

トラフィック アラートを使用すると、特定の期間に環境、プロキシ、リージョンのトラフィックが指定した割合だけ変化したときに通知が生成されます。

期間を次のように設定します。

  • 1 時間
  • 1 日
  • 7 日
  • 15 日間(API のみ)
  • 30 日間(API のみ)

このアラートは、現在の期間のトラフィックと前の期間のトラフィックを比較することで機能します。たとえば、1 時間の期間を指定します。アラートは、直近 1 時間のトラフィックと前 1 時間のトラフィックを比較して、トラフィックの変化率を計算します。

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

正の値はトラフィックが増加したことを意味し、負の値はトラフィックが減少したことを意味します。

次に、指定した期間の API トラフィックの増減率として、トラフィック アラートをトリガーするしきい値を設定します。

この割合を設定する前に、通常のトラフィック パターンと一致していることを確認してください。たとえば、API トラフィックが通常 1 日を通して変動し、特定のピーク時に 1 時間あたりのトラフィックが最大 100% 急増する場合、これらの急増は正常であり、アラートをトリガーすべきではありません。ただし、1 時間あたりのトラフィックが 50% 増加するたびにアラートがトリガーされるように構成すると、通常のトラフィックに対して不要なアラートが生成されます。

アラートについて詳しくは、アラートと通知を設定するをご覧ください。

交通状況アラートと通知を追加する

交通情報のアラートと通知を追加するには:
  1. Edge UI で [Analyze] > [Alert Rules] をクリックします。
  2. [+Alert] をクリックします。
  3. アラートに関する次の一般情報を入力します。
    項目 説明
    アラート名 アラートの名前。トリガー要因を表すわかりやすい名前を使用します。名前は 128 文字以下でなければなりません。
    説明 アラートの説明。
    アラートの種類 [Total traffic](合計トラフィック)を選択します。詳細については、アラートの種類についてをご覧ください。
    環境 プルダウン リストから環境を選択します。
    ステータス アラートを有効または無効に切り替えます。
  4. アラートをトリガーする条件のしきい値とディメンションを定義します。
    条件フィールド 説明
    しきい値

    前の時間間隔と比較して、トラフィックが特定の割合で増加した場合、または減少した場合にアラートを生成するように指定します。

    増加率は 0% 以上の値に設定します。減少率は、0% 以上 100% 以下の値に設定します。

    次の時間間隔を選択できます。

    • 1 時間
    • 1 日
    • 1 週間
    ディメンション

    [+Add Dimension] をクリックし、API プロキシやリージョンなどの結果を返すディメンションの詳細を指定します。

    特定のディメンションを以下に設定した場合:

    • プロキシ - 特定のプロキシまたはすべてのプロキシに設定します。プロキシは「任意」の値をサポートしていません。代わりに、関心のあるプロキシごとに個別のアラートを追加できます。
    • リージョン - 特定のリージョンまたはすべてのリージョンに設定します。Region は、値「Any」をサポートしていません。代わりに、関心のある地域ごとに個別のアラートを追加できます。
  5. [+ Notification] をクリックして、アラート通知を追加します。
    通知の詳細 説明
    チャネル 使用する通知チャネルを選択し、送信先を指定します(メール、Slack、PagerDuty、または Webhook)。
    発信先 選択したチャネルタイプに基づいて次の送信先を指定します。
    • メール - メールアドレス(joe@company.com など)
    • Slack - Slack チャネルの URL(https://hooks.slack.com/services/T00000000/B00000000/XXXXX など)
    • PagerDuty - PagerDuty コード(abcd1234efgh56789 など)
    • Webhook - Webhook URL(https://apigee.com/test-webhook など)

      : 通知ごとに 1 つの送信先のみ指定できます。同じチャネルタイプに複数の送信先を指定するには、通知を追加します。

  6. 通知を追加するには、前の手順を繰り返します。
  7. 通知を追加した場合は、以下の項目を設定します。
    項目 説明
    ハンドブック (省略可)自由形式のテキスト フィールドで、アラートが発生したときにそのアラートを解決するために行う推奨処置の短い説明を入力します。ベスト プラクティスが掲載されている社内 wiki やコミュニティ ページのリンクも指定できます。このフィールドの情報は、通知に追加されます。このフィールドの内容は 1,500 文字以下でなければなりません。
    Throttle 通知を送信する頻度。プルダウンから値を選択します。
  8. [保存] をクリックします。

[イベント] ダッシュボードでアラートを表示する

Edge がアラートの条件を検出すると、その条件は Edge UI の [Events] ダッシュボードに自動的にロギングされます。[イベント] ダッシュボードに表示されるイベントのリストには、修正済みと証明書の両方のアラートがすべて含まれます。

アラートを表示するには:

  1. Edge UI で [分析] > [イベント] をクリックします。新しい [イベント] ダッシュボードが表示されます。

  2. [Events] ダッシュボードを以下でフィルタします。

    • 環境
    • 地域
    • 期間
  3. [イベント] ダッシュボードで行を選択して、期限切れの証明書を含むキーストアを表示し、アラートをさらに調査します。[キーストア] ページで、新しい証明書をアップロードし、期限切れの証明書を削除できます。

トラフィック アラートでアラート API を使用する

トラフィック アラートの作成と管理に使用するほとんどの API は、他のアラート タイプで使用するものと同じです。

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

交通情報アラートを作成または更新する

他の種類のアラートと同様に、同じ API を使用して交通アラートを作成または更新します。トラフィック アラートを作成または更新する API 呼び出しの本文は、他のアラートで使用されるものと同じですが、次の点が異なります。

  • アラートがトラフィック アラートであることを指定するには、新しく以下のプロパティを追加します。

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

    これらのプロパティのデフォルト値は次のとおりです。

    "alertType": "runtime"
    "alertSubType": "fixed"
  • conditions 配列の dimensions 要素で:
    • orgenvproxyregion プロパティの値を設定する必要があります。これらのプロパティのみがサポートされます。proxyregionALL に設定できます。
    • 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 プロパティは、トラフィック アラートではサポートされていません。
次の例は、組織と環境のトラフィックが 1 時間で 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 の使用方法については、イベントを表示するをご覧ください。

交通情報を取得する

デフォルトでは、Get Alerts API は定義されたすべてのアラートに関する情報を返します。この API でクエリ パラメータを取得して、結果をフィルタできるようになりました。

  • enabled - true が、有効なアラートのみを返すよう指定した場合。デフォルト値は false です。
  • alertType - 返すアラートのタイプを指定します。指定できる値は、デフォルトの runtimecert です。
  • 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 を使用するをご覧ください。