Apache Tomcat のパフォーマンス監視とイベント処理ガイド

要約
目的と対象読者
この文書は次のことを目的としています。
- Apache Tomcat アプリケーションのパフォーマンス指標(カウンター)を登録して可視化する方法を示す。
- イベント処理ルール(アラーム生成、イベント破棄・転送、重大度割当て)の基本的な設定手順を示す。
対象読者は次の人です。
- 運用エンジニア、SRE、監視担当者
- Tomcat を運用するアプリケーション管理者
重要: 本ガイドでは監視システム側の UI 要素(例: カウンター作成ダイアログ)を前提としています。UI 名称は環境により異なるため、画面の文脈に従って選択してください。
目次
- Apache Tomcat のパフォーマンスカウンターの追加
- カスタムイベント処理ルールの作成
- Tomcat プラグインの概要
- 運用チェックリスト(役割別)
- 標準運用手順(SOP)
- トラブルシューティングとよくある失敗例
- 受け入れテストと検証項目
- 1行用語集
- FAQ
Apache Tomcat のパフォーマンスカウンターの追加
パフォーマンスカウンターはシステム活動と性能(メトリクス)を測定します。アプリケーションは定義済みの間隔で現在値を取得します。プローブとデータ収集の目的は、収集したデータを解析してパフォーマンスのグラフやチャートに変換することです。カウンターは手動で定義するかテンプレートから読み込めます。テンプレートは、指定デバイス向けに定義済みのプローブパラメータを提供し、カウンター作成を素早く行えます。
各カウンターテンプレートは以下の情報で特徴づけられます。
- 名前と説明 - 一意の識別子と任意の説明
- デバイスタイプ - デバイスの種別
- プロトコルタイプ - 使用するプロトコル
- プローブ間隔 - プローブの間隔(ポーリング間隔)
手順:
- ホームビューのアスペクトツリーから対象デバイスを選択します。
- Monitors タブを選択し、タブ右上の Counter list リンクをクリックしてカウンター一覧に切り替えます。カウンター一覧が表示されます。
- グローバルアクションメニューから Create counter を選び、Go をクリックします。
- 作成したいカウンターを選択し、Next をクリックします。
- データがロードされると、編集ウィンドウが表示され、すべてのカウンター属性を入力可能になります。
- 残りのパラメータ(アラーム、しきい値など)を指定して Finish をクリックします。
- 新しいカウンターが作成され、カウンター一覧に表示されます。
ノート: カウンター定義時はプローブ間隔とデータ保持方針を確認してください。短すぎる間隔はシステム負荷を高めます。
カスタムイベント処理ルールの作成
このチュートリアルでは、アラーム生成、イベント破棄/転送、重大度割当てなどの基本的なイベント処理ルールを割り当てる方法を示します。
手順:
- 対象ホストを選択したら Events タブに移動します。
- イベントを選択し、Assign processing rules を選択して Go をクリックします。
- ダイアログウィンドウが表示されます。
- ルールカテゴリを選択し、Add new rule をクリックします。
- 新しく作成したイベント処理ルールは有効になり、すぐに反映されます(再ログイン不要)。
運用のヒント:
- 重大度(Severity)は自動化された通知やエスカレーションに直結します。ルール適用前に通知経路を確認してください。
- ルールは重複や競合を招く場合があるため、ルールの優先順位やスコープを明確にすること。
Tomcat プラグインの概要
Tomcat プラグインは次の 4 つのビューを提供します。
- General information view - Tomcat バージョン、OS 名とバージョン、JVM ベンダーとバージョン、JVM 情報、Control port、平均応答時間などの全体情報。レスポンス集計やスレッド可用性のダッシュボードを含む。
- Applications view - 現在のセッション数、ピークセッション数、サーブレットとページのパフォーマンス(URL と平均応答時間)などアプリケーションに関する情報。
- Request processors view - リクエストプロセッサとグローバルリクエストプロセッサ(URI、Worker、リクエスト数とエラー数、送受信バイト数、処理時間)およびコネクタのレスポンス集計チャート。
- Connectors and thread pools view - コネクタのパラメータ(ポート、プロトコル、secure、redirect port、max post size)、スレッドプール(名前、現在のビジーなスレッド数、現在のスレッド数、最大 spare スレッド)とスレッド可用性のチャート。
上記の操作を実行すれば、Apache Tomcat アプリケーションの監視が可能になります。
運用チェックリスト(役割別)
運用担当者チェックリスト
- カウンターが期待どおりにデータを収集しているか 15 分間監視する。
- アラートの閾値をテストトリガーで検証する。
- データ保持ポリシーとディスク使用率を確認する。
SRE / 開発者チェックリスト
- 重要なエンドポイントの平均応答時間が閾値内か確認する。
- スレッドプールの飽和時の再現手順をドキュメント化する。
セキュリティ担当者チェックリスト
- 監視インターフェースへのアクセス制御を確認する。
- 監視データの転送経路(暗号化)を検証する。
標準運用手順(SOP)
目的: Tomcat の主要なパフォーマンスカウンターを追加して監視を開始する。
手順:
- 対象ホストを特定し、管理アカウントでログインする。
- Monitors タブに移動し、Counter list へ。
- Create counter を実行し、テンプレートまたは手動でカウンターを定義する。
- プローブ間隔、アラーム閾値、データ保持ポリシーを設定する。
- 設定後、24 時間のデータを観察して異常を検出する。
- 異常があれば、トリアージ手順に沿ってエスカレーションする。
重要: 本 SOP は変更履歴を残してください。重大な閾値変更はレビューを必須とします。
トラブルシューティングとよくある失敗例
ケース: カウンターの値がゼロまたは期待外
- 原因と対処
- プローブの権限不足 → エージェントまたはサービスアカウントの権限を確認する。
- プロトコルの不一致(例: JMX が無効)→ Tomcat の管理インターフェースとプラグイン設定を照合する。
- ネットワークのフィルタリング → ファイアウォール設定を確認する。
ケース: イベント処理ルールが適用されない
- 原因と対処
- ルールのスコープ(ホスト/サービス)が誤っている → ルール条件を確認する。
- ルールの優先順位で上書きされている → 既存ルールと衝突していないか検証する。
ベストプラクティス: 変更を加える前にステージング環境でテストしてください。
受け入れテストと検証項目
テストケース例:
- カウンター作成後、指定したプローブ間隔で測定値が収集される。
- 受け入れ基準: 3 連続サンプルが取得できること。
- アラーム閾値を超えたイベントが生成され、通知がトリガーされる。
- 受け入れ基準: 通知チャネルに 1 分以内にイベントが到達すること。
- 作成したイベント処理ルールが該当イベントに適用される。
- 受け入れ基準: ルール適用後、イベントのフィールドが期待どおりに変更されること。
注意: ネットワーク遅延やバッファリングによって通知に遅延が生じることがあります。
簡易メソドロジー(Mini-methodology)
- 重要指標の優先順位付け: レイテンシ、エラー率、スレッド使用率、接続数。
- テンプレート化: よく使うカウンターとルールをテンプレート化して再利用する。
- 自動化: 新規デプロイ時に監視テンプレートを自動適用する。
- 定期レビュー: 四半期ごとにしきい値とダッシュボードを見直す。
1行用語集
- カウンター: 監視対象の個別メトリクス。
- プローブ間隔: メトリクスを取得する間隔(ポーリング間隔)。
- ルール: イベントに対する処理ロジック(例: 通知、破棄)。
FAQ
Q: どのカウンターを最初に追加すべきですか?
A: まずは平均応答時間、エラー率、現在のセッション数、スレッドプールの使用率を追加してください。これらはアプリケーションの健全性を素早く評価できます。
Q: ルール追加後に即時反映されますか?
A: はい。ルールは追加直後に有効になります。システムによってはキャッシュにより数秒から数分の遅延があります。
まとめ
- Tomcat のパフォーマンス監視はカウンターの追加とルールの適切な設定で始まります。
- テンプレートを活用し、運用手順と受け入れテストを整備してください。
- 変更はステージングで検証し、本番では段階的に適用することを推奨します。
重要: 監視は設定して終わりではありません。閾値・ルール・ダッシュボードは継続的に見直してください。