Bagikan melalui


Mengumpulkan Metrik Pemutus Arus Listrik Spring Cloud Resilience4J dengan Micrometer (Pratinjau)

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: ✔️ Basic/Standard ✔️ Enterprise

Artikel ini menjelaskan cara mengumpulkan Metrik Pemutus Arus Listrik Spring Cloud Resilience4j dengan agen dalam proses Java Application Insights. Dengan fitur ini, Anda dapat memantau metrik pemutus sirkuit Resilience4j dari Application Insights dengan Micrometer.

Demo spring-cloud-circuit-breaker-demo menunjukkan cara kerja pemantauan.

Prasyarat

  • Instal Git, Maven, dan Java, jika belum diinstal pada komputer pengembangan.

Membangun dan menyebarkan aplikasi

Gunakan langkah-langkah berikut untuk membangun dan menyebarkan aplikasi sampel.

  1. Gunakan perintah berikut untuk mengkloning dan membangun repositori demo:

    git clone https://github.com/spring-cloud-samples/spring-cloud-circuitbreaker-demo.git
    cd spring-cloud-circuitbreaker-demo && mvn clean package -DskipTests
    
  1. Gunakan perintah berikut ini untuk membuat instans layanan Azure Spring Apps:

    az spring create \
        --resource-group ${resource-group-name} \
        --name ${Azure-Spring-Apps-instance-name}
    
  2. Gunakan perintah berikut untuk membuat aplikasi dengan titik akhir:

    az spring app create \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name resilience4j \
        --assign-endpoint
    az spring app create \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name reactive-resilience4j \
        --assign-endpoint
    
  3. Gunakan perintah berikut untuk menyebarkan aplikasi:

    az spring app deploy \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name resilience4j \
        --env resilience4j.circuitbreaker.instances.backendA.registerHealthIndicator=true \
        --artifact-path ./spring-cloud-circuitbreaker-demo-resilience4j/target/spring-cloud-circuitbreaker-demo-resilience4j-0.0.1-SNAPSHOT.jar
    az spring app deploy \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name reactive-resilience4j \
        --env resilience4j.circuitbreaker.instances.backendA.registerHealthIndicator=true \
        --artifact-path ./spring-cloud-circuitbreaker-demo-reactive-resilience4j/target/spring-cloud-circuitbreaker-demo-reactive-resilience4j-0.0.1-SNAPSHOT.jar
    
  1. Gunakan perintah berikut ini untuk membuat instans layanan Azure Spring Apps:

    Catatan

    Jika langganan Anda belum pernah digunakan untuk membuat instans paket Enterprise Azure Spring Apps, Anda harus menjalankan perintah berikut:

    az term accept \
        --publisher vmware-inc 
        --product azure-spring-cloud-vmware-tanzu-2 
        --plan asa-ent-hr-mtr
    
    az spring create \
        --resource-group ${resource-group-name} \
        --name ${Azure-Spring-Apps-instance-name} \
        --sku Enterprise
    
  2. Gunakan perintah berikut untuk membuat aplikasi dengan titik akhir:

    az spring app create \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name resilience4j \
        --assign-endpoint
    az spring app create \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name reactive-resilience4j \
        --assign-endpoint
    
  3. Gunakan perintah berikut untuk menyebarkan aplikasi:

    az spring app deploy \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name resilience4j \
        --env resilience4j.circuitbreaker.instances.backendA.registerHealthIndicator=true \
        --artifact-path ./spring-cloud-circuitbreaker-demo-resilience4j/target/spring-cloud-circuitbreaker-demo-resilience4j-0.0.1-SNAPSHOT.jar
    az spring app deploy \
        --resource-group ${resource-group-name} \
        --service ${Azure-Spring-Apps-instance-name} \
        --name reactive-resilience4j \
        --env resilience4j.circuitbreaker.instances.backendA.registerHealthIndicator=true \
        --artifact-path ./spring-cloud-circuitbreaker-demo-reactive-resilience4j/target/spring-cloud-circuitbreaker-demo-reactive-resilience4j-0.0.1-SNAPSHOT.jar
    

Catatan

  • Sertakan dependensi yang diperlukan untuk Resilience4j:

    <dependency>
        <groupId>io.github.resilience4j</groupId>
        <artifactId>resilience4j-micrometer</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId>
    </dependency>
    
  • Kode Anda harus menggunakan CircuitBreakerFactory API, yang diimplementasikan sebagai bean yang dibuat secara otomatis saat Anda menyertakan starter Spring Cloud Circuit Breaker. Untuk informasi selengkapnya, lihat Spring Cloud Circuit Breaker.

  • Dua dependensi berikut memiliki konflik dengan paket Resilient4j. Pastikan Anda tidak menyertakannya.

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-sleuth</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zipkin</artifactId>
    </dependency>
    

Buka URL yang disediakan oleh aplikasi gateway dan akses titik akhir dari spring-cloud-circuit-breaker-demo sebagai berikut:

/get
/delay/{seconds}
/fluxdelay/{seconds}

