Maison > Java > La page Prometheus/metrics n'est pas mise à jour après l'appel du compteur

La page Prometheus/metrics n'est pas mise à jour après l'appel du compteur

WBOY
Libérer: 2024-02-11 17:09:08
avant
1227 Les gens l'ont consulté

L'éditeur PHP Zimo a rencontré un problème lors de l'utilisation de l'outil de surveillance Prometheus : après avoir appelé le compteur, la page Prometheus /metrics n'était pas mise à jour. L'apparition de ce problème peut conduire à des données de surveillance inexactes et entraîner certains problèmes dans le fonctionnement du système. Afin de résoudre ce problème, nous devons en découvrir la cause et prendre les mesures correspondantes. Dans le contenu suivant, nous analyserons étape par étape les causes possibles et proposerons des solutions pour aider les lecteurs à résoudre ce problème.

Contenu de la question

J'ai un haricot printanier dans lequel l'instrument est initialisé comme ceci :

@postconstruct
    public void initgauge() {
        paymentstriedgauge = gauge.build().name("payments_tried").help("how many payments was sent to paymentservices to be created").register(registry.getprometheusregistry());
        paymentscreated = gauge.build().name("payments_created").help("how many payments sent to paymentservices were created").register(registry.getprometheusregistry());
    }
Copier après la connexion

D'où vient le formulaire d'inscription

@autowired
prometheusmeterregistry registry;
Copier après la connexion

Ensuite j'utilise une méthode :

paymentstriedgauge.inc();
Copier après la connexion

Mais je n'ai reçu aucune mise à jour sur la page /metrics de Promtheus :

# HELP payments_tried How many payments was sent to PaymentServices to be created
# TYPE payments_tried gauge
payments_tried 0.0
Copier après la connexion

Solution de contournement

Utilisez l'instrumentation prometheus directement pour votre cas d'utilisation. Le micromètre lui-même peut être utilisé avec son propre mètre. (aucune botte à ressort requise)

Par exemple :

// maintain a reference to myGauge
AtomicInteger myGauge = registry.gauge("numberGauge", new AtomicInteger(0));

// ... elsewhere you can update the value it holds using the object reference
myGauge.set(27);
myGauge.set(11);
Copier après la connexion

Veuillez noter la méthode variable mygauge 实际上是一个 atomicinteger 并且 micrometer 只是报告该实例的值。 atomicinteger 还有一个 increment(), vous pouvez l'utiliser bien.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal