Jira アクセス ログ アナライザー
インストール
jar ファイルをサーバーにコピーしてそこでツールを実行することも、ログファイルをワークステーションにコピーしてローカルで実行することも可能です。
バージョン | ファイル | 注意 |
---|---|---|
v2.0.1 | access-log-analyser-2.0.1.jar | Tempo プラグイン用に追加されたカテゴリー。 |
v2.0 | access-log-analyser-2.0.jar | 詳細な結果を得るには、Jira スタンドアロン版のログを分析します。 |
対話形式で実行する
次のコマンドを実行すると、アナライザーを "対話モード" で実行できます。
java -jar access-log-analyser-2.0.jar
アナライザーを実行すると、ディレクトリまたはファイル名の入力を求められます (相対パスと絶対パスのどちらでも可)。
アクセスログのみが格納されているディレクトリ (例:"/var/jira/access-logs/" または "../logs") や個々のファイル名 (例:"logs/access-log-2012-08-15.txt") を入力できるほか、ワイルドカードとして '*' を使用することもできます (例:"C:\\jira\logs\access-log.*")。
パラメーターを指定して実行する
また、次のようにパスをコマンドに渡すこともできます。
java -jar access-log-analyser-2.0.jar --file=/var/jira/access-logs/
"file" パラメーターは必須です。他のすべてのパラメーターについては、アナライザーは合理的なデフォルト値を使用するか、または正しい動作を見つけようとします。
-h
ツールのヘルプを表示するには、'-h' パラメーターを使用します。
java -jar access-log-analyser-2.0.jar -h
--file
アクセスログのファイル名、ファイル名のパターン、またはディレクトリを設定するには、このパラメーターを使用します。
例:'--file=access_log.2014-09-18'、'--file=access_log.*'、'--file=/var/logs/jira/'
--context-path
Jira URL で使用する "コンテキストパス" (ルートディレクトリ) を設定します。
たとえば、URL が http://issues.example.com/jira/browse/ABC-123 の場合、'--context-path=jira' を設定します。
この設定はオプションのため、通常は省略できます。つまり、このパラメーターが設定されていなくても、アナライザーはコンテキストパスを特定できます。
--num-categories
応答時間のグラフで生成するリクエストカテゴリーの線の数を設定します。
デフォルト値は 5 です。
例:'--num-categories=8'
--include-total
サーバーの合計時間のグラフに 'ALL' の線を含めるかどうかを指定します。
有効な値は 'true' または 'false' です。デフォルト値は 'true' です。
例:'--include-total=false'
--response-time
'response-time' の動作のオンとオフを切り替えるには、このパラメーターを使用します。
アナライザーで応答時間を分析するには、このパラメーターを 'true' に設定します。
このモードでは、アナライザーは HTTP ステータスコードを URL の後の最初のフィールドと推測し、
応答時間 (ミリ秒単位) を 3 番目のフィールドと推測します。
'false' を設定すると、アナライザーは応答時間を分析しなくなります。
出力
このツールでは 3 つのファイルが作成されます。ただしどのファイルが作成されるかは、応答時間が分析されたかどうかで決まります。
応答時間が分析された場合、次のファイルが作成されます。
response-time-summary.html
これは受信リクエストを既知の各種カテゴリーに集約したもので、カテゴリーごとに統計情報を表示します。
さらに、カテゴリーごとの統計情報を 3 つの表に一覧表示します。各表では、カテゴリーを Total Server Time (合計サーバー応答時間) 順、Average Response Time (平均応答時間) 順、および未加工の Request Count (リクエスト数) 順にそれぞれ一覧表示されます。
response-time.html
重要なリクエストカテゴリーを取得して時系列のグラフを作成します。
グラフに表示する線の数は "num-categories" パラメーターで制御できます。
unknown-requests.txt
このファイルは、response-time-summary.html に "Unknown (不明な)" リクエストが多数表示される場合にのみ役に立ちます。
よく見られる未認識のリクエストのグループ化を試みます。
応答時間が分析されなかった場合、レガシーモードで動作していると見なされます。
作成されたファイルの詳細については、「Jira HTTP 要求ログ アナライザー」を参照してください。
結果の確認
リクエストカテゴリー
アナライザーの主な役割は、リクエストログに含まれているすべてのリクエストを読み取って、各リクエストを既知の "リクエストカテゴリー" に分類することです。以下に一般的なカテゴリーをいくつか示し、その内容を簡単に説明します。
- Dashboard
これはダッシュボードページを表示するためのコールです。各ダッシュボードを表示する度に、1 回のコールが行われます。その後、ダッシュボード内の各 "ガジェット" が Jira にコールバックしてその構成を読み込みます。こちらは "GADGETS" カテゴリー内に表示されます。その後、ほとんどのガジェットは少なくとも 1 つの REST コールを実行し、関心のあるデータを読み込みます。ほとんどの場合、これらは "REST_API" カテゴリー内に表示されます。 - Login
ログインリクエスト。 - IssueNavigator
課題検索ページ (単純検索または詳細検索)。 - ViewIssue
Jira の "課題の表示" ページを取得するためのリクエスト。これが高になっていても驚くべきことではありません。 - PLUGIN_RESOURCES
プラグインから提供されているリソース (たいていは CSS、JavaScript、および画像)。 - REST_API
REST API に対する汎用コール。特定の REST エンドポイントが分類されることに注意してください。これらは Jira ページの AJAX コールに由来する場合があります。または、データ取得のために Jira に対してクエリを実行する外部ツール/プラグインである可能性もあります。情報取得のために 1 つのページから REST に対して複数のコールを実行する場合もあります。独自の特定のカテゴリーを保証するために REST のいくつかの領域が使わることがよくあります。
Jira REST のドキュメントも参照してください。 - REST_API_SEARCH
/rest/api/2/search
の呼び出し。
つまり、REST を介して JQL クエリを実行します。 - REST_greenhopper_xboard
/rest/greenhopper/1.0/xboard
の呼び出し。 - REST_greenhopper_rapidview
/rest/greenhopper/1.0/rapidview
の呼び出し。 - REST_greenhopper
/rest/greenhopper/
のその他の呼び出し。 - Unauthorized_401
401 (不正) ステータスコードを返されたリクエスト。ユーザーはログインページにリダイレクトされます。 - Forbidden_403
403 (禁止) ステータスコードを返されたリクエスト。ユーザーがログインした後、表示が許可されない URL をリクエストしました。 - CLIENT_ERROR_4xx
その他の 4xx HTTP レスポンスで終了したリクエスト。たとえば、無効な URL を指定すると、404 レスポンスが返されます。 - RPC
古いリモート API (XML/RPC および SOAP) に対するコール。 - STATIC_RESOURCE
画像、CSS、JavaScript などをすべて含みます。これらのリソースはすべて、ブラウザーでキャッシュできる必要があります。動的なリソースでは相対数を取得しようとするため、これらは統計対象の "パーセンテージ" では無視されます。 - ProjectAvatar
プロジェクトアバター画像。
これらのリクエストの中には、特定のページ読み込みにおいて 1 回しかコールされないものもあります (ViewIssue、IssueNavigator など)。その他のリクエストに関しては、1 回のページ読み込みで複数回コールされる可能性があります (REST、GADGETS など)。