Brewing in Beats: Improve Metricbeat on Windows

Welcome to Brewing in Beats! With this series, we're keeping you up to date with all that's new in Beats, from the details of work in progress pull requests to releases and learning resources.

Metricbeat: Improve Windows support

Andrew replaced the usage of Cgo with pure Go system calls in the Gosigar library, so the system module of Metricbeat no longer needs Cgo. Eliminating C is great news as it makes the code safer, easier to maintain, and easier to cross-compile.

With this change, several other things got fixed or added in the process:

Metricbeat: Fixes and improvements in the Docker module

Thanks to a community contribution by @douaejeouit and issue was fixed where CPU values were reported as negative. The unit test coverage was also improved.

Filebeat: Fix for state loading

Just in time for 5.0, we had a few fixes in the Filebeat code that load and interpret the registry file on startup:

Golint improvements

This pull request addresses a few coding style issues in the Beats project that were detected with golint.