検索

第4章 機能拡張

download PDF

Cryostat 2.0 には、Cryostat 1 の機能に基づいて構築された機能拡張が含まれています。

Cryostat Web コンソールの GUI

Cryostat Web コンソールの右上隅にある Help アイコンを使用して Cryostat 情報ページにアクセスできます。このコンソールページで、Cryostat のバージョンを表示できます。

また、アーカイブされたレコードの生成された名にターゲットエイリアスが含まれるようになりました。ターゲットエイリアスにより、エイリアスがレコードの生成された名前にリンクされるため、レコードの取得が向上します。

Cryostat Operator トポロジービュー

Cryostat Operator が、正しい app.openshift.io/connects-to アノテーションを Cryostat デプロイメントに適用するようになりました。この設定により、OpenShift Container Platform Web コンソールのトポロジービューで、Cryostat デプロイメントが Cryostat Operator デプロイメントにリンクされます。

Cryostat Operator コントローラーマネージャー

cert-manager インストールしなかったために Cryostat Operator が Cryostat のデプロイに失敗した場合でも、Cryostat カスタムリソースを削除するときに Cryostat Operator がハングしなくなりました。

Cryostat 2.0 では、Cryostat Operator クラスターが Cryostat クラスター用に重複した ConsoleLink namespace を作成する場合があります。この問題を回避するために、Cryostat Operator は GenerateName オブジェクトを ConsoleLink リソース定義の Name オブジェクトで定義された SH256 ハッシュ値に置き換えるようになりました。

カスタムイベントテンプレート

カスタムイベントテンプレートを使用して、すべての Cryostat JFR レコーディングを設定できます。カスタムイベントテンプレートは、以下の方法で使用できます。

  • Cryostat Operator に、保存された ConfigMap オブジェクトのテンプレートファイルを指定して Cryostat カスタムイベントテンプレートを事前設定するよう指示します。
  • Cryostat Web アプリケーションを使用してカスタムイベントテンプレートをアップロードします。

サポートされる形式による SSL/TLS 証明書のエンコード

ターゲット JVM アプリケーションの Cryostat Web コンソールインターフェイスに SSL/TLS 証明書を追加できます。

有効な SSL/TLS 証明書は、DER でエンコードされた base-64 または binary 形式です。どちらの形式でも次の拡張子がサポートされています。

  • .der
  • .cer
  • .pem

生成された証明書を実行時に指定できるようになりました。これにより、ターゲット JVM アプリケーションが JMX 接続に SSL/TLS を使用できるようになります。Cryostat は、SSL/TLS 証明書を使用するターゲット JVM への JMX 接続を開くことを試みます。JMX 接続を成功させるには、実行時に指定したターゲット JVM 証明書に対するすべての認証チェックに Cryostat が合格する必要があります。

POST ハンドラーを使用して、証明書の受け入れ、検証、書き込みを行うことができます。

Fabric8 Kubernetes および OpenShift クライアント

Cryostat 2.0 は、Fabric8 Kubernetes および OpenShift クライアントのバージョン 4.12.0 をサポートします。このバージョンでは、Cryostat とのアプリケーションの互換性が強化され、ダウンストリームのビルドエラーが減少します。

Grafana コンテナーのバージョン

Cryostat 2.0 では、Grafana コンテナーのバージョン 6.4.4 がバージョン 7.3.6 に置き換わります。

Grafana エラーメッセージ

502 エラーメッセージは失敗した JMX 接続に関連するものであり、512 エラーメッセージは JFR コンテナーに送信された無効な応答に関連するものです。

ヘルスチェックリソースの定義

Cryostat Operator の api/v1/clienturl リソース定義が health リソース定義に置き換わります。Cryostat Operator は、コンテナー化された JVM ヘルスチェックの実行時に health エンドポイントを使用するようになりました。

initialization-resource アノテーション

Cryostat Operator の CSV ファイルの設定に initialization-resource アノテーションが含まれるようになりました。このアノテーションは、Cryostat クラスターの Cryostat カスタムリソースを作成するためのグラフィカルなヒントを提供して、OpenShift Container Platform Web コンソールで実行される Cryostat Operator インスタンスを強化します。

OLM バンドル記述子

Cryostat 2.0 の OLM バンドルでは、JFR レコーディングの期間をチェックするために、eventOptions 記述子に整数値を設定する必要がなくなりました。代わりに、OLM バンドルは EventOptions 文字列で定義される期間形式の値を使用するようになりました。

サポートされる期間単位には、sm、および h があります。たとえば、2h15m は、2 時間 15 分の JFR レコーディングの長さを示します。

SCC (Security Context Constraints)

Cryostat Operator はデフォルトで restricted SCC 設定を使用するようになりました。Cryostat クラスターに含まれる Pod が、restricted SCC 設定にリスト表示されている許可された fsGroup の値を使用できるようになりました。これにより、永続ストレージ (PV) にマウントされた Cryostat Pod が、そのディレクトリーへの読み取り/書き込みアクセス権を持つことができます。

