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% 増加するたびにアラートがトリガーされるように構成すると、通常のトラフィックに対して不要なアラートが生成されます。
アラートについて詳しくは、アラートと通知を設定するをご覧ください。
交通状況アラートと通知を追加する
交通情報のアラートと通知を追加するには:- Edge UI で [Analyze] > [Alert Rules] をクリックします。
- [+Alert] をクリックします。
- アラートに関する次の一般情報を入力します。
項目 説明 アラート名 アラートの名前。トリガー要因を表すわかりやすい名前を使用します。名前は 128 文字以下でなければなりません。 説明 アラートの説明。 アラートの種類 [Total traffic](合計トラフィック)を選択します。詳細については、アラートの種類についてをご覧ください。 環境 プルダウン リストから環境を選択します。 ステータス アラートを有効または無効に切り替えます。 - アラートをトリガーする条件のしきい値とディメンションを定義します。
条件フィールド 説明 しきい値 前の時間間隔と比較して、トラフィックが特定の割合で増加した場合、または減少した場合にアラートを生成するように指定します。
増加率は 0% 以上の値に設定します。減少率は、0% 以上 100% 以下の値に設定します。
次の時間間隔を選択できます。
- 1 時間
- 1 日
- 1 週間
ディメンション [+Add Dimension] をクリックし、API プロキシやリージョンなどの結果を返すディメンションの詳細を指定します。
特定のディメンションを以下に設定した場合:
- プロキシ - 特定のプロキシまたはすべてのプロキシに設定します。プロキシは「任意」の値をサポートしていません。代わりに、関心のあるプロキシごとに個別のアラートを追加できます。
- リージョン - 特定のリージョンまたはすべてのリージョンに設定します。Region は、値「Any」をサポートしていません。代わりに、関心のある地域ごとに個別のアラートを追加できます。
- [+ 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 つの送信先のみ指定できます。同じチャネルタイプに複数の送信先を指定するには、通知を追加します。
- メール - メールアドレス(
- 通知を追加するには、前の手順を繰り返します。
- 通知を追加した場合は、以下の項目を設定します。
項目 説明 ハンドブック (省略可)自由形式のテキスト フィールドで、アラートが発生したときにそのアラートを解決するために行う推奨処置の短い説明を入力します。ベスト プラクティスが掲載されている社内 wiki やコミュニティ ページのリンクも指定できます。このフィールドの情報は、通知に追加されます。このフィールドの内容は 1,500 文字以下でなければなりません。 Throttle 通知を送信する頻度。プルダウンから値を選択します。 - [保存] をクリックします。
[イベント] ダッシュボードでアラートを表示する
Edge がアラートの条件を検出すると、その条件は Edge UI の [Events] ダッシュボードに自動的にロギングされます。[イベント] ダッシュボードに表示されるイベントのリストには、修正済みと証明書の両方のアラートがすべて含まれます。
アラートを表示するには:
Edge UI で [分析] > [イベント] をクリックします。新しい [イベント] ダッシュボードが表示されます。
[Events] ダッシュボードを以下でフィルタします。
- 環境
- 地域
- 期間
- [イベント] ダッシュボードで行を選択して、期限切れの証明書を含むキーストアを表示し、アラートをさらに調査します。[キーストア] ページで、新しい証明書をアップロードし、期限切れの証明書を削除できます。
トラフィック アラートでアラート API を使用する
トラフィック アラートの作成と管理に使用するほとんどの API は、他のアラート タイプで使用するものと同じです。
- アラートを取得する - 固定または異常アラートの定義を取得します。
- アラート履歴を取得する - アラートの履歴指標を取得します。
- アラートを削除する - 固定または異常アラートの定義を削除します。
- アラート インスタンスを取得する - トリガーされたアラートに関する情報を取得します。
- アラート数を取得する - アラートの合計数を取得します。
ただし、一部の API には異常アラートをサポートする次のような追加のプロパティがあります。
- アラートを取得する - 固定アラートと異常アラートを含む、すべてのアラートを一覧表示します。
- アラートを作成する - 固定または異常アラートを作成します。
- アラートを更新する - 固定または異常アラートの定義を更新します。
交通情報アラートを作成または更新する
他の種類のアラートと同様に、同じ API を使用して交通アラートを作成または更新します。トラフィック アラートを作成または更新する API 呼び出しの本文は、他のアラートで使用されるものと同じですが、次の点が異なります。
アラートがトラフィック アラートであることを指定するには、新しく以下のプロパティを追加します。
"alertType": "runtime" "alertSubType": "trafficfixed"
これらのプロパティのデフォルト値は次のとおりです。
"alertType": "runtime" "alertSubType": "fixed"
conditions
配列のdimensions
要素で:org
、env
、proxy
、region
プロパティの値を設定する必要があります。これらのプロパティのみがサポートされます。proxy
とregion
をALL
に設定できます。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
プロパティは、トラフィック アラートではサポートされていません。
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 を使用するをご覧ください。