Java エージェントのログ記録
Java エージェントがアプリケーション サーバにインストールされている場合には、サーバの起動後に、<Agent_Home>/logs ディレクトリが作成されます。アプリケーション サーバ プロセスは、<Agent_Home> ディレクトリに対して完全な読み取り/書き込み/実行権限を持っている必要があります。これを指定するには、アプリケーション サーバ プロセスを実行しているオペレーティング システム上の同じユーザで Java エージェントをインストールします。または、Java エージェントを別のユーザとしてインストールし、chmod コマンドを使用して必要な権限を付与します。
apmdevops102jp
ログ記録オプションの設定
Java エージェントがアプリケーション サーバにインストールされている場合には、サーバの起動後に、
<Agent_Home>
/logs ディレクトリが作成されます。
アプリケーション サーバ プロセスは、<Agent_Home>
ディレクトリに対して完全な読み取り/書き込み/実行権限を持っている必要があります。これを指定するには、アプリケーション サーバ プロセスを実行しているオペレーティング システム上の同じユーザで Java エージェントをインストールします。または、Java エージェントを別のユーザとしてインストールし、chmod コマンドを使用して必要な権限を付与します。冗長モードで実行されるように Java エージェントを設定できます。冗長モードでは、アクションおよびご利用の環境とのエージェントのやり取りに関してより詳細なレベルで記録します。この情報は、環境またはエージェントの機能についての問題を解決する場合に役立ちます。
Introscope では、これらに Log4J 機能が使用されます。ほかの Log4J 機能を使用する場合は、Log4J のドキュメントを参照してください。
注:
ログを無効にする方法の詳細については、TEC1877185 を参照してください。冗長モードでのエージェントの実行
エージェントを冗長モードで実行すると、エージェント ログにはより詳細なレベルの情報が記録されます。
以下の手順に従います。
- IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
- log4j.logger.IntroscopeAgent プロパティを変更して、既存のINFOをVERBOSE#com.wily.util.feedback.Log4JSeverityLevelに置き換えます。log4j.logger.IntroscopeAgent=VERBOSE#com.wily.util.feedback.Log4JSeverityLevel, logfile
- IntroscopeAgent.profile を保存します。注:このプロパティへの変更は、1 分以内に有効になると想定されます。管理対象アプリケーションの再起動は必要ありません。
エージェント出力のファイルへのリダイレクト
冗長モードでエージェントのログ記録を制御するプロパティはまたエージェント ログの場所およびログの出力場所も制御します。
以下の手順に従います。
- IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
- log4j.logger.IntroscopeAgentプロパティを検索します。このプロパティのオプションは以下のようになります。
- consoleログ ファイルの情報はコンソールに送信されます。
- logfileログ ファイル内の情報がログ ファイルに送信されます。logfileを選択する場合、ログ ファイルの場所はlog4j.appender.logfile.Fileプロパティを使用して設定されます。
たとえば、エージェントが冗長モードでログ ファイルのみにレポートするように設定する場合、以下のようにlog4j.logger.IntroscopeAgentを設定します。log4j.logger.IntroscopeAgent=VERBOSE#com.wily.util.feedback.Log4JSeverityLevel,logfileエージェントがlogfileとconsoleの両方にレポートするように設定する場合、プロパティには logfile と console の両方を含めます。注:デフォルトでは、エージェント ログ IntroscopeAgent.log が<Agent_Home>/logs ディレクトリに書き込まれます。エージェントの自動名前付けオプションを設定している場合、エージェントのログ ファイルも自動的に名前が付けられます。「エージェントのログ ファイルおよびエージェントの自動ネーミング」を参照してください。 - IntroscopeAgent.profile を保存します。
エージェント ログ ファイルの名前または場所を変更する
プロパティを変更してログ ファイルの場所および名前を変更することもできます。
アプリケーション サーバを開始したユーザは、データを作成して IntroscopeAgent.log に書き込みます。このユーザには、IntroscopeAgent.profile に設定されているとおり IntroscopeAgent.log が格納されるディレクトリに対する作成/書き込み権限が必要です。
以下の手順に従います。
- IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
- log4j.appender.logfile.Fileプロパティを見つけます。logfileがlog4j.logger.IntroscopeAgentプロパティで指定されている場合、ログ ファイルの場所はlog4j.appender.logfile.Fileプロパティを使用して設定されます。注:システム プロパティ(Java コマンド ライン -D オプション)をファイル名の一部として含めることができます。たとえば、Java コマンドが
で始まる場合、-Dmy.property=Server1
はlog4j.appender.logfile.File=../../logs/Introscope-${my.property}.log
に展開されます。log4j.appender.logfile.File=../../logs/Introscope-Server1.log - 新しい場所とファイル名の完全修飾パスを使用して、ログ ファイルの場所と名前を設定します。例:log4j.appender.logfile.File=C:/Logs/AgentLog1.log
- IntroscopeAgent.profile を保存します。
エージェントのログ ファイルおよびエージェントの自動名前付け
自動エージェント名前付けを使用している場合は、デフォルトで、そのエージェントに関連付けられているログ ファイルにも、自動的に名前が付けられます。ログ ファイルの名前付けは、そのエージェントの名前付けと同じ情報を使用します。
エージェントの自動名前付けは、以下の方法でログ ファイルにも影響があります。
- ログ ファイルの元の名前が .log で終わっていない場合は、エージェントの自動名前付けは末尾にピリオドおよびlogを追加します。
- 文字または数字ではないすべての文字は、アンダー スコア文字で置き換えられます。
- 高度な Log4J 機能が使用されている場合、エージェント ログ ファイルの自動名前付け機能は動作しません。
以下の例では、エージェントのログ ファイルの名前付けの方法を示しています。この例では、エージェント名
DOM1//ACME42
(DOM1
は WebLogic ドメイン、ACME42
はエージェント インスタンス)を使用します。AutoProbe.log ファイルが作成され、そのエージェント名が利用できない場合、ファイル名にタイムスタンプが含まれます。
AutoProbe.20040416-175024.log
エージェント名を利用できるようになると、エージェントの自動名前付けを使用してログ ファイル名は以下のように変更されます。
AutoProbe.DOM1_ACME42.log
ログの自動名前付けを無効にするには、プロパティ
introscope.agent.disableLogFileAutoNaming
を true
に設定します。注:
AutoProbe.log ファイルについては、TEC1622313 を参照してください。日付またはサイズによるログのロール アップ
サイズまたは日付に基づいてログをロール アップすることができます。ロール アップすると、指定日数の情報を保持し、残りをパージすることができます。
以下の手順に従います。
- IntroscopeAgent.profile を開き、Logging Configuration セクションを探します。
- 以下のプロパティを変更します。log4j.logger.IntroscopeAgentlog4j.appender.logfile.Filelog4j.appender.console.layoutlog4j.appender.console.layout.ConversionPatternlog4j.appender.logfilelog4j.appender.logfile.MaxFileSizelog4j.appender.logfile.MaxBackupIndex注:このプロパティの変更を有効にするには、管理対象アプリケーションを再起動します。
- IntroscopeAgent.profile を保存します。たとえば、以下の設定では、最大 3 つのバックアップ ログまたはロールされたログが保持され、各ログは最大 2 KB になります。log4j.logger.IntroscopeAgent=VERBOSE#com.wily.util.feedback.Log4JSeverityLevel, logfilelog4j.appender.logfile.File=logs/IntroscopeAgent.loglog4j.appender.console.layout=com.wily.org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern=%d{M/dd/yy hh:mm:ss a z} [%-3p] [%c] %m%nlog4j.appender.logfile=com.wily.introscope.agent.AutoNamingRollingFileAppenderlog4j.appender.logfile.MaxFileSize=2KBlog4j.appender.logfile.MaxBackupIndex=3
ProbeBuilder のログの管理
ProbeBuilder は以下の情報をログに記録します。
- 参照するすべてのクラス
- インスツルメントするすべてのクラス
- インスツルメンテーション プロセス中に追加したプローブ用のインスツルメンテーションを追加しないすべてのクラス
- 使用した PBD
- スキップしたためにインスツルメントされなかったクラス
コマンドライン ProbeBuilder ログの名前および場所
コマンドライン ProbeBuilder を使用する Java クラスの場所の指定では、ProbeBuilder ログ ファイルの場所も指定します。ディレクトリの場合、ログ ファイルは、出力先ディレクトリ内に置かれます。ファイルの場合、ログ ファイルは、出力先ファイルの近くに置かれます。
ProbeBuilder ログ ファイルの名前は <
original-directory-or-original-file
>.probebuilder.log です。<original-directory>
や <original-file>
は、コマンドライン ProbeBuilder で指定した Java クラスの場所です。最新のログのみが維持され、以前のログ ファイルはすべて上書きされます。
AutoProbe ログの名前および場所
AutoProbe は常に変更を記録しようとしています。デフォルトの AutoProbe ログ ファイルの名前は AutoProbe.log です。
アプリケーション サーバを開始したユーザは、データを作成して AutoProbe.log に書き込みます。このユーザには、APM Introscope Agent プロファイルに従って AutoProbe.log が格納されるディレクトリに対する作成/書き込み権限が必要です。
AutoProbe ログの名前または場所を変更できます。
以下の手順に従います。
- IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
- introscope.autoprobe.logfileプロパティを探し、完全修飾されたファイル パスを使用して、ログの名前および場所を変更します。絶対名以外で指定すると、IntroscopeAgent.profile ファイルの場所の相対的な指定と見なされます。注:IntroscopeAgent.profile をクラスパスのリソースからロードする場合、ファイルはリソース内に置かれます。このような状況では、AutoProbe ログ ファイルに書き込みできなくなります。このプロパティの変更を有効にするには、管理対象アプリケーションを再起動します。
- IntroscopeAgent.profile を保存します。