Reliable Insights

A blog on monitoring, scale and operational Sanity

September 11, 2017

It’s easy to convert Pull to Push

If you have to choose one of push or pull in your core, which should it be?

Read more

September 4, 2017

Functions to Avoid

As PromQL has evolved, there are some functions that should no longer be used.

Read more

August 28, 2017

Avoid irate() in alerts

While the irate() function is useful for granular graphs, it is not suitable for alerting.

Read more

July 24, 2017

Existential issues with metrics

The Prometheus instrumentation best practices say to "Avoid missing metrics". Let's look at why, and how to deal with it.

Read more

July 3, 2017

When should you unit test instrumentation?

Should you unit test every bit of instrumentation you add? Not always.

Read more

May 29, 2017

What’s in a __name__?

You may have noticed that most PromQL functions and operators remove the metric name in their result. Let's look at why.

Read more

May 22, 2017

Push needs Service Discovery

It's often claimed that an advantage of push-based monitoring systems is that, compared to pull-based systems like Prometheus, they don't need service discovery. This isn't true, and I'm going to explain why.

Read more

February 27, 2017

Label Lookups and the Child

The Prometheus client library guidelines recommend having a Child be returned via labels(). Why?

Read more

January 16, 2017

Federation, what is it good for?

There's various ways Prometheus federation can be used. To ensure your monitoring is scalable and reliable, let's look at how to best use it.

Read more

November 14, 2016

What’s “up” Doc?

One of the advantages of pull-based monitoring such as Prometheus is that you can tell if the target is healthy as part of the scrape. How do you do that though?

Read more


Blog   |   Training   |   Book   |   Careers   |   Privacy   |   Demo