第6章 アーカイブに使用するエージェント harvester と動的 JFR レコーディングの統合
Cryostat エージェントが MBean カスタムトリガーに基づいて動的 JFR レコーディングを開始できるようにすると、これらの JFR レコーディングをエージェント harvester システムと統合することもできます。このように統合すると、MBean カスタムトリガーから得られる JFR レコーディングデータが定期的に JFR スナップショットにキャプチャーされ、設定された harvester のスケジュールに基づいてアーカイブのために Cryostat サーバーにプッシュされます。
エージェント harvester の期間を使用した MBean カスタムトリガー
エージェント harvester は、もう 1 つの設定可能な機能であり、Cryostat エージェントが、指定されたイベントテンプレートに基づいて、エージェントの起動時に JFR レコーディングを自動的に開始できるようにします。エージェント harvester には、レコーディングのスナップショットをキャプチャーして Cryostat サーバーにアップロードするスケジュールを定義するために使用できる設定可能なプロパティーが含まれています。
harvester テンプレートを使用せずに MBean カスタムトリガーとエージェントハーベスター期間を定義すると、エージェントが次の両方を実行する設定を実現できます。
- エージェントは、MBean カスタムトリガーに基づいて JFR レコーディングを動的に開始します。
- エージェントは、設定されたハーベスター期間を使用して、記録データのスナップショットを定期的にキャプチャーし、このデータを Cryostat サーバーにアップロードします。
このような状況では、動的 JFR レコーディングを手動で停止するか、ホスト JVM がシャットダウンするまで、エージェントはレコーディングデータをキャプチャーし続けます。
エージェント harvester の期間設定
Cryostat エージェントをロードするようにターゲットアプリケーションを設定する場合に、定期的な JFR レコーディングデータのアップロードを可能にするエージェント harvester 期間を設定することもできます。harvester 期間の値は、ミリ秒単位で指定できます。デフォルトでは、Cryostat エージェントは、JFR レコーディングデータのスケジュールされた収集アップロードを実行できません。
エージェント harvester の期間は、次のいずれかの方法で設定できます。
- JVM システムプロパティーフラグの使用
次の例は、JVM システムプロパティーフラグを使用して harvester の期間を設定する方法を示しています。
-Dcryostat.agent.harvester.period-ms=1000
-Dcryostat.agent.harvester.period-ms=1000Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 環境変数の使用
次の例は、環境変数を使用して harvester の期間を設定する方法を示しています。
- name: CRYOSTAT_AGENT_HARVESTER_PERIOD_MS value: 1000
- name: CRYOSTAT_AGENT_HARVESTER_PERIOD_MS value: 1000Copy to Clipboard Copied! Toggle word wrap Toggle overflow
前述の例では、harvester の期間値 1000 を示しています。この例に基づいて、エージェントは、アーカイブ用の JFR レコーディングデータを 1000 ミリ秒ごと (一定の 1 秒間隔) にアップロードします。
Cryostat は、JFR レコーディングを開始する次のさまざまな方法をそれぞれサポートしています。
- Cryostat Web コンソールからレコーディングを手動で開始できます。
- Cryostat エージェントは、MBean のカスタムトリガーに基づいてレコーディングを動的に開始できます。
- Cryostat エージェントは、指定された harvester テンプレートに基づいて、エージェントの起動時に自動的にレコーディングを開始できます。
- Cryostat サーバーは、JMX またはエージェント HTTP 接続経由でオンデマンドリクエストを送信し、自動化されたルールに基づいてレコーディングを開始できます。
この状況では、システム内で JFR レコーディングがどの方法で開始されたかに関係なく、エージェント harvester 設定により、すべての JFR レコーディングデータのキャプチャーとアップロードが制御されます。