What is Prometheus and how does it monitor servers and applications?
Published on 2026-10-21 by frfrand
Prometheus explicado con métricas, exporters, scraping, etiquetas, alertas y errores de cardinalidad.

Prometheus is a monitoring system that collects and stores metrics from servers and applications as time series. It is used to answer concrete questions: how much memory does a process consume?, how many requests does an API receive?, when did the error rate start to increase?
Its main purpose is not to store complete logs nor to replace a business database. It is designed to observe values that evolve over time.
The car dashboard example
While driving, you don't need to open the engine every thirty seconds to know how fast you are going. An instrument measures and displays that value.
On a server something similar happens: an application can expose data such as the number of HTTP requests, their duration, or the memory used. Prometheus collects those measurements and helps you observe how they change.
The important thing is that a metric does not automatically explain the cause. If the processor reaches 95 %, you still need to investigate which process is working and why.
How does Prometheus obtain the data?
In a typical configuration it uses the pull model: it periodically queries metrics endpoints of the configured targets. That operation is called scrape.
Many applications expose an endpoint such as /metrics. If they don't, components called exporters can be used, capable of obtaining measurements from a system and presenting them in a compatible format.
For example, a system exporter can expose server information. Another can collect certain statistics from a database. This does not mean that installing the exporter automatically activates an alert: first you have to decide what to observe.
What is a time series?
Imagine recording every fifteen seconds how much free space is left on a disk. You will get a sequence of values associated with specific moments. That is the idea of a time series.
Prometheus represents metrics using names and labels, known as labels. A label can identify the service, instance, or HTTP method. This makes it possible to compare different components.
But here there is a common mistake: creating a label with the unique identifier of each user or request can produce millions of combinations. This is called high cardinality and can consume too much memory and storage.
What does an API measure?
An API could record how many requests it handles and how long they take. From these metrics you can observe error trends and response times.
It is also useful to distinguish the general state of the server from the actual functioning of the application. Having available CPU does not guarantee that a reservations endpoint responds correctly.
That is why it is advisable to measure what the user experiences: successful requests, errors, and representative latencies.
Does Prometheus send alerts?
Prometheus allows defining rules to detect conditions, and it is usually integrated with Alertmanager to manage notifications, groupings, and alert routing.
A rule such as "disk usage above a threshold for a period" can be useful. A rule that alerts for every second-by-second fluctuation will likely end up generating noise.
Alerts should describe situations that someone can investigate and correct.
What is PromQL?
It is the query language used by Prometheus to select and operate on its time series. It allows calculating rates and aggregates from metrics.
You don't need to master it on day one. Before building complex queries, make sure you are collecting correct data and that each metric represents what you think it does.
Are Prometheus and Grafana the same?
No. Prometheus collects, stores, and queries metrics. Grafana can query those metrics and display them via dashboards. They complement each other, but they have different responsibilities.
They are also not an automatic replacement for distributed traces or logs. To investigate a specific request, you may need to correlate the three signals.
Where does ArduMaker come in?
Applications and services running on ArduMaker VPSs can expose metrics compatible with a system like Prometheus, provided they are instrumented and configured correctly. It is advisable to limit who accesses endpoints with internal data and avoid exposing them unnecessarily to the Internet.
In summary: Prometheus allows measuring how a system evolves. What matters is not collecting thousands of numbers, but choosing useful signals to detect problems before they affect users.
Official sources: Introduction to Prometheus · Data model · Alerts.
