デフォルトでは、AppDynamics Java エージェントはログファイルを <agent_home>/ver<version_number>/logs/<node_name> ディレクトリに書き込みます。 

ロールオーバーするセットにログが整理される方法については、「エージェントログファイル」を参照してください。 

アペンダ属性の構成

各ロガーには 1 つまたは複数のアペンダがあります。各アペンダでは、データがログに記録される場所と形式が指定されます。アペンダごとに、次の属性を設定できます。

[Attribute]説明(Description)タイプ(Type)デフォルト値
fileNameログファイルの名前。文字列-
nameアペンダの名前。文字列-
directoryログファイルが保存されるディレクトリ。文字列""
immediateFlushログデータをすぐにフラッシュするかどうか。オプション:truefalse文字列true
bufferSizeイベントバッファのサイズ(MB)。バッファは、ディスクに書き込まれる前にメッセージを一時的に格納します。文字列256 KB

ログファイルのサイズとロールオーバーを構成

トラブルシューティングを容易にするために、エージェントログファイルの長さを制限できます。これを行うには、ログファイルの最大サイズを指定します。ログがそのサイズに達すると、ロールオーバーされます。つまりこのログファイルは圧縮され、次のログデータのバッチを保存するために新しい空のログファイルが生成されます。デフォルトでは、ログファイルの最大サイズは 20 MB で、4 回までロールオーバーできます。「Javaエージェントの問題のトラブルシューティング」を参照してください。 

log4j2.xml ファイルでログのロールオーバー属性を構成できます。

  1. log4j2.xml で、ロールオーバー属性を構成する ADRRAFAppender 要素を見つけます。
  2. ADRolloverStrategy 要素を変更して、次の属性の値を設定します。

    [Attribute]説明(Description)タイプ(Type)
    maxログファイルの最大数。最大ファイル数に達すると、最初のログファイルの次に最も古いログファイルが削除されます。文字列
    compressionLevelファイルの圧縮の程度。0が圧縮されていない状態、9が最も圧縮されてる状態を表します。文字列
    formatログが保存されているファイルフォーマット。オプション:zipgz文字列

    次に例を示します。

    <ADRRAFAppender name="BusinessTransactionsLogger" fileName="BusinessTransactions.log">
     <PatternLayout pattern="[%t] %d{DATE} %5p - %m%n" />
     <SizeBasedTriggeringPolicy size="20 MB" />
     <ADRolloverStrategy max="5", compressionLevel="8", format="zip" />
    </ADRRAFAppender>

    上の例では、「5」は保持している 1 セットあたりのアペンダタイプごとのバックアップ付きログファイルの総数です。基本的に、エージェントを再起動するたびに、{number of appenders}ファイルがセットとして作成されます。その後、各ファイルはロールオーバーする前に、最初のファイルと 4 つのバックアップログファイルで構成される合計「5」ファイルまで拡張できます。

  3. SizeBasedTriggeringPolicy 要素を変更して、次の属性の値を設定します。

    [Attribute]説明(Description)タイプ(Type)
    sizeログがロールオーバーされるまでのログファイルの最大サイズ(MB 単位)。ログは圧縮されるため、ロールオーバー前のサイズはデフォルトでは 20MB です。文字列

ログディレクトリの場所の変更

別のログディレクトリを指定するには、次のシステムプロパティを使用します。

-Dappdynamics.agent.logs.dir 

デフォルトのログディレクトリは  <agent_home>/ver<version_number>/logs/<node_name> です。

エージェントログレベルの設定

ほとんどのログファイルのデフォルトのログレベルは INFO です。ログレベルが高いほど、より多くのディスク領域が消費されます。ログレベルを warn または error に変更してログのサイズを減らすことができます。Java エージェントのログレベルを制御するには、バージョン管理されたログ構成ファイルディレクトリ(<agent_home>/<version_number>/conf/logging)にある log4j2.xml ファイルの "level value" パラメータの値を変更します。エージェントのログレベルを変更する場合、アプリケーションまたはエージェントの再起動は必要ありません。たとえば、ログレベルを DEBUG に設定します。

<!-- to control the logging level of the agent log files, use the level attribute below. value="all|trace|debug|info|warn|error"--> 
<AsyncLogger name="com.singularity" level="debug" additivity="false">
    <AppenderRef ref="Default"/>
    <AppenderRef ref="RESTAppender"/>
</AsyncLogger>

Syslog へのダイレクトロギング

Java エージェントでエージェント ホーム ディレクトリのデフォルトログディレクトリに書き込むのではなく、syslog に直接ログ出力を行うようエージェントを構成することができます。エージェントは、log4j SyslogAppender を通じた syslog ベースのログをサポートしています。  

Syslog にログを送信するエージェントの構成

  1. エージェントホームにある次の構成ファイルを開いて編集。
    <agent_home>/ver<version_number>/conf/logging/log4j2.xml

  2. 次のセクションを構成ファイルに追加。

    <Syslog name="Syslog" facility="LOCAL1" host="localhost" port="514" protocol="TCP">
        <PatternLayout pattern="[%t] %d{DATE} %5p %c - %m%n"/>
    </Syslog>
  3. 下記のアペンダーにログをリダイレクトするようエージェントを構成。ファイルのこのセクションを検索

    <!-- to control the logging level of the agent log files, use the level attribute below. value="all|trace|debug|info|warn|error"--> 
    <AsyncLogger name="com.singularity" level="info" additivity="false">
        <AppenderRef ref="Default"/>
        <AppenderRef ref="RESTAppender"/>
    </AsyncLogger>

    以下と置換

    <!-- to control the logging level of the agent log files, use the level attribute below. value="all|trace|debug|info|warn|error"--> 
    <AsyncLogger name="com.singularity" level="info" additivity="false">
        <AppenderRef ref="SyslogAppender"/>
        <AppenderRef ref="RESTAppender"/>
    </AsyncLogger>