Azure App Service で Tomcat、JBoss、または Java SE アプリの APM プラットフォームを構成する

この記事では、Azure App Service にデプロイされた Java アプリケーションを Azure Monitor Application Insights、New Relic、AppDynamics アプリケーション パフォーマンス監視 (APM) プラットフォームと接続する方法について説明します。

Azure App Service は、フル マネージド サービスで次の 3 種類の Java Web アプリケーションを実行します。

  • Java Standard Edition (SE)。 Java SE では、Spring Boot、Quarkus、Dropwizard などの埋め込みサーバーを含む Java アーカイブ (JAR) パッケージとしてデプロイされたアプリ、または Tomcat または Jetty サーバーが埋め込まれたアプリを実行できます。
  • Tomcat。 組み込みの Tomcat サーバーは、Web アプリケーション アーカイブ (WAR) パッケージとしてデプロイされたアプリを実行できます。
  • JBoss Enterprise Application Platform (EAP): 組み込みの JBoss EAP サーバーは、WAR またはエンタープライズ アーカイブ (EAR) パッケージとしてデプロイされたアプリを実行できます。 このオプションは、Free、Premium v3、Isolated v2 を含む一連の価格レベルの Linux アプリでサポートされています。

JBoss EAP on App Service では、ライセンス持ち込み (BYOL) の課金がサポートされるようになりました。 BYOL を使用すると、既存の Red Hat サブスクリプションをお持ちのお客様は、これらのライセンスを Azure App Service 上の JBoss EAP デプロイに直接適用できます。 詳細については、 App Service での JBoss EAP の BYOL サポートを参照してください。

Application Insights の構成

Azure Monitor Application Insights は、クラウド ネイティブのアプリケーション監視サービスです。 これにより、障害、ボトルネック、および使用パターンを観察して、アプリケーションのパフォーマンスを向上させ、平均解決時間 (MTTR) を短縮できます。 Node.js または Java アプリの監視、ログ、メトリック、分散トレースの自動収集を有効にすることができます。 Application Insights を使用すると、アプリに SDK を含める必要がなくなります。 エージェントを構成するための使用可能なアプリ設定の詳細については、 Application Insights のドキュメントを参照してください

Azure portal から Application Insights を有効にするには、左側のメニューで [ 監視>Application Insights] を選択します。 [ Application Insights を有効にする] を選択します。

既定では、Web アプリと同じ名前の新しい Application Insights リソースが使用されます。 既存の Application Insights リソースを使用するか、名前を変更することができます。 下部にある [ 適用 ] を選択します。

New Relic の構成

New Relic を構成するには:

最新の New Relic ドキュメント には、最大 7.x の JBoss EAP サポートが記載されています。 JBoss EAP 8.x はまだサポートされていません。

  1. NewRelic.com で New Relic アカウントを作成します。

  2. New Relic から Java エージェントをダウンロードします。

  3. ライセンス キーをコピーします。これは後ほどエージェントの構成を行う際に必要です。

  4. App Service インスタンスに SSH 接続 し、新しいディレクトリ /home/site/wwwroot/apm を作成します。

  5. アンパックされた New Relic Java エージェント ファイルを /home/site/wwwroot/apm の下のディレクトリにアップロードします。 エージェントのファイルは 、/home/site/wwwroot/apm/newrelic 内にある必要があります。

  6. /home/site/wwwroot/apm/newrelic/newrelic.yml で YAML ファイルを変更します。 プレースホルダー ライセンスの値をライセンス キーに置き換えます。

  7. Azure portal で App Service でアプリケーションを参照し、新しいアプリケーション設定を作成します。

    名前が JAVA_OPTS で値が -javaagent:/home/site/wwwroot/apm/newrelic/newrelic.jar の環境変数を作成します。

    名前が CATALINA_OPTS で値が -javaagent:/home/site/wwwroot/apm/newrelic/newrelic.jar の環境変数を作成します。

JAVA_OPTS 用の環境変数が既にある場合は、-javaagent:/... オプションを現在値の末尾に追加します。

CATALINA_OPTS 用の環境変数が既にある場合は、-javaagent:/... オプションを現在値の末尾に追加します。

AppDynamics の構成

AppDynamics を構成するには:

  1. AppDynamics.com で AppDynamics アカウントを作成します。

  2. AppDynamics の Web サイトから Java エージェントをダウンロードします。 ファイル名は AppServerAgent-x.x.x.xxxxx.zipに似ています。

  3. App Service インスタンスに SSH 接続 し、新しいディレクトリ /home/site/wwwroot/apm を作成します。

  4. Java エージェント ファイルを /home/site/wwwroot/apm の下のディレクトリにアップロードします。 エージェントのファイルは 、/home/site/wwwroot/apm/appdynamics にある必要があります。

  5. Azure portal で App Service でアプリケーションを参照し、新しいアプリケーション設定を作成します。

    名前が JAVA_OPTS で値が -javaagent:/home/site/wwwroot/apm/appdynamics/javaagent.jar -Dappdynamics.agent.applicationName=<app-name> の環境変数を作成します。<app-name> は App Service の名前です。 JAVA_OPTS 用の環境変数が既にある場合は、-javaagent:/... オプションを現在値の末尾に追加します。

    名前が CATALINA_OPTS で値が -javaagent:/home/site/wwwroot/apm/appdynamics/javaagent.jar -Dappdynamics.agent.applicationName=<app-name> の環境変数を作成します。<app-name> は App Service の名前です。 CATALINA_OPTS 用の環境変数が既にある場合は、-javaagent:/... オプションを現在値の末尾に追加します。

Datadog を構成する

構成オプションは、組織が使用している Datadog サイトによって異なります。 Azure の公式 Datadog 統合に関するドキュメントを参照してください

Dynatrace を構成する

Dynatrace は 、Azure Native Dynatrace サービスを提供します。 Dynatrace を使用して Azure App Services を監視するには、 Azure の公式の Dynatrace ドキュメントを参照してください

Azure for Java Developers センターにアクセスして、Azure のクイック スタート、チュートリアル、Java リファレンス ドキュメントを確認してください。