交通情報を設定

現在、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 文字以内にしてください。
    説明 アラートの説明。
    アラートの種類 [合計トラフィック] を選択します。詳細については、アラートの種類についてをご覧ください。
    環境 プルダウン リストから環境を選択します。
    ステータス アラートを有効または無効に切り替えます。
  4. アラートをトリガーする条件のしきい値とディメンションを定義します。
    条件フィールド 説明
    しきい値

    前の期間と比較してトラフィックが特定の割合だけ増加または減少した場合に、アラートを発生させるように指定します。

    [増加分] の割合を 0% 以上の値に設定します。 0% 以上 100% 以下の値を引き下げ設定します。

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

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

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

    特定のディメンションを次のように設定します。

    • [Proxy] - 特定のプロキシまたは [All] プロキシに設定します。Proxy"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. [イベント] ダッシュボードは次の条件でフィルタできます。

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

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

トラフィック アラートの作成と管理に使用する 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 - 返されるアラートの種類を指定します。指定できる値は、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 を使用するをご覧ください。