GlassFish監視

Site24x7 でGlassFishサーバーを監視し、問題を常時把握します。

GlassFishは、Oracle社がスポンサーとなっているオープンソースのアプリケーションサーバープロジェクトです。Site24x7プラグインを設定し、GlassFishサーバーのパフォーマンスを監視します。

このページでは、GlassFishサーバーのパフォーマンス、可用性、使用統計を詳細に可視化するための、Oracle GlassFishプラグインと監視メトリクスを設定する方法について説明します。

GlassFishパフォーマンス監視メトリクス:

以下のような重要メトリクスを追跡し、GlassFish環境のトラブルシューティングを容易に行います:

Committed heap/non-heap memory

「usedheapsize-count」および「usednonheapsize-count」メトリクスは、ヒープ/非ヒープメモリの合計使用量を表示します(単位:バイト)。

Maximum heap/non-heap memory

「maxheapsize-count」および「maxnonheapsize-count」メトリクスは、メモリ管理に使用できるヒープ/非ヒープメモリの最大量を表示します(単位:バイト)。

Initial heap/non-heap memory

「initheapsize-count」および「initnonheapsizecount」メトリクスは、JVMがメモリ管理のためにOSから最初にリクエストするヒープ/非ヒープメモリの合計量を表示します(単位:バイト)。

 

Committed heap/non-heap memory

「committedheapsize-count」および「committednonheapsize-count」メトリクスは、JVMが使用するコミット済みヒープ/非ヒープのメモリ合計量を表示します(単位:バイト)。

Object pending finalization

「objectpendingfinalization-count」メトリクスは、ファイナライズを保留しているオブジェクトの概算量を表示します。

 

Deadlocked threads

「deadlockedthreads」メトリクスは、オブジェクトモニターまたは所有可能なシンクロナイザの取得を待機しているデッドロック状態のスレッド数を表示します。

Threads started

「totalstartedthreadcount」メトリクスは、JVMが起動してから作成および起動したスレッド数を表示します。

 

Daemon threads

「daemonthreadcount」メトリクスは、ライブデーモンスレッド数を表示します。

Monitor deadlocked threads

「monitordeadlockedthreads」メトリクスは、オブジェクトモニターの取得を待機しているデッドロック状態のスレッド数を表示します。

 

Current thread user time

「currentthreadusertime」メトリクスは、ユーザーモードで実行したスレッドのCPU時間を表示します。

Peak thread count

「peakthreadcount」メトリクスは、JVM起動後もしくはピークがリセットされた後の、ピークのライブスレッド数を表示します。

 

Thread count

「threadcount」メトリクスは、デーモン/非デーモンを含むライブスレッド数を表示します。

Current thread CPU time

「currentthreadcputime」メトリクスは、スレッドの現在の合計CPU時間を表示します(単位:ナノ秒)。

 

Connection leaks

「numpotentialconnleak」メトリクスは、潜在的な接続リーク数を表示します。

Logical connection released

「numconnreleased」メトリクスは、プールに解放された可能な論理接続数を表示します。

 

Queued connection requests

「waitqueuelength」メトリクスは、処理を待機しているキュー内の接続リクエスト数を表示します。

Free connections

「numconnfree」メトリクスは、プール内の空き接続数を表示します。

 

Connection wait-time

「averageconnwaittime」メトリクスは、正常に完了した接続リクエストごとの平均待機時間を表示します。

Connections timed out

「numconntimedout」メトリクスは、開始時間からタイムアウトになったプール内の接続数を表示します。

 

Connections created

「numconncreated」メトリクスは、最後のリセット以降に作成された物理接続の合計数を表示します。l

 

手順

  • Site24x7アカウントにログインします。アカウントをお持ちでない場合は、こちら からサインアップへお進みください。
  • Site24x7 Linuxエージェント の最新バージョンをダウンロードおよびインストールします。
  • GlassFishプラグインをインストールします。
  • エージェントは、GlassFishプラグインを実行し、Site24x7サーバーにデータをプッシュします。

前提条件:

  • GlassFishがサーバーにインストールされ、稼働していることを確認します。

GlassFishプラグインのインストール:

cd /opt/site24x7/monagent/plugins/
sudo mkdir glassfish_jvm_memory
sudo mkdir glassfish_jvm_thread
sudo mkdir glassfish_resource_connectionpool
cd glassfish_jvm_memory
sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/glassfish_jvm_memory/glassfish_jvm_memory.py
cd glassfish_jvm_thread
sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/glassfish_jvm_thread/glassfish_jvm_thread.py
cd glassfish_resource_connectionpool
sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/glassfish_resource_connectionpool/glassfish_resource_connectionpool.py

GlassFishサーバーで監視を有効にする手順

cd /bin/asadmin
./asadmin
set server.monitoring-service.module-monitoring-levels.jvm=LOW
set server.monitoring-service.module-monitoring-levels.jdbc-connection-pool=LOW
  • GlassFishサーバーの監視を有効化するには、以下手順を実行します:

GlassFishプラグインの設定:

HOST = "localhost"
ADMINPORT = "4848"
USERNAME = None
PASSWORD = None
/etc/init.d/site24x7monagent restart
  • プラグインスクリプトで指定されているデフォルトのpythonパスは、[ #!/usr/bin/python]です。代替えのPythonパスを作成する場合は、shebang(シバン)文字[#!]が前に付いた既存パスを置き換えます。
  • GlassFishプラグインのホストおよびポートの値を設定します。
  • 接続プールおよびスレッドプラグインに対しても同様の編集が行えます。
  • 変更を保存し、エージェントを再起動します。

メトリクスを追加で監視:

  • メトリクスを追加で監視するには、いずれかのプラグインファイルを編集し、監視が必要なメトリクスを新しく追加します。
  • 新しく追加したメトリクスを表示するには、[weblogic.py]ファイルのプラグインバージョン値をインクリメントします(例:デフォルトのプラグインバージョンをPLUGIN_VERSION = 「1」から PLUGIN_VERSION = 「2」に変更)。
 

関連プラグイン:

  • Redisプラグイン - Redisデータベースのパフォーマンスメトリクスを監視します。
  • MongoDBプラグイン - MongoDBデータベースのパフォーマンスメトリクスを監視します。
  • Memcachedプラグイン - Memcachedサーバーのパフォーマンスを分析します。
  • Nagiosプラグイン - Site24x7では、Nagiosサーバーを実行する必要なしに、何千ものNagiosプラグインを実行することができます。
  • Out-of-the-boxプラグイン - 豊富な連携リストでアプリケーション全体を監視します。
  • カスタムプラグインの作成 – カスタム Linux および Windows プラグインを作成し、カスタム属性を監視します。