All Products
Search
Document Center

:Pantau aplikasi Java Micrometer dengan Prometheus

Last Updated:Jun 26, 2026

Topik ini menjelaskan cara menggunakan Managed Service for Prometheus untuk memantau aplikasi Java yang menggunakan Micrometer.

Prasyarat

Anda telah membuat aplikasi Java.

Langkah 1: Instrumentasi aplikasi Java Anda

Catatan

Topik ini menggunakan aplikasi Spring Boot 2.x yang populer sebagai contoh.

  1. Untuk menambahkan Spring Boot Actuator ke aplikasi Java, tambahkan dependensi Actuator ke file pom.xml proyek.

    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-registry-prometheus</artifactId>
      <version>x.y.z</version>
    </dependency>
    Catatan

    Anda dapat menemukan versi terbaru di repositori Alibaba Cloud.

  2. Tambahkan properti berikut ke file application.properties untuk membuka port dan endpoint bagi data pemantauan Prometheus.

    management.server.port=8080
    management.endpoints.web.exposure.include=xxx, prometheus
  3. Tambahkan dependensi Micrometer ke file pom.xml proyek.

    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-registry-prometheus</artifactId>
      <version>x.y.z</version>
    </dependency>
    Catatan

    Temukan versi terbaru di repositori Alibaba Cloud.

  4. Tambahkan dependensi Micrometer JVM Extras ke file pom.xml proyek Anda.

    <dependency>
        <groupId>io.github.mweirauch</groupId>
        <artifactId>micrometer-jvm-extras</artifactId>
        <version>0.2.2</version>
    </dependency>
    Catatan

    Anda dapat menemukan versi terbaru di repositori Alibaba Cloud.

  5. Konfigurasikan Micrometer JVM Extras dengan mendefinisikan dua bean Spring berikut untuk mengekspos metrik terkait memori dan thread.

    /* Dengan Spring */
    @Bean
    public MeterBinder processMemoryMetrics() {
        return new ProcessMemoryMetrics();
    }
    @Bean
    public MeterBinder processThreadMetrics() {
        return new ProcessThreadMetrics();
    }
  6. Deploy aplikasi Java ke Container Service atau instans ECS.

    Deploy aplikasi Java Anda ke Container Service atau instans ECS sesuai skenario bisnis Anda. Setelah aplikasi dideploy, verifikasi bahwa metrik diekspos dengan benar dengan mengakses alamat listening aplikasi di http://localhost:8080/actuator/prometheus. Port 8080 ditentukan dalam file application.properties Anda. Jika Anda menggunakan port berbeda, sesuaikan URL tersebut.

    Permintaan yang berhasil akan mengembalikan data metrik dalam format Prometheus, seperti pada contoh berikut:

    # HELP jvm_memory_used_bytes The amount of used memory
    # TYPE jvm_memory_used_bytes gauge
    jvm_memory_used_bytes{area="heap",id="G1 Survivor Space",} 2964360.0
    jvm_memory_used_bytes{area="heap",id="G1 Old Gen",} 1.285324E7
    jvm_memory_used_bytes{area="nonheap",id="Metaspace",} 3.6128128E7
    jvm_memory_used_bytes{area="nonheap",id="CodeCache",} 9673088.0
    jvm_memory_used_bytes{area="heap",id="G1 Eden Space",} 6.7108864E7
    jvm_memory_used_bytes{area="nonheap",id="Compressed Class Space",} 4999168.0
    # HELP jvm_threads_live_threads The current number of live threads including both daemon and non-daemon threads
    # TYPE jvm_threads_live_threads gauge
    jvm_threads_live_threads 28.0
    # HELP jvm_memory_committed_bytes The amount of memory in bytes that is committed for the Java virtual machine to use
    # TYPE jvm_memory_committed_bytes gauge
    jvm_memory_committed_bytes{area="heap",id="G1 Survivor Space",} 4194304.0
    jvm_memory_committed_bytes{area="heap",id="G1 Old Gen",} 5.8720256E7
    jvm_memory_committed_bytes{area="nonheap",id="Metaspace",} 3.6569088E7
    jvm_memory_committed_bytes{area="nonheap",id="CodeCache",} 1.0682368E7
    jvm_memory_committed_bytes{area="heap",id="G1 Eden Space",} 9.646899E7
    jvm_memory_committed_bytes{area="nonheap",id="Compressed Class Space",} 5177344.0
    # HELP executor_pool_max_threads The maximum allowed number of threads in the pool
    # TYPE executor_pool_max_threads gauge
    executor_pool_max_threads{name="applicationTaskExecutor",} 2.147483647E9
    ...
    # TYPE jvm_buffer_count_buffers gauge
    jvm_buffer_count_buffers{id="mapped - 'non-volatile memory'",} 0.0
    jvm_buffer_count_buffers{id="mapped",} 0.0
    jvm_buffer_count_buffers{id="direct",} 7.0
    # HELP jvm_buffer_total_capacity_bytes An estimate of the total capacity of the buffers in this pool
    # TYPE jvm_buffer_total_capacity_bytes gauge
    jvm_buffer_total_capacity_bytes{id="mapped - 'non-volatile memory'",} 0.0
    jvm_buffer_total_capacity_bytes{id="mapped",} 0.0
    jvm_buffer_total_capacity_bytes{id="direct",} 57344.0
    # HELP jvm_threads_peak_threads The peak live thread count since the Java virtual machine started or peak was reset
    # TYPE jvm_threads_peak_threads gauge
    jvm_threads_peak_threads 30.0
    # HELP jvm_threads_states_threads The current number of threads
    # TYPE jvm_threads_states_threads gauge
    jvm_threads_states_threads{state="runnable",} 11.0
    jvm_threads_states_threads{state="blocked",} 0.0

