Topik ini menjelaskan cara menggunakan Managed Service for Prometheus untuk memantau aplikasi Java yang telah diinstrumentasi dengan Micrometer.
Prasyarat
Aplikasi Java.
Langkah 1: Instrumentasi aplikasi Java dengan Micrometer
Topik ini menggunakan aplikasi Spring Boot 2.x sebagai contoh.
-
Tambahkan dependensi Spring Boot Actuator ke file pom.xml.
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <verson>x.y.x</version> </dependency>CatatanUntuk versi terbaru, cari di repositori Alibaba Cloud.
-
Konfigurasikan Actuator untuk mengekspos titik akhir pemantauan Prometheus dan cakupannya dengan menambahkan properti berikut ke file application.properties.
management.server.port=8080 management.endpoints.web.exposure.include=xxx, prometheus -
Tambahkan dependensi Micrometer ke file pom.xml.
<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <version>x.y.z</version> </dependency>CatatanUntuk versi terbaru, cari di repositori Alibaba Cloud.
-
Tambahkan dependensi Micrometer JVM Extras ke file pom.xml.
<dependency> <groupId>io.github.mweirauch</groupId> <artifactId>micrometer-jvm-extras</artifactId> <version>0.2.2</version> </dependency>CatatanUntuk versi terbaru, cari di repositori Alibaba Cloud.
-
Konfigurasikan Micrometer JVM Extras. Tambahkan dua definisi Spring bean berikut untuk mengekspos metrik tambahan terkait memori dan thread.
/* With Spring */ @Bean public MeterBinder processMemoryMetrics() { return new ProcessMemoryMetrics(); } @Bean public MeterBinder processThreadMetrics() { return new ProcessThreadMetrics(); } -
Terapkan aplikasi Java ke Container Service for Kubernetes (ACK) atau instans ECS.
Terapkan aplikasi Java ke ACK atau Instance ECS. Setelah penerapan berhasil, pastikan metrik diekspos dengan benar dengan mengakses alamat yang didengarkan oleh aplikasi, seperti
http://localhost:8080/actuator/prometheus. Port 8080 ditentukan dalam file application.properties—gantilah port tersebut dalam URL dengan nomor port aktual Anda.
Langkah 2: Integrasi dengan Micrometer
-
Masuk ke Konsol ARMS. Di panel navigasi kiri, pilih Integration Center. Pada halaman Integration Center, cari dan klik Micrometer.

-
Pada tab Start Integration panel Micrometer, pilih Select the environment type., lengkapi pengaturan integrasi, lalu klik OK.

Parameter
Deskripsi
Select the environment type.
Jenis lingkungan tempat aplikasi Anda berjalan. Anda dapat mengintegrasikan dua jenis lingkungan berikut:
-
Lingkungan Kubernetes
-
ECS (VPC)
Select a Kubernetes cluster.
Pilih kluster target.
Pod label
Label Pod yang digunakan untuk menemukan Pod aplikasi Micrometer Anda. Gunakan label spesifik agar mudah diidentifikasi.
Service port
Port aplikasi Java. Nomor port default akan diisi secara otomatis.
Metrics collection path
Jalur tempat metrik Micrometer diekspos. Jalur default akan diisi secara otomatis.
Use HTTPS to collect data
Secara default, metrik dikumpulkan melalui protokol HTTP. Jika layanan Anda mendukung HTTPS dan Anda ingin mengumpulkan data melalui HTTPS, aktifkan sakelar ini.
Metric scrape interval (seconds)
Interval pengambilan metrik oleh Managed Service for Prometheus. Nilai default adalah 30 detik.
-
Langkah 3: Lihat dasbor Micrometer
-
Masuk ke Konsol ARMS. Di panel navigasi kiri, klik Integration Management. Pada halaman Integration Management, klik tab Integrated Environments, pilih lingkungan target Anda, lalu klik namanya untuk membuka halaman detail.

-
Pada tab Component Management, temukan komponen Micrometer di bagian Addon Type dan klik Dashboard untuk melihat dasbor yang tersedia.

-
Klik nama dasbor untuk melihat dasbor Grafana yang sesuai.

Langkah 4: Konfigurasi peringatan Micrometer
-
Pada tab Component Management, temukan komponen Micrometer di bagian Addon Type dan klik Alarm Rules untuk melihat aturan peringatan default.

-
Anda juga dapat menambahkan aturan peringatan sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya tentang cara membuat Alarm Rules Prometheus, lihat Buat aturan peringatan Prometheus.