Archive for June, 2020

Datadog v7 on Raspberry PI2

Friday, June 19th, 2020

Working at Datadog I like to dog food our products on my personal projects at home. Having recently upgraded our home WiFi setup (more on that another time) I thought it’d be fun to try out our new network monitoring and SNMP autodiscovery features available in Datadog Agent 6.x and 7.x. And since I had a spare Raspberry Pi2+ laying around, that felt like the right place to put it.

Too many ARMs

Unfortunately, while Datadog has ARM builds available they focus on ARMv8 and Amazon Web Services’ various Graviton based instances. Raspberry Pi2 models are armhf, which are a whole different beast. Luckily datadog-agent is open source, so I set off to build my own unofficial packages and thought I’d share the results here to save you the time (about half a day once you have the build env going). As of writing the current available version is 7.20.2, but I’ll try to update these from time to time.

APT Repo: deb http://apt.fonz.net datadog-arm main

Building it yourself

Want to build it yourself? A datadog-agent-buildimages container is available on github for deb-armf. Alternatively, you can save time (clang, cmake, etc take a few days on an RPi2) and use the build images I pushed to Dockerhub: irabinovitch/datadog-agent-buildimages-armhf

  1. Clone datadog-agent on your Pi
  2. From the repo directory run the build container:
    docker run -v "$PWD:/go/src/github.com/DataDog/datadog-agent" -v "/tmp/omnibus:/omnibus" --workdir=/go/src/github.com/DataDog/datadog-agent irabinovitch/datadog-agent-buildimages-armhf:latest inv -e agent.omnibus-build --base-dir=/omnibus --gem-path=/gem
  3. Wait 12~ hours.
  4. Out pop your packages in datadog-agent/omnibus/pkg/

Happy Monitoring

Hope you find these helpful. If you end up doing something cool with it, drop me a line. Whether you’re monitoring a kegerator, your solar panels or just your home router, I always enjoy hearing about unique use cases for Datadog at home.