Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
_beats Update beats framework to a5d11aa (#1761) Jan 11, 2019
_meta docs: remove kibana and dashboards (#1715) Jan 18, 2019
beater abort if server is never created (#1810) Jan 18, 2019
changelogs rename span.hex_id to span.id (#1811) Jan 17, 2019
cmd set more config defaults in code (#1494) Oct 30, 2018
decoder Move user related fields to align with ECS schema. (#1783) Jan 17, 2019
docs docs: remove kibana and dashboards (#1715) Jan 18, 2019
include rename span.hex_id to span.id (#1811) Jan 17, 2019
ingest/pipeline Move user related fields to align with ECS schema. (#1783) Jan 17, 2019
licenses Update beats framework to e30da2c (#1272) Aug 13, 2018
model rename span.hex_id to span.id (#1811) Jan 17, 2019
pipelistener Add license headers Jul 4, 2018
processor rename span.hex_id to span.id (#1811) Jan 17, 2019
publish add top-level "observer" field (#1755) Jan 10, 2019
rally Set field limit, after testing with rally. (#1444) Oct 18, 2018
script remove deprecated Intake v1 endpoints (#1731) Jan 8, 2019
sourcemap index the url path only of the sourcemaps (#1661) Jan 16, 2019
testdata add kubernetes and container fields (#1785) Jan 17, 2019
tests rename span.hex_id to span.id (#1811) Jan 17, 2019
transform [v2] Intake protocol v2 (#1260) Oct 16, 2018
utility Move user related fields to align with ECS schema. (#1783) Jan 17, 2019
validation Refactor processors and move remaining models into "models". (#1137) Jul 18, 2018
vendor add kubernetes and container fields (#1785) Jan 17, 2019
x-pack Build real x-pack binaries Dec 14, 2018
.backportrc.json add 6.6 branch to backport file (#1697) Dec 20, 2018
.dockerignore Initial commit apm-server Aug 3, 2017
.editorconfig Initial commit apm-server Aug 3, 2017
.gitattributes use merge=union for changelog (#443) Dec 27, 2017
.gitignore Build real x-pack binaries Dec 14, 2018
.go-version Update go to 1.11.4 (#1700) Dec 21, 2018
CHANGELOG.asciidoc start 6.6.0 and 7.0.0-alpha* release notes (#1695) Dec 20, 2018
CODE_OF_CONDUCT.md link to Elastic code of conduct (#1143) Jul 17, 2018
CONTRIBUTING.md Add line breaks after punctuation in CONTRIBUTING.md (#619) Feb 6, 2018
Dockerfile Update go to 1.11.4 (#1700) Dec 21, 2018
Jenkinsfile [APM-CI] Correct condition to detect _beats folder changes (#1779) Jan 11, 2019
LICENSE.txt Opening X-Pack Apr 23, 2018
Makefile set default goal now that plain make does not do anything interesting ( Jan 9, 2019
NOTICE.txt Update beats framework to a5d11aa (#1761) Jan 11, 2019
README.md Update go to 1.11.4 (#1700) Dec 21, 2018
TESTING.md [v2] Update Intake API spec for v2 Oct 16, 2018
apm-server.docker.yml docs: remove kibana and dashboards (#1715) Jan 18, 2019
apm-server.yml docs: remove kibana and dashboards (#1715) Jan 18, 2019
docker-compose.yml Initial commit apm-server Aug 3, 2017
magefile.go Build real x-pack binaries Dec 14, 2018
main.go remove deprecated Intake v1 endpoints (#1731) Jan 8, 2019
main_test.go Add license headers Jul 4, 2018
package-README.md.tmpl Add mage dependencies, magefile and new packaging targets to the Make… Jul 4, 2018

README.md

Build Status codecov.io

APM Server

The APM Server receives data from the Elastic APM agents and stores the data into Elasticsearch.

Read more about Elastic APM.

Please take questions or feedback to the Discuss forum for APM.

Getting Started

To get started with APM please see our Getting Started Guide.

APM Server Development

Requirements

Install

  • Fork the repo with the Github interface and clone it:
cd ${GOPATH}/src/github.com/elastic/
git clone git@github.com:[USER]/apm-server.git

Note that it should be cloned from the fork (replace [USER] with your Github user), not from origin.

  • Add the upstream remote: git remote add elastic git@github.com:elastic/apm-server.git

Build

To build the binary for APM Server run the command below. This will generate a binary in the same directory with the name apm-server.

make

You also need to create all files needed by the APM Server by running the additional command below.

make update

Note that this requires to have virtualenv installed.

Run

To run APM Server with debugging output enabled, run:

./apm-server -c apm-server.yml -e -d "*"

Testing

For Testing check out the testing guide

Update

Each beat has a template for the mapping in elasticsearch and a documentation for the fields which is automatically generated based on fields.yml. To generate required configuration files and templates run:

make index-template update

Cleanup

To clean APM Server source code, run the following commands:

make fmt

To clean up the build directory and generated artifacts, run:

make clean

For further development, check out the beat developer guide.

Contributing

See contributing for details about reporting bugs or requesting features in APM server.

Update Dependencies

The apm-server has two types of dependencies, the Golang packages managed with Govendor and a dependency to the Beats Framework.

Govendor

Checkout the govendor tool.

To update beats to the most recent version from your go path for example use: govendor fetch github.com/elastic/beats/.... Govendor will automatically pick the files needed.

Beats Framework Update

To update the beats framework run make update-beats. This will fetch the most recent version of beats from master and copy the files which are needed for the framework part to the _beats directory. These are files like libbeat config files and scripts which are used for testing or packaging.

It is recommended to keep the version of the beats framework and libbeat in sync. To make an update of both, run:

make update-beats

To update the dependency to a specific commit or branch run command as following:

BEATS_VERSION=f240148065af94d55c5149e444482b9635801f27 make update-beats

Packaging

The beat frameworks provides tools to crosscompile and package your beat for different platforms. This requires docker and vendoring as described above. To build packages of your beat, run the following command:

make package

This will fetch and create all images required for the build process. The whole process can take several minutes.

Documentation

The Documentation for the APM Server can be found in the docs folder.

Help

make help