# Beats for embedded devices?

**URL:** <https://discuss.elastic.co/t/beats-for-embedded-devices/90989>\
**Category:** Beats\
**Created:** [June 27, 2017, 3:12pm UTC](https://discuss.elastic.co/t/beats-for-embedded-devices/90989 "2017-06-27T15:12:52Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![TimWard](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/timward/32/19574_2.png) [@TimWard](https://discuss.elastic.co/u/TimWard)\
**Post date:** [June 27, 2017, 3:12pm UTC](https://discuss.elastic.co/t/beats-for-embedded-devices/90989/1 "2017-06-27T15:12:53Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![andrewkroh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/andrewkroh/32/3784_2.png) [@andrewkroh](https://discuss.elastic.co/u/andrewkroh)\
**Post date:** [June 27, 2017, 4:10pm UTC](https://discuss.elastic.co/t/beats-for-embedded-devices/90989/2 "2017-06-27T16:10:59Z")

</div>

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](https://github.com/elastic/beats/blob/master/metricbeat/include/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](https://github.com/elastic/beats/blob/dc6e846686f0ce096f10130e7a0e56fd249bb3cb/libbeat/beat/beat.go#L67-L72).

---

<div class="post-metadata">

**Author:** ![TimWard](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/timward/32/19574_2.png) [@TimWard](https://discuss.elastic.co/u/TimWard)\
**Post date:** [June 28, 2017, 8:19am UTC](https://discuss.elastic.co/t/beats-for-embedded-devices/90989/3 "2017-06-28T08:19:27Z")

</div>

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 😞

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 18, 2017, 3:13pm UTC](https://discuss.elastic.co/t/beats-for-embedded-devices/90989/4 "2017-07-18T15:13:02Z")

</div>

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