Pod の読み取り/書き込みアクセスレベルは、Pod の fsGroup GID の値により異なります。Cryostat Operator は、この値をビルトインの制限付き SecurityContextConstraint に準拠するように設定します。SecurityContext 要素には、Pod レベルのセキュリティー属性が含まれます。

Cryostat 2.0 より前のバージョンでは、Cryostat Operator が default 設定に設定されていたため、Cryostat クラスターで実行する Pod の fsGroup アクセスの問題が生じました。

Cryostat クラスターで許可される fsGroup 値の範囲についての詳細は、OpenShift ドキュメントの Web サイトの About pre-allocated security context constraints values を参照してください。

ServiceRef 定義

ServiceRef 定義には、HTTP API ハンドラーを使用した GET 通信から返されたすべての ServiceRef オブジェクトに含まれる以下の新しいプロパティーが含まれています。

  • Java アプリケーション名、ラベル、ポート番号などのアノテーション。
  • エイリアスや connectURL などのユーザー固有の ServiceRef 値。

以下の 2 つのハンドラーを使用して ServiceRef 定義を作成または削除できます。

  • POST: 同じサービス URL を持つ既存のターゲットが存在しない場合に、新規の ServiceRef を作成します。
  • DELETE: targetID パスパラメーターで指定された値と一致する場合に、CustomTargetPlatformClient から ServiceRef 定義を削除します。

サブプロセス管理

Cryostat は自動分析レポートを生成する前に、子サブプロセスを作成します。子サブプロセスは、レポート生成によって消費される大量のメモリー負荷を蓄積することで親プロセスを保護します。

たとえば、Linux オペレーティングシステムでは、OOM (Out-of-memory) Killer が、システムから利用できない追加メモリーを要求するプロセスを検出し、プロセスを停止します。子サブプロセスが存在する場合、OOM Killer はこのサブプロセスを停止しますが、実行中の親プロセスには干渉しません。

Cryostat 環境変数 CRYOSTAT_REPORT_GENERATION_MAX_HEAP を使用して、子サブプロセスの最小または最大の JVM ヒープサイズを設定できます。最小値が低いとレポートを生成する前に子サブプロセスが停止する可能性があり、最大値が高いと親プロセスで追加のメモリー制約が発生する可能性があることに注意してください。

サブプロセスレポートの生成

Cryostat 2.0 は、ActiveRecordingReportCache または ArchivedRecordingReportCache のいずれかを使用して Java アプリケーションのサブプロセスレポートを生成する拡張機能を提供します。これらのクラスは以下のように簡素化されます。

  • ActiveRecordingReportCache に、ディスクのレコーディングへのパスが自動的に含まれるようになりました。
  • ArchivedRecordingReportCache は、親プロセスの接続マネージャーを使用してレコードをローカルディスクファイルにコピーするユーティリティーメソッドを呼び出します。このクラスはローカルパスの場所をサブプロセスに渡します。

サブプロセスでは、以下のタスクを完了する必要がなくなりました。

  • JMX 接続を確立する。
  • SSL/TLS 証明書を処理する。
  • JMX 認証のクレデンシャルを処理する。

これらのタスクが不要になると、次の面でサブプロセスのワークロードが改善されます。

  • エンドツーエンドのレポート生成が高速化されます。
  • コードの複雑さが軽減され、コードベースの保守が容易になります。
  • SSL/TLS 認証および JMX 認証メカニズムが適切かつセキュアに処理されます。

truststore 環境変数

Cryostat 2.0 では、TRUSTSTORE 環境変数名が SSL_TRUSTSTORE_DIR に置き換わります。

TargetConnectionManager ハンドラー

TargetConnectionManager は、ターゲット要求と Cryostat 間の接続に JMX 接続にタイムアウトしたキャッシュ値を使用することで、同時接続をサポートするようになりました。デフォルトでは、時間のキャッシュは 90 秒です。

Vertx サーバーの応答管理

Vertx サーバーは、TimeoutHandler 実装を使用して、Cryostat リクエストハンドラーによって送信された遅延応答メッセージを自動的に終了できるようになりました。これにより、クライアントが Cryostat リクエストハンドラーからの応答を無期限に待機する必要がなくなります。

TimeoutHandler 実装は、Cryostat リクエストハンドラーからの遅延応答を検出すると、500 エラーメッセージを出力します。

WebSocket

WebSocket には以下の更新が含まれます。

  • WebSocket 接続が、双方向のインタラクティブチャネルから一方向のプッシュ通知チャネル (NC) にアップグレードされました。
  • WebSocket が一方向のプッシュ通知に WebSocket 通知チャネルを使用するようになったため、WebSocket 通知チャネルが api/v1/command から api/v1/notfications に変更されました。
  • JFR データの分析にレコーディングとイベントテンプレートを使用する場合、WebSocket は通知チャネルでイベントを送信できます。

WebSocket クライアントが一方向プッシュ NC に接続すると、クライアントは同じチャネルで他の接続クライアントが実行したアクションに関する情報を自動的に受信します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.