Datadog v7 on Raspberry PI2

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.

IPv6 Fun at Home

June 5th, 2011

I’ve been using HE.net‘s TunnelBroker service to ensure the various sites/services I host  are available via IPv6.   When we moved up to San Francisco, I decided to finally setup our home network with its own tunnel as well.  (SCALE’s services hosted over at ActUSA have long IPv6 enabled since 2009~).    Currently we tunnel traffic using our trusty old Linksys WRT54G running OpenWRT through HE.net, routes are advertised to the local network using RADVD.

So far things have worked surprisingly well, with a few exceptions for older devices.   Here is a quick review of what we have working, and what is still in progress.

IPv6 Certification Badge for Ilan Rabinovitch

Devices supporting IPv6:

  • Linksys WRT54G w/ OpenWRT
    Required some futzing with modules and configuration but work if you follow instructions.   I’m a bit surprised ipv6 kernel modules are not load out of the box on current builds.
  • Nexus One (Android 2.3.x)
    Works out of the box on wifi, pickups route advertisement and passes on test-ipv6.com.
  • Maru’s iPhone 3GS
    Had to upgrade to latest iOS release (4.2.3) as it was running ancient jail-broken 3.1 build.  It looks like you need to be running at least iOS 4.x for  IPv6 support.  The anyone part is I cannot seem to find is a GUI that allows you to display the IPv6 address.  The usual dialogs only display an IPv4 address.  Accessing a test site though, I’m able to see what the address is and confirm traffic routes as expected.
  • Operating Systems
    Centos 5.5, Ubuntu 10.10, Ubuntu 11.04, and OSX all seemed to work out of the box. No configuration was required,  as soon as I turned the systems on they had an IPv6 address.
  • Brother HL-3040CN Color Laser Printer
    Network color laser printer.  No issues with IPv6 so far.  It is not enabled by default, you need to login via the web interface and check a box.

Devices not yet working with IPv6:

  • Panasonic DMP-BD65 Blu-Ray Player
    Do any Blu-ay devices support IPv6 yet?  ( Update: Panasonic has indicated none of their current Blu-Ray players support ipv6.)
  • Linksys WIP 300 SIP phone.
    I believe it runs a uCLinux for its operating system, but  Linksys stopped providing OS / firmware updates long ago.
  • Nintendo Wii
    No dice so far. I  did send an email inquiry to technical support who implied it was possible and asked me to call in for details.  Phone support seemed unable help unless I could provide an error code, which I cannot since one is not displayed.   There are a number of misinformed forum posts claiming the Wii will use IPv6 out of the box, but this does not appear to be true.  Further research indicates its DNS resolver will attempt to lookup AAAA records before querying for A records, but the Wii itself will not pickup a v6 address.   If someone knows of a way to make this work drop me a line.

Helpful IPv6 Resources: