HTTPリクエストアクションは、イベントへのレスポンスでHTTPリクエストを送信します。このタイプのアクションにより、AppDynamicsのポリシーとサードパーティのHTTP APIの統合が可能になります。

オンプレミスコントローラの HTTP/HTTPS プロキシを設定して、Web サーバへのアクセスをフィルタリングできます。プロキシを設定すると、HTTP 要求アクションは、エンドポイントに応じて HTTP プロキシまたは HTTPS プロキシ経由でルーティングされます。「HTTP/HTTPS プロキシの設定」を参照してください。

HTTPリクエストテンプレートを使ってHTTPリクエストアクションを作成します。テンプレートはHTTPリクエストを記述するものであり、異なるHTTP要求からでもAppDynamicsアカウント内であれば再利用できます。

テンプレートを作成したら、コントローラUIのユーザーはそのテンプレートを使用するアクションを作成できます。ユーザが [Create Action] ペインで [ Make an HTTP Request ] オプションを選択し、[Configure Action] ペインにアクセスすると、テンプレートがオプションとして表示されます。

必要な権限

HTTP リクエストテンプレートを作成または修正するには、アカウントレベルの HTTP リクエストテンプレートの構成権限がユーザに必要です。

HTTPアクションテンプレートへのアクセス

既存のテンプレートにアクセスまたはテンプレートを新規作成するには、メニューバーで [Alert & Respond] をクリックしてから [ HTTP Request Templates] を選択します。

次のいずれかの操作を実行できます。

  • [HTTP Request Templates] リストから既存のテンプレートをクリックして、テンプレートを表示、編集、または削除します。
  • New + アイコンをクリックしてテンプレートを作成します。

HTTPリクエストテンプレートの作成または修正

テンプレートを作成または修正するときは、テンプレートのInfoアイコンをクリックすると、構成の完了方法に関する情報が表示されます。 

テンプレートを作成したら、下にある [Save] をクリックしてテンプレートを保存します。

カスタムテンプレート変数

HTTPリクエストが送信されるときに、URLパスおよびペイロード内の値を置き換える変数を使用できます。for-eachループに対応しています。

テンプレートには、「定義済みのテンプレート変数」に記載されている定義済みの変数が用意されています。カスタムテンプレート変数を作成する前に、このリストを確認してください。利用したい変数がすでに定義されている場合があります。

定義済み変数ではすべてのニーズを満たせない場合、必要に応じてカスタム変数を構成することができます。定義済みの変数とカスタム変数の名前が同じ場合、テンプレートは定義済みの変数を使用します。

テンプレートは、Apache Velocity version 1.7を使用して変数を処理します。使用方法の詳細は『Velocity User Guide』を参照してください。

リクエストURL

Raw URLフィールドにリクエストのURLを入力し、プルダウンメニューからURLエンコードスキームを選択します。UTF-8とISO_8858-1 のみがサポートされています。Encoded URLが、送信する正しいリクエストであることを確認してください。

Request URL

認証

HTTP リクエストの基本認証を定義できます。通信が暗号化されている場合のみ、[Type] ドロップダウンから [BASIC authentication type] を選択してください。通信が暗号化されていない場合は、認証を使用しないことをお勧めします。認証タイプを選択したら、認証のユーザ名とパスワードを指定します。

カスタムリクエストヘッダー

HTTPリクエストのカスタムヘッダーを定義できます。カスタムリクエストヘッダーには、$(VARIABLE_NAME)のようにエンコードしたカスタムテンプレート変数または定義済みテンプレート変数を含めることができます。

すべての定義済み変数のリストについては、「定義済みのテンプレート変数」を参照してください。カスタムテンプレート変数を作成する前に、このリストを確認してください。詳細については、『Velocity User Guide』を参照してください。

ペイロード

ペイロードを HTTP リクエストに含めるには、ドロップダウンから [MIME Type] を定義します。ペイロードは UTF-8 または ISO-8859-1 エンコーディングを使用してエンコードできます。 

レスポンス処理の基準

成功または失敗

成功または失敗のレスポンス処理の基準を指定しない場合、HTTPレスポンスはいつも成功になります。

そうでない場合は、次のようになります。

  • 失敗基準は成功基準より先に評価されます。失敗基準に適合する項目が見つかり次第、レスポンスは失敗と設定され、その後さらに失敗に適合する項目が見つかっても評価されません。
  • 失敗基準に適合する項目がない場合、成功基準が評価されます。

