本トピックでは、Java アプリケーションに Application Real-Time Monitoring Service (ARMS) エージェントを手動でインストールする際によくある問題の診断方法と解決方法について説明します。
トラブルシューティングを開始する前に、ARMS エージェントが期待どおりに動作していないことを確認してください。詳細については、「ARMS エージェントがインストールされているかどうかの確認方法」をご参照ください。
事前チェック
特定の問題を調査する前に、次のコマンドを実行して、ご利用の Java プロセスに -javaagent パラメーターが含まれていることを確認します。
ps -ef | grep java | grep javaagent出力が返されない場合、ARMS エージェント JAR ファイルが JVM にアタッチされていません。アプリケーションの起動コマンドを確認し、-javaagent パラメーターが指定されていることを確認してください。詳細については、「ARMS エージェントを手動でインストールする」をご参照ください。
問題 1:リージョンの不一致による "LicenseKey is invalid" エラー
現象
ライセンスキーが無効です エラーが、ArmsAgent/log/ ディレクトリ内のログに表示されます。
原因
ARMS エージェントのインストールパッケージはリージョン固有です。ARMS エンドポイント情報はパッケージにカプセル化されています。ご利用のアプリケーションが実行されているリージョンとは異なるリージョンのパッケージをダウンロードした場合、エージェントは正しい ARMS エンドポイントに接続できません。
ソリューション
ご利用のアプリケーションが実行されているリージョンを確認します。
その特定のリージョン向けの ARMS エージェントのインストールパッケージをダウンロードします。ダウンロードリンクについては、「ARMS エージェントを手動でインストールする」をご参照ください。
既存のエージェントディレクトリを、新しくダウンロードしたパッケージに置き換えます。
ご利用のアプリケーションを再起動します。
問題 2:不正なライセンスキー
現象
ArmsAgent/log/ ディレクトリのエージェントログに LicenseKey is invalid エラーが表示されます。
原因
起動コマンドで指定されたライセンスキーが、ARMS コンソールでご利用のアプリケーションに割り当てられたライセンスキーと一致しません。
ソリューション
ARMS コンソールにログインします。
左側のナビゲーションウィンドウで、アプリケーションモニタリング > アプリケーションリスト を選択します。
[アプリケーション] ページで、お使いのアプリケーションの名前をクリックしてライセンスキーを確認します。
コンソールのライセンスキーと、ご利用の起動コマンドの
-Darms.licenseKeyパラメーターの値を比較します。両者が同一であることを確認してください。値が異なる場合は、起動コマンドを正しいライセンスキーで更新し、ご利用のアプリケーションを再起動します。
問題 3:サポートされていない JDK バージョン
現象
アプリケーションの起動後、ARMS エージェントが起動に失敗するか、データをレポートしません。
原因
特定の初期の JDK 1.8 バージョン、具体的には 1.8.0_25 と 1.8.0_31 には、ARMS エージェントが正しく機能するのを妨げる既知の互換性の問題があります。
ソリューション
ご利用の JDK バージョンを確認します。
java -version出力にバージョン 1.8.0_25 または 1.8.0_31 が表示された場合は、より新しい JDK バージョンにアップグレードしてください。
サポートされている JDK バージョンとフレームワークの完全なリストについては、「ARMS がサポートする Java コンポーネントとフレームワーク」をご参照ください。
問題 4:権限の問題によるエージェント JAR ファイルのロード失敗
現象
アプリケーションの起動後、ArmsAgent ディレクトリに logs サブディレクトリが存在しません。
原因
aliyun-java-agent.jar ファイルが JVM によってロードされませんでした。これは通常、ArmsAgent ディレクトリのファイル権限が正しくない場合や、起動コマンドの -javaagent パラメーターが間違ったパスを指している場合に発生します。
ソリューション
ご利用の起動コマンドの
-javaagentパラメーターが正しい JAR ファイルを指していることを確認します。# 例:実際のプロセスのコマンドラインを確認します ps -ef | grep java | grep javaagentArmsAgentディレクトリとその内容が、アプリケーションを実行するユーザーによって読み取り可能であることを確認します。ls -la /path/to/ArmsAgent/権限が正しくない場合は、修正します。
chmod -R 755 /path/to/ArmsAgent/アプリケーションを再起動し、
ArmsAgentディレクトリにlogsサブディレクトリが作成されるかどうかを確認します。
お問い合わせ
上記すべてのソリューションを試しても問題が解決しない場合は、チケットを送信してください。トラブルシューティングを迅速に行うために、チケットに次の情報を含めてください。
ARMS エージェントのバージョン。
JDK バージョン (
java -versionの出力)。アプリケーションの起動コマンド。
ArmsAgent/log/ディレクトリのログファイル。ご利用のアプリケーションがデプロイされているリージョン。