Upgrade a self-installation of APM Server standalone to 8.7.0edit

This upgrade guide is for the standalone (legacy) method of running APM Server. Only use this guide if both of the following are true:

  • You have a self-installation of the Elastic Stack, i.e. you’re not using Elastic Cloud.
  • You’re running the APM Server binary, i.e. you haven’t switched to the Elastic APM integration.

Prerequisitesedit

  1. Prior to upgrading to version 8.7.0, Elasticsearch, Kibana, and APM Server must be upgraded to version 7.17.

  2. Review the APM release notes, breaking changes, and Observability What’s new content.

Upgrade stepsedit

  1. Upgrade the Elastic Stack to version 8.7.0

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

  2. Install the APM integration via the Fleet UI

    Starting in version 8.0.0, Fleet uses the APM integration to set up and manage APM index templates, ILM policies, and ingest pipelines. APM Server will only send data to Elasticsearch after the APM integration has been installed.

    An internet connection is required to install the APM integration. If your environment has network traffic restrictions, there are ways to work around this requirement. See Air-gapped environments for more information.

    1. Open Kibana and select Add integrations > Elastic APM.
    2. Click APM integration.
    3. Click Add Elastic APM.
    4. Click Save and continue.
    5. Click Add Elastic Agent later. You do not need to run an Elastic Agent to complete the setup.
  3. Install the 8.7.0 APM Server release

    See install to find the command that works with your system.

    If you install version 8.7.0 of APM Server before installing the APM integration, you will see error logs similar to the following. You must go back and install the APM integration before data can be ingested into Elasticsearch.

    ...
    {"log.level":"error","@timestamp":"2022-01-19T10:45:34.923+0800","log.logger":"beater","log.origin":{"file.name":"beater/waitready.go","file.line":62},"message":"precondition 'apm integration installed' failed: error querying Elasticsearch for integration index templates: unexpected HTTP status: 404 Not Found ({\"error\":{\"root_cause\":[{\"type\":\"resource_not_found_exception\",\"reason\":\"index template matching [traces-apm.sampled] not found\"}],\"type\":\"resource_not_found_exception\",\"reason\":\"index template matching [traces-apm.sampled] not found\"},\"status\":404}): to remediate, please install the apm integration: https://ela.st/apm-integration-quickstart","service.name":"apm-server","ecs.version":"1.6.0"}
    {"log.level":"error","@timestamp":"2022-01-19T10:45:37.461+0800","log.logger":"beater","log.origin":{"file.name":"beater/waitready.go","file.line":62},"message":"precondition 'apm integration installed' failed: error querying Elasticsearch for integration index templates: unexpected HTTP status: 404 Not Found ({\"error\":{\"root_cause\":[{\"type\":\"resource_not_found_exception\",\"reason\":\"index template matching [logs-apm.error] not found\"}],\"type\":\"resource_not_found_exception\",\"reason\":\"index template matching [logs-apm.error] not found\"},\"status\":404}): to remediate, please install the apm integration: https://ela.st/apm-integration-quickstart","service.name":"apm-server","ecs.version":"1.6.0"}
    ...
  4. Review your configuration file

    Some settings have been removed or changed. You may need to update your apm-server.yml configuration file prior to starting the APM Server. See Directory layout for help in locating this file, and Configure for a list of all available configuration options.

  5. Start the APM Server

    To start the APM Server, run:

    ./apm-server -e

    Additional details are available in start the APM Server.

  6. (Optional) Upgrade to the APM integration

    Got time for one more upgrade? See Switch to the Elastic APM integration.