Reliable Insights

A blog on monitoring, scale and operational Sanity

August 13, 2018

Why predeclare metrics?

The standard way to use metrics in Prometheus is to declare them at file level, before using them. Why?

Read more

July 10, 2017

How to unit test Prometheus instrumentation

If you've determined a metric should be tested, how do you go about that?

Read more

May 8, 2017

Productive Prometheus Python Parsing

Prometheus client libraries don't just export metrics in our format, they can parse that format too.

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 2, 2017

Memory usage of Prometheus client libraries

A common question around Prometheus client libraries is how much RAM they'll use on a busy process. There tends to be disbelief when we say it's the same as an inactive server. Let's look deeper.

Read more

October 31, 2016

Prometheus query results as CSV

The default JSON output isn't always what you want when querying Prometheus. Let's see how to get out CSV files.

Read more

September 26, 2016

Instrumenting Python with Prometheus

Python is one of the four languages that has an official Prometheus client. Let's take a quick look at how to use it.

Read more

August 22, 2016

Exposing the software version to Prometheus

I've previously mentioned that you shouldn't have the version of your software as either a target label, or exposed via a label on all metrics of your server as it'll make using the metrics more challenging. What should you do instead?

Read more

January 13, 2016

Writing a Jenkins exporter in Python

I previously talked about writing JSON exporters in Python for Prometheus. Since then, the API for custom collectors in the Python client has been improved. So let's see how easy it is to create a new exporter!

Read more

December 3, 2015

Exporting to Graphite with the Prometheus Python Client

Prometheus doesn't try to lock you into it's ecosystem - in fact it makes it straightforward to both get data both in and out. This reduces operational overhead and allows for smoother transitions between monitoring systems.

Read more


Blog   |   Training   |   Book   |   Careers   |   Privacy   |   Demo