サービスの実行
アプリケーションを起動すると、Rubyエージェントは独立したプロセスとしてサービスを開始します。このプロセスは、エージェントからのメッセージを集約して、Contrastに攻撃の情報を送信し、Contrastから設定の更新情報を受信する役割を担います。
エージェントは、64ビットMacおよびLinuxサービスとパッケージ化されています。このサービスはエージェントによって起動されます。そのため、エージェントで使用されているのと同じ設定ファイルにアクセスできます。サービスプロセスが停止した場合は、エージェントが再起動を試みます。
万一再起動プロセスが失敗した場合、エージェントは5回試行した後でサービス再起動の試みを終了し、Contrastへの検出結果の送信も行いません。ただし、エージェントは最後に受信した設定を使用して、アプリケーションの保護を継続します。
rakeタスクを使用してサービスステータスにアクセスできます。
rake contrast:service:status
:online
またはoffline
が表示されます。rake contrast:service:start
:ローカルRubyエージェントの設定を使用してサービスの起動を試みます。rake contrast:service:stop
:サービスの停止を試みます。エージェントが追加のリクエストを受信した場合は、自動的にサービスを再起動しようとします。
ヒント
サービスのホストとポートの値が一致していることを確認します。
Rubyエージェントによって保護されているアプリケーションが複数ある場合は、最初に起動したエージェントによってサービスが起動します。このサービスは複数のエージェントとの通信を処理するように設計されているため、問題はありません。
ただし、agent.service.host
とagent.service.port
の設定値が一致しない場合は、前に起動したサービスと追加のエージェントが通信できなくなります。