9つの素晴らしいCryostat 2.1のアップデート

Red Hat で Java Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。

この記事は、Red Hat Developerのブログ記事、9 awesome updates in Cryostat 2.1 | Red Hat Developer の翻訳記事です。


https://developers.redhat.com/sites/default/files/styles/article_feature/public/2020_Java_ContainerJFR_Featured_Article__A-01.png?itok=K_g-UdJY

皆さんは、Java Flight Recorderを使ったことがあるのではないでしょうか。これは、Javaの動作状況を分析し、理解するための優れたツールです。開発中や本番で稼動している作業量を把握するのに重宝します。Cryostatは、コンテナとKubernetesに同じ機能を提供することで、それをさらに推し進めます。ユーザは、クラスタ全体のアプリケーションを記録して、アプリケーションの挙動を理解できるようになります。また、ユーザは様々なAPIを利用し、異なるフォーマットで分析データを取得できます。

RBAC と OAuth のサポート

Cryostat 2.1 では、Red Hat OpenShift Container Platform に内蔵された OAuth サーバーを使用して OAuth 認証ができます。これにより、ユーザは認証トークンを手動で貼り付ける必要がなくなりました。また、複数のユーザが 1 つの名前空間で Cryostat を使用して JDK フライトレコーディングを管理する場合、Cryostat 固有の RBAC パーミッションを持つロールを作成し、そのロールをユーザアカウントに関連付けることによって、各ユーザに固有の権限を付与できます。

詳しくは、「OpenShiftでCryostat 2.1にログインする方法:SSOを使う - 赤帽エンジニアブログ」をごらん下さい

自動化ルール

Cryostat 2.1では、その自動化ルールのための全く新しいユーザインタフェースを備えています。2.0リリースでは、我々は、API機能としてこれを導入しました。自動化されたルールは、適切な適用ルールを決定するための強力かつ柔軟な判定式で、ターゲットJVMに対する新しいJDKフライトレコーディングの作成を開始するために使用できます。これらのマッチ式は、さまざまなアプリケーション属性(ポッド名、JMXポート、Kubernetesラベル、アノテーションなど)を参照します。ルールが作成されると、Cryostatはルールで定義されたJFRイベントテンプレートを使用して新しい記録を選択し、開始します。

詳しくは、「Cryostat 2.1の新UIでJFRの自動化ルールを構築する方法 - 赤帽エンジニアブログ」をごらん下さい

記録のラベル

ユーザーは、Cryostatが管理するJDKフライトレコーディングにメタデータやカスタムラベルを添付できます。記録のラベルは、記録に関連するメタデータを添付したり、クエリ中に記録を識別したり、同じKubernetesラベルを含む複数の記録に対して操作を実行するために使用できます。

詳しくは、「Cryostat 2.1でJFRデータを記録ラベルで整理する方法 - 赤帽エンジニアブログ」をごらん下さい

GraphQL サポート

Cryostat 2.1には、新しいGraphQL APIも含まれています。これにより、ユーザはターゲットJVMと、それに属する稼働中または保管された記録のクエリを作成できます。Cryostat に保管されている記録は、稼働中または保管中の記録を開始、停止、保管、削除するための処理と組み合わせて、Cryostat と JDK Flight Recorder の周囲に自動化を構築するための強力なクエリを作成できます。

詳しくは、「CryostatとGraphQLによるインスタンス間のJFR管理 - 赤帽エンジニアブログ」をごらん下さい

Java Management Extensions

コンテナ化されたJVM上でJava Management Extensions(JMX)認証を有効にしている場合、CryostatはターゲットJVM上のJDKフライトレコーディングにアクセスする前にJMX認証情報を入力するよう促します。CryostatコンソールのAutomated rules、Recordings、Eventsタブでは、JMX認証が有効なターゲットで既存のフライトレコーディングを表示したり、記録操作を実行するために、JMX認証情報を入力する必要があります。

