Step 4: Install APM agents

edit

Agents are written in the same language as your service. Monitoring a new service requires installing the agent and configuring it with the address of your APM Server, a secret token (if necessary), and a service name.

Agent

Go

The Go agent automatically instruments Gorilla and Gin, and has support for Go’s built-in net/http and database/sql drivers.

Supported technologies

Getting started with the Go Agent

Java

The Java agent automatically instruments Servlet API, Spring MVC, and Spring Boot out of the box.

Supported technologies

Set up the Java Agent

.NET

The .NET agent automatically instruments ASP.NET Core applications, while .NET Framework applications can be instrumented with the public API.

Set up the .NET Agent

Node.js

The Node.js agent automatically instruments Express, hapi, Koa, and Restify out of the box.

Supported technologies

Set up the Node.js Agent

Python

The Python agent automatically instruments Django and Flask out of the box.

Supported technologies

Getting Started with the Python Agent

Ruby

The Ruby agent automatically instruments Rails out of the box.

Supported technologies

Set up the Ruby Agent

RUM

Real User Monitoring (RUM) captures user interactions with clients such as web browsers.

Supported technologies

Getting started with the RUM Agent

Check the Agent/Server compatibility matrix to ensure you’re using agents that are compatible with your version of Elasticsearch.

Choose a service name

edit

The service name is used by Elastic APM to differentiate between data coming from different services.

Elastic APM includes the service name field on every document that it saves in Elasticsearch. If you change the service name after using Elastic APM, you will see the old service name and the new service name as two separate services. Make sure you choose a good service name before you get started.

The service name can only contain alphanumeric characters, spaces, underscores, and dashes (must match ^[a-zA-Z0-9 _-]+$).