API モニタリングジョブの設定
このページでは、API モニタリングジョブの設定方法について説明します。
API モニタリングジョブには、以下の詳細を設定できます。
- ジョブをいつ、どこで、どの程度の頻度で実行するかのスケジュール。
- タイムアウトの設定。
- 警告イベントおよび重大イベントをトリガーするパフォーマンスしきい値の設定。
ジョブの作成
- コントローラ UI で、[User Experience] [>] [API Monitoring] をクリックします。
- [Add Collection] をクリックしてコレクション名を指定します。
- [Add] をクリックします。
- 新しく作成されたコレクションを選択し、ジョブを追加します。
新しいジョブの設定ページが表示されたら、以下の手順に進みます。
API リクエストの設定
API ジョブの名前を指定すると、次のいずれかのオプションによって API リクエストを設定できます。
ジョブを設定するための JavaScript を手動で作成したくない場合は、[GUI] オプションを使用してジョブを簡単に設定できます。
[GUI] をクリックして API リクエストを設定します。
左側の [API Requests] ペインには、設定する API リクエストが表示されます。作成する API リクエストには Request 1 という名前が付けられ、この名前は後で API リクエストリストビューから編集できます。
- 右側のペインから HTTP メソッドを選択します。サポートされているメソッドは、
GET、POST、PUT、およびDELETEです。 - API コールを実行する URL を指定します。
- メソッドタイプに基づいて、次の詳細を指定します。
タブ 説明 設定 API が別の API にリダイレクトする場合は、[Follow Redirects] オプションを選択します。
[Follow Redirects] を有効にすると、[Follow Redirects count.] で最大数を指定できます。これは、特定の URL に対してチェックされるリダイレクトの数を示します。
Response Validation アサーションを追加することにより、応答を検証できます。
たとえば、[Status Code]、[=] を選択して値を
200と入力すると、ステータスコードが 200 の場合にのみジョブが成功します。同様に、応答コンテンツや応答時間など、複数のアサーションを追加できます。パラメータ 値とともに照会するパラメータを入力します。
Initialise 初期変数を作成できます。変数名と値を指定します。その後、次の構文を使用して使用できます。
{{<variable-name>}}ヘッダー ヘッダー名と値を、キーと値のペアとして入力します。 本体 XML および JSON の本文タイプがサポートされています。
本文タイプを選択し、詳細を入力します。例:
{ title: "foo" body: "bar", userId: 100, }認証 次の認証タイプがサポートされています。
- [Basic Auth]:ユーザー名とパスワードを指定します。
- [Token]:ベアラートークンを指定します。
- [No Auth]:値は不要です。
秘密を合成クレデンシャル Vault に保存することもできます。
ジョブ用の JavaScript を作成し、[スクリプトエディタ(Script Editor)] に入力します。
API モニタリングのサンプル JavaScript については、「JavaScript」を参照してください。
Postman からの API コレクションのインポート
Postman の API コレクションを API モニタリングジョブにインポートできます。
コントローラで API コレクションを手動で再度作成する代わりに、Postman の既存の API コレクションをインポートできます。
最初に API コレクションを Postman から JSON ファイルとしてエクスポートしてから、JSON ファイルを API モニタリングジョブにインポートする必要があります。エクスポート時に推奨される [Collection v2.1] を選択します。[Collection v2] としてファイルをエクスポートすることはサポートされていません。
Postman コレクションをインポートするには、次の手順を実行します。
ロケーションを選択
ジョブを実行する 1 つ以上の場所を選択できます。毎回すべての場所をテストするようにジョブを構成することも、ジョブが実行されるたびに 1 つの場所をテストするように構成することもできます。合成エージェントの場所の完全なリストについては、「合成エージェントの場所」を参照してください。
ホステッドエージェントを使用して、パブリック API エンドポイントをモニタリングします。ホステッドエージェントを使用して、実際の API トラフィックまたはリクエストが生成された場所からの API ジョブをモニタリングできます。
プライベートエージェントを使用して、プライベート API をモニタリングします。たとえば、顧客ネットワーク内で使用される API などがあります。
-
[Hosted Agent Locations] は、AppDynamics がパブリック合成エージェントをホストする場所です。Splunk AppDynamics には、17 ヵ所(AWS ロケーションのみ)にホステッドエージェントがあります。これらの 17 のホステッドエージェントの場所から API モニタリングジョブを実行できます。
- API モニタリングプライベート合成エージェントを展開している場合は、[Hosted Agent Locations] または [Private Agent Locations] から選択できます。
-
[Private Agent Locations] は、プライベート合成エージェントをホストしている場所です。これらの環境のいずれかでプライベート合成エージェントを設定できます。
スケジュールの設定
ジョブを作成または編集するときに、ジョブスケジュールを定義できます。
同じジョブに複数のスケジュールを作成できます。各スケジュールには、独自のタイムゾーン、頻度、および実行間隔を設定できます。これにより、以下のさまざまな頻度でジョブを実行できます。
| 周波数 | 例 |
|---|---|
| 1 日の異なる間隔 |
Schedule 1:午前 8 時から午後 8 時まで 1 分間隔でジョブを実行 Schedule 2:午後 8 時 1 分から午前 7 時 59 分まで 5 分間隔でジョブを実行 |
| 異なる曜日 |
Schedule 1:平日に 1 分間隔でジョブを実行 Schedule 2:週末に 5 分間隔でジョブを実行 |
| 異なるタイムゾーン |
Schedule 1:PST タイムゾーンの午前 8 時から午後 8 時まで 1 分間隔でジョブを実行 Schedule 2:BST タイムゾーンの午前 8 時から午後 8 時まで 5 分間隔でジョブを実行 |
| 異なる日付間隔 |
Schedule 1:2022 年 2 月 21 日から 2022 年 3 月 31 日まで 1 分間隔でジョブを実行 Schedule 2:2022 年 4 月 1 日から 2026 年 3 月 31 日まで 5 分間隔でジョブを実行 |
[Add Schedule] をクリックして、同じジョブの別のスケジュールを設定します。少なくとも 1 つのスケジュールを作成する必要があります。
メンテナンス期間中のジョブの実行を防止できます。
2022 年 3 月 21 日(午前 1 時 1 分~ 午前 5 時)に 4 時間のメンテナンス期間があると仮定します。その場合、次のように複数のスケジュールを設定できます。
- Schedule 1:2022 年 2 月 21 日午前 8 時から 2022 年 3 月 21 日午前 1 時まで 1 分間隔でジョブを実行
- Schedule 2:2022 年 2 月 21 日午前 5 時 1 分から 2026 年 3 月 21 日午前 12 時まで 1 分間隔でジョブを実行
タイムアウト時間の設定
ジョブの実行時間が一定の期間を超えた場合にジョブが失敗するようにタイムアウトを設定できます。デフォルトでは、ジョブの実行が 5 分以内に完了しない場合に API ジョブがタイムアウトします。
パフォーマンスしきい値の構成
この手順は任意です。しきい値を超えたときに警告合成イベントまたは重大な合成イベントをトリガーするパフォーマンスしきい値を設定できます。
API ジョブの失敗は、理由(無効なステータスコード、応答コンテンツの検証、応答サイズの検証など)に関係なく、デフォルトでは可用性イベントとして報告されるように設定されています。誤検出を避けるために、イベントをトリガーする前に特定の回数だけジョブを再テストするように設定することもできます。
API ジョブの応答時間に基づいて、警告または重大なエラーのイベントをトリガーするように API ジョブを設定することができます。誤検出を避けるために、イベントをトリガーする前に特定の回数だけジョブを再テストするように設定することもできます。