Red Hat Training

A Red Hat training course is available for Red Hat JBoss Operations Network

7.16. サーバーを検出またはポーリングするエージェントの設定

エージェントは JBoss ON サーバーと通信する必要があります。これは、マルチキャスト検出を使用して、主要な JBoss ON サーバーがオンラインになるか、またはオフラインになったかを監視するか、または JBoss ON サーバーを間隔でポーリングしてサーバーがオンラインであるかどうかを確認することで実行できます。
これらのポーリングメソッドは排他的ではありません。これらのポーリングメソッドはいずれも設定でき、エージェントはいずれのメソッドも使用でき、サーバーのポーリングに利用できるようになります。
サーバーをポーリングすると、サーバーがオフラインになり、サーバーがオンラインに戻ると、エージェントはコマンドおよびデータの送信を停止できます。エージェントでサーバーのポーリングが有効になっていない場合、エージェントは常にサーバーがオンラインであることを確認し、その情報をサーバーに送信します。サーバーがダウンした場合、エージェントは繰り返し 接続が拒否 されたエラーを記録します。これは(サーバーが長時間停止している場合)、エージェントのログが非常に大きくなる可能性があります。

7.16.1. JBoss ON サーバーをポーリングするための設定

最も簡単な設定では、エージェントのポーリング間隔を設定します。この方法では、エージェントは事前に定義された間隔でサーバーを ping します。
  1. エージェントプロンプトを開きます。たとえば、エージェントプロセスがすでに実行している場合は、-n オプションで rhq-agent.sh スクリプトを再度実行してプロンプトを開くことができます。
    agentRoot/rhq-agent/bin/rhq-agent.sh -n
  2. rhq.agent.client.server-polling-interval-msecs 設定と値(ミリ秒単位)で送信 setconfig します。この値をゼロにするか、負の値を設定するとサーバーのポーリングが無効になります。
    > setconfig rhq.agent.client.server-polling-interval-msecs=500
  3. エージェントプロセスを再起動して、新しい設定を読み込みます。
    agentRoot/rhq-agent/bin/rhq-agent-wrapper.sh stop
    
    agentRoot/rhq-agent/bin/rhq-agent.sh

7.16.2. マルチキャスト検出の設定

マルチキャスト検出は JBoss の Remoting フレームワークを使用します。これにより、サーバーが数秒以内にサーバーの行時または停止時に常にエージェントを検出できます。Remoting フレームワークを使用する場合は、マルチキャストトラフィックのサポートが必要になります。そうでない場合は、エージェントはサーバーを検出できません。これには、簡易ポーリングよりも多くの設定パラメーターがあります。
  • サーバー検出とマルチキャストトラフィックの両方を有効にするように設定(rhq.agent.server-auto-detection および rhq.communications.multicast-detector.enabledそれぞれ)。
  • サーバー通信(rhq.communications.multicast-detector.default-time-delay)間の待機間隔。サーバーがその間隔よりも長い場合は、サーバーはオフラインと見なされます。
  • Await(ハートビート)は、エージェント独自のメッセージの間隔(rhq.communications.multicast-detector.heartbeat-time-delay)です。この値は JBoss ON サーバーのハートビート間隔(rhq.communications.multicast-detector.default-time-delay)より短くする必要があります。そうしないと、不要なメッセージやネットワークトラフィックが発生します。
マルチキャスト検出を有効にするには、以下を実行します。
  1. エージェントプロンプトを開きます。たとえば、エージェントプロセスがすでに実行している場合は、-n オプションで rhq-agent.sh スクリプトを再度実行してプロンプトを開くことができます。
    agentRoot/rhq-agent/bin/rhq-agent.sh -n
  2. をマルチキャスト設定 setconfig で送信します。time-delay の値はミリ秒単位です。
    > setconfig rhq.agent.server-auto-detection=true
    > setconfig rhq.communications.multicast-detector.enabled=true
    > setconfig rhq.communications.multicast-detector.default-time-delay=75000
    > setconfig rhq.communications.multicast-detector.heartbeat-time-delay=60000
  3. エージェントプロセスを再起動して、新しい設定を読み込みます。
    agentRoot/rhq-agent/bin/rhq-agent-wrapper.sh stop
    
    agentRoot/rhq-agent/bin/rhq-agent.sh