Home > Java > Prometheus /metrics page is not updated after calling counter

Prometheus /metrics page is not updated after calling counter

WBOY
Release: 2024-02-11 17:09:08
forward
1206 people have browsed it

php editor Zimo encountered a problem when using the Prometheus monitoring tool: after calling the counter, the Prometheus /metrics page was not updated. The occurrence of this problem may lead to inaccurate monitoring data and cause certain problems to the operation of the system. In order to solve this problem, we need to find out the cause and take corresponding measures. In the following content, we will step by step analyze the possible causes and provide solutions to help readers solve this problem.

Question content

I have a spring bean in which the instrument is initialized like this:

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

Where does the registry come from

@autowired
prometheusmeterregistry registry;
Copy after login

Then I use a method:

paymentstriedgauge.inc();
Copy after login

But then I didn't receive any updates on promtheus's /metrics page:

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

Workaround

Use prometheus instrumentation directly for your use case. The micrometer itself can be used with its own meter. (no spring boot required)

For example:

// 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);
Copy after login

Please note that the variable mygauge is actually an atomicinteger and micrometer simply reports the value of that instance. atomicinteger There is also an increment() method that you can use nicely.

The above is the detailed content of Prometheus /metrics page is not updated after calling counter. For more information, please follow other related articles on the PHP Chinese website!

source:stackoverflow.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template