🐧

Application Insights Javaエージェントのバージョンを上げる

2022/12/16に公開

もともとはAppServiceからCosmosDBに接続しようとしたら、Directモードでは繋がらなかったので、サポートに投げたら、AppServiceの設定じゃなくて、 Application Insights Java エージェント のバージョンが古いことが原因かも、ということなので、Application Insights Javaエージェントのバージョンを上げてみました。

環境

  • Azure AppService
    • Java SE 11
  • Application Insights の設定はポータルから有効にしたのみ
  • (Windows)Azure CLI 2.43.0

変更前のApplication Insights のバージョン

3.2.11 になってる。たしかに古い。

2022-12-14T05:51:26.862036754Z Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true -javaagent:/agents/java/applicationinsights-agent-codeless.jar
2022-12-14T05:52:16.681597272Z Mangled result from Jar entry point parser is: 2022-12-14 14:52:15.869+09:00 INFO  c.m.applicationinsights.agent - Applicat
ionInsights Java Agent 3.2.11 started successfully (PID 138)

変更の仕方

トラブルシューティング の5番からやる感じ。

以下、作業ログ

1. Application Insights Java エージェントの最新バージョンを取得

2022/12/16時点で落ちてくるのは applicationinsights-agent-3.4.5.jar
任意のフォルダに配置する。

2. ダウンロードしたjarファイルのフォルダに移動し、azure webapp deploy コマンドを叩く

だいたいこんな感じのコマンド

az webapp deploy --src-path applicationinsights-agent-3.4.5.jar --target-path "/home/site/wwwroot/java/applicationinsights-agent-3.4.5.jar" --type static --subscription {サブスクリプションID} --resource-group {リソースグループ名} --name {AppServiceの名前}

アップロードに成功したらステータスコード200が返ってきます。

3. JAVA_OPTS を設定する

AppServiceのポータル -> 構成 -> アプリケーション設定 でJAVA_OPTSを設定します。
値は先程アップロードしたパスを指定。再起動がかかる。

-javaagent:/home/site/wwwroot/java/applicationinsights-agent-3.4.5.jar

4. Application Insights のタブで Application Insights を無効にする

無効にします。ここでも再起動がかかる。

5. 起動ログを確認

3.4.5 に上がりました。

2022-12-16T08:11:59.817060488Z Running command: java -cp /local/site/wwwroot/app.jar:/usr/local/appservice/lib/azure.appservice.jar: -Djava.util.logging.config.file=/usr/local/appserv
ice/logging.properties -javaagent:/home/site/wwwroot/java/applicationinsights-agent-3.4.5.jar -Xms512M -Xmx512M -Dspring.profiles.active=dev -Dserver.port=80 -Duser.dir=/local/site/ww
wroot org.springframework.boot.loader.JarLauncher
2022-12-16T08:11:59.818363208Z Launched child process with pid: 161
2022-12-16T08:11:59.821844962Z Waiting for main process to exit. GLOBAL_PID_MAIN=161
2022-12-16T08:11:59.822508972Z Waiting for GLOBAL_PID_MAIN == 161
2022-12-16T08:11:59.841447767Z Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true 
2022-12-16T08:12:16.163284286Z 2022-12-16 17:12:16.112+09:00 INFO  c.m.applicationinsights.agent - Application Insights Java Agent 3.4.5 started successfully (PID 161, JVM running for
 16.274 s)

Application Insights のタブは有効にしますボタンが表示されているので、押したくなりますが、一応Insightsの画面に行くと、ログだったりいろいろは見れてました。

あとがき

この後、CosmosDBの接続をGatewayモードからDirectモードになったことを確認できました。
今回もなかなかな罠にかかった感じです。
早くAppServiceのApplication Insightsのバージョン上がってくれないかなー

Discussion