1.2 この製品の概要
uCARTは,次の2つのコンポーネントで構成されています。
-
Tomcatプロセスモニタは,Tomcatの起動コマンドとTomcatサーバプロセスの間に割り込み,Tomcatサーバプロセスの稼働状態監視や保守情報の収集を実行します。
-
Tomcatサーバプロセス内のフィルタは,TomcatのValveやListenerなどの実装として提供されます。各フィルタは,Tomcatサーバプロセス内の各種処理やリクエスト処理の間に割り込み,トレース情報や稼働監視情報を出力します。
これら2つのコンポーネントが図1-1のように連携することで,uCARTは,Tomcat単体では実現が困難な機能を提供します。これによって,Tomcatの保守性を向上できます。
uCARTが提供する機能について説明します。各説明の番号は図中の番号と対応しています。
-
起動処理機能は,Tomcatの起動処理を代行し,Tomcatの起動と同時に稼働監視や運用管理用REST APIの受付を開始します。
Tomcatが提供する設定変更の仕組みを利用して,Tomcatを起動するタイミングでTomcatプロセスモニタを起動します。TomcatプロセスモニタはTomcatの起動コマンドの延長で自動起動します。
詳細は,「8. Tomcatプロセスモニタ機能」を参照してください。
-
トレース機能は,リクエスト処理の内部状態を把握できる独自のトレース情報を出力します。
リクエストごとに一意のIDを採番し,リクエスト処理がどのような状態でどこまで到達していたかを把握できるトレース情報を常時出力します。uCosminexus Application Serverの「性能解析トレース機能」に相当する機能です。
詳細は,「9. トレース機能」を参照してください。
-
稼働監視機能は,プロセス監視やヘルスチェックを代行し,異常検知時には即座に指定したコマンド呼び出しや保守情報の収集をします。
クラウドのマネージドサービスやコンテナオーケストレーションツールが提供する既存のヘルスチェック機能に比べて,よりTomcatに特化した高度なプロセス監視・ヘルスチェックを提供します。異常発生からその検知と閉塞までのタイムラグ短縮に寄与します。
詳細は,「10. 稼働監視機能」を参照してください。
- ヒント
-
一般的なクラウドサービスも,オートスケーリング機能の自動スケールインを実現するために,ヘルスチェック機能を提供しています。ただし,それらの多くは,一定時間おきに投入するHTTPリクエストの応答によって正常/異常を判別しています。そのため,プロセスダウンのように,即座に業務が継続できなくなるような障害が発生しても,次のHTTPリクエストが投入されるまでの一定時間はプロセスダウンしているサーバを使い続けます。
一方,uCARTの稼働監視機能では,異常発生からその検知と閉塞までのタイムラグが大幅に短縮できます。HTTPリクエストの応答だけでなく,プロセスダウンの即時検知や,高頻度なハートビートによるハングアップも検知するためです。また,uCARTにはユーザが指定した任意のシェルスクリプトを呼び出す機能も備わっています。そのため,異常検知時には保守情報を自動収集するだけでなく,クラウドサービスに対して即座に閉塞を指示するコマンドを発行できます。
-
スナップショットログ収集機能は,異常検知直後に自動的に必要な保守資料を収集し,指定したディレクトリにアーカイブを出力します。
異常が検知されたときだけ,その時点で出力されていた保守資料を自動的に収集・アーカイブし,指定した永続化領域に出力する機能を提供します。
詳細は,「11. スナップショットログ収集機能」を参照してください。
- ヒント
-
次の環境では,障害発生時の原因解析に必要なログファイルを別のストレージ領域※に永続化しておく必要があります。
-
オートスケーリング機能によって仮想マシンの自動増減が発生するクラウド環境
-
オーケストレーションツールによってコンテナの起動・停止が頻発するコンテナ仮想化環境
- 注※
-
ログファイルを格納するストレージ領域は,サーバがスケールインされてもログファイルが消失しない領域にする必要があります。
しかし,起動から停止まで正常稼働していた場合を含め,すべてのログファイルを永続化すると,ストレージ領域の容量や書き込み転送量が増大し,従量課金額がかさむリスクが生じます。また,一定時間経過後のログファイルを削除するなど,単調増加を防ぐ仕組みをユーザ側で構築する必要があります。
uCARTのスナップショットログ収集機能では,障害発生時にサポートサービスに提供する保守資料(ログファイル)が,障害発生時にだけ自動で出力されます。そして,それを1つのアーカイブファイルとして永続化できます。保守資料がアーカイブされているため,個々の保守資料を永続化するための作業が削減できます。また,永続化先のストレージ容量と書き込み転送量を削減できます。
-