パフォーマンスの低下はエンドユーザーのエクスペリエンスに直接影響するため、効率的なApache Tomcatサーバーの監視が重要になります。Site24x7 Tomcatプラグインでは、直感的な単一ダッシュボードからすべての重要なTomcatサービスメトリクスのビューを取得できます。

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

Tomcat監視とは

Tomcat上で稼働するアプリケーションの障害やパフォーマンス低下は、ビジネスに大きな損害をもたらす原因となります。管理者は、アプリケーションの停止やパフォーマンス低下の兆候をいち早く検知し対策する必要があります。さらに、こうした事態を未然に防ぐためにTomcatを環境に合わせて適切にチューニングし、予防することも重要です。

このためTomcat上で動作するJavaアプリケーションの監視は重要なテーマですが、監視対象となる指標の多さや、障害の原因究明プロセスの煩雑さが多くの企業にとって課題となっています。 Site24x7は、Tomcatの監視を自動化し、稼働状況やパフォーマンスを簡単にモニタリングできるSaaS型監視ツールです。

Apache Tomcatサーバーの監視メトリクス

Site24x7プラグインでTomcatサーバーを監視し、洞察深い可視化と、タイムリーなアラートを取得します。Tomcatサーバーを監視するためのメトリクスは、thread pool metrics、overall memory metrics、usage metrics for each memory poolの3つのカテゴリーに分類されます。

サポートしているメトリクスは以下の通りです:

Total number of threads

「thread_count」メトリクスは、リソース消費の追跡において重要です。ボトルネックの防止やスレッドプールの枯渇を検出する際に役立ちます。

Busy threads count and total number of threads allowed

「thread_busy」および「thread_count」を「thread_allowed」と比較することで、ユーザーはリソース消費量を推測できます。

Bytes received and bytes sent

「thread count」メトリクスを「bytes_received」および「bytes_sent」と関連付けて、Webサーバーの容量を表示します。

tomcat metric

Total number of errors

「error_count」メトリクスは、すべてのリクエストプロセッサにおける1秒あたりのエラー数を表示します。

Number of requests

「request_count」メトリクスは、すべてのリクエストプロセッサにおける1秒あたりのリクエスト数を表示します。

Free Memory

「free_memory」メトリクスは、Java仮想マシン(JVM)で現在使用可能な空きヒープ領域の量を表示します。

Maximum Memory

「max_memory」メトリクスは、「permanent」領域を含まないヒープ領域の最大サイズを表示します。

Time taken for processing the request

「processing_time」メトリクスは、リクエストプロセッサが処理するすべてのリクエスト処理合計時間を表示します。

Total Memory

「total_memory」メトリクスは、JVMヒープ領域に現在割り当てられているメモリ量を表示します。

Usage stats of each memory pool

「name of the memory pool」メトリクスは、メモリ使用量を表示します。これにより、メモリリソースをプロアクティブに管理でき、本番環境でのダウンタイムの解決に繋がります。

手順

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

前提条件

  • 設定済みTOMCAT_USERNAMEがtomcat-users.xmlファイルのmanager-scriptロールに適切に割り当てられていることを確認します。

Tomcatプラグインのインストール

sudo mkdir tomcat_connector
または
sudo mkdir tomcat_overallmemory
または
sudo mkdir tomcat_memorypool
sudo /etc/init.d/site24x7monagent restart
  • Site24x7 Linuxエージェントのプラグインディレクトリー[/opt/site24x7/monagent/plugins/]に、[tomcat_connector]または [tomcat_overallmemory]または[tomcat_memorypool]という名前のディレクトリーを作成します。
  • GitHubリポジトリ―からtomcat_connector.py", "tomcat_overallmemory.pyまたはtomcat_memorypool.pyをダウンロードし、[tomcat_connector], [tomcat_overallmemory] または [tomcat_memorypool] ディレクトリーに配置します。
  • プラグインスクリプトで指定されているデフォルトのpythonパスは、[ #!/usr/bin/python]です。代替えのPythonパスを作成する場合は、shebang(シバン)文字[#!]が前に付いた既存パスを置き換えます。
  • TOMCAT_PORT、TOMCAT_USERNAME、TOMCAT_PASSWORD、TOMCAT_URL、TOMCAT_CONNECTORおよびTOMCAT_TIMEOUTの値を変更して、設定を一致させます。
  • サーバーエージェントは、Site24x7 Webクライアントの[プラグイン]タブから、Tomcatのパフォーマンス統計をレポートします。プラグインがSite24x7 Webクライアントにリストされていない場合は、エージェントを再起動してください

メトリクスを追加で監視

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

関連プラグイン

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

Tomcat JVMのパフォーマンスを深く理解

JVMの重要なメトリクスを使ってパフォーマンスを管理し、可視化します。

  • CPU利用状況レポート
  • JVMランタイムメモリレポート
  • ヒープと非ヒープメモリ利用状況レポート
  • JITコンパイラ利用状況レポート
  • JVMロードおよびアンロードクラス数レポート
  • 使用中の各種ガーベッジコレクタに関する詳細データを示すレポート
  • アプリケーションサーバー上のスレッド数を示すレポート
JVMタブ

アプリケーションのパフォーマンスを改善

グラフィックレポートを使用して、Tomcatアプリケーションサーバーの実行状況のさらに理解し、それに合わせてパフォーマンスを微調整します。アプリケーションサーバーやブラウザ、トランザクション等、さまざまな角度から応答時間の詳細を入手します。

応答時間

Tomcatサーバーおよび重要なアプリケーションコンポーネントすべてを監視

詳細レポートを参照して、各ブラウザまたはアプリサーバーコンポーネントがお使いのアプリケーションの全体的な健全性にどのように影響を及ぼしているかを視覚的に理解します。

Webトランザクションタブ