Distributed Remote Monitoring in Go

By Daniel Selans

Elevator Pitch

A brief showcase on how one can tackle complex remote monitoring problems in a modern way using 9volt - a distributed monitoring system written in Go and backed by etcd.


Remote monitoring is an age old problem and there a bunch of ways to solve it. Nagios is a thing that often comes to mind, but it’s 2017… These days, we want our monitoring to be easily configurable, deployable, ultra-reliable and easy to scale and query.

In this lightning talk, I’ll be showcasing a complex remote monitoring problem and how we solved it at InVision using 9volt - a distributed remote monitoring system written in Go that is backed by etcd. During a demo of the software, I will show you how you can spin up a 100 member cluster in less than 1 minute and be ready to tackle any remote monitoring problem in a modern, sophisticated way.


During the talk, I’ll be showcasing a couple of diagrams to best illustrate the problem and the solution we landed on. At the end of the demo, I’ll be spinning up a 100 member monitoring cluster on my laptop and adding 10,000 remote checks to the cluster - to illustrate the simplicity of such a task - something that used to be (and still is, without 9volt), a fairly involved and complex task.

I presented a similar talk at PDX Golang not so long ago, which was officially the first time I talked about 9volt in public. Gophercon seems like a great opportunity to showcase the project further and invite folks to participate if they are interested in this particular problem domain.