Monitoring my servers with Prometheus

I love to monitor all my infrastructure, and it’s came a long way since I started doing it. My first pass at monitoring was years ago using Nagios, then I evolved into using influxdb. Alas, as time changes and my needs evolve, influxdb just wasn’t sitting very well with me, so I had to make the switch to Prometheus.

Prometheus has allowed me to easily collect statistics across all my servers, and writing exporters is very easy in Python for any custom data metrics. Right now I run a KVM machine with Docker on it, it’s hosing my Grafana and Prometheus instances, allowing me to monitor everything and visualize it. I’m also intending on hosting some other resource management tools on there and eventually having a NOC dashboard here.

That’s my current layout on the machine, with InfluxDB just being kept now for historical entries. You may notice the created date is recent, this is because I re-created the containers and simply injected the previous data when moving it onto this new machine.

Why Prometheus?

Prometheus is a powerful engine that allows me to easily query, graph and scale my monitoring without much configuration at all. Instead of numerous, often tricky to craft Influx queries, I can have simple, well-defined statements and see it represented beautifully.

My Graphs

Here’s an overview of my new monitoring graphs!

That’s all for now, till next time with more Prometheus!