Birdwatcher: A Prometheus metrics exporter for Calico/BIRD
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
CODE_OF_CONDUCT.md
Dockerfile
LICENSE
README.md
birdwatcher.py
birdwatcher_test.py

README.md

Birdwatcher: Prometheus exporter for Calico/BIRD

When using Calico in combination with Kubernetes, it may make sense to have some basic monitoring for it through Prometheus.

This utility implements a simple web server written in Python that extracts metrics from the BIRD internet routing daemon that is used by Calico. It parses the output of birdcl show protocols all and turns it into a series of metrics in Prometheus' format, exporting them over HTTP.

It typically makes sense to run this daemon in a Kubernetes DaemonSet, so that every node in your cluster runs exactly one copy of this daemon. Just make sure that /var/run/calico/bird.ctl points to the UNIX socket exposed by BIRD by using a hostPath directive. The provided Dockerfile already contains a copy of the birdcl utility.

Be sure to check out birdwatcher_test.py to get an idea of how the output of birdcl is translated to a set of metrics.