Bibliothèque du client Java Prometheus

Découvrez la bibliothèque client Prometheus Java.

Introduction

La bibliothèque « Prometheus Java client » est une bibliothèque de métriques d' Java fournie par la communauté Prometheus.

Instana com.instana.plugin.java détectera automatiquement la bibliothèque client Prometheus Java, et les métriques s'afficheront sur le tableau de bord JVM.

Cette page décrit l'instrumentation automatique de la bibliothèque Prometheus Java client, ainsi que le registre de compteurs Prometheus d' Micrometer. Si vous cherchez un moyen d'extraire des métriques à partir d'un exportateur Prometheus via HTTP, ou de configurer l'agent Instana en tant que point de terminaison d'écriture à distance Prometheus, consultez Prometheus.

Capture d'écran : Prometheus Java Indicateurs clients

Configuration

Toutes les options de configuration sont facultatives. Instana surveille les mesures de la bibliothèque du client Java Prometheus avec des valeurs par défaut raisonnables sans nécessiter de configuration manuelle.

Toutefois, vous pouvez remplacer les valeurs par défaut en ajoutant une section prometheusMetricCollection sous com.instana.plugin.java dans le fichier configuration.yaml de votre agent, comme illustré dans l'exemple suivant :

com.instana.plugin.java:
  prometheusMetricCollection:
    enabled: true
    limit: 200
    pollIntervalSeconds: 15
    excludeMetricNamesStartingWith:
      - jvm
      - process
    excludeMetricsMatching:
      - eu-central-1

Les options de configuration suivantes sont prises en charge :

  • enabled : définissez la false pour désactiver la surveillance de la bibliothèque du client Java Prometheus. Par défaut : true.
  • limit : pour éviter la surcharge du système dorsal de surveillance, nous limitons le nombre de mesures par machine virtuelle Java. Vous pouvez utiliser cette option de configuration pour modifier la limite. Valeur par défaut : 200.
  • pollIntervalSeconds : en général, Instana offre une résolution d'1 seconde pour les mesures. Cependant, il se peut que vous ayez enregistré vos propres fonctions de rappel personnalisées dans la bibliothèque client Prometheus Java; dans ce cas, chaque interrogation entraînerait l'appel de ces fonctions de rappel personnalisées. Afin d'éviter une surcharge potentielle de rappels personnalisés, nous avons augmenté l'intervalle d'interrogation des mesures de la bibliothèque du client Java Prometheus à 15 secondes par défaut. Utilisez cette option de configuration pour augmenter ou diminuer l'intervalle d'interrogation. Valeur par défaut : 15.
  • excludeMetricNamesStartingWith : liste des préfixes de nom de mesure qui ne doivent pas être surveillés. Par exemple, la configuration ci-dessus exclut toutes les mesures commençant par jvm et process, de sorte que vous ne pourrez pas voir les mesures suivantes :
    process_cpu_seconds_total 0.99
    process_open_fds 23.0
    jvm_threads_state{state="RUNNABLE"} 7.0
    jvm_threads_state{state="WAITING",} 3.0
    ```* `includeMetricNamesStartingWith`: Counterpart to `excludeMetricNamesStartingWith`. Only metrics starting with one of these prefixes will be included.
    
  • excludeMetricsMatching : il s'agit d'une alternative plus puissante à excludeMetricNamesStartingWith: toutes les mesures correspondant à l'une des expressions régulières seront exclues. L'expression régulière est appliquée à la chaîne de mesure complète, y compris les libellés, comme counter_total{region="eu-central-1"}, pas seulement au nom de la mesure. L'expression régulière n'est pas ancrée, c'est-à-dire qu'elle peut correspondre à n'importe quel endroit au milieu de la chaîne. Par exemple, si vous spécifiez eu-central-1 dans la liste excludeMetricsMatching, la mesure counter_total{region="eu-central-1"} sera exclue.
  • includeMetricsMatching: Équivalent de excludeMetricsMatching. Seules les mesures correspondant à l'une des expressions régulières de la liste seront incluses. Toutes les autres mesures seront exclues.

Surveillance des registres du collecteur personnalisé

Par défaut, la bibliothèque du client Java Prometheus enregistre toutes les mesures avec un CollectorRegistry.defaultRegistry global. Dans ce cas, Instana trouvera automatiquement les mesures nregistrées et les surveillera par défaut.

Toutefois, vos mesures peuvent être enregistrées avec un CollectorRegistry personnalisé dans votre code. Dans ce cas, vous devez inclure une ligne de code pour informer Instana sur votre registre de collecteur personnalisé. Instana fournit une prometheus-java-library-integration bibliothèque à cet effet; vous trouverez la documentation sur github.com/instana/prometheus-java-library-integration.

Intégration à Micrometer

Vous n'utiliserez peut-être pas directement la bibliothèque client Prometheus Java, mais indirectement via le registre de compteurs Prometheus de Micrometer. Si vous souhaitez conserver cette configuration et voir les mesures Prometheus dans Instana, vous pouvez utiliser notre prometheus-java-library-integration pour surveiller PrometheusMeterRegistry avec Instana. La documentation est disponible sur github.com/instana/prometheus-java-library-integration.