APM integration for Elastic Agent
editAPM integration for Elastic Agent
editThis 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
editReady 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
editIf 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
editThis 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
editThe APM package is versioned separately from the Elastic Stack. In the future, we may align with Elastic Stack versioning.