Beats for embedded devices?

It might be nice for us to be able to use some Beats (particularly Metricbeat and Heartbeat but maybe others) on an embedded device with an ARM processor running Linux.

However a quick look at the nightly builds for Metricbeat for ARM Linux suggests a file size of around 50Mbytes, which is several times the available disk space on the device.

For something advertised as "Lightweight Data Shippers" this seems a little on the heavy side ...

Anyone done this sort of thing, got any answers or suggestions?

For example, we've already got Java on the devices (which is why there's no space left for anything else!) and one might hope that the Beats protocol stack translated to Java, if such a thing existed, would only occupy a few K, so we could write the top layer ourselves? Or, how easy is it to pull out the bits we need and rebuild the existing Beats much smaller?

It should be easy to build your own Metricbeat binary for ARM that does not include all of the modules.

You can comment out lines in list.go for modules that you do not need.

Some of the processors also carry baggage so you might want to comment out the ones you don't need. They are imported here.

1 Like

Ta. I suspect however that that won't bring the size down to the tens of kilobytes that the embedded people seem to be suggesting is all I'm allowed, so I'm currently looking at

  1. Writing some Java on the embedded device to query the metrics that I actually need from the operating system
  2. Shipping off some JSON to the agent that the embedded device is talking to anyway
  3. Indexing it into Elasticsearch from there using the REST API

But that's two chunks of code to write and it would have been nice to use Beats and write no code at all :disappointed:

This topic was automatically closed after 21 days. New replies are no longer allowed.