成功基準が設定されてない場合で過去にも失敗基準と適合していない場合、レスポンスはいつも成功になります。

そうでない場合は、次のようになります。

  • 1つでも成功基準を指定した場合、成功のレスポンスを得るには、成功基準に適合する必要があります。言い換えると、成功基準が設定されても、適合しなければレスポンスは失敗になります。

失敗および成功基準は、テンプレートに出現する順に評価されます。

ペイロードありの基準とペイロードなしの基準

同じステータスコードに異なる基準を設定できます。例えば、ペイロードのあるステータスの基準を成功と設定し、ペイロードのない同じコードの別の基準を失敗と設定することができます。

または、異なるコンテンツタイプのペイロードを持つ、同じステータスコードに異なる基準を設定できます。たとえば application/xml と application/xhtml+xml タイプのペイロードが成功の場合でも、他のタイプのペイロードが失敗の場合があります。

ペイロードのコンテンツタイプ

[Expect Payload] チェックボックスがオンになっている場合に表示される、リクエスト用のドロップダウンでペイロードのコンテンツタイプを指定できます。

コンテンツタイプが不明な状態でリクエストがペイロードを要求する場合、「*/*」を使用してすべてのコンテンツタイプを指定します。

この構成では、ステータスコードが 200 で XML ペイロードがある場合に成功のレスポンスが返されます。それ以外のコードでは、リクエストによって失敗のレスポンスが返されます。

Response Handling Criteria

イベントごとに1つのリクエスト

いくつもの個別のイベントや、別々に発生する同じイベントにより、同じHTTPアクションが呼び出される場合があります。

[One Request Per Event] 設定を使用すると、アクションによって HTTP リクエストをバンドルするかどうかを制御できます。

このチェックボックスがオフになっている場合、その時間枠内でアクションをトリガーしたイベントの数にかかわらず、HTTP リクエストは 1 分ごとに送信されます。これはデフォルトです。

このチェックボックスをオンにすると、イベントがトリガーするごとにリクエストが送信されます。イベントがアクションを10回トリガーした場合、すべてのイベントが1分間の間に起こったとしても、HTTPリクエストが10回送信されます。 

チケットを記録しようとしているのに、チケットシステムAPIでバルク作成がサポートされていない場合、イベントごとに1リクエストを送信(チェックボックスをオンに)すると良いでしょう。サポートされている場合は、単一のバルクリクエストを毎分行う(チェックボックスをオフにする)ことをおすすめします。

イベントクランプの制限

[One Request Per Event] チェックボックスがオフで、トリガーとなるイベントのリストが長くなる可能性がある場合、アクションをトリガーしたイベントの応答への表示を制限することができます。クランプの制限は、最近 n 件のトリガーとなるイベントです。デフォルトの -1 は無制限を意味します。[One Request Per Event] が選択されている場合、この設定は無視されます。

タイムアウトとリダイレクト

  • Connect Timeout:リクエストがサーバに到達するために待機する最長時間(ミリ秒)。
  • Socket Timeout応答を受け取るまでに待機する最長時間(ミリ秒)。
  • Max Redirects:1 つのリクエストがリダイレクトできる最大回数。

テンプレートのテスト

テンプレートをテストするには、テンプレート構成の下側にある [Test] をクリックします。

テストの構成

[Template Test] 設定ペインで、テストに使用するテスト変数を指定します。この変数は、HTTP アクションが継続中に自動送信される、実際のリクエストで使われるものと異なる場合があります。

また、トリガーとなるイベントのタイプをテスト用に指定します。

ログレベルは INFO がデフォルトですが、[Log Level] ドロップダウンを使用して変更できます。

このサンプルテストテンプレート設定は、このアクションをトリガーする 3 つの POLICY OPEN CRITICAL イベントをシミュレーションしています。トリガーの追加が可能です。

HTTP Action Template Test

[テストの実行(Run Test)]

テストを実行すると、トリガー時にリクエストが送信されます。実行のトランスクリプションを受け取れます。

思い通りの結果が得られなかった場合は、実際にテンプレートを使用する前に、テンプレートのテスト構成または HTTP アクションテンプレート、あるいはその両方を修正する必要があります。