Langkah 2: Integrasi Micrometer

  1. Di panel navigasi kiri, pilih Integration Center. Lalu, cari dan klik Micrometer.

  2. Di tab Configuration panel Micrometer, pilih Environment Type, konfigurasikan pengaturan yang diperlukan, lalu klik OK.

    Parameter

    Description

    Select environment type

    Lingkungan tempat aplikasi Anda dideploy.

    • Container Service environment

    • ECS (VPC)

    Select cluster

    Kluster tempat aplikasi Anda dideploy.

    Pod label

    Label Pod unik untuk mengidentifikasi layanan Micrometer Anda.

    Service port

    Port layanan dari aplikasi Java. Nilai default dimasukkan secara otomatis.

    Metrics path

    Jalur tempat Micrometer mengekspos metrik. Jalur default dimasukkan secara otomatis.

    Scrape over HTTPS

    Aktifkan opsi ini untuk mengambil metrik melalui HTTPS. Secara default, metrik diambil melalui HTTP.

    Metric scrape interval (seconds)

    Interval pengambilan data metrik oleh Managed Service for Prometheus. Nilai default adalah 30 detik.

Langkah 3: Lihat dasbor Micrometer

  1. Di panel navigasi kiri, klik Integration Center. Di halaman Integration Center, pada tab Installed, pilih lingkungan target dan klik namanya untuk membuka halaman detail lingkungan kontainer.

  2. Di tab Components, pada bagian Component Type, klik Micrometer, lalu klik tab Dashboards untuk melihat daftar semua dasbor.

    Daftar dasbor mencakup dasbor JVM Micrometer, yang diberi tag java, jvm, dan micrometer.

  3. Klik nama dasbor untuk melihat dasbor Grafana yang sesuai.

    Dasbor JVM Micrometer ditampilkan. Dasbor ini mencakup filter drop-down untuk job dan Instance, sakelar Restart Detection, bagian Quick Facts (Uptime dan Start time), serta bagian I/O Overview (Rate dan Errors). Pilih instans target untuk melihat data pemantauan JVM-nya.

Langkah 4: Konfigurasikan alert untuk Micrometer

  1. Di tab Components, pada bagian Component Type, klik Micrometer, lalu klik tab Alert untuk melihat aturan alert default.

    Aturan alert default mencakup JVM CPU Usage Alert, JVM Memory Usage Alert, JVM Restart Alert, Logback Error Count Alert, dan Major GC Time Ratio Alert. Semua aturan aktif dan memiliki prioritas P2.

  2. Anda juga dapat menambahkan aturan alert kustom. Untuk informasi selengkapnya tentang cara membuat alert rule Prometheus, lihat Buat aturan alert untuk instans Prometheus.