ビジネストランザクションおよびログ相関
このページでは、ビジネストランザクション要求とログを関連付ける手順について説明します。
ビジネスアプリケーションの速度低下または停止の原因を調査する場合、問題は常にアプリケーションコードにあるわけではありません。アプリケーションまたはマシンのログからの追加情報が、DevOps チームの調査に役立つことがあります。ビジネストランザクションに影響を与えているサポートデータを確認する方法の 1 つは、そのトランザクションのログを分析することです。
ビジネストランザクションの GUID インジェクションを設定することにより、ログを特定のビジネストランザクション リクエストに関連付けることができます。これは、低速なトランザクションを確認し、コールグラフで根本原因を突き止める十分な情報が得られない場合に役立ちます。この機能を使用すると、失敗したトランザクションまたは低速なトランザクションに関連する完全なコンテキストを把握できます。
ビジネストランザクションの特定のインスタンスを関連ログに関連付けるには、Java エージェントを介して関連ログにビジネストランザクションの同じ requestGUID をインジェクトします。これにより、特定のビジネストランザクションの複数のティアおよびノードから関連ログをすばやく見つけることができます。
GUID インジェクションの設定
この機能は、次の Java ロギングフレームワークをサポートしています。
- Apache log4j バージョン 1.2.12 ~ 1.2.17 および 2.6.2 ~ 2.17。
- logback バージョン 1.0.0 ~ 1.2.10。1.0.0 より前のバージョンはサポートされていません。
トランザクションで相関をログに記録できるようにするには、次の手順を実行します。ビジネストランザクションを選択し、ロギング形式を指定する必要があります。
- ログ相関のビジネストランザクションを選択します。 これは、関心のあるビジネストランザクションを Java エージェントに指定する方法です。
- コントローラ UI で、[Analytics] > [Configuration] の順にクリックします。次に [Log Analytics] > [Logging Transaction Correlation] の順に選択します。
- ドロップダウンリストからアプリケーションを選択します。
- [Configure Transactions for GUID Injection] セクションまで下にスクロールします。
- 右側のリストから左側のリストにトランザクションを追加し、[Save] をクリックします。
- 次の手順に進みます。相関ログを確認するには、ロギングパターンも設定する必要があります。
- インジェクトされた情報がログにどのように表示されるかを定義します。この機能を適切に設定できるように、アプリケーション ロギング フレームワークのアペンダ名とパターンを知っておく必要があります。簡単に説明すると、パターンはロギング要求のフォーマットを行い、アペンダは出力先を処理します。これは、ここで説明するように、コントローラ UI を使用して設定できます。また、コードに直接アペンダを追加することもできます。「ソースコードでのアペンダの追加」を参照してください。
- 影響を受けるアプリケーションを再起動し、ロガーが新しいロギング設定を取得できるようにします。
add_codeソースコードでのアペンダの追加
アプリケーションのソースコードにアクセスできる場合は、アペンダを log4j.properties ファイルに直接追加することもできます。要求 GUID を BOLD で表示したソースコードの例を次に示します。
log4j.appender.order-file-appender=org.apache.log4j.FileAppender
log4j.appender.order-file-appender.File=logs/telecom-order.log
log4j.appender.order-file-appender.layout=org.apache.log4j.PatternLayout
log4j.appender.order-file-appender.layout.ConversionPattern=[%d] [%-5p] [%t] [%c][%X{AD.requestGUID}]%m%n
log4j.logger.com.appdynamics.order=DEBUG, order-file-appender
log4j.additivity.com.appdynamics.order=false
ソースルール設定からの要求 GUID の抽出
要求 GUID によるログの検索を有効にし、相関ログとトランザクションデータを表示するには、次の手順を実行します。
- コントローラ UI で、[Analytics] > [Configuration] > [Log Analytics] > [Source Rule.] の順にクリックします。
- ログソースルール設定の要求 GUID フィールドを抽出します。「ソースルールのフィールド抽出」を参照してください。
- [Manual Field Extraction] を選択した場合は、次の正規表現を使用して要求 GUID を設定できます。
AD_REQUEST_GUID\[(?<requestGUID>.*)\]\]
- [Manual Field Extraction] を選択した場合は、次の正規表現を使用して要求 GUID を設定できます。
相関ログとトランザクションデータの表示
GUID インジェクションを設定すると、コントローラ内の複数の場所からログファイルを検索できます。相関は、この機能が設定されているアプリケーションの特定の時間範囲に、関連付けられた GUID を持つログがある場合にのみ機能します。[Search Logs By Request GUID] ボタンは、スナップショットの時間範囲にスナップショット要求 GUID のログがある場合に表示されます。
分析への APM:ビジネス トランザクション スナップショットから
トランザクション分析からログ分析
任意のトランザクション分析検索から関連するトランザクションを選択し、詳細を表示できます。
ログ分析からトランザクション分析
任意のログ分析検索からログを選択し、[Event Details] を表示できます。