Liberty のヘルス管理の構成

Liberty 集合でのヘルス管理は、一般的な問題を検出し、構成済みのヘルス・ポリシーに基づいて診断アクションを生成することで、サービスの中断を防止できます。 ヘルス管理機能は、Health Manager と Health Analyzer の 2 つの Liberty フィーチャーによって使用可能になります。

始めに

  • モニターする環境を作成します。 ヘルス・ポリシーを作成するときは、ポリシーのターゲット (サーバー、クラスター、またはホスト) を想定してください。
  • ヘルス管理フィーチャーの全機能を利用する場合は、自動スケーリングと動的ルーティングの両方のフィーチャーを有効にしてください。詳しくは、 Liberty 集合の自動スケーリングのセットアップ および Liberty 集合の動的ルーティングのセットアップを参照してください。
  • Liberty バージョン 21.0.0.8 以降では、仕様に準拠した任意の Java ランタイム環境 (JRE) または Java SDK ( IBM Java 11 を含む) を使用してヘルス管理を構成できます。
  • Liberty バージョン 21.0.0.7 以前では、以下の IBM Java Developer Kit for Windows または Linux® オペレーティング・システムのいずれかを使用して、ヘルス管理を構成する必要があります。
    • Java 8
    • Java 7 Fix Pack 8 以降
    • Java 6 Fix Pack 7 以降
    ご使用のオペレーティング・システム用の IBM Java Developer Kit のいずれかをダウンロードするには、 IBM Developer Kit Web サイト にアクセスしてください。
    注: Liberty バージョン 21.0.0.7 以前では、 IBM Java 11 は、ヘルス管理の構成に必要なリソースを提供しません。
    .
注: Health Center は、 /tmp スペースに一時 tmp ファイルを生成します。 /tmp スペースの制限に応じて java.io.tmpdir を変更して /tmp スペースが満杯にならないようにすることができます。フルになった場合、一部のプラットフォームでリカバリー不能な問題が発生する可能性があります。

-Djava.io.tmpdir=/path/to/tmpdir

このタスクについて

共通サーバーのヘルス条件のヘルス・ポリシーを作成できます。 詳しくは、 ヘルス管理を参照してください。

また、ヘルス条件に以下のアクションを割り当てることもできます。
  • 診断を取り込む (ヒープ・ダンプおよびスレッド・ダンプ)
  • サーバーを再始動する
  • サーバーを保守モードにする
  • サーバーの保守モードを終了する。 同じヘルス・ポリシー内での使用で、他のアクションを実行する前に、前のアクションによって保守モードが開始された場合。

マルチメディア 視聴: ビデオ: Health management for Liberty collectives は、ヘルス管理の概要と、Liberty アプリケーションで問題を検出して軽減するためにどのように役立つかを示します。 [トランスクリプト]

手順

  1. 集合を作成します。
    集合コントローラーおよびメンバー・サーバーの作成について詳しくは、 Liberty 集合の構成を参照してください。
  2. healthManager-1.0 フィーチャーを、1 つ以上の集合コントローラーの server.xml ファイル内の feature manager スタンザに追加します。 このフィーチャーは、集合コントローラーにのみ追加できます。
    <featureManager>
     <feature>jsp-2.2</feature>
     <feature>collectiveController-1.0</feature>
     <feature>healthManager-1.0</feature>
    </featureManager>
    このフィーチャーを追加した後、集合コントローラーが稼働中であれば、集合コントローラーの messages.log ファイルに以下のメッセージが表示されます。
    CWWKV0600I: The HealthManager feature is activated.
  3. healthAnalyzer-1.0 フィーチャーを、集合メンバーの server.xml ファイルの feature manager スタンザに追加します。 healthAnalyzer 機能は、過剰なメモリー使用量とメモリー・リークをモニターするために必要です。
    <featureManager>
     <feature>collectiveMember-1.0</feature>
     <feature>healthAnalyzer-1.0</feature>
    </featureManager>
    このフィーチャーを追加した後、集合コントローラーが稼働中であれば、集合コントローラーの messages.log ファイルに以下のメッセージが表示されます。
    CWWKV0750I: The healthAnalyzer feature has been activated.
    healthAnalyzer フィーチャーが集合メンバーでアクティブ化されると、集合コントローラーの messages.log ファイルに以下のメッセージが表示されます。
    CWWKV0612I: The Health Analyzer is activated in member_host_name,path_to_usr_directory,member_name.
    注: healthAnalyzer フィーチャーと scalingMember フィーチャーの両方をアクティブ化する場合は、 hostSingleton 仕様に、サービスごとに個別に固有のポートを設定する必要があります。
    <hostSingleton name="ScalingMemberSingletonService" port="33333">
    <hostSingleton name="HealthAnalyzerSingletonService" port="33334">
    
  4. クラスターをターゲットにする場合は、サーバー・クラスターの一部になる集合メンバーも構成する必要があります。 サーバー・クラスターについて詳しくは、 Liberty サーバー・クラスターのセットアップを参照してください。
  5. 1 つ以上の healthPolicy エレメントを集合コントローラーの server.xml ファイルに追加します。 各 healthPolicy エレメントは、単一のヘルス・ポリシーを定義します。 複数のポリシーが必要な場合は、複数のヘルス・ポリシー・エレメントを server.xml ファイルに追加できます。
    server.xml ファイルへの healthPolicy エレメントの追加について詳しくは、 Liberty のヘルス管理ポリシーを参照してください。

結果

ヘルス・ポリシーが使用可能になっている場合、Intelligent Management は集合メンバーで問題がないかどうかモニターし、診断アクションを実行できます。