Bagikan melalui


Cara memantau aplikasi Spring Boot dengan AppDynamics Java Agent

Note

Paket Basic, Standard, dan Enterprise memasuki periode pensiun pada 17 Maret 2025. Untuk informasi selengkapnya, lihat pengumuman penghentian Azure Spring Apps.

Artikel ini berlaku untuk:✅ Basic/Standard ❎️ Enterprise

Artikel ini menjelaskan cara menggunakan AppDynamics Java Agent untuk memantau aplikasi Spring Boot di Azure Spring Apps.

Dengan AppDynamics Java Agent, Anda dapat:

  • Memantau aplikasi
  • Mengonfigurasi AppDynamics Java Agent menggunakan variabel lingkungan
  • Periksa semua data pemantauan dari dasbor AppDynamics

Video berikut ini memperkenalkan agen dalam proses Java AppDynamics.


Prerequisites

Aktifkan agen dalam proses AppDynamics Java

Untuk seluruh alur kerja, Anda perlu:

  • Aktifkan agen dalam proses AppDynamics Java di Azure Spring Apps untuk menghasilkan data metrik aplikasi.
  • Sambungkan AppDynamics Agent ke AppDynamics Controller untuk mengumpulkan dan memvisualisasikan data di pengontrol.

Diagram yang memperlihatkan AppDynamics Agent dengan panah dua arah ke Spring Boot Apps di Azure Spring Apps dan panah menunjuk ke AppDynamics Agent.

Mengaktifkan aplikasi dengan AppDynamics Agent menggunakan Azure CLI

Untuk mengaktifkan aplikasi melalui Azure CLI, gunakan langkah-langkah berikut.

  1. Buat grup sumber daya.

  2. Buat instans Azure Spring Apps.

  3. Buat aplikasi menggunakan perintah berikut. Ganti placeholder <...> dengan nilai Anda sendiri.

    az spring app create \
        --resource-group "<your-resource-group-name>" \
        --service "<your-Azure-Spring-Apps-instance-name>" \
        --name "<your-app-name>" \
        --is-public true
    
  4. Buat penyebaran dengan AppDynamics Agent menggunakan variabel lingkungan.

    az spring app deploy \
        --resource-group "<your-resource-group-name>" \
        --service "<your-Azure-Spring-Apps-instance-name>" \
        --name "<your-app-name>" \
        --artifact-path app.jar \
        --jvm-options="-javaagent:/opt/agents/appdynamics/java/javaagent.jar" \
        --env APPDYNAMICS_AGENT_APPLICATION_NAME=<your-app-name> \
              APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY=<your-agent-access-key> \
              APPDYNAMICS_AGENT_ACCOUNT_NAME=<your-agent-account-name> \
              APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME=true \
              APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX=<your-agent-node-name> \
              APPDYNAMICS_AGENT_TIER_NAME=<your-agent-tier-name> \
              APPDYNAMICS_CONTROLLER_HOST_NAME=<your-AppDynamics-controller-host-name> \
              APPDYNAMICS_CONTROLLER_SSL_ENABLED=true \
              APPDYNAMICS_CONTROLLER_PORT=443
    

Azure Spring Apps sudah memasang agen AppDynamics Java di jalur /opt/agents/appdynamics/java/javaagent.jar. Anda dapat mengaktifkan agen dari opsi JVM aplikasi Anda, lalu mengonfigurasi agen menggunakan variabel lingkungan. Anda dapat menemukan nilai untuk variabel ini di Monitor Azure Spring Apps dengan Agen Java. Untuk informasi selengkapnya tentang bagaimana variabel ini membantu melihat dan menata laporan di UI AppDynamics, lihat Tingkatan dan Simpul.

Mengaktifkan aplikasi dengan AppDynamics Agent menggunakan portal Microsoft Azure

