Java エージェントの既知の問題
内容
apmdevops96jp
内容
システム時刻を遅らせるとエージェントが不安定な状態になる - 275216
問題の状況:
システム時刻を 20 分を超えて遅らせると、実行中のエージェントが不安定な状態になる場合があります。 監視されているアプリケーションが影響を受ける可能性があります。
解決方法:
エージェントの実行中は、システム時刻を遅らせないでください。
注:
元の時刻に戻すと、エージェントの状態は再度安定します。Oracle JVM 7 で Instance Counts のメトリックが表示されない - 309253
問題の状況:
Oracle JVM 7 を実行している場合、Instance Counts ノードにメトリックが表示されません。 エージェントはコンストラクタ インスツルメンテーションを有効にしません。
解決方法:
この問題に回避策はありません。
Stall Count メトリックが増加し続ける - 263027
問題の状況:
JVM ヒープ メモリの制約がある環境では、Stall Count メトリックの値が正しく更新されない場合があります。 このような場合、ストールしたメソッドが完了しても、Stall Count メトリックの数が減少しなくなります。
解決方法:
この問題には回避策がありません。
Oracle RAC 上のエージェント 9.1.1 以降で CPU 使用率が増加する - 84418
問題の状況:
エージェント 9.1.1 以降で、Oracle RAC クラスタの各インスタンスが個別のノードとして表示され、その結果 CPU 使用率が増加します。
解決方法:
エージェント プロファイル内で以下のプロパティを追加すると、CPU 使用率が低下する場合があります。
introscope.agent.sqlagent.cacheConnectionsURLs=true
introscope.agent.transactiontrace.componentCountClamp がエージェントを再起動しないと更新されない - 83982
問題の状況:
プロパティが 5000 よりも小さな値に初期化されると、introscope.agent.transactiontrace.componentCountClamp プロパティが更新されません。
解決方法:
新しい値を指定した後にエージェントを再起動します。
JBoss 7 でエージェントが起動しない - 76212、84396
問題の状況:
JBoss 7 で ORACLE/SUN JDK 1.6 アップデート 15 以降のバージョンを使用すると、エージェントが起動しません。
解決方法:
この問題を解決するには、以下の回避策の
いずれか
を使用します。- ORACLE/SUN JDK 1.6 Update 14 またはそれ以前のバージョンを使用します。
- エージェント プロファイルで WILY エージェントのログを無効にし、サーバを起動します。 サーバが起動したら、ログを有効にします。
- JBoss 起動スクリプトをテキスト エディタで開き、以下のように更新します。set JAVA_OPTS= %JAVA_OPTS% -Djboss.modules.system.pkgs=org.jboss.logmanager,com.wily,com.wily.* -Djava.util.logging.manager=org.jboss.logmanager.LogManager -javaagent:%JBOSS_HOME%\wily\Agent.jar -Dcom.wily.introscope.agentProfile=%JBOSS_HOME%\wily\core\config\IntroscopeAgent.profile -Xbootclasspath/p:%JBOSS_HOME%\modules\org\jboss\logmanager\main\jboss-logmanager-1.2.2.GA.jar;%JBOSS_HOME%\modules\org\jboss\logmanager\log4j\main\jboss-logmanager-log4j-1.0.0.GA.jar;%JBOSS_HOME%\modules\org\apache\log4j\main\log4j-1.2.16.jar
JBoss 6 で boot.log が作成されない - 76007
問題の状況:
JDK 1.6 アップデート 15 以降のバージョンを使用すると、boot.log が JBoss アプリケーション サーバで作成されません。 これは、ログを記録するすべてのエージェントに共通の問題です。
解決方法:
この問題を解決するには、以下の回避策の
いずれか
を使用します。- JDK 1.6 Update 14 またはそれ以前のバージョンを使用します。
- エージェント プロファイルで WILY エージェントのログを無効にし、サーバを起動します。
- サーバが起動したら、ログを有効にします。
Oracle バックエンド メトリックが予期しないノードの下に表示される - 75901
問題の状況:
jdbc URL を以下の例のように 1 つの「host」文字列が含まれるように指定すると、[Backends]ノードの下のメトリックが、 -port (Oracle DB) の形式ではなく、 -(Oracle DB) の下に表示されます。 この問題は、Type 2 および Type 4 JDBC ドライバに接続している、Oracle スタンドアロン データベースおよび RAC データベースで確認されています。
たとえば、以下の通りです。
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=port1))(CONNECT_DATA=(SERVICE_NAME=<serviceName>)(SERVER=DEDICATED)))
注:
SID は、SID またはサービス名のいずれかで置き換えられます。解決方法:
jdbc URL を以下の形式で指定する必要があります。
RAC データベースの場合
jdbc:oracle:[thin/oci]:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostnamea>)(PORT=port1))(ADDRESS=(PROTOCOL=TCP)(HOST= <hostnameb>)(PORT=port2))(ADDRESS=(PROTOCOL=TCP)(HOST= <hostnamec>)(PORT=port3))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=<serviceNameAAA)))
スタンドアロン データベースの場合
jdbc:oracle:thin:@hostnamea:port1:sidA
メトリックが、Oracle RAC DB 用の非キーワード値構文の単一ノードの下に表示される - 75900、230111
問題の状況:
アプリケーションがどのバックエンド RAC データベースのノードに接続されているかに関係なく、[Backends]ノード以下のメトリックが単一のノードの下に表示されます。 この情報は、Type 2 および Type 4 JDBC ドライバの両方に関連します。
たとえば、以下の通りです。
jdbc:oracle:thin:@<hostname>:port:<SID>
注:
SID は、SID またはサービス名のいずれかで置き換えられます。解決方法:
RAC 接続文字列または URL を RAC URL の標準形式で指定する必要があります。 たとえば、以下の通りです。
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostnamea>)(PORT=port1))(ADDRESS=(PROTOCOL=TCP)(HOST= <hostnameb>)(PORT=port2))(ADDRESS=(PROTOCOL=TCP)(HOST= <hostnamec>)(PORT=port3))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=<serviceNameAAA)))
JBoss 7 アプリケーションでのインスツルメントでのエラー - 75783
問題の状況:
JBoss 7 アプリケーションでインスツルメントを行うエージェントを使用していると、エージェント ログに以下のようなエラーが記録されている場合があります。
12/03/29 14:34:11 IST [ERROR] [IntroscopeAgent.Agent] A problem occurred while attempting to Introscope-enable com/test/SingletonSBean$$$view2: com.wily.diagnos.personality.java.classfile.constants.DGClassConstant cannot be cast to com.wily.diagnos.personality.java.classfile.constants.DGUtf8Constant
解決方法:
この問題に回避策はありません。 このメッセージを無視しても機能上の問題はありません。
BCI が一部の EJB アプリケーションで失敗する - 75733
問題の状況:
EJB コンテナによって生成される動的なプロキシ クラスをインスツルメントするときに、CLASSCASTEXCEPTION が表示されることがあります。
解決方法:
ログ ファイル内での例外を回避するために、そのクラスをスキップします。 機能上の問題はありません。
例:
PBD ファイルを作成するか、または
jboss4x.pbd
ファイルを編集し、エラーが表示されているクラスの Skip ディレクティブを追加します。SkipClass: org.jboss.as.quickstarts.singleton.Counter$$$view13 SkipClass: com.test.SingletonSBean$$$view3
オプションのキーワード「Port」が指定されていない JDBC URL のノード名が正しくない - 75328
問題の状況:
[Backends]ノードにアクセスすると、以下の形式のノード名が表示されることがあります。
<SID>-<HostName>-<port> (Oracle DB)
ポート番号が URL に示されていない場合、この形式は以下の形式に変換されます。
<SID>-<HostName>- (Oracle DB)
解決方法:
Oracle データベース URL または接続文字列にはポート番号を含める必要があります。
CA APM のパフォーマンス改善に関する説明 - 73540
問題の状況:
CA APM Java エージェントを使用して Sun JVM RHEL をインスツルメントする場合、JVM でマルチスレッドへの依存度が大きいアプリケーションを実行すると、スレッドがタスクを(ほかのスレッドで待機させたりブロックしたりせずに)常に実行するため、ほかの CA APM 環境で得られるようなメモリ改善の一部が得られない場合があります。 ただし、スループットや応答時間の改善は体験できます。
解決方法:
この問題に回避策はありません。
Tomcat 6.0.24 上にスレッド プール メトリックが見つからない - 72879
問題の状況:
サードパーティの問題のため、Windows (32 または 64 ビット)の Tomcat アプリケーション サーバ バージョン 6.0.24 では、いくつかのスレッド プール メトリックのデータ、および TomcatMonitoring.jar、GCMonitor.jar、PlatformMonitor.dll 拡張のいくつかのリソース メトリックのデータが欠落する場合があります。
解決方法:
Tomcat インストールから、tcnative-1.dll ファイルに含まれる Tomcat ネイティブ ライブラリを削除します。
一部の WebSphere 7 固有クラスの追跡ディレクティブが ws70x.pbd に含まれていない - 49146
問題の状況:
WebSphere 7 インストール環境では、J2EE のクラス/インターフェースを実装する WebSphere 7 固有のクラスに使用する追跡ディレクティブが ws70x.pbd に含まれていません。
解決方法:
この問題に回避策はありません。
WebSphere 7 で追加のインスツルメンテーションを使用する場合のメモリ追加 - 48885、49328、58653
問題の状況:
WebSphere 7 を使用していて例外追跡や LeakHunter などの追加のインスツルメンテーションをオンにすると、OOM エラーが発生する場合があります。
解決方法:
JVM に使用可能なメモリを増やします。 WebSphere アプリケーション サーバで、JVM の最大ヒープ サイズを 1 GB 以上に設定します。
実行中の ManagedSocketTracing の切り替えによってエラーが発生する場合がある - 39884
問題の状況:
動的インスツルメンテーションは、ManagedSocketTracing グループで使用される Class Substitution の変更をサポートしません。 このため、実行中に ManagedSocketTracing を切り替えようとすると、以下のようなエラー メッセージが表示されます。
Unsupported change to active AutoProbe configuration. Using existing configuration.
解決方法:
.pbd ファイルを変更した後に JVM を再起動します。
アドレスを再利用するようにソケットを設定することで、より迅速な再起動が可能 -39716
問題の状況:
Enterprise Manager の再起動が早すぎると、一部のオペレーティング システム(特に Linux)では起動できないことがあります。 Enterprise Manager のシャットダウン後に再起動するのが早過ぎると、起動できずに誤ったエラー メッセージが表示されることがあります。これは、OS が Enterprise Manager のサーバ ポート(5001)の開放を終えていないためです。
解決方法:
introscope.enterprisemanager.serversockets.reuseaddr
プロパティを true に設定します。 これにより、以前の接続がタイムアウト状態になってもソケットがバインドされます。 ただし、この方法では、2 台のEnterprise Manager が同じポートを使用しないようにするための保護策がなくなるため、注意が必要です。introscope.enterprisemanager.serversockets.reuseaddr
を有効にしない場合は、ソケットの TIME_WAIT 状態が終わるまで待ってください。 ソケットが閉じられると、ソケットは TIME_WAIT 状態になります。 ソケットの TIME_WAIT 状態の持続時間はシステムによって異なりますが、一般的に 120 秒です。動的インスツルメンテーションでの頻繁なクラス再定義によって発生するメモリ不足の状態 - 38867、38868、63857
問題の状況:
Sun HotSpot などの特定の JVM で、動的インスツルメンテーションを使用し、クラスが多数再定義される場合は、最終的に OutOfMemory エラーが発生してアプリケーションがクラッシュします。 これは、特定の JVM での PermGen の処理方法によるものです。
解決方法:
PermGen に割り当てたメモリの量を増やすか、または動的インストルメンテーションをオフにします。 増やすメモリの量は、ご使用の JVM およびアプリケーションのサイズによって異なります。
このエラーの発生が継続する場合は、CA サポートにご連絡ください。