Skip to content

ruflin/factbeat

 
 

Repository files navigation

Introduction

Factbeat is a Beat that ships Facter facts to Elasticsearch, where they can be stored, analyzed and compared over time.

Building

Build Status

Like all Beats, Factbeat is written in Go. If you are familiar with Go, and have a development environment set up, feel free to build Factbeat like any other Go program.

However...

Containers, containers, containers.

Factbeat ships with a fully containerized build and test pipeline. It provides containers that can build the Go source code and run its unit tests. There are also containers that manage acceptance testing using Python and a live Elasticsearch instance.

The containerized build/test sytem requires that you have:

  • docker
  • docker-compose
  • make

However you don't need to install Go, Elasticsearch, Python etc. They are all packaged for you in Docker containers.

Given the above dependencies, you should be able to simply:

make

to get a ./factbeat binary.

Though let's not forget:

make unit-test

and

make acceptance-test

TODO

  • Allow blacklist/whitelist of facts.
  • Convert percents to beats style ie. "83.3%" -> 0.833
  • Consider removing disk stats all together, since Topbeat has them covered.
  • Improved mapping template.
  • Automate installing the mapping template.
  • Your suggestions.

About

Ship Facter facts to Elasticsearch or Logstash.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 48.1%
  • Python 26.9%
  • Makefile 25.0%