IIS Web サーバー上で SiteMinder Web Agentを起動すると、IIS サーバーは 500 内部サーバー エラーを返します。
以下のアプリケーション イベント ログが表示されました。
"SiteMinder agent has encountered initialization errors and will not service requests"
IIS を再起動すると問題が解決しました。
Web Agent のすべてのバージョン
この環境では、SmHost.conf に 2つのPolicy Serverが含まれており、リストの最初のPolicy Serverがダウンしていることが判明しました。
影響を受けるAgentの WebAgent.conf ファイルで設定できる AgentWaitTime パラメータ (1) を調整します。
このパラメータは、Web AgentがPolicy Serverから設定情報を受信する際に遅延を引き起こす環境内のネットワーク遅延を相殺するために導入されました。
このパラメータは、Web Agentがメッセージバスへの接続を試行するまで待機する時間を秒単位で定義します。
このWeb Agentの WebAgent.conf ファイルに「AgentWaitTime」パラメータを実装してください。 (デフォルト: 5 秒)
例: プライマリ Policy Serverとセカンダリ Policy Serverがある場合は、60~80 の値を使用します。
AgentWaitTime の値は、HCO 内のPolicy Serverの数によって異なります。 経験則として、AgentWaitTime は、Policy Serverの数に 30 秒を掛けた値 + 10 秒を遅延時間として加算したものになります。
この 10秒の時間が追加され、次の場合に必要になることがあります:
SmHost.conf は、複数のPolicy Serverをリストします。 1つ目は停止中、2つ目は稼働中ですが、HCO は最初のものをリストの一番上に表示するため、接続しようとするとさらに多くの時間が浪費されます。
より詳細なプロセス:
Web サーバーを起動すると、Siteminder Web Agent フィルタ (WA) がロードされます。
次に、WA はワーカープロセス(LLAWP) の新しいプロセスを生成し、LLAWP によって作成されるメッセージバスへの接続を試み続けます。 WA は、デフォルトで約5秒間、このメッセージバスへの接続を試行し続けますが、この待機時間は Webagent.conf の「AgentWaitTime」パラメータで指定できます。
ここで LLAWP は、SmHost.conf で指定された最初のPolicy Server (PS1) に (agentapi を使用して) 接続しようとします。 WA が待っているメッセージバスはまだ存在しません。 PS1 に到達できない場合、LLAWP はタイムアウトになるまでちょうど 30 秒待機し、SmHost.conf 内の次のPolicy Server (PS2) に移動します。 PS2 に正常に接続されると、HCO 情報が取得され、この情報が使用されます。 HCO に PS1 と PS2 がこの順序で存在する場合、LLAWP は PS1 への接続を再試行し、タイムアウトするまでさらに 30 秒待機します (現在 60 秒)。 その後、PS2 に移動して流れを継続し、待望のメッセージバスを作成します。
したがって、この構成では、AgentWaitTime を 60 + 安全のための余分な時間 (10 秒または 20 秒としましょう) に定義するのが正しいでしょう。
その後、WA はメッセージバスを 70~80 秒間待機し、正常に動作します。
上記の説明に従って WebAgent.conf ファイルで AgentWaitTime を更新し、IIS を再起動して環境を監視します。
(1) AgentWaitTime の説明:
Techdoc: Accommodate Network Latency
####
この文書は以下の英文技術情報を翻訳したものです。
[英語文書] Error : agent initialization errors and will not service requests