Apache Tomcat のモニター

Instana を使用すれば、 Apache Tomcat 環境を包括的に監視し、パフォーマンスのボトルネックを迅速に特定して、アプリケーションのパフォーマンスを最適化できます。 Apache Tomcat を監視するには、 Instana ホストエージェントをインストールしてください。 エージェントをインストールすると、 Apache Tomcat センサーが自動的に有効になり、 Instana のUIで確認できるリアルタイムの監視データを収集します。

サポート情報

Apache Tomcat センサーが現在の環境と互換性があるかどうかを確認するには、以下のサポート情報セクションをご確認ください:

サポート対象のオペレーティング・システム

Tomcatセンサーの対応OSは、ホストエージェントの要件と一致しています。これについては、各ホストエージェントの「対応OS」セクションで確認できます。例: Unix の対応OS

対応バージョンとサポート方針

このセンサーは、 5.x から 11.x までのすべてのバージョンの Apache Tomcat に対応しています。

以下の表は、最新のサポート対象バージョンとサポート方針を示しています:

テクノロジー サポート・ポリシー 最新技術バージョン サポートされる最新バージョン
Apache Tomcat 45 日間 11.0.23 11.0.22

サポートポリシーに関する詳細については、 「センサーのサポート戦略」 を参照してください。

クライアントサイドのトレースに対応

Apache Tomcat では、 Instana が Java のクライアントサイドトレースに対応しています。

オプション構成

エージェントをインストールすると、 Apache Tomcat センサーが自動的にインストールされ、展開されます。 Apache Tomcat センサーはデフォルトで有効になっており、 Apache Tomcat の監視データの収集を開始します。

Tomcat の命名

Apache Tomcat センサーは、Tomcatの設定ファイル ServerInfo.properties を読み取り、そこからTomcatインスタンスの名前を抽出します。 この名前は、 Instana のUIに表示されます。

必要に応じて、 Instana 内のTomcatインスタンスの名前を、Tomcatの設定ファイルを編集 ServerInfo.propertiesすることで変更できます。

Tomcat インスタンスを名前変更するために構成ファイルを編集するには、以下のステップを実行します。

  1. Go 次の ServerInfo.properties ファイルに:
    CATALINA_BASE/lib/org/apache/catalina/util/ServerInfo.properties
     
  2. Tomcat インスタンスの名前を変更するには、 server.info フィールドの値を変更します。 以下の例を参照してください。
    server.info=Apache Tomcat/7.0.x
     

カスタムポーリングレートの設定

注:Instana、 Apache Tomcat センサー、および 1.1.36 以降のバージョンでは、 データ取り込み量を削減するためにポーリングレートを設定できるようになっています。 この機能は、セルフホスト型の Instana バックエンド311以降でサポートされています。

次の例に示すように、agent configuration.yaml ファイル poll_rate 内のパラメータを使用して、 Instana が Apache Tomcat からデータやメトリクスを収集するためにポーリングを行う頻度を設定できます

com.instana.plugin.tomcat:
  poll_rate: 1 # values are in seconds. Default value is 1 second.

メトリック収集

Apache Tomcat センサーは、 Apache Tomcat インスタンスを監視し、そこから以下のメトリクスを収集します:

これらのメトリックを表示するには、以下のステップを実行します。

  1. Instana のUIのサイドバーで 「インフラストラクチャ」 を選択します。
  2. 特定のモニター対象ホストをクリックします。

収集されたすべてのメトリックとモニター対象プロセスを含むホスト・ダッシュボードを表示できます。

構成データ

Apache Tomcat センサーは、 Apache Tomcat インスタンスから以下の構成データを収集します:

構成アイテム 説明
バージョン Apache Tomcat バージョン情報(例: 11.0.13 )
ホーム Tomcatのインストール先のルートディレクトリ(CATALINA_HOME)で、バイナリ、ライブラリ、および設定ファイルが含まれています
Web アプリケーション数 名前、コンテキスト、セッションの詳細などの情報を含む、デプロイ済みのWebアプリケーションの一覧:
  • 説明:Tomcatサーバーでホストされている個別のWebアプリケーションを表します
  • 名前:Webアプリケーションの名前
  • セッションのタイムアウト:セッションが無効になるまでのユーザーの非アクティブ時間を定義します
  • セッション数:現在アクティブなユーザーセッションの数