Untuk mengaktifkan aplikasi melalui portal Microsoft Azure, gunakan langkah-langkah berikut.

  1. Navigasi ke instans Azure Spring Apps Anda di portal Microsoft Azure.

  2. Pilih Aplikasi di bagian Pengaturan panel navigasi.

    Cuplikan layar portal Microsoft Azure yang memperlihatkan halaman Aplikasi untuk instans Azure Spring Apps.

  3. Pilih aplikasi, lalu pilih Konfigurasi di panel navigasi.

  4. Gunakan tab Pengaturan umum untuk memperbarui nilai seperti opsi JVM.

    Cuplikan layar portal Microsoft Azure yang memperlihatkan halaman Konfigurasi untuk aplikasi di instans Azure Spring Apps, dengan tab Pengaturan umum dipilih.

  5. Pilih Variabel lingkungan untuk menambahkan atau memperbarui variabel yang digunakan oleh aplikasi Anda.

    Cuplikan layar portal Microsoft Azure yang memperlihatkan halaman Konfigurasi dengan tab Variabel lingkungan dipilih.

Mengotomatiskan penyediaan

Anda juga dapat menjalankan alur otomatisasi provisi menggunakan templat Terraform, Bicep, atau Azure Resource Manager (templat ARM). Alur ini dapat memberikan pengalaman hands-off lengkap untuk melengkapi dan memantau aplikasi baru apa pun yang Anda buat dan sebarkan.

Mengotomatiskan provisi menggunakan Terraform

Untuk mengonfigurasi variabel lingkungan dalam templat Terraform, tambahkan kode berikut ke templat dan gantilah placeholder <...> dengan nilai Anda sendiri. Untuk informasi selengkapnya, lihat Mengelola Penyebaran Azure Spring Apps Aktif.

resource "azurerm_spring_cloud_java_deployment" "example" {
  ...
  jvm_options = "-javaagent:/opt/agents/appdynamics/java/javaagent.jar"
  ...
    environment_variables = {
      "APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
      "APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
      "APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
      "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
      "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
      "APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
      "APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
      "APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
      "APPDYNAMICS_CONTROLLER_PORT" : "443"
  }
}

Mengotomatiskan provisi menggunakan Bicep

Untuk mengonfigurasi variabel lingkungan dalam file Bicep, tambahkan kode berikut ke file, ganti <...> tempat penampung dengan nilai Anda sendiri. Untuk informasi selengkapnya, lihat Microsoft.AppPlatform Spring/apps/deployments.

deploymentSettings: {
  environmentVariables: {
    APPDYNAMICS_AGENT_APPLICATION_NAME : '<your-app-name>'
    APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY : '<your-agent-access-key>'
    APPDYNAMICS_AGENT_ACCOUNT_NAME : '<your-agent-account-name>'
    APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME : 'true'
    APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX : '<your-agent-node-name>'
    APPDYNAMICS_AGENT_TIER_NAME : '<your-agent-tier-name>'
    APPDYNAMICS_CONTROLLER_HOST_NAME : '<your-AppDynamics-controller-host-name>'
    APPDYNAMICS_CONTROLLER_SSL_ENABLED : 'true'
    APPDYNAMICS_CONTROLLER_PORT : '443'
  }
  jvmOptions: '-javaagent:/opt/agents/appdynamics/java/javaagent.jar'
}

Mengotomatiskan provisi menggunakan templat ARM

Untuk mengonfigurasi environment variables dalam templat ARM, tambahkan kode berikut ke dalam templat, dan ganti placeholder <...> dengan nilai Anda sendiri. Untuk informasi selengkapnya, lihat Microsoft.AppPlatform Spring/apps/deployments.

"deploymentSettings": {
  "environmentVariables": {
    "APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
    "APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
    "APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
    "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
    "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
    "APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
    "APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
    "APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
    "APPDYNAMICS_CONTROLLER_PORT" : "443"
  },
  "jvmOptions": "-javaagent:/opt/agents/appdynamics/java/javaagent.jar",
  ...
}

Meninjau laporan di dasbor AppDynamics

