Cara memantau aplikasi Spring Boot dengan AppDynamics Java Agent

Catatan

Azure Spring Apps adalah nama baru untuk layanan Azure Spring Cloud. Meskipun layanan memiliki nama baru, Anda akan melihat nama lama di beberapa tempat untuk sementara saat kami berupaya memperbarui aset seperti cuplikan layar, video, dan diagram.

Artikel ini berlaku untuk: ✔️ Konsumsi standar dan khusus (Pratinjau) ✔️ Basic/Standard ❌️ Enterprise

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

Dengan AppDynamics Java Agent, Anda dapat:

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

Video berikut memperkenalkan agen dalam proses AppDynamics Java.


Prasyarat

Mengaktifkan agen dalam proses AppDynamics Java

Untuk seluruh alur kerja, Anda perlu:

  • Mengaktifkan agen dalam proses Java AppDynamics 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 tempat penampung <...> 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 menginstal lebih dulu agen Java AppDynamics ke 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 Memantau Azure Spring Apps dengan Agen Java. Untuk informasi selengkapnya tentang bagaimana variabel ini membantu menampilkan dan mengatur laporan di antarmuka pengguna AppDynamics, lihat Tingkat dan Node.

Mengaktifkan aplikasi dengan AppDynamics Agent menggunakan portal Azure

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

  1. Buka instans Azure Spring Apps Anda di portal Azure.

  2. Pilih Aplikasi di bagian Pengaturan panel navigasi.

    Cuplikan layar portal 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 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 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 penyerahan yang lengkap untuk instrumen dan memantau setiap aplikasi baru yang Anda buat dan sebarkan.

Melakukan provisi otomatis dengan menggunakan Terraform

Untuk mengonfigurasi variabel lingkungan di template Terraform, tambahkan kode berikut ke template, ganti tempat penampung <...> 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'
}

Melakukan provisi otomatis dengan menggunakan templat ARM

Untuk mengonfigurasi variabel lingkungan di template ARM, tambahkan kode berikut ke template, 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",
  ...
}

Meninjau laporan di dasbor AppDynamics

Bagian ini memperlihatkan berbagai laporan di AppDynamics.

Cuplikan layar berikut memperlihatkan ringkasan 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 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 diperlihatkan 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 memperlihatkan analisis penggunaan memori di bagian Tumpukan dari halaman Memori:

Cuplikan layar AppDynamics yang memperlihatkan bagian Heap dari halaman Memori.

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

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

Cuplikan layar berikut memperlihatkan halaman Transaksi Lambat:

Cuplikan layar AppDynamics yang memperlihatkan halaman Transaksi Lambat.

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

Cuplikan layar AppDynamics yang memperlihatkan Browser Metrik.

Menampilkan log AppDynamics Agent

Secara default, Azure Spring Apps mencetak log tingkat info Agen AppDynamics ke STDOUT. Log dicampur dengan log aplikasi. Anda dapat menemukan versi agen eksplisit dari log aplikasi.

Anda juga bisa mendapatkan log AppDynamics Agent dari lokasi berikut:

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

Pelajari tentang peningkatan AppDynamics Agent

AppDynamics Agent ditingkatkan secara teratur dengan 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 lalu lintas keluar instans injeksi jaringan virtual

Untuk instans injeksi jaringan virtual Azure Spring Apps, pastikan lalu lintas keluar dikonfigurasi dengan benar untuk AppDynamics Agent. 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 Agen AppDynamics, lihat Memantau Azure Spring Apps dengan Agen Java.

Langkah berikutnya

Menggunakan Agen Dalam Proses Java Application Insights di Azure Spring Apps