02 May 2018 Engineering

New Community Beat: Fastcombeat, Send Download Speed Metrics to Elasticsearch

By Chad Tindel

Would you like to take measurements for your internet download speed? Well have nothing to fear, because fastcombeat is here! (“Here” being in the list of community-supported Beats.)

Using the fast.com speed testing service powered by Netflix, fastcombeat estimates your internet download speed by performing a series of downloads from Netflix servers. Since there is no way for your ISP to cheat the speed test or give the speed test traffic priority without making your Netflix speeds faster in general, it is a very nice way to measure your real download speeds.

Also included is a simple dashboard that plots your download speed over time, as well as shows the most recent measurement on a gauge compared against the Netflix bandwidth recommendations for various streaing quality levels.

blog-fastcombeat-fb.png

You probably don’t want to run the beat too often, as you don’t want it chewing up your bandwidth frequently. The default setting is to run it once every minute, but if you wanted to change it to run every 5 or 15 minutes that is probably OK too.

Building the Beat was straightforward and only took about 1 day of effort. There is a great developer guide to walk you step by step through creating a new Beat.

With the underlying plumbing of libbeat, you can focus solely on the logic of gathering your data and let libbeat deal with parsing configuration, running your beat code, and sending the data off to Kafka, Logstash, Elasticsearch, or any of the other supported Beat outputs. 

Fastcombeat is listed in the community Beats page and also is available for cloning or download. Perhaps one day this functionality can be merged into heartbeat as a module but for now we welcome any feedback you might like to provide. Enjoy!