Charlie Drage

Deploying a Sensu server with docker-compose

This is an update of my previous post here with a wayyyy easier method of deploying a sensu server.

I’m not going to go too much into detail. But if you’ve found this post, you’re most likely coming from Google and already know what Sensu is and want to deploy it with Docker Compose.

TLDR: Sensu is an awesome monitoring service built in Ruby. It scales with RabbitMQ and let’s an assortment of clients connect to it. Similar to Nagios, but uses Client<–>Server communication. Checks can be created in any language (similar to Nagios).


Usually you have to install: RabbitMQ, Redis, Ruby and well… Sensu in order to deploy Sensu. Not only that, but you also have to generate SSL certs for both RabbitMQ, the Sensu server and all your clients.

Oh, want a modern UI as well? You’ll also want to install Uchiwa

Before proceeding, make sure you’ve got 1.10 of docker and 1.6 of docker-compose.

git clone
cd composefiles/sensu-server
docker-compose up

Seriously, that’s it. Go checkout localhost:3000 and you’ll see your sensu server up and running.

Want to connect a sensu-client to your server? Use the SSL certificates located in ssl/client.

What about modify your checks.json or config.json? Simply modify config/sensu.json and config/sensu-checks.json and run docker-compose restart and you’re done.

Each component is separated into it’s own microservice using docker-compose and can be easily scaled up or down depending on your work-load.