Aplikasi Spring Boot menghasilkan metrik JVM, proses, dan aplikasi melalui Micrometer. Dengan menambahkan dua dependensi dan beberapa baris konfigurasi, Anda dapat mengekspos metrik tersebut pada titik akhir yang kompatibel dengan Prometheus. Application Real-Time Monitoring Service (ARMS) melakukan scrape terhadap titik akhir ini dan mengirimkan datanya ke Managed Service for Prometheus, tempat Anda dapat melihat dasbor serta mengonfigurasi peringatan.
Cara kerja
Micrometer adalah pustaka instrumentasi metrik untuk aplikasi berbasis JVM. Saat digabungkan dengan Spring Boot Actuator, metrik aplikasi dan JVM diekspos pada titik akhir HTTP dalam format teks Prometheus. Setelah Anda menerapkan aplikasi di Alibaba Cloud, ARMS Integration Center melakukan scrape terhadap titik akhir tersebut dan menyimpan datanya di Managed Service for Prometheus.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Aplikasi Java yang dibangun dengan Spring Boot 2.x
Aplikasi yang telah diterapkan (atau siap diterapkan) pada Container Service for Kubernetes (ACK) atau Elastic Compute Service (ECS)
Langkah 1: Tambahkan dependensi dan ekspos titik akhir Prometheus
Panduan ini menggunakan aplikasi Spring Boot 2.x sebagai contoh.
Tambahkan dependensi
Tambahkan dependensi Spring Boot Actuator, registri Micrometer Prometheus, dan Micrometer JVM Extras ke proyek Anda.
Maven (pom.xml)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>x.y.z</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>x.y.z</version>
</dependency>Untuk mendapatkan versi terbaru proyek Maven, kunjungi repositori Alibaba Cloud.
Ekspos titik akhir Prometheus
Tambahkan properti berikut ke file application.properties Anda:
management.server.port=8080
management.endpoints.web.exposure.include=xxx, prometheus| Properti | Deskripsi |
|---|---|
management.server.port | Port untuk server manajemen Actuator. Ganti 8080 dengan port yang dibutuhkan lingkungan Anda. |
management.endpoints.web.exposure.include | Mengontrol titik akhir Actuator mana yang dapat diakses melalui HTTP. Nilai xxx adalah placeholder untuk titik akhir yang Anda inginkan. Tambahkan nama titik akhir yang diperlukan bersama prometheus, dipisahkan koma. |
Jika Anda menggunakan application.yml:
management:
server:
port: 8080
endpoints:
web:
exposure:
include: xxx, prometheusKumpulkan metrik proses lanjutan
Untuk mengumpulkan metrik memori dan thread tingkat proses yang lebih lengkap, tambahkan pustaka Micrometer JVM Extras:
Maven (pom.xml)
<dependency>
<groupId>io.github.mweirauch</groupId>
<artifactId>micrometer-jvm-extras</artifactId>
<version>0.2.2</version>
</dependency>Untuk mendapatkan versi terbaru proyek Maven, kunjungi repositori Alibaba Cloud.
Kemudian daftarkan binder metrik sebagai bean Spring:
@Bean
public MeterBinder processMemoryMetrics() {
return new ProcessMemoryMetrics();
}
@Bean
public MeterBinder processThreadMetrics() {
return new ProcessThreadMetrics();
}Langkah 2: Verifikasi metrik secara lokal
Setelah menambahkan dependensi dan mengonfigurasi properti, jalankan aplikasi Anda dan verifikasi bahwa titik akhir Prometheus mengembalikan metrik.
Jalankan perintah berikut:
curl http://localhost:8080/actuator/prometheusGanti 8080 dengan port yang dikonfigurasi di management.server.port. Respons yang berhasil berisi metrik dalam format teks Prometheus:
# HELP jvm_memory_used_bytes The amount of used memory
# TYPE jvm_memory_used_bytes gauge
jvm_memory_used_bytes{area="heap",id="G1 Eden Space",} 2.5165824E7
...Jika titik akhir mengembalikan error 404, pastikan bahwa:
Dependensi
spring-boot-starter-actuatorada di classpath Anda.Properti
management.endpoints.web.exposure.includemencakupprometheus.Port dalam permintaan Anda sesuai dengan
management.server.port.
Langkah 3: Terapkan dan hubungkan ke Managed Service for Prometheus
Terapkan aplikasi Anda ke kluster ACK atau instans ECS, lalu konfigurasikan integrasi Micrometer di konsol ARMS.
Masuk ke Konsol ARMS.
Di panel navigasi sebelah kiri, klik Integration Center.
Cari komponen Micrometer.

Pada tab Start Integration di panel Micrometer, konfigurasikan parameter berikut dan klik OK.
Parameter Deskripsi Select the environment type Lingkungan tempat aplikasi Anda berjalan. Nilai yang valid: Kubernetes Environment, ECS(VPC). Select a Kubernetes cluster Kluster ACK tempat aplikasi Anda berjalan. Parameter ini hanya muncul jika Anda memilih Kubernetes Environment. Labels Label pada pod tempat Micrometer diterapkan. Gunakan label yang bermakna untuk mengidentifikasi aplikasi Anda. Service Port Port aplikasi. Nomor port default diisi secara otomatis. Metrics Collection Path Titik akhir yang mengekspos metrik. Titik akhir default diisi secara otomatis. Use HTTPS to Collect Data Aktifkan sakelar ini untuk melakukan scrape metrik melalui HTTPS, bukan HTTP. Metric Scrape interval (unit/second) Frekuensi pengumpulan metrik, dalam detik. Default: 30.
Langkah 4: Lihat dasbor
Masuk ke Konsol ARMS.
Di panel navigasi sebelah kiri, klik Integration Management.
Pada tab Integrated Environments, klik nama lingkungan Anda.

Pada tab Component Management, di bagian Addon Type, klik MicroMeter, lalu klik Dashboards.

Klik nama dasbor untuk membukanya.

Langkah 5: Konfigurasikan peringatan
Pada tab Component Management, di bagian Addon Type, klik MicroMeter, lalu klik Alert Rule untuk melihat aturan peringatan default.
Buat aturan peringatan kustom sesuai kebutuhan Anda. Untuk detailnya, lihat .