Red Hat Training

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

7.18. コマンドの Guaranteed Delivery の設定

エージェントとサーバー間の ping などのコマンドの多くは、JBoss ON の機能には重要ではありません。これらは 揮発性コマンドです。揮発性コマンドが一度送信されます。失敗したコマンドが失敗すると、エージェントがログに記録され、次のコマンドが処理されます。
ただし、重要なコマンドは JBoss ON サーバーに送信され、正常に処理される必要があります。エージェントは、これらのコマンドが確実に配信されることを確認する必要があります。これらはコマンドを 保証し ます。エージェントは、コマンドが可能な限りサーバーに到達するように保証します(JVM のクラッシュなどの外部イベントはコマンドを送信しないようにします)。保証された コマンドは、エージェントがシャットダウンした場合でもコマンド spool ファイル に残ります。これにより、次にエージェントが起動するたびにロードおよびキューに置かれ、サーバーに配信されます。
保証された配信に関連する 4 つのパラメーターがあります。
  • 失敗したコマンド(rhq.agent.client.retry-interval-msecs)の再送信をエージェントが試行する頻度を設定する時間間隔
  • spool ファイル(rhq.agent.client.command-spool-file.name)のファイル名
  • spool ファイル(rhq.agent.client.command-spool-file.params)を設定する設定。この設定は、max_file_size:purge_percentage の形式になります。ファイルサイズはバイト単位で定義されます。ファイルがファイルサイズに達すると、パージ操作により、パーセンテージに関係なくファイルをトリミングします。したがって、ファイルが 100 KB(100000)に設定され、パージ率が 90 に設定されている場合、ファイルはパージ操作後に 90 KB に戻ります。パージ操作は最初に未使用領域を圧縮し、最も古いものからコマンドのパージを開始します。
  • spool ファイルを圧縮できるオプションの設定(rhq.agent.client.command-spool-file.compressed)。spool ファイルを圧縮するとサイズが 30 から MTU に縮小できますが、場合によってはエージェントのパフォーマンスに悪影響を及ぼす可能性があります(保証されたコマンドがすべて送信される前にエージェントがシャットダウンした場合など)。
配信の保証はデフォルトで設定されるため、エージェントは重要なコマンドを再送信し、スプールファイルを圧縮できます。
rhq.agent.client.command-spool-file.compressed=true
rhq.agent.client.command-spool-file.name=command-spool.dat
rhq.agent.client.command-spool-file.params=10000000:75
rhq.agent.client.retry-interval-msecs=15000
保証された配信設定のいずれかを変更するには、以下を実行します。
  1. エージェントプロンプトを開きます。たとえば、エージェントプロセスがすでに実行している場合は、-n オプションで rhq-agent.sh スクリプトを再度実行してプロンプトを開くことができます。
    agentRoot/rhq-agent/bin/rhq-agent.sh -n
  2. 新しい保証された配信設定 setconfig でを送信します。
    > setconfig rhq.agent.client.command-spool-file.compressed=true
    rhq.agent.client.command-spool-file.name=my-spool.dat
    rhq.agent.client.command-spool-file.params=25000000:67
    rhq.agent.client.retry-interval-msecs=25000
  3. エージェントプロセスを再起動して、新しい設定を読み込みます。
    agentRoot/rhq-agent/bin/rhq-agent-wrapper.sh stop
    
    agentRoot/rhq-agent/bin/rhq-agent.sh