GlassFish監視をツールで簡単に。GlassFishを低コストでモニタリング

Site24x7のGlassFish サーバー監視機能は、GlassFishサーバー上で実行されているJavaエンタープライズアプリケーション(Java EE)の健全性をあらゆる角度から監視します。URLへのアクセス応答時間からSQLクエリの実行時間まで、すべてのコンポーネントのパフォーマンスメトリクスを監視することが可能です。

GlassFishとは?

GlassFish(グラスフィッシュ)は、Java EE仕様に準拠したオープンソースのアプリケーションサーバーです。Java EEアプリケーションの開発に必要なさまざまな機能や高機能な管理コンソールを提供し、企業におけるJava EEアプリケーションの開発・構築・運用を包括的にサポートします。軽量で拡張性が高く、エンタープライズレベルのアプリケーション開発のプラットフォームとして広く利用されています。 GlassFishの主要なメトリクスを監視することで、管理者はGlassFishサーバーの問題を早期に特定して解決し、パフォーマンスを最適化することができます。

GlassFish JVMのパフォーマンスを徹底的に監視

Site24x7のGlassFish監視機能は、以下の重要なパフォーマンスメトリクスを監視し、JVMの最適な管理を支援します。

  • CPU使用率レポート
  • JVMランタイムメモリレポート
  • ヒープ/非ヒープメモリ使用量レポート
  • JITコンパイラの使用状況レポート
  • JVMのロード/アンロードされたクラス数レポート
  • 使用されているさまざまなガベージコレクターに関する詳細レポート
  • アプリケーションサーバー上のスレッド数を示すレポート

GlassFishサーバー上のすべてのアプリケーショントランザクションのパフォーマンスを監視

Site24x7のGlassFish監視機能は、GlassFishサーバーアプリケーションで行われるすべてのトランザクションを可視化します。

  • トレースを実行し、アプリケーションコンポーネントの詳細なワークフローを表示
  • アプリケーションサーバーやブラウザなど、さまざまな角度からトランザクションの応答時間の詳細データを取得
  • Webトランザクションだけでなく、バックグラウンドトランザクションのパフォーマンスも監視

GlassFishサーバーで発生したすべてのエラーを分析

Site24x7のGlassFish監視機能は、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 プラグインを作成し、カスタム属性を監視します。