詳しくは、「Cryostat 2.1によるKubernetes上のJMX認証情報の管理 - 赤帽エンジニアブログ」をごらん下さい

サイドカー・レポート・コンテナ

Cryostat 2.1では、JDKフライトレコーディングの自動分析レポートを生成するために、サイドカー・レポート・コンテナを使用するオプションが導入されています。以前は、レポート生成はメインのCryostatコンテナによってのみ処理されました。レポート生成を サイドカー・コンテナに委ねるこの新しいオプションにより、ユーザーはより効率的にリソースを配置しやすくなります。

詳しくは、「Cryostat 2.1のサイドカーレポートによるリソース消費量の削減 - 赤帽エンジニアブログ」をごらん下さい

JSON web トークン (JWT)

Cryostat 2.1では、JWTダウンロードを容易にするために新しいAPIハンドラを実装しました。ユーザがWebクライアントを通じてファイルをダウンロードすることを決定すると、必要な認証ヘッダと要求されたリソースを特定するマルチパートフォーム属性を含むPOSTリクエストをCryostatエンドポイントに送信します。APIハンドラは、この情報をJWTトークンにエンコードし、対称的に暗号化し、トークンに関連付けられたリソースのURLを返します。

通知

Cryostat は、Cryostat バックエンドとブラウザで動作する Web クライアントの間で WebSocket 接続を使用し、様々な動作や状態の変化が発生したときに通知を表示します。Cryostat 2.1では、発生しうるすべての概念的な操作や 状態変化に対してWebSocket通知が発行されますが、Cryostatの以前のバージョンでは、ある種の活動や状態変化に対する通知が含まれていませんでした。形式もより一貫しており、各通知タイプに明確なタイトルと説明を提供しています。

詳しくは、「Cryostat 2.1での不要な通知をフィルタリング - 赤帽エンジニアブログ」をごらん下さい

Helm charts

Cryostat 2.1がHelmチャートを使ってインストールできるようになりました。Cryostat Operatorは本番環境でのお勧めのインストール方法ですが、Cryostat Helm chartはデモ目的でCryostatを試すのに最適で、できるだけ多くのユーザに対応できるよう、権限が少なく、柔軟に設計されています。Cryostat Helm Chartは、OpenShift 4.8以降にデフォルトで含まれています。

このテーマについては、今後の赤帽エンジニアブログの記事で詳しく紹介する予定です。

Cryostatのサポートを受けるには

Cryostat のサポートは、Red Hat Enterprise Linux、Red Hat OpenShift、および Red Hat Runtimes のサブスクリプションを通じて Red Hat のお客様に提供されます。Red Hat とその世界的なパートナーネットワークが提供する世界クラスのサポートを享受する方法の詳細については、お近くの Red Hat 担当者または Red Hat 営業にお問い合わせください。

今後は、Red Hatの製品アップデートとサポートライフサイクルに沿って、Cryostatとその他のランタイムのサポートが期待できます。

Red Hat RuntimesとCryostatのサポートを担当する人々

このソフトウェアは、Red Hat Runtimes のプロダクトおよびエンジニアリングチームと Cryostat アップストリームコミュニティによって制作されました。この制作には、何時間もの開発、広範なテスト、文書作成、そしてお客様、パートナー、Cryostat 開発者の Red Hat コミュニティとの協力があり、大小さまざまな貢献を取り込みました。私たちは、あなたがそれを使うことを選択したことを嬉しく思い、それがあなたの期待を上回ることを望みます!

Red Hat Runtimesの詳細

Red Hat Runtimes は、クラウドネイティブアプリケーション開発の必要性を持つ開発者、アーキテクト、IT リーダー向けに、包括的なフレームワーク、ランタイム、プログラミング言語のセットを提供します。ビジネスソリューションの開発と提供を加速させるために設計されています。Red Hat Runtimes を使用してマイクロサービスを作成するために、さまざまなランタイムと実現機能が用意されています。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。