Creating a Beat based on Metricbeat
editCreating a Beat based on Metricbeat
editThe metricset Beat generator enables you to create a Beat that uses Metricbeat as a library and has your own metricsets.
Requirements
editTo create your own Beat, you must have Go 1.11.5 or later installed, and the $GOPATH
must be set up correctly. In addition, the following tools are required:
Virtualenv is easiest installed with your package manager or pip.
Step 1 - Get the metricbeat source code
editThe first step is to get the metricbeat source code:
go get github.com/elastic/beats/metricbeat
This will clone the beats repository into GOPATH
. By default go get
fetches the master branch. To build your beat
on a specific version of libbeat, check out the specific branch (7.1 in the example below):
cd ${GOPATH}/src/github.com/elastic/beats git checkout 7.1
Note: If you have multiple go paths use ${GOPATH%%:*}`instead of `${GOPATH}
.
Now change to the directory where you want to create the beat.
This directory is normally located under $GOPATH/src/github.com/{your-github-name}
. Inside this directory, run the command to create the beat.
Step 2 - Create the Beat
editRun the command:
python ${GOPATH}/src/github.com/elastic/beats/script/generate.py --type=metricbeat
When prompted, enter the Beat name and path.
Step 3 - Init and create the metricset
editAfter creating the Beat, change the directory to $GOPATH/src/github.com/{your-github-name}/{beat}
and run:
make setup
This will do the initial setup for your Beat and also run make create-metricset
, which will ask you for the
module name and metricset name of your Beat.
For more details about creating a metricset, see the docs Creating a Metricset.
Step 4 - Build & Run
editTo create a binary run the make
command. This will create the binary in your beats directory.
To run it, execute the binary. This will automatically load the default configuration which was generated by make update
.
./beatname -e -d "*"
This will run the beat with debug output enabled to the console to directly see what is happening. Stop the beat with CTRL-C
.
Step 5 - Package
editTo create packages and binaries for different platforms, docker is required. The first step is to get the most recent packaging tools into your beat:
make release
This will fetch the most recent packaging tools and start the packaging of your beat. This can take a little bit longer.
For more details about creating a metricset, see the docs about Creating a Metricset.