Visualize latency between your Consul nodes
Clone or download
Latest commit 732ca49 Jan 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
public should be good Dec 27, 2018
views should be good Dec 27, 2018
.gitignore init first poc Dec 20, 2018
Dockerfile should be good Dec 27, 2018
LICENSE.md should be good Dec 27, 2018
README.md Update README.md Jan 9, 2019
conf.ts should be good Dec 27, 2018
index.ts add demo + promotion + remove limitation Dec 27, 2018
package.json should be good Dec 27, 2018
tsconfig.json should be good Dec 27, 2018
utils.ts should be good Dec 27, 2018
yarn.lock should be good Dec 27, 2018

README.md

Consul Topology

This tool is made to vizualise latency between consul nodes based on the Coordinate API to compute the data.

Demo: I've deployed a demo there if you want to checkout, note that it's use the demo cluster of hashicorp (available here)

Totally shameless promotion : If you are looking for monitoring your NodeJS infrastructure, i work on PM2 Enterprise which can help you, for more details send me an email: valentin at keymetrics dot io

Inspiration

Some people might recognize the similarity with Goldpinger which is indeed the tool that i used to kickstart my version, so big thanks you to them for open sourcing this tool in the first place.

The first difference is that i only wanted to vizualise things and didn't want to actually get alerted nor get metrics from this tools. But it's pretty trivial so someone need it, just ask and i might add it.

The second difference is that we don't actually need to deploy anything in your infrastructure since Consul compute pretty much all the data for us.

Configuration

As said earlier, you don't need to deploy anything along side your infrastructure, but there are still some configuration :

  • CONSUL_HTTP_ADDR: The address of the consul endpoint (can be either a master or client)
  • CONSUL_CACERT: The path (on the FS) to the Consul CA cert
  • CONSUL_CLIENT_CERT: The path (on the FS) to the client cert
  • CONSUL_CLIENT_KEY: The path (on the FS) to the client private key

Of course if you can access Consul in HTTP, you don't need to configure the certificate.

Note: It's the same environment variables as the CLI so it avoid you re-configured them on your laptop if you already have the CLI :)

Notes

I hacked this quickly during the holiday so it might not be the state of the art UX or code. Feel free to make a PR to implement the things that you want. I've built an image for deployment it into my production environment so if you want to re-use it: https://cloud.docker.com/repository/docker/vmarchaud/consul-topology

More screenshots