Download PDF
Download page Windows 上の .NET エージェントのロギング.
Windows 上の .NET エージェントのロギング
このページでは、Windows 上の .NET エージェントのロギングの概要について説明します。.NET エージェントは、%ProgramData%\AppDynamics\DotNetAgent\Logs
ディレクトリ内にログファイルをホストします。ログをロールオーバーするセットに編成する方法については、「エージェントログファイル」を参照してください。
ログファイルのサイズ
セット内では、エージェントログの最初のファイルの最大サイズは 5 MB です。エージェントが起動されたコンテキストに関する重要な情報が含まれているため、このファイルは決して削除されることはありません。
セット内の残りの各ログは、最大 5 MB まで達することができます。
複数回の再起動と生成される可能性があるすべてのログ(.NET エージェント、ビジネストランザクション、REST)を考慮すると、ロールオーバーログの最大数は 5 です。セットあたりの最大サイズは、5 MB + (5 X 5 MB) = 30 MB です。
SamplingInfo や Winston などのログファイルでは、異なる構成になります。サイズは 9 MB で、アーカイブファイルは 2 つのみです。
プロファイラのログは異なり、Boost と呼ばれるロギングフレームワークによって Profiler フォルダにログが記録され、インストゥルメント化された各プロセスに 1 つのファイルが作成されます。Boost では、アーカイブファイル数と最大サイズが使用されますが、その 2 つの制限値が異なります。Profile フォルダ内のファイル数はデフォルトで 50 個まで、最大サイズはデフォルトで 30 MB です。
.NET エージェントのログファイルの制御
.NET エージェントを 22.6.0 以上のバージョンにアップグレードする場合は、構成のバージョンにプロパティ concurrentWrites="true"
が含まれていることを確認してください。
.NET エージェントのログファイルは、.NET エージェント インストール ディレクトリにある AppDynamicsAgentLog.config
ファイルの <target>
設定を変更することで制御できます。
<targets async="true">
<target name="logfile" xsi:type="File" concurrentWrites="true" archiveAboveSize="5000000" maxArchiveFiles="5" createDirs="true" fileName="AgentLog.txt" layout="${longdate} ${processid} ${processname} ${appdomainid} ${threadid} ${level} ${logger:shortName=True} ${message}"/>
<target name="RESTHeartbeat" xsi:type="File" concurrentWrites="true" archiveAboveSize="5000000" maxArchiveFiles="5" createDirs="true" fileName="RESTHeartbeat.txt" layout="${longdate} ${processid} ${processname} ${appdomainid} ${threadid} ${level} ${logger:shortName=True} ${message}"/>
<target name="RESTfile" xsi:type="File" concurrentWrites="true" archiveAboveSize="5000000" maxArchiveFiles="5" createDirs="true" fileName="RESTCommunications.txt" layout="${longdate} ${processid} ${processname} ${appdomainid} ${threadid} ${level} ${logger:shortName=True} ${message}"/>
<target name="warnfile" xsi:type="File" concurrentWrites="true" archiveAboveSize="5000000" maxArchiveFiles="5" createDirs="true" fileName="WarnLog.txt" layout="${longdate} ${processid} ${processname} ${appdomainid} ${threadid} ${level} ${logger:shortName=True} ${message}"/>
<target name="bcifile" xsi:type="File" concurrentWrites="true" archiveAboveSize="5000000" maxArchiveFiles="5" createDirs="true" fileName="ByteCode.txt" layout="${longdate} ${processid} ${processname} ${appdomainid} ${threadid} ${level} ${logger:shortName=True} ${message}"/>
<target name="btlog" xsi:type="File" concurrentWrites="true" archiveAboveSize="5000000" maxArchiveFiles="5" createDirs="true" fileName="BusinessTransactionsLog.txt" layout="${longdate} ${processid} ${processname} ${appdomainid} ${threadid} ${level} ${logger:shortName=True} ${message}"/>
<target name="CoordinatorRecovery" xsi:type="File" concurrentWrites="true" archiveAboveSize="2000000" maxArchiveFiles="2" createDirs="true" fileName="CoordinatorRecoveryLog.txt" layout="${longdate} ${processid} ${processname} ${appdomainid} ${threadid} ${level} ${logger:shortName=True} ${message}"/>
<target name="Winston" xsi:type="File" concurrentWrites="true" archiveAboveSize="9000000" maxArchiveFiles="2" createDirs="true" fileName="Winston.txt" layout="${longdate} ${processid} ${appdomainid} ${threadid} ${message}"/>
<target name="SamplingInfo" xsi:type="File" concurrentWrites="true" archiveAboveSize="9000000" maxArchiveFiles="2" createDirs="true" fileName="SamplingInfo.txt" layout="${longdate} ${processid} ${appdomainid} ${threadid} ${level} ${logger:shortName=True} ${message}"/>
<target name="Analytics" xsi:type="File" concurrentWrites="true" archiveAboveSize="9000000" maxArchiveFiles="2" createDirs="true" fileName="Analytics.txt" layout="${longdate} ${processid} ${appdomainid} ${threadid} ${message}"/>
<target name="Profiler" xsi:type="File" concurrentWrites="true" archiveAboveSize="12000000" maxArchiveFiles="2" createDirs="true" fileName="Profiler" layout="${longdate} ${processid} ${appdomainid} ${threadid} ${level} ${logger:shortName=True} ${message}"/>
</targets>
.NET エージェントのロガーの制御
.NET エージェントのログレベルは、.NET エージェント インストール ディレクトリにある AppDynamicsAgentLog.config
ファイルの minlevel
パラメータの値を変更することで制御します。
ログはサーバーごとに構成されます。.NETマシンエージェントと. NETエージェントは同じ構成ファイルを読み、同じ出力ファイルセットに書き込みます。
<logger name="com.appdynamics.REST.HeartBeatLog" minlevel="Info" writeTo="RESTHearbeat" final="true"/>
<logger name="*" minlevel="Warn" writeTo="warnfile"/>
<logger name="com.appdynamics.BusinessTransactions" minlevel="Info" writeTo="btlog" final="true"/>
<logger name="com.appdynamics.bci.*" minlevel="Info" writeTo="bcifile" final="true"/>
<logger name="com.appdynamics.REST.*" minlevel="Info" writeTo="RESTfile" final="true"/>
<logger name="AppDynamics.Agent.Coordinator.Recovery.*" minlevel="Info" writeTo="CoordinatorRecovery" final="true"/>
<logger name="com.appdynamics.METRICS.MetricSender" minlevel="Info" writeTo="RESTfile" final="true"/>
<logger name="AppDynamics.Winston.*" minlevel="Info" writeTo="Winston" final="true"/>
<logger name="com.appdynamics.tm.AFastBackendResolver" minlevel="Warn" writeTo="logfile" final="true"/>
<logger name="com.appdynamics.ManagedAgentAPI.DumpStats" minlevel="Trace" writeTo="SamplingInfo" final="true"/>
<logger name="com.appdynamics.ee.service.analytics.Analytics" minlevel="Info" writeTo="Analytics" final="true"/>
<logger name="com.appdynamics.profiler.*" minlevel="Info" writeTo="Profiler"/>
<logger name="*" minlevel="Info" writeTo="logfile"/>