IBM WebSphere Application Serverのヘルス管理とヘルスポリシーの作成方法について学ぶ.
健康管理とは?
ヘルス管理はWebSphereの一部です 仮想エンタープライズ環境, WebSphere Application Server 8.5に統合されています.
WebSphere 8.5は、 運用ポリシー, 健康政策を活用する.
Health Managementは、WebSphereエンタープライズアプリケーションサーバーの使用状況を監視し、障害が発生する前に問題領域に対応できるポリシー主導のアプローチです。.
健康管理には2つの要素があります。
- ヘルスコントローラー
- 健康政策
反応モードとは?
ヘルスポリシーには、環境で監視するヘルス状態が含まれます。定義された要件が満たされない場合に反応します.
2つの反応モードがあります.
- 自動 モード:システムは、正常性ポリシー違反が検出されたときにアクションを実行します.
たとえば、メモリ使用量を監視するように構成し、メッセージの使用量が85%のときにJVMを再起動する場合、JVMヒープサイズが85%に達すると、システムはターゲットJVMを再起動します.
- 監視あり モード:システムは、正常性ポリシー違反が検出されたときにランタイムタスクを作成します。これには、WebSphere管理者がランタイムタスクアクションを承認または拒否するための手動介入が必要です。.
健康状態とは?
健康状態は、環境を監視するオブジェクトまたはメトリックです.
有る 8つの定義済みの健康状態 WebSphere 8.5で利用可能です。カスタムの健康状態を作成するオプションがあります.
- 年齢ベース 条件–この条件は、定義されたJVMを監視し、構成された経過時間のしきい値に達したときにアクションを実行します.
例:
この条件を設定して、JVMが15日間実行されている場合に再起動することができます。このシチュエーションの許容値は、以下に示すように日または時間です。.
- 過剰なリクエストのタイムアウト 条件–この条件は、リクエストのタイムアウト率が定義された値を超えるとアクションを実行します。以下に示すように、許容値はパーセンテージです.
- 過度の応答時間 条件–これは、要求が完了するまでにかかる時間を監視し、時間が定義されたしきい値を超えた場合にアクションを実行します.
例:
この条件を構成して、要求の応答時間が1分であるときにスレッドダンプを取得できます。許容値は、以下に示すミリ秒、秒、分です。.
- メモリ状態:過度のメモリ使用 – JVMのメモリ使用量を監視し、しきい値を超えた場合にアクションを実行します.
例:
この条件を設定して、メモリ使用量がしきい値を超えたときにJVMヒープダンプを取り、JVMを再起動することができます。以下に示すように、JVMヒープサイズの許容値は、パーセンテージおよび問題のある期間(秒および分)です。.
- メモリ状態:メモリリーク –これにより、JVMでメモリリークが検出され、アクションが実行されます.
これには3つの検出レベルがあります.
- 高速(誤警報)
- 標準(一部の誤報)
- 遅い(誤警報が少ない)
- ストームドレン 状態–平均応答時間の大幅な低下を監視し、スレッドダンプの生成やJVMの再起動などのアクションを実行します.
これは2つの検出レベルを得ました.
- 標準(一部の誤報)
- 遅い(誤警報が少ない)
- ワークロード 条件-この条件は、JVMが構成された数のリクエストを処理すると検出されます.
例:
JVMが20000000のリクエストを処理したら、JVMを再起動するように設定できます.
- ガベージコレクション パーセンテージ条件–このモニターは、定義された期間にガベージコレクションに費やされ、しきい値を超えたときにアクションを実行する時間のパーセンテージです。許容値は、以下に示すパーセントとサンプリング期間です。.
健康行動とは?
ヘルスアクションは、構成されたしきい値を超えたときに実行されるヘルスポリシーアクションです。.
有る 7つの事前定義されたヘルスアクション WebSphere 8.5で利用可能.
- サーバーを再起動-JVMを再起動します
- スレッドダンプを取る– JVMのスレッドダンプを取る
- JVMヒープダンプを取る– JVMヒープダンプを取る
- SNMPトラップの生成-トラブルシューティング用のSNMPトラップの生成
- サーバーをメンテナンスモードにする-新しいクライアント要求を停止し、アクティブなセッションのみを処理する
- サーバーをメンテナンスモードにしてアフィニティを解除します–新規および既存のアクションセッションを停止します
- メンテナンスモードを終了-新しいリクエストを受け入れる準備ができています
カスタムヘルスアクションを作成するオプションがあります.
ヘルスポリシーを作成する方法?
ヘルスポリシーは4つの簡単なステップで作成できます.
- ヘルスポリシーの一般的なプロパティを定義します。ここでは、ポリシーの名前を入力し、ヘルス状態を選択します
- ヘルスポリシーのヘルス状態プロパティを定義します。ここでは、選択されたヘルス状態のしきい値を提供し、ヘルス状態が違反したときに実行する必要なアクションを構成します。
- 監視するメンバーを指定-ヘルスポリシーのターゲットとしてJVM、クラスター、動的クラスター、オンデマンドルーター、またはセルを選択します
- 正常性ポリシーの作成を確認-正常性ポリシーの構成を確認し、作成を確認
次のように1つのヘルスポリシーを作成しましょう.
- WebSphere 8.5 ND DMGR Consoleにログインします。
- [運用ポリシー]をクリックします >> 健康政策
- 新規をクリック
- 名前を入力– Test_Policy
- ワークロード状態としてヘルス状態を選択します(この状態をすばやくテストできます)
- 次へをクリック
- テスト目的で、合計リクエスト数を1000と入力します
- 反応モードを自動に選択
- アクションを追加 サーバーを再起動します そして スレッドダンプを取る
- 次へをクリック
- サーバー/ノードとしてフィルターを選択
- server1をターゲットメンバーとして追加する
- 次へをクリック
- 構成を確認し、[完了]をクリックします
では、ターゲットのJVM(server1)で実行されているアプリケーションにアクセスしてテストしてみましょう.
JVMが1000リクエストを処理すると、スレッドダンプを取り、再起動する必要があります。 JMeterを使用して負荷をかけることができるため、テストを迅速に行うことができます.
ヘルスコントローラーとは?
ヘルスコントローラはヘルスポリシーを制御し、システムを監視します。ポリシーを監視するには、ヘルスコントローラーでヘルスモニタリングを有効にする必要があります.
ヘルスコントローラ自体には、実行頻度やサーバーの再起動などの構成可能なプロパティがあります。.
これにより、業務のピーク時にサーバーの再起動を制限できます。.
健康政策目標とは?
正常性ポリシーまたはアクションターゲットは、JVM、クラスター、動的クラスター、オンデマンドルーター、またはセルにすることができます.
これが理解に役立つことを願っています。 DevOpsの学習に興味がある場合は、こちらをご覧ください。 基礎コース.