diff --git a/redirects.yml b/redirects.yml index 05de54063d..faac6e2b25 100644 --- a/redirects.yml +++ b/redirects.yml @@ -13,9 +13,9 @@ redirects: 'solutions/observability/apps.md': 'solutions/observability/applications/index.md' 'solutions/observability/apps/application-performance-monitoring-apm.md': 'solutions/observability/apm/index.md' 'solutions/observability/apps/get-started-with-apm.md': 'solutions/observability/apm/get-started.md' - 'solutions/observability/apps/get-started-apm-serverless.md': 'solutions/observability/apm/get-started-serverless.md' - 'solutions/observability/apps/fleet-managed-apm-server.md': 'solutions/observability/apm/get-started-fleet-managed-apm-server.md' - 'solutions/observability/apps/apm-server-binary.md': 'solutions/observability/apm/get-started-apm-server-binary.md' + 'solutions/observability/apps/get-started-apm-serverless.md': 'solutions/observability/apm/get-started.md' + 'solutions/observability/apps/fleet-managed-apm-server.md': 'reference/fleet/get-started-managed-apm-server.md' + 'solutions/observability/apps/apm-server-binary.md': 'reference/fleet/get-started-apm-server-binary.md' 'solutions/observability/apps/learn-about-application-data-types.md': 'solutions/observability/apm/data-types.md' 'solutions/observability/apps/spans.md': 'solutions/observability/apm/spans.md' 'solutions/observability/apps/transactions.md': 'solutions/observability/apm/transactions.md' @@ -294,4 +294,9 @@ redirects: 'solutions/search/retrievers-examples.md': 'elasticsearch://reference/elasticsearch/rest-apis/retrievers/retrievers-examples.md' # Related to https://github.com/elastic/docs-content/pull/2136 - 'deploy-manage/security/fips-140-2.md': 'deploy-manage/security/fips.md' \ No newline at end of file + 'deploy-manage/security/fips-140-2.md': 'deploy-manage/security/fips.md' + +# Related to + 'solutions/observability/apm/get-started-serverless.md': 'solutions/observability/apm/get-started.md' + 'solutions/observability/apm/get-started-fleet-managed-apm-server.md': 'reference/fleet/get-started-managed-apm-server.md' + 'solutions/observability/apm/get-started-apm-server-binary.md': 'reference/fleet/get-started-apm-server-binary.md' \ No newline at end of file diff --git a/reference/apm/observability/apm.md b/reference/apm/observability/apm.md index 4067670165..e7a8465acc 100644 --- a/reference/apm/observability/apm.md +++ b/reference/apm/observability/apm.md @@ -21,7 +21,7 @@ Metrics are another vital source of information when debugging production system ## Give Elastic APM a try [_give_elastic_apm_a_try] -Use [Get started with application traces and APM](/solutions/observability/apm/get-started-fleet-managed-apm-server.md) to quickly spin up an APM deployment. Want to host everything yourself instead? See [Get started](/solutions/observability/apm/get-started.md). +Use [Fleet-managed APM Server](/reference/fleet/get-started-managed-apm-server.md) to quickly spin up an APM deployment. Want to host everything yourself instead? See [Get started for APM](/solutions/observability/apm/get-started.md). diff --git a/solutions/observability/apm/get-started-apm-server-binary.md b/reference/fleet/get-started-apm-server-binary.md similarity index 99% rename from solutions/observability/apm/get-started-apm-server-binary.md rename to reference/fleet/get-started-apm-server-binary.md index dd2f14f0b2..a4b62fe1bb 100644 --- a/solutions/observability/apm/get-started-apm-server-binary.md +++ b/reference/fleet/get-started-apm-server-binary.md @@ -23,7 +23,7 @@ You’ll need: We recommend you use the same version of {{es}}, {{kib}}, and APM Server. See [Installing the {{stack}}](/get-started/the-stack.md) for more information about installing these products. -:::{image} /solutions/images/observability-apm-architecture-diy.png +:::{image} /reference/fleet/images/observability-apm-architecture-diy.png :alt: Install Elastic APM yourself ::: @@ -746,7 +746,7 @@ For more information on how to combine Elastic and OpenTelemetry, see [OpenTelem Once you have at least one {{apm-agent}} sending data to APM Server, you can start visualizing your data in the [{{kib}} Applications UI](/solutions/observability/apm/overviews.md). -:::{image} /solutions/images/observability-kibana-apm-sample-data.png +:::{image} /reference/fleet/images/observability-kibana-apm-sample-data.png :alt: Applications UI with data :screenshot: ::: diff --git a/solutions/observability/apm/get-started-fleet-managed-apm-server.md b/reference/fleet/get-started-managed-apm-server.md similarity index 97% rename from solutions/observability/apm/get-started-fleet-managed-apm-server.md rename to reference/fleet/get-started-managed-apm-server.md index dabb9c80cb..1153fadcac 100644 --- a/solutions/observability/apm/get-started-fleet-managed-apm-server.md +++ b/reference/fleet/get-started-managed-apm-server.md @@ -10,6 +10,11 @@ products: # Fleet-managed APM Server [get-started-with-fleet-apm-server] +Fleet is a web-based UI in {{kib}} that is used to centrally manage {{agent}}s. In this deployment model, use {{agent}} to spin up APM Server instances that can be centrally-managed in a custom-curated user interface. + +:::{image} /reference/fleet/images/observability-fm-ov.png +:alt: APM Server fleet overview + This guide will explain how to set up and configure a Fleet-managed APM Server. ## Prerequisites [_prerequisites_6] @@ -71,7 +76,7 @@ You can install only a single {{agent}} per host, which means you cannot run {{f 4. Save and apply the settings. 5. Click the **Agents** tab and follow the in-product instructions to add a {{fleet}} server: - :::{image} /solutions/images/observability-add-fleet-server.png + :::{image} /reference/fleet/images/observability-add-fleet-server.png :alt: In-product instructions for adding a {{fleet-server}} :screenshot: ::: @@ -110,14 +115,14 @@ If you don’t have a {{fleet}} setup already in place, the easiest way to get s 1. In {{kib}}, find **Integrations** in the main menu or use the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). 2. Select **Elastic APM**. - :::{image} /solutions/images/observability-kibana-fleet-integrations-apm.png + :::{image} /reference/fleet/images/observability-kibana-fleet-integrations-apm.png :alt: {{fleet}} showing APM integration :screenshot: ::: 3. Click **Add Elastic APM**. - :::{image} /solutions/images/observability-kibana-fleet-integrations-apm-overview.png + :::{image} /reference/fleet/images/observability-kibana-fleet-integrations-apm-overview.png :alt: {{fleet}} showing APM integration overview :screenshot: ::: @@ -132,7 +137,7 @@ If you don’t have a {{fleet}} setup already in place, the easiest way to get s 6. Click **Save and continue**. This step takes a minute or two to complete. When it’s done, you’ll have an agent policy that contains an APM integration policy for the configuration you just specified. 7. To view the new policy, click **Agent policy 1**. - :::{image} /solutions/images/observability-apm-agent-policy-1.png + :::{image} /reference/fleet/images/observability-apm-agent-policy-1.png :alt: {{fleet}} showing apm policy :screenshot: ::: @@ -787,7 +792,7 @@ For more information on how to combine Elastic and OpenTelemetry, see [OpenTelem Back in {{kib}}, under {{observability}}, select APM. You should see application performance monitoring data flowing into the {{stack}}! -:::{image} /solutions/images/observability-kibana-apm-sample-data.png +:::{image} /reference/fleet/images/observability-kibana-apm-sample-data.png :alt: Applications UI with data :screenshot: ::: diff --git a/solutions/images/observability-add-fleet-server.png b/reference/fleet/images/observability-add-fleet-server.png similarity index 100% rename from solutions/images/observability-add-fleet-server.png rename to reference/fleet/images/observability-add-fleet-server.png diff --git a/solutions/images/observability-apm-agent-policy-1.png b/reference/fleet/images/observability-apm-agent-policy-1.png similarity index 100% rename from solutions/images/observability-apm-agent-policy-1.png rename to reference/fleet/images/observability-apm-agent-policy-1.png diff --git a/solutions/images/observability-apm-architecture-diy.png b/reference/fleet/images/observability-apm-architecture-diy.png similarity index 100% rename from solutions/images/observability-apm-architecture-diy.png rename to reference/fleet/images/observability-apm-architecture-diy.png diff --git a/solutions/images/observability-fm-ov.png b/reference/fleet/images/observability-fm-ov.png similarity index 100% rename from solutions/images/observability-fm-ov.png rename to reference/fleet/images/observability-fm-ov.png diff --git a/solutions/images/observability-kibana-apm-sample-data.png b/reference/fleet/images/observability-kibana-apm-sample-data.png similarity index 100% rename from solutions/images/observability-kibana-apm-sample-data.png rename to reference/fleet/images/observability-kibana-apm-sample-data.png diff --git a/solutions/images/observability-kibana-fleet-integrations-apm-overview.png b/reference/fleet/images/observability-kibana-fleet-integrations-apm-overview.png similarity index 100% rename from solutions/images/observability-kibana-fleet-integrations-apm-overview.png rename to reference/fleet/images/observability-kibana-fleet-integrations-apm-overview.png diff --git a/solutions/images/observability-kibana-fleet-integrations-apm.png b/reference/fleet/images/observability-kibana-fleet-integrations-apm.png similarity index 100% rename from solutions/images/observability-kibana-fleet-integrations-apm.png rename to reference/fleet/images/observability-kibana-fleet-integrations-apm.png diff --git a/reference/fleet/toc.yml b/reference/fleet/toc.yml index 32c2b0d456..fe5d705769 100644 --- a/reference/fleet/toc.yml +++ b/reference/fleet/toc.yml @@ -7,6 +7,8 @@ toc: - file: deployment-models.md children: - file: fleet-server.md + - file: get-started-managed-apm-server.md + - file: get-started-apm-server-binary.md - file: add-fleet-server-cloud.md - file: add-fleet-server-on-prem.md - file: add-fleet-server-mixed.md diff --git a/solutions/_snippets/edot-reference-arch.md b/solutions/_snippets/edot-reference-arch.md new file mode 100644 index 0000000000..99963c5720 --- /dev/null +++ b/solutions/_snippets/edot-reference-arch.md @@ -0,0 +1,27 @@ +The following diagrams show the reference architecture for OpenTelemetry with Elastic, depending on your deployment model. + +:::::{tab-set} +::::{tab-item} Serverless + +:::{image} /solutions/images/observability-apm-otel-distro-serverless.png +:alt: APM data ingest path (Serverless) +::: + +:::: + +::::{tab-item} ECH + +:::{image} /solutions/images/observability-apm-otel-distro-ech.png +:alt: APM data ingest path (ECH) +::: + +:::: + +::::{tab-item} Self-managed + +:::{image} /solutions/images/observability-apm-otel-distro-self-managed.png +:alt: APM data ingest path (Self-managed) +::: + +:::: +::::: diff --git a/solutions/_snippets/obs-apm-project.md b/solutions/_snippets/obs-apm-project.md new file mode 100644 index 0000000000..865ba2705f --- /dev/null +++ b/solutions/_snippets/obs-apm-project.md @@ -0,0 +1,24 @@ +Bring traces, logs, and metrics into Elastic APM to help you troubleshoot and optimize your applications. You can collect this data using OpenTelemetry or APM Server. + +:::::{dropdown} Steps for collecting application traces, metrics, and logs + +::::{tab-set} +:::{tab-item} OpenTelemetry + +The [Elastic Distribution of OpenTelemetry (EDOT) SDKs](opentelemetry://reference/edot-sdks/index.md) facilitate the collection of traces, metrics, and logs in OpenTelemetry format into Elastic APM. + +1. Select **Add data** from the main menu and then select **Application**. +2. Select **OpenTelemetry**. +3. Follow the instructions for your platform. +::: + +:::{tab-item} APM agents + +Use the [APM agents](/solutions/observability/apm/elastic-apm-agents.md) to collect traces, metrics, and logs through [APM Server](/solutions/observability/apm/configure-apm-server.md). + +1. Select **Add data** from the main menu and then select **Application**. +2. Select **Elastic APM**. +3. Select the tab for your language or framework. +4. Follow the instructions in the tab. +::: +::::: \ No newline at end of file diff --git a/solutions/_snippets/obs-serverless-project.md b/solutions/_snippets/obs-serverless-project.md new file mode 100644 index 0000000000..279ad60440 --- /dev/null +++ b/solutions/_snippets/obs-serverless-project.md @@ -0,0 +1,18 @@ +An {{obs-serverless}} project allows you to run {{obs-serverless}} in an autoscaled and fully-managed environment, where you don’t have to manage the underlying {{es}} cluster or {{kib}} instances. + +::::{dropdown} Steps for creating a project +:::{note} +The **Admin** role or higher is required to create projects. Refer to [Assign user roles and privileges](/deploy-manage/users-roles/cloud-organization/manage-users.md#general-assign-user-roles). +::: + +1. Navigate to [cloud.elastic.co](https://cloud.elastic.co/) and log in to your account, or create one. +2. Select **Create serverless project**. +3. Under **Elastic for Observability**, select **Next**. +4. Enter a name for your project. +5. (Optional) Select **Edit settings** to change your project settings: + + * **Cloud provider**: The cloud platform where you’ll deploy your project. We currently support Amazon Web Services (AWS). + * **Region**: The [region](/deploy-manage/deploy/elastic-cloud/regions.md) where your project will live. + +6. Select **Create project**. It takes a few minutes to create your project. +7. When the project is ready, click **Continue**. \ No newline at end of file diff --git a/solutions/images/observability-apm-otel-distro-ech.png b/solutions/images/observability-apm-otel-distro-ech.png new file mode 100644 index 0000000000..a552f68da0 Binary files /dev/null and b/solutions/images/observability-apm-otel-distro-ech.png differ diff --git a/solutions/images/observability-apm-otel-distro-self-managed.png b/solutions/images/observability-apm-otel-distro-self-managed.png new file mode 100644 index 0000000000..1c788d3168 Binary files /dev/null and b/solutions/images/observability-apm-otel-distro-self-managed.png differ diff --git a/solutions/images/observability-apm-otel-distro-serverless.png b/solutions/images/observability-apm-otel-distro-serverless.png new file mode 100644 index 0000000000..7c5494b153 Binary files /dev/null and b/solutions/images/observability-apm-otel-distro-serverless.png differ diff --git a/solutions/observability/apm/apm-server-advanced-setup.md b/solutions/observability/apm/apm-server-advanced-setup.md index 4e78864cb7..a481c0dacc 100644 --- a/solutions/observability/apm/apm-server-advanced-setup.md +++ b/solutions/observability/apm/apm-server-advanced-setup.md @@ -11,7 +11,7 @@ products: # APM Server advanced setup [apm-setting-up-and-running] -Before reading this section, see the [getting started documentation](/solutions/observability/apm/get-started-fleet-managed-apm-server.md) for basic installation and running instructions. +Before reading this section, see the [getting started documentation](/reference/fleet/get-started-managed-apm-server.md) for basic installation and running instructions. This section includes additional information on how to set up and run APM Server, including: @@ -20,5 +20,5 @@ This section includes additional information on how to set up and run APM Server * [Command reference](/solutions/observability/apm/apm-server-command-reference.md) * [Tune data ingestion](/solutions/observability/apm/tune-data-ingestion.md) * [High Availability](/solutions/observability/apm/high-availability.md) -* [Run APM Server on Docker](/solutions/observability/apm/get-started-apm-server-binary.md#apm-running-on-docker) +* [Run APM Server on Docker](/reference/fleet/get-started-apm-server-binary.md#apm-running-on-docker) diff --git a/solutions/observability/apm/get-started-serverless.md b/solutions/observability/apm/get-started-serverless.md deleted file mode 100644 index 4727e6fbb9..0000000000 --- a/solutions/observability/apm/get-started-serverless.md +++ /dev/null @@ -1,449 +0,0 @@ ---- -navigation_title: Elastic Cloud Serverless -mapped_pages: - - https://www.elastic.co/guide/en/serverless/current/observability-apm-get-started.html -applies_to: - serverless: -products: - - id: cloud-serverless ---- - -# Get started with traces and APM [observability-apm-get-started] - -::::{admonition} Required role -:class: note - -**For Observability Serverless projects**, the **Admin** role or higher is required to send APM data to Elastic. To learn more, refer to [Assign user roles and privileges](/deploy-manage/users-roles/cloud-organization/user-roles.md). -:::: - -In this guide you’ll learn how to collect and send Application Performance Monitoring (APM) data to Elastic, then explore and visualize the data in real time. - -## Step 1: Add data [add-apm-integration-agents] - -You’ll use APM agents to send APM data from your application to Elastic. Elastic offers APM agents written in several languages and supports OpenTelemetry. Which agent you’ll use depends on the language used in your service. - -To send APM data to Elastic, you must install an APM agent and configure it to send data to your project: - -1. [Create a new {{obs-serverless}} project](/solutions/observability/get-started.md), or open an existing one. -2. To install and configure one or more APM agents, do one of following: - - * In your Observability project, go to **Add data** → **Application** → **Elastic APM** and follow the prompts. - * Use the following instructions: - - ::::::{tab-set} - :::::{tab-item} Go - **1. Install the agent** - - Install the {{apm-agent}} package using `go get`: - - ```go - go get -u go.elastic.co/apm/v2 - ``` - - **2. Configure the agent** - - To simplify development and testing, the agent defaults to sending data to Elastic at `http://localhost:8200`. To send data to an alternative location, you must configure `ELASTIC_APM_SERVER_URL`. - - ```go - # The APM integration host and port - export ELASTIC_APM_SERVER_URL= - - # If you do not specify `ELASTIC_APM_SERVICE_NAME`, the Go agent will use the - # executable name. For example, if your executable is called "my-app.exe", then your - # service will be identified as "my-app". - export ELASTIC_APM_SERVICE_NAME= - - # API keys are used to authorize requests to the APM integration - export ELASTIC_APM_API_KEY= - ``` - - **3. Instrument your application** - - Instrumentation is the process of extending your application’s code to report trace data to Elastic APM. Go applications must be instrumented manually at the source code level. To instrument your applications, use one of the following approaches: - - * [Built-in instrumentation modules](apm-agent-go://reference/builtin-modules.md). - * [Custom instrumentation](apm-agent-go://reference/custom-instrumentation.md) and context propagation with the Go Agent API. - - **Learn more in the {{apm-agent}} reference** - - * [Supported technologies](apm-agent-go://reference/supported-technologies.md) - * [Advanced configuration](apm-agent-go://reference/configuration.md) - * [Detailed guide to instrumenting Go source code](apm-agent-go://reference/set-up-apm-go-agent.md) - ::::: - - :::::{tab-item} Java - Manually set up and configure the agent with the `-javaagent` JVM option. No application code change is required, but this requires an application restart. See below for more information on this setup method. - - **1. Download the {{apm-agent}}** - - The first step in getting started with the Elastic APM Java agent is to retrieve a copy of the agent JAR. Java agent releases are published to [Maven central](https://repo.maven.apache.org/maven2/). In order to get a copy you can either: - - * download the [latest agent](https://oss.sonatype.org/service/local/artifact/maven/redirect?r=releases&g=co.elastic.apm&a=elastic-apm-agent&v=LATEST) or a [previous release](https://mvnrepository.com/artifact/co.elastic.apm/elastic-apm-agent) from Maven central. - * download with `curl`: - - ```bash - curl -o 'elastic-apm-agent.jar' -L 'https://oss.sonatype.org/service/local/artifact/maven/redirect?r=releases&g=co.elastic.apm&a=elastic-apm-agent&v=LATEST' - ``` - - **2. Add `-javaagent` flag** - - When starting your application, add the JVM flag: `-javaagent:/path/to/elastic-apm-agent-.jar`. - - **3. Configure** - - Different application servers have different ways of setting the `-javaagent` flag and system properties. Start your application (for example a Spring Boot application or other embedded servers) and add the `-javaagent` JVM flag. Use the `-D` prefix to configure the agent using system properties: - - ```bash - java -javaagent:/path/to/elastic-apm-agent-.jar -Delastic.apm.service_name=my-cool-service -Delastic.apm.application_packages=org.example,org.another.example -Delastic.apm.server_url=http://127.0.0.1:8200 -jar my-application.jar - ``` - - Refer to [Manual setup with `-javaagent` flag](apm-agent-java://reference/setup-javaagent.md) to learn more. - - **Alternate setup methods** - - * **Automatic setup with `apm-agent-attach-cli.jar`** Automatically set up the agent without needing to alter the configuration of your JVM or application server. This method requires no changes to application code or JVM options, and allows attaching to a running JVM. Refer to the [Java agent documentation](apm-agent-java://reference/setup-attach-cli.md) for more information on this setup method. - * **Programmatic API setup to self-attach** Set up the agent with a one-line code change and an extra `apm-agent-attach` dependency. This method requires no changes to JVM options, and the agent artifact is embedded within the packaged application binary. Refer to the [Java agent documentation](apm-agent-java://reference/setup-attach-api.md) for more information on this setup method. - ::::: - - :::::{tab-item} .NET - **Set up the {{apm-agent}}** - - * **Profiler runtime instrumentation**: The agent supports auto instrumentation without any code change and without any recompilation of your projects. See [Profiler auto instrumentation](apm-agent-dotnet://reference/setup-auto-instrumentation.md). - * **NuGet packages**: The agent ships as a set of [NuGet packages](apm-agent-dotnet://reference/nuget-packages.md) available on [nuget.org](https://nuget.org). You can add the Agent and specific instrumentations to a .NET application by referencing one or more of these packages and following the package documentation. - * **Host startup hook**: On .NET Core 3.0+ or .NET 5+, the agent supports auto instrumentation without any code change and without any recompilation of your projects. See [Zero code change setup on .NET Core](apm-agent-dotnet://reference/setup-dotnet-net-core.md) for more details. - - **Learn more in the {{apm-agent}} reference** - - * [Supported technologies](apm-agent-dotnet://reference/supported-technologies.md) - * [Advanced configuration](apm-agent-dotnet://reference/configuration.md) - ::::: - - :::::{tab-item} Node.js - **1. Install the {{apm-agent}}** - - Install the {{apm-agent}} for Node.js as a dependency to your application. - - ```js - npm install elastic-apm-node --save - ``` - - **2. Initialization** - - It’s important that the agent is started before you require *any* other modules in your Node.js application - i.e. before `http` and before your router etc. - - This means that you should probably require and start the agent in your application’s main file (usually `index.js`, `server.js` or `app.js`). - - Here’s a simple example of how Elastic APM is normally required and started: - - ```js - // Add this to the VERY top of the first file loaded in your app - var apm = require('elastic-apm-node').start({ - // Override service name from package.json - // Allowed characters: a-z, A-Z, 0-9, -, _, and space - serviceName: '', - - // API keys are used to authorize requests to the APM integration - apiKey: '', - - // Set custom APM integration host and port (default: http://127.0.0.1:8200) - serverUrl: '', - }) - ``` - - The agent will now monitor the performance of your application and record any uncaught exceptions. - - **Learn more in the {{apm-agent}} reference** - - * [Supported technologies](apm-agent-nodejs://reference/supported-technologies.md) - * [Babel/ES Modules](apm-agent-nodejs://reference/advanced-setup.md) - * [Advanced configuration](apm-agent-nodejs://reference/configuring-agent.md) - ::::: - - :::::{tab-item} PHP - **1. Install the agent** - - Install the PHP agent using one of the [published packages](https://github.com/elastic/apm-agent-php/releases/latest). - - To use the RPM Package (RHEL/CentOS and Fedora): - - ```php - rpm -ivh .rpm - ``` - - To use the DEB package (Debian and Ubuntu): - - ```php - dpkg -i .deb - ``` - - To use the APK package (Alpine): - - ```php - apk add --allow-untrusted .apk - ``` - - If you can’t find your distribution, you can install the agent by building it from the source. The following instructions will build the APM agent using the same docker environment that Elastic uses to build our official packages. - - ```{note} - The agent is currently only available for Linux operating system. - ``` - - 1. Download the [agent source](https://github.com/elastic/apm-agent-php/). - 2. Execute the following commands to build the agent and install it: - - ```bash - cd apm-agent-php - # for linux glibc - libc distributions (Ubuntu, Redhat, etc) - export BUILD_ARCHITECTURE=linux-x86-64 - # for linux with musl - libc distributions (Alpine) - export BUILD_ARCHITECTURE=linuxmusl-x86-64 - # provide a path to php-config tool - export PHP_CONFIG=php-config - - # build extensions - make -f .ci/Makefile build - - # run extension tests - PHP_VERSION=`$PHP_CONFIG --version | cut -d'.' -f 1,2` make -f .ci/Makefile run-phpt-tests - - # install agent extensions - sudo cp agent/native/_build/${BUILD_ARCHITECTURE}-release/ext/elastic_apm-*.so `$PHP_CONFIG --extension-dir` - - # install automatic loader - sudo cp agent/native/_build/${BUILD_ARCHITECTURE}-release/loader/code/elastic_apm_loader.so `$PHP_CONFIG --extension-dir` - ``` - - **2. Enable and configure the APM agent** - - Enable and configure your agent inside of the `php.ini` file: - - ```ini - extension=elastic_apm_loader.so - elastic_apm.bootstrap_php_part_file=/agent/php/bootstrap_php_part.php - ``` - - **Learn more in the {{apm-agent}} reference** - - * [Supported technologies](apm-agent-php://reference/supported-technologies.md) - * [Configuration](apm-agent-php://reference/configuration.md) - ::::: - - :::::{tab-item} Python - Django and Flask are two of several frameworks that the Elastic APM Python Agent supports. For a complete list of supported technologies, refer to the [Elastic APM Python Agent documentation](apm-agent-python://reference/supported-technologies.md). - - *Django* - - ```python - $ pip install elastic-apm - ``` - - **1. Install the {{apm-agent}}** - - Install the {{apm-agent}} for Python as a dependency. - - ```python - $ pip install elastic-apm - ``` - - **2. Configure the {{apm-agent}}** - - Agents are libraries that run inside of your application process. APM services are created programmatically based on the `SERVICE_NAME`. - - ```python - # Add the agent to the installed apps - INSTALLED_APPS = ( - 'elasticapm.contrib.django', - # ... - ) - - ELASTIC_APM = { - # Set required service name. Allowed characters: - # a-z, A-Z, 0-9, -, _, and space - 'SERVICE_NAME': '', - - # API keys are used to authorize requests to the APM integration - 'API_KEY': '', - - # Set custom APM integration host and port (default: http://localhost:8200) - 'SERVER_URL': '', - } - - # To send performance metrics, add our tracing middleware: - MIDDLEWARE = ( - 'elasticapm.contrib.django.middleware.TracingMiddleware', - #... - ) - ``` - - *Flask* - - **1. Install the {{apm-agent}}** - - Install the {{apm-agent}} for Python as a dependency. - - ```python - $ pip install elastic-apm[flask] - ``` - - **2. Configure the {{apm-agent}}** - - Agents are libraries that run inside of your application process. APM services are created programmatically based on the `SERVICE_NAME`. - - ```python - # initialize using environment variables - from elasticapm.contrib.flask import ElasticAPM - app = Flask(__name__) - apm = ElasticAPM(app) - - # or configure to use ELASTIC_APM in your application settings - from elasticapm.contrib.flask import ElasticAPM - app.config['ELASTIC_APM'] = { - # Set required service name. Allowed characters: - # a-z, A-Z, 0-9, -, _, and space - 'SERVICE_NAME': '', - - # API keys are used to authorize requests to the APM integration - 'API_KEY': '', - - # Set custom APM integration host and port (default: http://localhost:8200) - 'SERVER_URL': '', - } - - apm = ElasticAPM(app) - ``` - - **Learn more in the {{apm-agent}} reference** - - * [Supported technologies](apm-agent-python://reference/supported-technologies.md) - * [Advanced configuration](apm-agent-python://reference/configuration.md) - ::::: - - :::::{tab-item} Ruby - **1. Install the {{apm-agent}}** - - Add the agent to your Gemfile. - - ```ruby - gem 'elastic-apm' - ``` - - **2. Configure the agent** - - *Ruby on Rails* - - APM is automatically started when your app boots. Configure the agent by creating the config file `config/elastic_apm.yml`: - - ```ruby - # config/elastic_apm.yml: - - # Set service name - allowed characters: a-z, A-Z, 0-9, -, _ and space - # Defaults to the name of your Rails app - service_name: 'my-service' - - # API keys are used to authorize requests to the APM integration - api_key: '' - - # Set custom APM integration host and port (default: http://localhost:8200) - server_url: 'http://localhost:8200' - ``` - - *Rack* - - For Rack or a compatible framework, like Sinatra, include the middleware in your app and start the agent. - - ```ruby - # config.ru - - app = lambda do |env| - [200, {'Content-Type' => 'text/plain'}, ['ok']] - end - - # Wraps all requests in transactions and reports exceptions - use ElasticAPM::Middleware - - # Start an instance of the Agent - ElasticAPM.start(service_name: 'NothingButRack') - - run app - - # Gracefully stop the agent when process exits. - # Makes sure any pending transactions are sent. - at_exit { ElasticAPM.stop } - ``` - - Create a config file `config/elastic_apm.yml`: - - ```ruby - # config/elastic_apm.yml: - - # Set service name - allowed characters: a-z, A-Z, 0-9, -, _ and space - # Defaults to the name of your Rack app's class. - service_name: 'my-service' - - # API keys are used to authorize requests to the APM integration - api_key: '' - - # Set custom APM integration host and port (default: http://localhost:8200) - server_url: 'http://localhost:8200' - ``` - - **Learn more in the {{apm-agent}} reference** - - * [Supported technologies](apm-agent-ruby://reference/supported-technologies.md) - * [Advanced configuration](apm-agent-ruby://reference/configuration.md) - ::::: - - :::::{tab-item} OpenTelemetry - Elastic integrates with OpenTelemetry, allowing you to reuse your existing instrumentation to easily send observability data to Elastic. - - For more information on how to combine Elastic and OpenTelemetry, refer to [OpenTelemetry](/solutions/observability/apm/use-opentelemetry-with-apm.md). - ::::: - :::::: - - While there are many configuration options, all APM agents require: - - * **Service name**: The APM integration maps an instrumented service’s name — defined in each {{apm-agent}}'s configuration — to the index where its data is stored. Service names are case-insensitive and must be unique. - - For example, you cannot have a service named `Foo` and another named `foo`. Special characters will be removed from service names and replaced with underscores (`_`). - - * **Server URL**: The host and port that the managed intake service listens for events on. - - To find the URL for your project: - - 1. Go to the [Cloud console](https://cloud.elastic.co/). - 2. Next to your project, select **Manage**. - 3. Next to *Endpoints*, select **View**. - 4. Copy the *APM endpoint*. - - * **API key**: Authentication method for communication between {{apm-agent}} and the managed intake service. - - You can create and delete API keys in Applications Settings: - - 1. Go to any page in the *Applications* section of the main menu. - 2. Click **Settings** in the top bar. - 3. Go to the **Agent keys** tab. - - * **Environment**: The name of the environment this service is deployed in, for example "production" or "staging". - - Environments allow you to easily filter data on a global level in the UI. It’s important to be consistent when naming environments across agents. - -3. If you’re using the step-by-step instructions in the UI, after you’ve installed and configured an agent, you can click **Check Agent Status** to verify that the agent is sending data. - -To learn more about APM agents, including how to fine-tune how agents send traces to Elastic, refer to [Collect application data](/solutions/observability/apm/collect-application-data.md). - -## Step 2: View your data [view-apm-integration-data] - -After one or more APM agents are installed and successfully sending data, you can view application performance monitoring data in the UI. - -In the *Applications* section of the main menu, select **Service Inventory**. This will show a high-level overview of the health and general performance of all your services. - -Learn more about visualizing APM data in [View and analyze data](/solutions/observability/apm/view-analyze-data.md). - -::::{tip} -Not seeing any data? Find helpful tips in [Troubleshooting](/troubleshoot/observability/apm.md). - -:::: - -## Next steps [observability-apm-get-started-next-steps] - -Now that data is streaming into your project, take your investigation to a deeper level. Learn how to use [Elastic’s built-in visualizations for APM data](/solutions/observability/apm/view-analyze-data.md), [alert on APM data](/solutions/observability/incident-management/alerting.md), or [fine-tune how agents send traces to Elastic](/solutions/observability/apm/collect-application-data.md). diff --git a/solutions/observability/apm/get-started.md b/solutions/observability/apm/get-started.md index 5a9ec61e28..974c885203 100644 --- a/solutions/observability/apm/get-started.md +++ b/solutions/observability/apm/get-started.md @@ -1,8 +1,9 @@ --- -navigation_title: Get started +navigation_title: Get started with traces and APM mapped_pages: - https://www.elastic.co/guide/en/observability/current/apm-getting-started-apm-server.html - https://www.elastic.co/guide/en/serverless/current/observability-apm-get-started.html + - https://www.elastic.co/guide/en/serverless/current/observability-apm-get-started.html applies_to: stack: serverless: @@ -12,104 +13,60 @@ products: - id: cloud-serverless --- -# Get started with APM [apm-getting-started-apm-server] - -::::{note} -Starting in version 8.15.0, the {{es}} apm-data plugin manages APM index templates, lifecycle policies, and ingest pipelines. -:::: - -The APM Server receives performance data from your APM agents, validates and processes it, and then transforms the data into {{es}} documents. If you’re on this page, then you’ve chosen to self-manage the Elastic Stack, and you now must decide how to run and configure the APM Server. There are two options, and the components required are different for each: - -* **[Elastic Cloud Serverless](/solutions/observability/apm/get-started.md#get-started-apm-serverless)** -* **[Fleet-managed APM Server](/solutions/observability/apm/get-started.md#apm-setup-fleet-managed-apm)** -* **[APM Server binary](/solutions/observability/apm/get-started.md#apm-setup-apm-server-binary)** +# Get started with traces and APM [apm-getting-started-apm-server] -## Elastic Cloud Serverless [get-started-apm-serverless] +Elastic APM receives performance data from your APM agents, validates and processes it, and then transforms the data into {{es}} documents. -```{applies_to} -serverless: -``` - -Elastic Cloud Serverless is a fully managed solution that allows you to deploy and use Elastic for your use cases without managing the underlying infrastructure. - -## Fleet-managed APM Server [apm-setup-fleet-managed-apm] - -```{applies_to} -stack: -``` - -Fleet is a web-based UI in {{kib}} that is used to centrally manage {{agent}}s. In this deployment model, use {{agent}} to spin up APM Server instances that can be centrally-managed in a custom-curated user interface. - -:::{image} /solutions/images/observability-fm-ov.png -:alt: APM Server fleet overview -::: - -**Pros**: - -* Conveniently manage one, some, or many different integrations from one central {{fleet}} UI. -* Centrally manage multiple APM Servers running on edge machines. - -**Supported outputs**: - -* {{es}} -* {{ech}} +In this guide you’ll learn how to collect and send Application Performance Monitoring (APM) data to Elastic, then explore and visualize the data in real time. ::::{note} -Fleet-managed APM Server does *not* support all the outputs that are supported by the APM Server binary method of running Elastic APM. +For a general Elastic {{observability}} overview, refer to [Get started with observability](/solutions/observability/get-started.md). :::: -**Required components**: +## Send data to Elastic APM -* APM agents -* {{agent}} (which runs multiple subprocesses including APM Server, Fleet Server, and {{stack}}) +Follow these steps to send APM data to Elastic. -**Configuration method**: {{kib}} UI +::::{admonition} Required role +:class: note -## APM Server binary [apm-setup-apm-server-binary] +**For Observability Serverless projects**, the **Admin** role or higher is required to send APM data to Elastic. To learn more, refer to [Assign user roles and privileges](/deploy-manage/users-roles/cloud-organization/user-roles.md). +:::: -```{applies_to} -stack: -``` +::::::{stepper} -Install, configure, and run the APM Server binary wherever you need it. +:::::{step} Create an Observability project -:::{image} /solutions/images/observability-bin-ov.png -:alt: APM Server binary overview +:::{include} /solutions/_snippets/obs-serverless-project.md ::: -**Pros**: +:::::{step} Add data using EDOT or APM Agents -* Simplest self-managed option -* No addition component knowledge required -* YAML configuration simplifies automation +To send APM data to Elastic, you must install an Elastic Distribution of OpenTelemetry or an APM agent and configure it to send data to your project: -**Supported outputs**: +1. ::::{include} /solutions/_snippets/obs-apm-project.md + :::: -* {{es}} -* {{ech}} -* {{ls}} -* Kafka -* Redis -* File -* Console +2. If you’re using the step-by-step instructions in the UI, after you’ve installed and configured an agent, you can click **Check Agent Status** to verify that the agent is sending data. -**Required components**: +To learn more about APM agents, including how to fine-tune how agents send traces to Elastic, refer to [Collect application data](/solutions/observability/apm/collect-application-data.md). -* APM agents -* APM Server -* {{stack}} +::::: +:::::{step} View your data -**Configuration method**: YAML +After one or more APM agents are installed and successfully sending data, you can view application performance monitoring data in the UI. -## Help me decide [_help_me_decide] +In the **Applications** section of the main menu, select **Service Inventory**. This will show a high-level overview of the health and general performance of all your services. -```{applies_to} -stack: -``` +Learn more about visualizing APM data in [View and analyze data](/solutions/observability/apm/view-analyze-data.md). -This decision tree highlights key factors to help you make an informed decision about implementing Elastic APM. It provides practical guidance and is not intended to serve as a comprehensive reference of all possible implementations and capabilities. +::::{tip} +Not seeing any data? Find helpful tips in [Troubleshooting](/troubleshoot/observability/apm.md). +:::: +::::: +:::::: + +## Next steps [observability-apm-get-started-next-steps] + +Now that data is streaming into your project, take your investigation to a deeper level. Learn how to use [Elastic’s built-in visualizations for APM data](/solutions/observability/apm/view-analyze-data.md), [alert on APM data](/solutions/observability/incident-management/alerting.md), or [fine-tune how agents send traces to Elastic](/solutions/observability/apm/collect-application-data.md). -:::{image} /solutions/images/observability-apm-help-me-decide.svg -:alt: APM decision tree -:screenshot: -::: diff --git a/solutions/observability/apm/index.md b/solutions/observability/apm/index.md index 449739ecef..68e89f4b56 100644 --- a/solutions/observability/apm/index.md +++ b/solutions/observability/apm/index.md @@ -26,4 +26,4 @@ Metrics are another vital source of information when debugging production system ## Give Elastic APM a try [give_elastic_apm_a_try] -Use [Get started with application traces and APM](/solutions/observability/apm/get-started-fleet-managed-apm-server.md) to quickly spin up an APM deployment. Want to host everything yourself instead? See [Get started](/solutions/observability/apm/get-started.md). \ No newline at end of file +Use [Get started with application traces and APM](/reference/fleet/get-started-managed-apm-server.md) to quickly spin up an APM deployment. Want to host everything yourself instead? See [Get started](/solutions/observability/apm/get-started.md). \ No newline at end of file diff --git a/solutions/observability/apm/switch-self-installation-to-apm-integration.md b/solutions/observability/apm/switch-self-installation-to-apm-integration.md index 77b545ac39..5889d8e2e5 100644 --- a/solutions/observability/apm/switch-self-installation-to-apm-integration.md +++ b/solutions/observability/apm/switch-self-installation-to-apm-integration.md @@ -47,7 +47,7 @@ The {{fleet}}-managed {{agent}} will run the Elastic APM integration on your edg The APM integration receives performance data from your APM agents, validates and processes it, and then transforms the data into {{es}} documents. -To add the APM integration, see [Step 2: Add and configure the APM integration](/solutions/observability/apm/get-started-fleet-managed-apm-server.md#add-apm-integration). Only complete the linked step (not the entire quick start guide). If you’re adding the APM integration to a {{fleet}}-managed {{agent}}, you can use the default policy. If you’re adding the APM integration to the {{fleet-server}}, use the policy that the {{fleet-server}} is running on. +To add the APM integration, see [Step 2: Add and configure the APM integration](/reference/fleet/get-started-managed-apm-server.md#add-apm-integration). Only complete the linked step (not the entire quick start guide). If you’re adding the APM integration to a {{fleet}}-managed {{agent}}, you can use the default policy. If you’re adding the APM integration to the {{fleet-server}}, use the policy that the {{fleet-server}} is running on. ::::{tip} You’ll configure the APM integration in this step. See [Configure APM Server](/solutions/observability/apm/configure-apm-server.md) for a reference of all available settings. As long as the APM integration is configured with the same secret token or you have API keys enabled on the same host, no reconfiguration is required in your APM agents. diff --git a/solutions/observability/apm/upgrade-self-installation-of-apm-server-standalone-to-9.md b/solutions/observability/apm/upgrade-self-installation-of-apm-server-standalone-to-9.md index 596bb995ec..d1547ee143 100644 --- a/solutions/observability/apm/upgrade-self-installation-of-apm-server-standalone-to-9.md +++ b/solutions/observability/apm/upgrade-self-installation-of-apm-server-standalone-to-9.md @@ -34,7 +34,7 @@ This upgrade guide is for the standalone method of running APM Server. Only use 2. **Install the 9.0 APM Server release** - Refer to [install](/solutions/observability/apm/get-started-apm-server-binary.md#apm-installing) to find the command that works with your system. + Refer to [install](/reference/fleet/get-started-apm-server-binary.md#apm-installing) to find the command that works with your system. 3. **Review your configuration file** @@ -48,7 +48,7 @@ This upgrade guide is for the standalone method of running APM Server. Only use ./apm-server -e ``` - Additional details are available in [start the APM Server](/solutions/observability/apm/get-started-apm-server-binary.md#apm-server-starting). + Additional details are available in [start the APM Server](/reference/fleet/get-started-apm-server-binary.md#apm-server-starting). 5. When upgrading from 8.18 to 9.0, if you have 7.x indices, you need to either set the indices to `readonly`, or if reindexing, add [ILM privileges](https://www.elastic.co/guide/en/apm/guide/7.17/privileges-to-setup-beats.html#_set_up_ilm) for `reindexed-v*-apm*` indices. diff --git a/solutions/observability/apm/use-opentelemetry-with-apm.md b/solutions/observability/apm/use-opentelemetry-with-apm.md index bac15cdaf1..77b84ff65a 100644 --- a/solutions/observability/apm/use-opentelemetry-with-apm.md +++ b/solutions/observability/apm/use-opentelemetry-with-apm.md @@ -15,17 +15,15 @@ products: [OpenTelemetry](https://opentelemetry.io/docs/concepts/what-is-opentelemetry/) is a set of APIs, SDKs, tooling, and integrations that enable the capture and management of telemetry data from your services and applications. -Elastic offers several distributions of OpenTelemetry language SDKs. Each Elastic Distribution of OpenTelemetry is a customized version of an [OpenTelemetry language SDK](https://opentelemetry.io/docs/languages/), ready to send data to the [Managed OTLP endpoint](opentelemetry://reference/motlp.md), Elastic APM server, or directly to {{es}}. +Elastic offers several distributions of OpenTelemetry. Each Elastic Distribution of OpenTelemetry is a customized version of an [OpenTelemetry language SDK](https://opentelemetry.io/docs/languages/) and the OpenTelemetry Collector, ready to send data to the [Managed OTLP endpoint](opentelemetry://reference/motlp.md), APM Server, or directly to {{es}}. -:::{image} /solutions/images/observability-apm-otel-distro2.png -:alt: APM data ingest path -:screenshot: +:::{include} /solutions/_snippets/edot-reference-arch.md ::: With an Elastic Distribution of OpenTelemetry language SDK you have access to all the features of the OpenTelemetry SDK that it customizes, plus: * You can get access to SDK improvements and bug fixes contributed by the Elastic team before the changes are available upstream in the OpenTelemetry repositories. -* The distribution preconfigures the collection of tracing and metrics signals, applying opinionated defaults, such as which sources are collected by default. +* The distribution configures the collection of tracing and metrics signals, applying opinionated defaults, such as which sources are collected by default. * By sending data through the [EDOT Collector](opentelemetry://reference/edot-collector/index.md), you make sure to onboard infrastructure logs and metrics. Get started with an Elastic Distribution of OpenTelemetry language SDK: @@ -62,7 +60,7 @@ To understand the differences between Elastic Distributions of OpenTelemetry and ## Upstream OpenTelemetry with Elastic APM agent [apm-otel-api-sdk-elastic-agent] -You can use the OpenTelemetry API/SDKs with [Elastic APM agents](/solutions/observability/apm/get-started-fleet-managed-apm-server.md#_step_3_install_apm_agents) to translate OpenTelemetry API calls to Elastic APM API calls. This allows you to reuse your existing OpenTelemetry instrumentation to create Elastic APM transactions and spans, avoiding vendor lock-in and having to redo manual instrumentation. +You can use the OpenTelemetry API/SDKs with [Elastic APM agents](/reference/fleet/get-started-managed-apm-server.md#_step_3_install_apm_agents) to translate OpenTelemetry API calls to Elastic APM API calls. This allows you to reuse your existing OpenTelemetry instrumentation to create Elastic APM transactions and spans, avoiding vendor lock-in and having to redo manual instrumentation. However, not all features of the OpenTelemetry API are supported when using this approach, and not all Elastic APM agents support this approach. @@ -77,6 +75,6 @@ Find more details about how to use an OpenTelemetry API or SDK with an Elastic A AWS Lambda functions can be instrumented with OpenTelemetry and monitored with Elastic {{observability}} or {{obs-serverless}}. -To get started, follow the official AWS Distro for OpenTelemetry Lambda documentation, and configure the OpenTelemetry Collector to output traces and metrics to your Elastic cluster: +To get started, follow the official AWS Distribution for OpenTelemetry Lambda documentation, and configure the OpenTelemetry Collector to output traces and metrics to your Elastic cluster: [**Get started with the AWS Distro for OpenTelemetry Lambda**](https://aws-otel.github.io/docs/getting-started/lambda) \ No newline at end of file diff --git a/solutions/observability/get-started.md b/solutions/observability/get-started.md index 474814fbea..2e3ee98579 100644 --- a/solutions/observability/get-started.md +++ b/solutions/observability/get-started.md @@ -18,31 +18,15 @@ New to Elastic {{observability}}? Discover more about our observability features ## Get started with your use case [get-started-with-use-case] -Learn how to spin up a deployment on {{ech}} or create an {{obs-serverless}} project and use Elastic {{observability}} to gain deeper insight into the behavior of your applications and systems. +Learn how to create an {{obs-serverless}} project and use Elastic {{observability}} to gain deeper insight into the behavior of your applications and systems. :::::::{stepper} ::::::{step} Create an Observability project -An {{obs-serverless}} project allows you to run {{obs-serverless}} in an autoscaled and fully-managed environment, where you don’t have to manage the underlying {{es}} cluster or {{kib}} instances. - -::::{dropdown} Steps for creating a project -:::{note} -The **Admin** role or higher is required to create projects. Refer to [Assign user roles and privileges](/deploy-manage/users-roles/cloud-organization/manage-users.md#general-assign-user-roles). +:::{include} /solutions/_snippets/obs-serverless-project.md ::: -1. Navigate to [cloud.elastic.co](https://cloud.elastic.co/) and log in to your account, or create one. -2. Select **Create serverless project**. -3. Under **Elastic for Observability**, select **Next**. -4. Enter a name for your project. -5. (Optional) Select **Edit settings** to change your project settings: - - * **Cloud provider**: The cloud platform where you’ll deploy your project. We currently support Amazon Web Services (AWS). - * **Region**: The [region](/deploy-manage/deploy/elastic-cloud/regions.md) where your project will live. - -6. Select **Create project**. It takes a few minutes to create your project. -7. When the project is ready, click **Continue**. - For other types of deployments, refer to [Deploy](/deploy-manage/deploy.md). For a breakdown of the differences between deployment types and what they support, refer to [Detailed deployment comparison](/deploy-manage/deploy/deployment-comparison.md). :::: :::::: @@ -121,30 +105,9 @@ Refer to [LLM observability](/solutions/observability/applications/llm-observabi ::::::{step} Collect application traces, metrics, and logs -Bring traces, logs, and metrics into Elastic APM to help you troubleshoot and optimize your applications. You can collect this data using OpenTelemetry or APM Server. - -:::::{dropdown} Steps for collecting application traces, metrics, and logs - -::::{tab-set} -:::{tab-item} OpenTelemetry - -The [Elastic Distribution of OpenTelemetry (EDOT) SDKs](opentelemetry://reference/edot-sdks/index.md) facilitate the collection of traces, metrics, and logs in OpenTelemetry format into Elastic APM. - -1. Select **Add data** from the main menu and then select **Application**. -2. Select **OpenTelemetry**. -3. Follow the instructions for your platform. -::: - -:::{tab-item} APM agents - -Use the [APM agents](/solutions/observability/apm/elastic-apm-agents.md) to collect traces, metrics, and logs through [APM Server](/solutions/observability/apm/configure-apm-server.md). +::::{include} /solutions/_snippets/obs-apm-project.md +:::: -1. Select **Add data** from the main menu and then select **Application**. -2. Select **Elastic APM**. -3. Select the tab for your language or framework. -4. Follow the instructions in the tab. -::: -::::: :::::: ::::::{step} Add Synthetics monitoring diff --git a/solutions/observability/get-started/quickstarts.md b/solutions/observability/get-started/quickstarts.md index 68bbaa4186..91ab4d9c71 100644 --- a/solutions/observability/get-started/quickstarts.md +++ b/solutions/observability/get-started/quickstarts.md @@ -31,7 +31,6 @@ Follow the steps in these guides to get started quickly: Want to use {{fleet}} or some other feature not covered in the quickstarts? Follow the steps in these guides to get started: * [Get started with system metrics](/solutions/observability/infra-and-hosts/get-started-with-system-metrics.md). -* [Get started with application traces and APM](/solutions/observability/apm/get-started-fleet-managed-apm-server.md). * [Get started with synthetic monitoring](/solutions/observability/synthetics/index.md). * [Get started with Universal Profiling](/solutions/observability/infra-and-hosts/get-started-with-universal-profiling.md). diff --git a/solutions/toc.yml b/solutions/toc.yml index 4d612e000e..9767338ba1 100644 --- a/solutions/toc.yml +++ b/solutions/toc.yml @@ -114,10 +114,6 @@ toc: - file: observability/apm/index.md children: - file: observability/apm/get-started.md - children: - - file: observability/apm/get-started-serverless.md - - file: observability/apm/get-started-fleet-managed-apm-server.md - - file: observability/apm/get-started-apm-server-binary.md - file: observability/apm/data-types.md children: - file: observability/apm/spans.md