halookで始めるHadoop/HBaseトラブルシューティング

第9回 ENdoSnipeを使ったトラブルシューティング

この記事を読むのに必要な時間:およそ 5 分

前回までの連載で,ENdoSnipeの概要からセットアップ方法までを紹介してきました。今回はENdoSnipeを利用して,実際の問題検出から原因分析ができるまでのトラブルシュートの流れを紹介します。

問題解析の流れ

ENdoSnipeを用いて問題解析を行うフローは,以下のようになります。

0.ENdoSnipeの適用

ENdoSnipeのセットアップを行い,アプリケーション(サーバ)を起動します。詳細な手順は,前回の記事を参考にしてください。

1.問題の再現

アプリケーション上で,問題を発生させる操作を行います。たとえばWebアプリケーションであれば,ブラウザでの操作を行います。

2.Dashboardを利用した状況確認

FirefoxでENdoSnipeのDashboardにアクセスして,各種グラフで状況を確認したり,PerformanceDoctorの画面にて検出した問題の一覧を確認します。

3.ArrowVisionで発生箇所の特定

PerformanceDoctorの画面より問題の詳細ログをダウンロードします。ArrowVisionを利用して,この問題発生箇所を特定します。

これが問題解析の際の基本フローとなります。今回紹介する問題解析では,実際にこのフローに則って解析を進めます。

セットアップ

問題の解析に入る前に,セットアップを行いましょう。前回と同じく,以下の3台構成を想定して説明します。

  1. アプリケーションサーバ兼データベースサーバ
  2. ダッシュボードサーバ
  3. クライアントPC

 マシン構成図

図 マシン構成図

1.アプリケーションサーバのセットアップ

サンプルアプリケーションを動作させるためのアプリケーションサーバに,JDK6.0,Tomcat7.0,PostgreSQL 9.2をインストールします。問題を含んだサンプルアプリケーションのwarファイルをgithubに置いていますので,実際に手を動かしながら試してみたいという方はダウンロードしてください。

また,サンプルアプリケーションの初期設定手順は,以下のURLに記載しています。

また,Tomcat7.0に対してJavelinを設定する必要がありますが,手順は前回の記事で紹介したため割愛します。

2.ダッシュボードサーバのセットアップ

情報収集・表示のためのダッシュボードサーバに,JDK6.0,Tomcat7.0,PostgreSQL 9.2をインストールします。このサーバ上でDataCollectorとDashboardを設定する必要があります。手順は前回の記事で紹介したため割愛します。

3.クライアントPCのセットアップ

クライアントPCにFirefoxをインストールします。また,検出した問題の詳細を確認するためにArrowVisionというEclipseプラグインを利用します。このArrowVisionもENdoSnipeの公式サイトよりダウンロードすることが可能です。

arrowvision.zipを解凍し,その中にあるjarファイルを全てEclipseのdropinsフォルダにコピーすれば,セットアップ完了です。なお,ArrowVisionの機能の一部は,ENdoSnipeの次期バージョンに組み込まれる予定をしており,そのバージョン以降を使う場合はArrowVisionのセットアップは必要ありません。

トラブルシューティングの実践

セットアップが完了したので,実際の問題の解析に進みましょう。今回扱う問題は,以下の3つです。

  1. ヒープメモリのメモリリーク
  2. SQLの性能問題
  3. ライブラリの誤った使い方

著者プロフィール

谷本心(たにもとしん)

Acroquest Technology株式会社システムズコンサルティングディヴィジョン所属。フレームワークの開発/支援を中心に行うほか,ENdoSnipeの開発やトラブルシューティングの教育などを行っている。本業以外でもJavaコミュニティで活動しており,日本Javaユーザーグループ(JJUG)幹事,関西Javaエンジニアの会の主催を務める。

http://www.acroquest.co.jp/

コメント

コメントの記入