第2章 Cryostat Web コンソールでの JFR レコーディングの作成
コンテナー化されたアプリケーション内にある JVM のパフォーマンスを監視する JFR レコーディングを作成できます。JFR レコーディングの作成後は、JFR を起動して、ヒープおよび非ヒープのメモリー使用量など、JVM のリアルタイムデータをキャプチャーできます。
前提条件
- OperatorHub オプションを使用して、Cryostat 3.0 を Red Hat OpenShift にインストールしている。
- Red Hat OpenShift プロジェクトに Cryostat インスタンスを作成した。
Cryostat Web コンソールにログインしている。
- Red Hat OpenShift Web コンソールを使用して Cryostat アプリケーションの URL を取得できます。
手順
Cryostat Web コンソールの Dashboard パネルで、Target リストからターゲット JVM を選択します。
注記ターゲットアプリケーションの設定方法によっては、ターゲット JVM が JMX 接続またはエージェント HTTP 接続を使用している場合があります。ターゲットアプリケーション の設定に関する詳細は、Java アプリケーション の設定 を参照してください。
重要ターゲット JVM がエージェント HTTP 接続を使用しており、ターゲットアプリケーションが Cryostat エージェントをロードするように設定した場合は、
cryostat.agent.api.writes-enabled
プロパティーをtrue
に指定していることを確認してください。そうしないと、Cryostat エージェントは、JFR レコーディングの開始および停止のリクエストを受け入れることができません。図2.1 Cryostat インスタンスの Target JVM 選択例
オプション: Dashboard パネルで、ターゲット JVM を作成できます。Target リストから Create Target をクリックします。Create Custom Target ウィンドウが開きます。
- Connection URL フィールドに、JVM の Java Management Extension (JMX) エンドポイントの URL を入力します。
- オプション: 指定した Connection URL が有効かどうかをテストするには、Click to test をクリックし、サンプルノードイメージをテストします。Connection URL に問題がある場合は、問題の説明とトラブルシューティングのガイダンスを示すエラーメッセージが表示されます。
- オプション: Alias フィールドに、JMX Service URL のエイリアスを入力します。
Create をクリックします。
図2.2 Create Custom Target ウィンドウ
- Cryostat Web コンソールのナビゲーションメニューから、Recordings をクリックします。
オプション:ターゲット JVM の設定方法によっては、Web コンソールで Authentication Required ダイアログが開く場合があります。Authentication Required ダイアログボックスで Username および Password を入力します。Save をクリックして、認証情報をターゲット JVM に提供します。
図2.3 Cryostat Authentication Required ウィンドウの例
注記選択したターゲット JMX で、JMX 接続に対して Secure Socket Layer (SSL) 証明書が有効になっている場合は、プロンプトが表示されたらその証明書を追加する必要があります。
Cryostat は、ターゲット JVM アプリケーションのクレデンシャルを暗号化し、Red Hat OpenShift の永続ボリューム要求 (PVC) に格納されているデータベースに保存します。認証情報の保存および管理 (Cryostat を使用した JFR レコーディングの管理)を参照してください。
Active Recordings タブで、Create をクリックします。
図2.4 アクティブなレコーディングの作成例
Custom Flight Recording タブで、以下を行います。
- Name フィールドに、作成するレコーディングの名前を入力します。無効な形式で名前を入力すると、Web コンソールにエラーメッセージが表示されます。
Cryostat が既存のレコーディングを自動的に再起動するようにする場合は、Restart if recording already exists のチェックボックスを選択します。
注記すでに存在する名前を入力し、Restart if recording already exists を選択しないと、Create ボタンをクリックしても Cryostat はカスタムレコーディングの作成を拒否します。
- Duration フィールドで、指定された期間後にこのレコーディングを停止するか、停止せずに継続的に実行するかを選択します。レコーディングの停止後に Cryostat が新しい JFR レコーディングを自動的にアーカイブするようにするには、Archive on Stop をクリックします。
- Template フィールドで、レコーディングに使用するテンプレートを選択します。
次の例は、継続的な JVM モニタリングを示しています。これは、Continuous フィールドの上から Duration を選択することで有効にできます。この設定では、手動でレコーディングを停止するまでレコーディングが継続されます。また、この例では、Template フィールドで Profiling テンプレートが選択されています。これにより、トラブルシューティングを目的として、JFR レコーディングに追加の JVM 情報が提供されます。
図2.5 カスタムフライトレコーディングの作成例
その他のオプションにアクセスするには、次の展開可能なハイパーリンクをクリックします。
- Show advanced options: JFR レコーディングをカスタマイズするための追加オプションを選択できます。
- Show metadata options: カスタムラベルとメタデータを JFR レコーディングに追加できます。
Create をクリックして、JFR レコーディングを作成します。Active Recordings タブが開き、JFR レコーディングがリスト表示されます。
アクティブな JFR レコーディングが、コンテナー化されたアプリケーション内のターゲット JVM の場所でデータ収集を開始します。JFR レコーディングに固定期間を指定した場合、ターゲット JVM は設定された固定期間に達するとレコーディングを停止します。それ以外の場合は、手動でレコーディングを停止する必要があります。
オプション: Active Recording タブで、レコーディングを停止することもできます。
- JFR レコーディングの名前の横にあるチェックボックスを選択します。Cryostat Web コンソールで、Active Recordings タブのツールバーにある Stop ボタンが有効になります。
Stop をクリックします。JFR が
STOPPED
ステータスになり、ターゲット JVM のモニタリングが停止します。JFR はその後も Active Recording タブに表示されます。図2.6 アクティブなレコーディングの停止例
重要以下の状況が発生すると、JFR レコーディングのデータが失われる可能性があります。
- ターゲット JVM が失敗する
- ターゲット JVM が再起動する
- ターゲット JVM の Red Hat OpenShift デプロイメントがスケールダウンされる
JFR レコーディングをアーカイブして、JFR レコーディングのデータが失われないようにします。
関連情報
- SSL 証明書のアップロード (Cryostat を使用した JFR レコーディングの管理)を参照してください。
- JDK Flight Recorder (JFR)レコーディングのアーカイブ(Cryostat を使用した JFR レコーディング の管理)を参照してください。