All Products
Search
Document Center

Application Real-Time Monitoring Service:Pantau aplikasi Java dengan Micrometer

Last Updated:Aug 28, 2026

Topik ini menjelaskan cara menggunakan Prometheus untuk memantau aplikasi Java Micrometer.

Prasyarat

Aplikasi Java telah dibuat.

Langkah 1: Tambahkan MicroMeter ke aplikasi Java

Catatan

Topik ini menggunakan aplikasi Spring Boot 2.x yang paling umum digunakan sebagai contoh.

  1. Tambahkan 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

    Untuk mendapatkan versi terbaru, cari di repositori Alibaba Cloud.

  2. Konfigurasikan Actuator. Tambahkan konfigurasi berikut ke file application.properties untuk mengekspos port dan cakupan 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

    Untuk mendapatkan versi terbaru, cari di repositori Alibaba Cloud.

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

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

    Untuk mendapatkan versi terbaru, cari di repositori Alibaba Cloud.

  5. Konfigurasikan Micrometer JVM Extras. Tambahkan dua definisi Spring Bean berikut untuk mengekspos metrik memori dan thread.

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

    Terapkan aplikasi bisnis Java ke Container Service atau ECS sesuai skenario bisnis Anda. Setelah penerapan berhasil, akses alamat endpoint aplikasi http://localhost:8080/actuator/prometheus (port 8080 adalah port yang Anda tentukan dalam konfigurasi application.properties; sesuaikan port pada URL ini berdasarkan nilai port aktual) untuk memverifikasi bahwa metrik diekspos dengan benar.

    Setelah akses berhasil, halaman akan mengembalikan data metrik dalam format Prometheus seperti 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: Integrasikan MicroMeter

  1. Di panel navigasi kiri, pilih Integration Center. Lalu, masukkan Micrometer di kotak pencarian dan klik.

  2. Masuk ke Konsol Cloud Monitor. Di panel navigasi sisi kiri, pilih Pusat Integrasi. Kemudian, masukkan MicroMeter di kotak pencarian dan klik.

    MicroMeter component in Integration Center

  3. Pada tab Start Integration panel Micrometer, pilih Environment Type untuk menyelesaikan integrasi, lalu klik OK.

    Parameter

    Deskripsi

    Select the environment type

    Anda dapat mengintegrasikan dua lingkungan layanan berikut: lingkungan Container Service, ECS (VPC).

    Select a cluster

    Pilih kluster target.

    Pod labels

    Label Pod tempat layanan MicroMeter diterapkan. (Kami menyarankan agar Anda menggunakan label dengan pengenal spesifik.)

    Service port

    Port layanan aplikasi Java. Nomor port default diisi secara otomatis.

    Metrics collection path

    Jalur tempat metrik MicroMeter diekspos. Jalur default diisi secara otomatis.

    Use HTTPS for collection

    Metrik dikumpulkan melalui HTTP secara default. Jika layanan mendukung HTTPS dan Anda ingin mengumpulkan metrik melalui HTTPS, aktifkan sakelar ini.

    Metric collection interval (unit: seconds)

    Interval pengumpulan data metrik oleh Managed Service for Prometheus. Nilai default: 30 detik.

Langkah 3: Lihat data dasbor MicroMeter

  1. Di panel navigasi kiri, klik Provisioning. Pada tab Integrated Environments halaman Provisioning, pilih lingkungan target. Di daftar lingkungan target, klik nama lingkungan target untuk membuka halaman detail lingkungan kontainer.

  2. Masuk ke konsol Cloud Monitor. Di panel navigasi sisi kiri, klik Provisioning. Pada tab Integrated Environments di halaman Provisioning, pilih lingkungan target. Di daftar lingkungan target, klik nama lingkungan target untuk membuka halaman detail lingkungan kontainer.

    Integrated Environments tab on the Provisioning page

  3. Pada tab Component Management, di bagian Addon Type, klik Micrometer, lalu klik Dashboards untuk melihat semua nama dasbor.

    Daftar dasbor menampilkan dasbor JVM Micrometer dengan tag java, jvm, dan micrometer.

  4. Klik nama dasbor target untuk melihat dasbor Grafana yang sesuai.

    Halaman dasbor Grafana menampilkan dasbor pemantauan JVM Micrometer. Bagian atas halaman menyediakan filter drop-down job dan Instance serta sakelar Restart Detection. Bagian Quick Facts berisi metrik Uptime dan Start time, sedangkan bagian I/O Overview berisi grafik Rate dan Errors. Pilih instans target untuk melihat data pemantauan JVM yang sesuai.

Langkah 4: Konfigurasikan alert pemantauan MicroMeter

  1. Pada tab Component Management, di bagian Addon Type, klik Micrometer, lalu klik Alert Rules untuk melihat aturan alert yang dibuat secara default.

    Aturan alert default mencakup JVM CPU Usage Alert, JVM Memory Usage Alert, JVM Restart Count Alert, logback Log Error Count Alert, dan MajorGC Duration Ratio Alert. Semuanya berada pada tingkat keparahan P2 dan dalam status Running.

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