サーブレット数 デプロイされたWebアプリケーション内の各登録済みサーブレットについて、サーブレット名、リクエスト数、平均応答時間、エラーなどの情報を提供します(詳細は「Webアプリ」テーブルで確認できます)
コネクター HTTP、 HTTPS、またはAJPコネクタの詳細(コネクタ名、スレッド数、使用中のスレッド数、最大スレッド数、ポート、スレッドタイプ、接続など)を表示します:
  • 名前:コネクタインスタンスの識別子。例: http-nio-8080
  • ポート:コネクタがリスニングを行うネットワークポート
  • スレッドの種類:リクエスト処理のスレッドモデルを決定します
エグゼキューター数 スレッドプール実行者の設定(スレッド数、キューサイズ、最大スレッド数、最大アイドル時間、コアプールなど)
データ・ソース JNDI名、 JDBC のURL、アクティブな接続数、およびプールの上限サイズを含むデータベース接続プールの設定:
  • 名前: DataSource, の JNDI リソース名。例: jdbc/MyDB
  • コンテキスト: DataSource が定義されているアプリケーションコンテキスト
  • URL : JDBC 経由で URL データベースに接続

パフォーマンス・メトリック

Apache Tomcat センサーは、 Apache Tomcat インスタンスから以下のパフォーマンス指標を収集します:

メトリック 説明 粒度
セッション数
セッション数 現在アクティブなセッションの数。 ユーザーのアクティビティの監視やセッション管理に役立ちます 1 秒
要求 サーブレットが1秒間に受け付けるリクエスト数 1 秒
平均応答時間 1秒あたりのすべてのサーブレットリクエストを処理するのにかかる平均時間(ミリ秒単位) 1 秒
エラー 1秒あたりのエラーリクエスト数。これにより、失敗したリクエストやアプリケーションのエラーを追跡できます 1 秒
コネクター
スレッド数 現在、リクエストの処理のためにコネクタに割り当てられているスレッド数 1 秒
ビジー・スレッド数 現在リクエストを処理しているスレッドの数。これはコネクタの現在の負荷を示しています 1 秒
最大スレッド数 プールが保持できるスレッドの最大数。これにより、同時リクエスト処理の最大処理能力が決まります 1 秒
接続数 エンドポイントが現在処理している接続数。アクティブなネットワーク接続を追跡します 1 秒
最大接続数 サーバーが受け付け、処理できる同時接続の総数 1 秒
接続タイムアウト TCP 接続の確立後、Tomcatがクライアントからの完全な HTTP リクエストの送信を待機する最大時間(ミリ秒単位)
KeepAliveTimeout コネクタが接続を閉じる前に、次の HTTP リクエストを待機する時間(ミリ秒単位)
コネクタ - 仮想
コネクター名 コネクタの識別子
バーチャル・スレッド 現在リクエストを処理している仮想スレッドの数 1 秒
エグゼキューター数
スレッド数 エグゼキュータ・サービスの実質的なスレッドプールサイズ。これは、ワークロードと設定に基づいて動的に調整されます 1 秒
キュー・サイズ スレッドプールのキューに現在あるリクエスト処理タスクの数 1 秒
最大スレッド数 プール内で割り当てまたは作成できるスレッドの最大数。 スレッドプールの拡大の上限を設定し、並行処理とリソース消費のバランスを取ります。 1 秒
最大アイドル アイドル状態のスレッドがプール内に留まることができる最大時間(ミリ秒単位)。この時間を超えるとスレッドは終了する
コア・プール アイドル状態およびアクティブなスレッドを含め、常に維持されるスレッドの最小数
データ・ソース
アクティブ 特定のデータソースから割り当てられている現在のアクティブな接続数 1 秒
最大 同時に割り当て可能なアクティブな接続の最大数 1 秒

正常性シグニチャー

各センサーには、着信メトリックに対して継続的に評価されるヘルス・シグニチャーのキュレートされた知識ベースがあります。 これらの正常性シグネチャーは、ユーザーの影響に依存する問題またはインシデントを発生させるために使用されます。

組み込みイベントは、 エンティティのヘルスシグネチャに異常が検出されたことを受けて、問題やインシデントをトリガーします。 カスタムイベントは、 任意のエンティティの個々のメトリクスのしきい値に基づいて、課題やインシデントをトリガーします。

Apache Tomcat センサーの組み込みイベントに関する詳細については、 「組み込みイベントのリファレンス」 を参照してください。