Tous les produits
Search
Centre de documentation

Application Real-Time Monitoring Service:Monitor a Java application with Micrometer

Dernière mise à jour :Oct 09, 2026

Cette rubrique explique comment utiliser Prometheus pour surveiller une application Java Micrometer.

Prérequis

Une application Java est créée.

Étape 1 : Ajoutez MicroMeter à l'application Java

Remarque

Cette rubrique utilise l'application Spring Boot 2.x, la plus couramment utilisée, à titre d'exemple.

  1. Ajoutez Spring Boot Actuator à l'application Java -> Ajoutez la dépendance Actuator au fichier pom.xml du projet.

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

    Pour obtenir la dernière version, effectuez une recherche dans le référentiel Alibaba Cloud.

  2. Configurez Actuator. Ajoutez les configurations suivantes au fichier application.properties afin d'exposer le port et la portée des données de surveillance Prometheus.

    management.server.port=8080
    management.endpoints.web.exposure.include=xxx, prometheus
  3. Ajoutez la dépendance MicroMeter au fichier pom.xml du projet.

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

    Pour obtenir la dernière version, effectuez une recherche dans le référentiel Alibaba Cloud.

  4. Ajoutez la dépendance MicroMeter JVM Extras au fichier pom.xml du projet.

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

    Pour obtenir la dernière version, effectuez une recherche dans le référentiel Alibaba Cloud.

  5. Configurez MicroMeter JVM Extras. Ajoutez les deux définitions de Spring Bean suivantes pour exposer les métriques de mémoire et de threads.

    /* With Spring */
    @Bean
    public MeterBinder processMemoryMetrics() {
        return new ProcessMemoryMetrics();
    }
    @Bean
    public MeterBinder processThreadMetrics() {
        return new ProcessThreadMetrics();
    }
  6. Déployez l'application Java sur Container Service ou ECS.

    Déployez l'application métier Java sur Container Service ou ECS en fonction de votre scénario métier. Une fois le déploiement réussi, accédez à l'adresse d'écoute de l'application http://localhost:8080/actuator/prometheus (le port 8080 est celui que vous avez spécifié dans la configuration application.properties ; modifiez le port dans cette URL en fonction de la valeur réelle du port) pour vérifier que les métriques sont correctement exposées.

    Une fois l'accès établi, la page renvoie des données de métriques au format Prometheus similaires aux suivantes :

    # 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

Étape 2 : Intégrez MicroMeter

  1. Dans le volet de navigation de gauche, choisissez Integration Center. Saisissez ensuite MicroMeter dans la zone de recherche et cliquez dessus.

  2. Log on to the Cloud Monitor console Cloud Monitor console . Dans le volet de navigation de gauche, choisissez Integration Center. Saisissez ensuite MicroMeter dans la zone de recherche et cliquez dessus.

    MicroMeter component in Integration Center

  3. Dans l'onglet Start Integration du panneau MicroMeter, sélectionnez le Environment Type pour terminer l'intégration, puis cliquez sur OK.

    Parameter

    Description

    Select the environment type

    Vous pouvez intégrer les deux environnements de service suivants : environnement Container Service, ECS (VPC).

    Select a cluster

    Sélectionnez le cluster cible.

    Pod labels

    Les libellés du pod où le service MicroMeter est déployé. (Nous vous recommandons d'utiliser des libellés avec des identifiants spécifiques.)

    Service port

    Le port du service d'application Java. Le numéro de port par défaut est renseigné automatiquement.

    Metrics collection path

    Le chemin d'accès via lequel les métriques MicroMeter sont exposées. Le chemin d'accès par défaut est renseigné automatiquement.

    Use HTTPS for collection

    Les métriques sont collectées via HTTP par défaut. Si le service prend en charge HTTPS et que vous souhaitez collecter les métriques via HTTPS, activez cet interrupteur.

    Metric collection interval (unit: seconds)

    L'intervalle auquel Managed Service for Prometheus collecte les données de métriques. Valeur par défaut : 30 secondes.

Étape 3 : Consultez les données du tableau de bord MicroMeter

  1. Dans le volet de navigation de gauche, cliquez sur Provisioning. Dans l'onglet Integrated Environments de la page Provisioning, sélectionnez l'environnement cible. Dans la liste des environnements cibles, cliquez sur le nom de l'environnement cible pour accéder à la page des détails de l'environnement de conteneur.

  2. Log on to the Cloud Monitor console Cloud Monitor console . Dans le volet de navigation de gauche, cliquez sur Provisioning. Dans l'onglet Integrated Environments de la page Provisioning, sélectionnez l'environnement cible. Dans la liste des environnements cibles, cliquez sur le nom de l'environnement cible pour accéder à la page des détails de l'environnement de conteneur.

    Integrated Environments tab on the Provisioning page

  3. Dans l'onglet Component Management, dans la section Addon Type, cliquez sur MicroMeter, puis cliquez sur Dashboards pour afficher tous les noms des tableaux de bord.

    La liste des tableaux de bord affiche le tableau de bord JVM MicroMeter avec les tags java, jvm et micrometer.

  4. Cliquez sur le nom du tableau de bord cible pour afficher le tableau de bord Grafana correspondant.

    La page du tableau de bord Grafana affiche le tableau de bord de surveillance JVM MicroMeter. Le haut de la page propose les filtres déroulants job et Instance ainsi que l'interrupteur Restart Detection. La section Quick Facts contient les métriques Uptime et Start time, et la section I/O Overview contient les graphiques Rate et Errors. Sélectionnez l'instance cible pour afficher les données de surveillance JVM correspondantes.

Étape 4 : Configurez les alertes de surveillance MicroMeter

  1. Dans l'onglet Component Management, dans la section Addon Type, cliquez sur MicroMeter, puis cliquez sur Alert Rules pour afficher les règles d'alerte créées par défaut.

    Les règles d'alerte par défaut incluent JVM CPU Usage Alert, JVM Memory Usage Alert, JVM Restart Count Alert, logback Log Error Count Alert et MajorGC Duration Ratio Alert. Elles sont toutes de niveau de gravité P2 et à l'état Running.

  2. Vous pouvez également créer des règles d'alerte en fonction de vos besoins métier. Pour plus d'informations sur la création d'une règle d'alerte Prometheus, consultez Créer des règles d'alerte pour une instance Prometheus.