Upgrade to data streamsedit

Classic indices are deprecated starting in version 7.16.0. Users that are not ready to Switch to the Elastic APM integration should upgrade to data streams in the meantime.

Why upgrade?edit

Data streams offer a number of benefits over classic indices:

Data streams:

  • Reduced number of fields per index, better space efficiency, and faster queries
  • More granular data control
  • Errors and metrics data streams are shared with other data sources — which means better long-term integration with the logs and metrics apps
  • Removes template inheritance for ILM policies and makes use of new Elasticsearch index and component templates
  • Fixes resource 'apm-7.17.10-$type' exists, but it is not an alias

Data streams considerationsedit

  • Users on Elastic Cloud Enterprise require additional steps prior to migrating, like configuring TLS certificates for the connection between APM Server and Elasticsearch.
  • Users on Elasticsearch Service must follow the Switch an Elastic Cloud cluster guide.
  • RUM source maps are not working with data streams in version 7.17. This bug is fixed in version 8.0.

Upgrade a self-managed APM Serveredit

Upgrade the Elastic Stackedit

The Elastic Stack (Elasticsearch and Kibana) must be upgraded prior to APM Server. See the Elastic Stack Installation and Upgrade Guide for guidance.

Review the APM release notes, breaking changes, and Observability What’s new content for important changes between your current APM version and this one.

Add the APM integrationedit

Before enabling data streams in APM Server, the APM integration must be added to your cluster. This enables Fleet to set up ingest templates, ILM policies, and ingest pipelines when APM Server tries to connect.

  1. In Kibana, navigate to Management > Fleet. First time? The page may take a few minutes to load.
  2. Select Agent policies > Default policy and click Add integration.
  3. Search for and select Elastic APM. Under step one, select APM integration.
  4. Click Add Elastic APM. Configuring the integration is not required as we’re only using the integration to set up Elasticsearch resources. Click Save and Continue and then Add Elastic Agent later (you don’t need to add an Elastic Agent later).

Configure APM Server to use data streamsedit

  1. Stop APM Server and set data_streams.enabled: true in apm-server.yml:

      data_streams.enabled: true
  2. Restart APM Server.

Configure resourcesedit

Need to customize anything?