Observability

Prometheus monitoring and alerting

Prometheus collects the metrics that make a system explainable. It scrapes rather than waits, stores time series efficiently, and its query language is what turns raw numbers into an answer.

Rated 4.9 on Clutch across 38 reviews

Where we use Prometheus

Prometheus is part of the stack on these 2 services. Each page covers how we work, what you get and what it costs to start.

Prometheus in practice

Prometheus scrapes metrics from targets on a schedule rather than waiting for them to report. That pull model is the important design choice: a service that has stopped responding is visible as a failed scrape, whereas a push-based system just sees silence and cannot distinguish it from idleness.

PromQL is where the diagnostic value lives. Rates, percentiles and aggregations are computed at query time, so you can ask a question you had not anticipated when the metric was defined. Instrumentation is usually already there — most infrastructure exposes Prometheus metrics natively.

What we build with Prometheus

Application and infrastructure metrics scraped on a schedule, with retention sized to what you actually query.

Rules written against symptoms — error rate, saturation, queue depth — rather than against every available counter.

Cluster, node and workload metrics, which is the environment Prometheus was effectively designed for.

Is Prometheus right for you?

Ask us

A good fit when

  • Kubernetes and container environments — effectively the native case
  • Infrastructure and application metrics at any scale
  • Alerting on symptoms rather than raw counters
  • Teams wanting no per-metric billing

Probably not when

  • Long-term historical storage without adding remote storage
  • High-cardinality data such as per-user metrics
  • Teams without capacity to run and maintain it

What we run alongside Prometheus

The rest of the setup, and why each piece is there. We keep this list short on purpose — every dependency is something someone has to maintain.

Grafana
Visualisation. Prometheus collects; Grafana is where people look.
Alertmanager
Routing, grouping and silencing alerts.
node_exporter
Host-level metrics: CPU, memory, disk, network.
Thanos or Mimir
Long-term storage and global query across clusters.
Client libraries
Application instrumentation: request rates, latency histograms, error counters.

Why Prometheus

Let’s talk

Pull model

Prometheus finds targets rather than depending on every service to report correctly, so a silent service is visible.

PromQL

Rates, percentiles and aggregations computed at query time, which is where most of the diagnostic value lives.

The de facto standard

Most infrastructure exposes Prometheus metrics natively, so instrumentation is often already there.

What we get called in to fix

Get a second opinion

Cardinality explosions

Labels containing user or request identifiers, which can overwhelm the server quickly.

Alerts on causes

Paging on CPU rather than on user-visible latency or errors.

Retention misunderstood

Teams assuming a year of history from local storage sized for two weeks.

Missing application metrics

Excellent infrastructure visibility and nothing about what the application is actually doing.

Prometheus or the alternative

The comparisons we are actually asked to make, answered the way we would answer them on a call.

Prometheus for control and no per-metric cost. Hosted when you would rather not run the storage layer.

Not competitors. OpenTelemetry is instrumentation; Prometheus can be where those metrics land.

Prometheus and Grafana for cost control and ownership. Datadog for integrated traces, logs and metrics without assembly.

Got an idea? Let’s make it real.

Tell us the short version

This could be the first step towards a new and successful collaboration. A one-line idea and a finished spec are both fine — tell us the problem, the deadline you’re working to and what’s in your way.

We reply within one working day.

Prefer another way to talk?

Frequently asked questions

Prometheus when you want control and no per-metric billing. Hosted services when you would rather not run the storage.

Local retention is usually weeks. For longer history we add remote storage rather than growing the local disk.

Yes — request rates, latency histograms, error counters and the domain metrics that reflect the business.

Local retention is typically weeks. For longer history we add Thanos or remote storage rather than growing local disk.

Symptoms users would notice — error rate, latency, saturation, queue depth. Alerting on every metric is how teams learn to ignore alerts.