Temukan Metrik Resilence4j di portal Azure

  1. Di instans Azure Spring Apps Anda, pilih Application Insights di panel navigasi lalu pilih Application Insights di halaman.

    Cuplikan layar portal Azure yang memperlihatkan halaman Application Insights Azure Spring Apps dengan Application Insights disorot.

    Catatan

    Jika Anda tidak mengaktifkan Application Insights, Anda dapat mengaktifkan agen Java In-Process. Untuk informasi selengkapnya, lihat bagian Mengelola Application Insights menggunakan portal Azure dari Menggunakan Application Insights Java In-Process Agent di Azure Spring Apps.

  2. Aktifkan pengumpulan dimensi untuk metrik resilience4j. Untuk informasi selengkapnya, lihat bagian Dimensi metrik kustom dan preaggregasi metrik berbasis log dan preaggregasi di Application Insights.

  3. Pilih Metrik di panel navigasi. Halaman Metrik menyediakan menu dropdown dan opsi untuk menentukan bagan dalam prosedur ini. Untuk semua bagan, atur Namespace Metrik ke azure.applicationinsights.

    Cuplikan layar halaman Metrik portal Azure Application Insights dengan menu Namespace Metrik terbuka dan opsi azure-applicationinsights disorot.

  4. Atur Metrik ke resilience4j_circuitbreaker_buffered_calls, lalu atur Agregasi ke Rata-rata.

    Cuplikan layar halaman Metrik portal Azure Application Insights yang memperlihatkan bagan dengan panggilan buffer pemutus sirkuit dan agregasi rata-rata.

  5. Atur Metrik ke resilience4j_circuitbreaker_calls, lalu atur Agregasi ke Rata-rata.

    Cuplikan layar halaman Metrik portal Azure Application Insights yang memperlihatkan bagan dengan panggilan pemutus sirkuit dan agregasi rata-rata.

  6. Atur Metrik ke resilience4j_circuitbreaker_calls, lalu atur Agregasi ke Rata-rata. Pilih Tambahkan filter dan atur Nama ke Penundaan.

    Cuplikan layar halaman Metrik portal Azure Application Insights yang memperlihatkan bagan dengan panggilan pemutus sirkuit, agregasi rata-rata, dan Filter Penundaan.

  7. Atur Metrik ke resilience4j_circuitbreaker_calls, lalu atur Agregasi ke Rata-rata. Pilih Terapkan pemisahan dan atur Pisahkan menurut ke jenis.

    Cuplikan layar halaman Metrik portal Azure Application Insights yang memperlihatkan bagan dengan panggilan pemutus sirkuit, agregasi rata-rata, dan pemisahan.

  8. Atur Metrik ke resilience4j_circuitbreaker_calls, lalu atur Agregasi ke Rata-rata. Pilih Tambahkan metrik dan atur Metrik ke resilience4j_circuitbreaker_buffered_calls, lalu atur Agregasi ke Rata-rata. Pilih Tambahkan metrik lagi dan atur Metrik ke resilience4j_circuitbreaker_slow_calls, lalu atur Agregasi diatur ke Rata-rata.

    Cuplikan layar portal Azure yang memperlihatkan halaman Metrik Application Insights dengan bagan yang dijelaskan dalam langkah ini.

  1. Di instans Azure Spring Apps Anda, pilih Application Insights di panel navigasi lalu pilih Application Insights default di halaman.

    Cuplikan layar portal Azure yang memperlihatkan halaman Application Insights Azure Spring Apps dengan instans Application Insights default disorot.

    Catatan

    Jika tidak ada Application Insights default yang tersedia, Anda dapat mengaktifkan agen Java In-Process. Untuk informasi selengkapnya, lihat bagian Mengelola Application Insights menggunakan portal Azure dari Menggunakan Application Insights Java In-Process Agent di Azure Spring Apps.

  2. Aktifkan pengumpulan dimensi untuk metrik resilience4j. Untuk informasi selengkapnya, lihat bagian Dimensi metrik kustom dan preaggregasi metrik berbasis log dan preaggregasi di Application Insights.

  3. Pilih Metrik di panel navigasi. Halaman Metrik menyediakan menu dropdown dan opsi untuk menentukan bagan dalam prosedur ini. Untuk semua bagan, atur Namespace Metrik ke azure.applicationinsights.

    Cuplikan layar halaman Metrik portal Azure Application Insights dengan menu Namespace Metrik terbuka dan azure.applicationinsights disorot.

  4. Atur Metrik ke resilience4j_circuitbreaker_buffered_calls, lalu atur Agregasi ke Rata-rata.

    Cuplikan layar halaman Metrik portal Azure Application Insights yang memperlihatkan bagan dengan panggilan buffer pemutus sirkuit dan agregasi rata-rata.

  5. Atur Metrik ke resilience4j_circuitbreaker_calls, lalu atur Agregasi ke Rata-rata.

    Cuplikan layar halaman Metrik portal Azure Application Insights yang memperlihatkan bagan dengan panggilan pemutus sirkuit dan agregasi rata-rata.

  6. Atur Metrik ke resilience4j_circuitbreaker_calls, lalu atur Agregasi ke Rata-rata. Pilih Tambahkan filter dan atur Nama ke Penundaan.

    Cuplikan layar halaman Metrik portal Azure Application Insights yang memperlihatkan bagan dengan panggilan pemutus sirkuit, agregasi rata-rata, dan filter penundaan.

  7. Atur Metrik ke resilience4j_circuitbreaker_calls, lalu atur Agregasi ke Rata-rata. Pilih Terapkan pemisahan dan atur Pisahkan menurut ke jenis.

    Cuplikan layar halaman Metrik portal Azure Application Insights yang memperlihatkan bagan dengan panggilan pemutus sirkuit, agregasi rata-rata, dan pemisahan.

  8. Atur Metrik ke resilience4j_circuitbreaker_calls, lalu atur Agregasi ke Rata-rata. Pilih Tambahkan metrik dan atur Metrik ke resilience4j_circuitbreaker_buffered_calls, lalu atur Agregasi ke Rata-rata. Pilih Tambahkan metrik lagi dan atur Metrik ke resilience4j_circuitbreaker_slow_calls, lalu atur Agregasi diatur ke Rata-rata.

    Cuplikan layar portal Azure yang memperlihatkan halaman Metrik Application Insights dengan bagan yang dijelaskan dalam langkah ini.

Langkah berikutnya