Bagian ini memperlihatkan berbagai laporan di AppDynamics.

Cuplikan layar berikut menunjukkan gambaran umum aplikasi Anda di dasbor AppDynamics:

Cuplikan layar AppDynamics yang memperlihatkan dasbor Aplikasi.

Tab Aplikasi memperlihatkan informasi keseluruhan untuk setiap aplikasi Anda, seperti yang ditunjukkan pada cuplikan layar berikut menggunakan contoh aplikasi:

  • api-gateway

    Cuplikan layar AppDynamics yang memperlihatkan dasbor Aplikasi untuk contoh aplikasi api-gateway.

  • customers-service

    Cuplikan layar AppDynamics yang memperlihatkan dasbor Aplikasi untuk contoh aplikasi layanan pelanggan.

Cuplikan layar berikut ini memperlihatkan bagaimana Anda bisa mendapatkan informasi dasar dari dasbor Panggilan Database .

Cuplikan layar AppDynamics yang memperlihatkan dasbor Panggilan Database.

Anda juga bisa mendapatkan informasi tentang panggilan database paling lambat, seperti yang ditunjukkan pada cuplikan layar ini:

Cuplikan layar AppDynamics yang memperlihatkan halaman Panggilan Database Paling Lambat.

Cuplikan layar AppDynamics yang memperlihatkan halaman Rekam Jepret Berkorelasi yang diakses dari halaman Panggilan Database Paling Lambat.

Cuplikan layar berikut menunjukkan analisis penggunaan memori di bagian Timbunan halaman Memori :

Cuplikan layar AppDynamics yang memperlihatkan bagian Heap dari halaman Memori.

Anda juga dapat melihat proses pengumpulan sampah, seperti yang ditunjukkan pada cuplikan layar ini:

Cuplikan layar AppDynamics yang memperlihatkan bagian Pengumpulan Sampah di halaman Memori.

Cuplikan layar berikut menunjukkan halaman Transaksi Lambat :

Cuplikan layar AppDynamics yang memperlihatkan halaman Transaksi Lambat.

Anda dapat menentukan lebih banyak metrik untuk JVM, seperti yang ditunjukkan pada cuplikan layar Browser Metrik ini:

Cuplikan layar AppDynamics yang memperlihatkan Browser Metrik.

Lihat log Agen AppDynamics

Secara default, Azure Spring Apps mencetak log pada tingkat info dari AppDynamics Agent ke STDOUT. Log-log tersebut tercampur dengan log aplikasi. Anda dapat menemukan versi agen eksplisit dari log aplikasi.

Anda juga bisa mendapatkan log AppDynamics Agent dari lokasi berikut:

  • Log Azure Spring Apps
  • Azure Spring Apps Application Insights
  • Azure Spring Apps LogStream

Pelajari tentang peningkatan AppDynamics Agent

AppDynamics Agent diperbarui secara teratur bersama JDK (triwulanan). Peningkatan agen mungkin memengaruhi skenario berikut:

  • Aplikasi yang ada menggunakan AppDynamics Agent sebelum peningkatan tidak berubah, tetapi memerlukan mulai ulang atau sebarkan ulang untuk melibatkan versi baru AppDynamics Agent.
  • Aplikasi yang dibuat setelah peningkatan menggunakan versi baru AppDynamics Agent.

Mengonfigurasi instans penyuntikan jaringan virtual untuk lalu lintas keluar

Untuk instans injeksi jaringan virtual pada Azure Spring Apps, pastikan konfigurasi lalu lintas keluar dilakukan dengan benar untuk Agen AppDynamics. Untuk detailnya, lihat Cisco AppDynamics SaaS Domains dan IP Ranges dan Tanggung jawab pelanggan untuk menjalankan Azure Spring Apps di jaringan virtual.

Memahami batasannya

Untuk memahami batasan AppDynamics Agent, lihat Memantau Azure Spring Apps dengan Java Agent.

Langkah selanjutnya

Menggunakan Agen In-Process Java Application Insights di Azure Spring Apps