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.16.6 or later installed, and the $GOPATH
must be set up correctly. In addition, the following tools are required:
Python venv module is already included in the standard library. In Ubuntu/Debian
it requires additional support scripts that can be installed with the
python3-venv
package:
sudo apt-get install python3-venv
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.14 in the example below):
cd ${GOPATH}/src/github.com/elastic/beats git checkout 7.14
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 from the root beats
directory:
NEWBEAT_TYPE=metricbeat mage GenerateCustomBeat
When prompted, enter the Beat name and path, along with an initial module and metricset name for your beat. For more details about creating a metricset, see the docs Creating a Metricset.
After creating the Beat, change the directory to $GOPATH/src/github.com/{your-github-name}/{beat}
Step 3 - 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 4 - 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.