Heim  >  Artikel  >  Die Prometheus-Seite /metrics wird nach dem Aufruf des Zählers nicht aktualisiert

Die Prometheus-Seite /metrics wird nach dem Aufruf des Zählers nicht aktualisiert

WBOY
WBOYnach vorne
2024-02-11 17:09:081174Durchsuche

PHP-Editor Zimo ist bei der Verwendung des Prometheus-Überwachungstools auf ein Problem gestoßen: Nach dem Aufruf des Zählers wurde die Prometheus-Seite /metrics nicht aktualisiert. Das Auftreten dieses Problems kann zu ungenauen Überwachungsdaten führen und bestimmte Probleme beim Betrieb des Systems verursachen. Um dieses Problem zu lösen, müssen wir die Ursache herausfinden und entsprechende Maßnahmen ergreifen. Im folgenden Inhalt analysieren wir Schritt für Schritt die möglichen Ursachen und bieten Lösungen an, die den Lesern bei der Lösung dieses Problems helfen.

Frageninhalt

Ich habe eine Spring Bean, in der das Instrument wie folgt initialisiert wird:

@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());
    }

Woher kommt das Anmeldeformular

@autowired
prometheusmeterregistry registry;

Dann wende ich eine Methode an:

paymentstriedgauge.inc();

Aber dann habe ich keine Updates auf der /metrics-Seite von promtheus erhalten:

# HELP payments_tried How many payments was sent to PaymentServices to be created
# TYPE payments_tried gauge
payments_tried 0.0

Workaround

Verwenden Sie die Prometheus-Instrumentierung direkt für Ihren Anwendungsfall. Das Mikrometer selbst kann mit einem eigenen Meter verwendet werden. (kein Federstiefel erforderlich)

Zum Beispiel:

// 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);

Bitte beachten Sie die variable mygauge 实际上是一个 atomicinteger 并且 micrometer 只是报告该实例的值。 atomicinteger 还有一个 increment()-Methode, Sie können sie gut verwenden.

Das obige ist der detaillierte Inhalt vonDie Prometheus-Seite /metrics wird nach dem Aufruf des Zählers nicht aktualisiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen