Java アプリケーションに Application Real-Time Monitoring Service (ARMS) エージェントをインストールすると、ARMS がそのモニタリングを開始します。その後、アプリケーショントポロジー、トレース、異常なトランザクション、遅いトランザクション、SQL 分析などのモニタリングデータを表示できます。このトピックでは、Java アプリケーションに ARMS エージェントを手動でインストールする方法について説明します。
Container Service for Kubernetes (ACK) クラスターにデプロイされたアプリケーションの場合、ARMS エージェントを手動でインストールするのではなく、ack-onepilot コンポーネントをインストールすることをお勧めします。詳細については、「ACK で ARMS エージェントを自動的にインストールする」および「オープンソースの Kubernetes クラスターで ARMS エージェントを自動的にインストールする」をご参照ください。
前提条件
ネットワーク構成が要件を満たしていること。詳細については、「Java 用 ARMS エージェントで必要なネットワーク構成」をご参照ください。
JDK のバージョンがアプリケーションモニタリングでサポートされていること。詳細については、「ARMS でサポートされている Java コンポーネントとフレームワーク」をご参照ください。
プロセスの最大ヒープメモリが 256 MB を超えていること。
ARMS エージェントのインストール
ARMS コンソールにログインします。左側のナビゲーションウィンドウで、[統合センター] をクリックします。
[Java アプリケーションモニター] カードをクリックします。表示されるパネルで、[手動インストール] を選択します。
ARMS エージェントをダウンロードします。
方法 1: ARMS エージェントを手動でダウンロードします。[Java アプリケーションモニター] パネルで、プロンプトに従って ARMS エージェントをダウンロードします。
方法 2: wget コマンドを実行します。リージョンに基づいてインストールパッケージをダウンロードします。
インストールパッケージを解凍します。
インストールパッケージのディレクトリに移動します。次のコマンドを実行して、インストールパッケージを作業ディレクトリに解凍します。
unzip AliyunJavaAgent.zip -d /{user.workspace}/説明{user.workspace} はサンプルディレクトリです。サンプルディレクトリを実際のディレクトリに置き換えてください。
AppName および LicenseKey パラメーターを追加します。
AppName は、ARMS に統合されるアプリケーションを指定します。ニーズに基づいてカスタムアプリケーション名を入力します。分散アーキテクチャでは、アプリケーションに複数のピアアプリケーションインスタンスを含めることができます。
[Java アプリケーションモニター] パネルまたは DescribeTraceLicenseKey API からライセンスキーを取得します。
次のいずれかの方法を使用して、AppName および LicenseKey パラメーターを追加します。
方法 1 (推奨):
{LicenseKey}パラメーターをコンソールから取得したライセンスキーに置き換え、{AppName}パラメーターをアプリケーション名に置き換えます。方法 2: 複数のアプリケーションで起動スクリプトを再利用するには、エージェント構成ファイルを変更して LicenseKey および AppName パラメーターを指定します。
前のステップで解凍した version ファイルで、Java 用エージェントのバージョンを表示します。
エージェント構成ファイルを変更します。
ARMS エージェント V4.0.0 以降
エージェントディレクトリに arms-agent.properties という名前のファイルを作成し、次の構成を追加します。
arms.licenseKey={LicenseKey} arms.appName={AppName}次に、構成ファイルを開始するための起動コマンドに
-Dotel.javaagent.configuration-file=/path/to/arms-agent.propertiesまたは環境変数OTEL_JAVAAGENT_CONFIGURATION_FILE=/path/to/arms-agent.propertiesを追加します。V4.0.0 より前の ARMS エージェント
エージェントインストールパッケージの arms-agent.config ファイルに、次の構成を追加します。
arms.licenseKey={LicenseKey} arms.appName={AppName}説明構成ファイル内の他のエージェント構成の詳細については、「Java パラメーターおよびデータレポートリージョン用の ARMS エージェントの変更」をご参照ください。
統合コマンドを起動コマンドに追加します。
{user.workspace}を ARMS エージェントが解凍されたディレクトリに置き換えます。demoApp.jar を実際の JAR パッケージへのパスに置き換えます。説明V2.7.3.5 より前の ARMS エージェントを使用する場合は、前述のコードの AliyunJavaAgent/aliyun-java-agent.jar を ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar に置き換えます。できるだけ早くエージェントを最新バージョンにアップグレードすることをお勧めします。
Windows では、スクリプト内の
/を\に置き換え、.shファイルを.batファイルに置き換えます。ARMS エージェント V2.7.1.4 では、アプリケーションをアプリケーションモニタリングに接続するときにアプリケーションセキュリティを有効にできます。アプリケーションセキュリティを有効にする必要がある場合は、スクリプトに
-Darms.appsec.enable=trueを追加します。アプリケーションセキュリティの課金ルールの詳細については、「課金ルール」をご参照ください。
ランタイム環境
手順
java -jarコマンドを実行して起動する Spring Boot アプリケーションまたはその他の Java アプリケーション起動コマンドに -javaagent オプションを追加します。-javaagent パラメーターが -jar パラメーターの前に記述されていることを確認してください。
java -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName} -jar demoApp.jarTomcat
{TOMCAT_HOME}/bin/setenv.sh ファイルに次の構成を追加します。
JAVA_OPTS="$JAVA_OPTS -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName} "Tomcat サービスに setenv.sh 構成ファイルが含まれていない場合は、{TOMCAT_HOME}/bin/catalina.sh ファイルを開き、前述の構成を JAVA_OPTS パラメーターに追加します。詳細については、「catalina.sh」ファイルの 256 行目をご参照ください。
Jetty
{JETTY_HOME}/start.ini 構成ファイルに次の構成を追加します。
aliyun-java-agent.jar --exec -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName}サーバー上に同じアプリケーションの複数のインスタンスをデプロイするには、-Darms.agentId パラメーターを論理番号に設定して JVM プロセスを区別します。例:
java -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName} -Darms.agentId=001 -jar demoApp.jarJava アプリケーションを再起動します。
(オプション) Dockerfile のサンプル
Docker 環境の場合、次の Dockerfile のサンプルを参照して ARMS エージェントをインストールできます。
# {original-docker-image:tag} をイメージアドレスに置き換えます。
FROM {original-docker-image:tag}
# ビジネス要件に基づいて作業ディレクトリを置き換えます。
WORKDIR /root/
# 目的のリージョンで ARMS エージェントのインストールパッケージをダウンロードできるパブリックエンドポイントまたは Virtual Private Cloud (VPC) を取得します。詳細については、「ARMS エージェントのインストール」セクションのステップ 4 をご参照ください。
RUN wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
# ARMS エージェントのインストールパッケージを解凍します。
RUN unzip AliyunJavaAgent.zip -d /root/
# LicenseKey および AppName パラメーターを環境変数に書き込みます。詳細については、「ARMS エージェントのインストール」セクションのステップ 6 をご参照ください。
ENV arms_licenseKey={LicenseKey}
ENV arms_appName={AppName}
# 起動スクリプトを JAVA_TOOL_OPTIONS 環境変数に追加します。
ENV JAVA_TOOL_OPTIONS ${JAVA_TOOL_OPTIONS} '-javaagent:/root/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey='${arms_licenseKey}' -Darms.appName='${arms_appName}
### JAVA_TOOL_OPTIONS 環境変数を確認します。
RUN env | grep JAVA_TOOL_OPTIONS
### カスタム Dockerfile ロジックを追加します。
### ......結果の確認
約 1 分後、 を選択します。アプリケーションが [アプリケーションリスト] ページに表示され、いくつかのデータレコードが送信される場合、アプリケーションは ARMS によって監視されています。