APM integration for Elastic Agent

edit

This functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.

Elastic Agent is a single, unified way to add monitoring for logs, metrics, and other types of data to each host. The APM integration for Elastic Agent assigns the APM input to a specified policy, and installs Elasticsearch templates and ingest node pipelines for APM data. When Elastic Agent is assigned a policy with an APM input, Elastic Agent will run the APM Server binary locally and listen for APM data.

Get started

edit

Ready to jump in? Read through the APM integration limitations, then head over to the quick start guide: Get application traces into the Elastic Stack.

Architecture

edit

If RUM is enabled, you must run Elastic Agent centrally. If RUM is disabled, Elastic Agent can be run on edge machines. To do this, download and enroll an Elastic Agent on the same machines that your instrumented services run on.

Limitations

edit

This integration is still in beta and does not have feature parity with standalone APM. Do not migrate production deployments.

Data steams migration
Existing APM users will need to migrate to data streams to use the APM integration. This change cannot be reverted, and impacts how APM Server and its indices are configured — see Data stream naming scheme and Configure. Additionally, users on Elastic Cloud Enterprise require additional steps prior to migrating, like configuring TLS certificates for the connection between APM Server and Elasticsearch.
Stack monitoring
Stack monitoring is not yet available.
Index lifecycle management (ILM)
A default ILM policy, named traces-apm.traces-default_policy is created for all event types. This policy moves indices to a warm data tier after 30 days. No default cold or delete data tier is defined. It is not possible to configure this policy in APM Server or Elastic Agent– it must be configured with Elasticsearch or Kibana. See Customize built-in ILM policies for more information.
Onboarding
APM Server no longer writes an onboarding document when setting up.
Standalone mode
Standalone mode is not currently supported. An Elastic Agent with the APM integration enabled must be managed by fleet.
Service names
Service names are case-insensitive and must be unique. See Service names for more information.
Upgrading from prior Elastic Agent versions
Due to changing API key permissions, an Elastic Agent enrolled before version 7.12 is not compatible with the APM integration. You must enroll a new Elastic Agent to use the integration.

Terminology

edit
Agents

Elastic Agent and APM agents are different components:

Elastic Agent is a single, unified agent that you can deploy to hosts or containers to collect data and send it to the Elastic Stack. Behind the scenes, Elastic Agent runs APM Server to listen for apm data.

APM agents are open source libraries written in the same language as your service. You may only need one, or you might use all of them. You install them into your service as you would install any other library. They instrument your code and collect performance data and errors at runtime. This data is sent to APM Server.

Central management/configuration

Fleet central management and APM agent central configuration are two different features that can be accessed in Kibana:

Fleet central management serves as the communication channel with your Elastic Agents; agents check in for the latest updates on a regular basis.

APM agent central configuration allows you to fine-tune your agent configuration from within the APM app. Changes are automatically propagated to your APM agents, so there’s no need to redeploy your services.

Package versioning

edit

The APM package is versioned separately from the Elastic Stack. In the future, we may align with Elastic Stack versioning.

Learn more

edit