diff --git a/docs/reference/aws-lambda.md b/docs/reference/aws-lambda.md
index c1b0642a80..376cee0e92 100644
--- a/docs/reference/aws-lambda.md
+++ b/docs/reference/aws-lambda.md
@@ -22,7 +22,7 @@ To get started with APM for your Java AWS Lambda functions, follow the steps bel
### Prerequisites [aws-lambda-java-prerequisites]
-1. You need an APM Server to send APM data to. Follow the [APM Quick start](docs-content://solutions/observability/apps/get-started-with-apm.md) if you have not set one up yet. For the best-possible performance, we recommend setting up APM on {{ecloud}} in the same AWS region as your AWS Lambda functions.
+1. You need an APM Server to send APM data to. Follow the [APM Quick start](docs-content://solutions/observability/apm/get-started.md) if you have not set one up yet. For the best-possible performance, we recommend setting up APM on {{ecloud}} in the same AWS region as your AWS Lambda functions.
2. Make sure you are using one of the supported AWS Lambda Java runtimes:
| Tags | Java Runtime | Operating System | Supported |
@@ -143,7 +143,7 @@ COPY --from=java-agent /usr/agent/ /opt/
The {{apm-lambda-ext}} and the APM Java agent are configured through environment variables on the AWS Lambda function.
-For the minimal configuration, you will need the *APM Server URL* to set the destination for APM data and an [APM Secret Token](docs-content://solutions/observability/apps/secret-token.md). If you prefer to use an [APM API key](docs-content://solutions/observability/apps/api-keys.md) instead of the APM secret token, use the `ELASTIC_APM_API_KEY` environment variable instead of `ELASTIC_APM_SECRET_TOKEN` in the following configuration.
+For the minimal configuration, you will need the *APM Server URL* to set the destination for APM data and an [APM Secret Token](docs-content://solutions/observability/apm/secret-token.md). If you prefer to use an [APM API key](docs-content://solutions/observability/apm/api-keys.md) instead of the APM secret token, use the `ELASTIC_APM_API_KEY` environment variable instead of `ELASTIC_APM_SECRET_TOKEN` in the following configuration.
For production environments, we recommend [using the AWS Secrets Manager to store your APM authentication key](apm-aws-lambda://reference/aws-lambda-secrets-manager.md) instead of providing the secret value as plaintext in the environment variables.
diff --git a/docs/reference/config-core.md b/docs/reference/config-core.md
index 1ea6c90949..18e00a12d8 100644
--- a/docs/reference/config-core.md
+++ b/docs/reference/config-core.md
@@ -190,7 +190,7 @@ Allows for the reported hostname to be manually specified. If unset the hostname
The name of the environment this service is deployed in, e.g. "production" or "staging".
-Environments allow you to easily filter data on a global level in the APM app. It’s important to be consistent when naming environments across agents. See [environment selector](docs-content://solutions/observability/apps/filter-application-data.md#apm-filter-your-data-service-environment-filter) in the APM app for more information.
+Environments allow you to easily filter data on a global level in the APM app. It’s important to be consistent when naming environments across agents. See [environment selector](docs-content://solutions/observability/apm/filter-data.md#apm-filter-your-data-service-environment-filter) in the APM app for more information.
::::{note}
This feature is fully supported in the APM app in Kibana versions >= 7.2. You must use the query bar to filter for a specific environment in versions prior to 7.2.
@@ -252,7 +252,7 @@ The following transaction, span, and error fields will be truncated at this numb
* `transaction.context.message.body`, `error.context.message.body`
* `span.context.db.statement`
-Note that tracing data is limited at the upstream APM server to [`max_event_size`](docs-content://solutions/observability/apps/general-configuration-options.md#apm-max_event_size), which defaults to 300kB. If you configure `long_field_max_length` too large, it could result in transactions, spans, or errors that are rejected by APM server.
+Note that tracing data is limited at the upstream APM server to [`max_event_size`](docs-content://solutions/observability/apm/general-configuration-options.md#apm-max_event_size), which defaults to 300kB. If you configure `long_field_max_length` too large, it could result in transactions, spans, or errors that are rejected by APM server.
| Default | Type | Dynamic |
| --- | --- | --- |
@@ -687,7 +687,7 @@ Use the `apm-agent-plugin-sdk` and the `apm-agent-api` artifacts to create a jar
## `use_elastic_traceparent_header` ([1.14.0]) [config-use-elastic-traceparent-header]
-To enable [distributed tracing](docs-content://solutions/observability/apps/traces.md), the agent adds trace context headers to outgoing requests (like HTTP requests, Kafka records, gRPC requests etc.). These headers (`traceparent` and `tracestate`) are defined in the [W3C Trace Context](https://www.w3.org/TR/trace-context-1/) specification.
+To enable [distributed tracing](docs-content://solutions/observability/apm/traces.md), the agent adds trace context headers to outgoing requests (like HTTP requests, Kafka records, gRPC requests etc.). These headers (`traceparent` and `tracestate`) are defined in the [W3C Trace Context](https://www.w3.org/TR/trace-context-1/) specification.
When this setting is `true`, the agent will also add the header `elastic-apm-traceparent` for backwards compatibility with older versions of Elastic APM agents.
@@ -707,7 +707,7 @@ When this setting is `true`, the agent will also add the header `elastic-apm-tra
Use this option to disable `tracecontext` headers injection to any outgoing communication.
::::{note}
-Disabling `tracecontext` headers injection means that [distributed tracing](docs-content://solutions/observability/apps/traces.md) will not work on downstream services.
+Disabling `tracecontext` headers injection means that [distributed tracing](docs-content://solutions/observability/apm/traces.md) will not work on downstream services.
::::
diff --git a/docs/reference/configuration.md b/docs/reference/configuration.md
index d04822c326..e4acffd4ed 100644
--- a/docs/reference/configuration.md
+++ b/docs/reference/configuration.md
@@ -7,7 +7,7 @@ mapped_pages:
To adapt the Elastic APM Java agent to your needs, you can configure it using one of the methods below, listed in descending order of precedence:
-1) [Central configuration](docs-content://solutions/observability/apps/apm-agent-central-configuration.md)
+1) [Central configuration](docs-content://solutions/observability/apm/apm-agent-central-configuration.md)
: Configure the Agent in the Kibana APM app. [ ](#configuration-dynamic)
2) Properties file
@@ -33,7 +33,7 @@ To adapt the Elastic APM Java agent to your needs, you can configure it using on
Configuration options marked with Dynamic true can be changed at runtime when set from supported sources:
-* [Central configuration](docs-content://solutions/observability/apps/apm-agent-central-configuration.md)
+* [Central configuration](docs-content://solutions/observability/apm/apm-agent-central-configuration.md)
* `elasticapm.properties` file
* Java system properties, but only when set from within the application
diff --git a/docs/reference/index.md b/docs/reference/index.md
index ba22ba9941..21bc229e6f 100644
--- a/docs/reference/index.md
+++ b/docs/reference/index.md
@@ -25,5 +25,5 @@ More detailed information on how the Agent works can be found in the [FAQ](/refe
## Additional components [additional-components]
-APM Agents work in conjunction with the [APM Server](docs-content://solutions/observability/apps/application-performance-monitoring-apm.md), [Elasticsearch](docs-content://get-started/index.md), and [Kibana](docs-content://get-started/the-stack.md). The [APM Guide](docs-content://solutions/observability/apps/application-performance-monitoring-apm.md) provides details on how these components work together, and provides a matrix outlining [Agent and Server compatibility](docs-content://solutions/observability/apps/apm-agent-compatibility.md).
+APM Agents work in conjunction with the [APM Server](docs-content://solutions/observability/apm/index.md), [Elasticsearch](docs-content://get-started/index.md), and [Kibana](docs-content://get-started/the-stack.md). The [APM Guide](docs-content://solutions/observability/apm/index.md) provides details on how these components work together, and provides a matrix outlining [Agent and Server compatibility](docs-content://solutions/observability/apm/apm-agent-compatibility.md).
diff --git a/docs/reference/logs.md b/docs/reference/logs.md
index dcd98154c1..435717b749 100644
--- a/docs/reference/logs.md
+++ b/docs/reference/logs.md
@@ -19,7 +19,7 @@ The [`ecs-logging-java`](ecs-logging-java://reference/index.md) library can also
## Log correlation [log-correlation-ids]
-[Log correlation](docs-content://solutions/observability/apps/logs.md) allows you to navigate to all logs belonging to a particular trace and vice-versa: for a specific log, see in which context it has been logged and which parameters the user provided.
+[Log correlation](docs-content://solutions/observability/apm/logs.md) allows you to navigate to all logs belonging to a particular trace and vice-versa: for a specific log, see in which context it has been logged and which parameters the user provided.
::::{note}
Starting in APM agent version 1.30.0, log correlation is enabled by default. In previous versions, log correlation must be explicitly enabled by setting the `enable_log_correlation` configuration variable to `true`.
@@ -66,7 +66,7 @@ As a result, when an exception is reported to the logger:
Please note we capture the exception, not the message passed to the `logger.error`.
-To collect the message passed to the `logger.error`, you would need to ingest the logs of the application (see [Log correlation](docs-content://solutions/observability/apps/logs.md)).
+To collect the message passed to the `logger.error`, you would need to ingest the logs of the application (see [Log correlation](docs-content://solutions/observability/apm/logs.md)).
## Log sending (experimental) [log-sending]
diff --git a/docs/reference/metrics.md b/docs/reference/metrics.md
index 1ed6cf02f0..e3912a2f94 100644
--- a/docs/reference/metrics.md
+++ b/docs/reference/metrics.md
@@ -279,7 +279,7 @@ JMX metrics to capture need to be configured through the [`capture_jmx_metrics`]
## Built-in application metrics [metrics-application]
-To power the [Time spent by span type](docs-content://solutions/observability/apps/transactions-2.md) graph, the agent collects summarized metrics about the timings of spans and transactions, broken down by span type.
+To power the [Time spent by span type](docs-content://solutions/observability/apm/transactions-ui.md) graph, the agent collects summarized metrics about the timings of spans and transactions, broken down by span type.
**`span.self_time`**
: type: simple timer
diff --git a/docs/reference/opentelemetry-bridge.md b/docs/reference/opentelemetry-bridge.md
index b0042fd277..a577f1a6e6 100644
--- a/docs/reference/opentelemetry-bridge.md
+++ b/docs/reference/opentelemetry-bridge.md
@@ -8,11 +8,11 @@ mapped_pages:
The Elastic APM OpenTelemetry bridge allows creating Elastic APM `Transactions` and `Spans` using the OpenTelemetry API. OpenTelemetry metrics are also collected. In other words, it translates the calls to the OpenTelemetry API to Elastic APM and thus allows for reusing existing instrumentation.
::::{note}
-While manual instrumentations using the OpenTelemetry API can be adapted to the Elastic APM Java agent, it’s not possible to use the instrumentations from [opentelemetry-java-instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) in the context of the Elastic APM Java agent.
However, you can use [opentelemetry-java-instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) (aka the OpenTelemetry Java agent) and send the data to APM Server. See the [OpenTelemetry integration docs](docs-content://solutions/observability/apps/use-opentelemetry-with-apm.md) for more details.
+While manual instrumentations using the OpenTelemetry API can be adapted to the Elastic APM Java agent, it’s not possible to use the instrumentations from [opentelemetry-java-instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) in the context of the Elastic APM Java agent.
However, you can use [opentelemetry-java-instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) (aka the OpenTelemetry Java agent) and send the data to APM Server. See the [OpenTelemetry integration docs](docs-content://solutions/observability/apm/use-opentelemetry-with-apm.md) for more details.
::::
-The first span of a service will be converted to an Elastic APM [`Transaction`](docs-content://solutions/observability/apps/transactions.md), subsequent spans are mapped to Elastic APM [`Span`](docs-content://solutions/observability/apps/spans.md).
+The first span of a service will be converted to an Elastic APM [`Transaction`](docs-content://solutions/observability/apm/transactions.md), subsequent spans are mapped to Elastic APM [`Span`](docs-content://solutions/observability/apm/spans.md).
## Getting started [otel-getting-started]
diff --git a/docs/reference/opentracing-bridge.md b/docs/reference/opentracing-bridge.md
index 66943b6aee..da3f7fcdd4 100644
--- a/docs/reference/opentracing-bridge.md
+++ b/docs/reference/opentracing-bridge.md
@@ -12,7 +12,7 @@ OpenTracing is discontinued in favor of OpenTelemetry. Consider using the [OpenT
The Elastic APM OpenTracing bridge allows creating Elastic APM `Transactions` and `Spans`, using the OpenTracing API. In other words, it translates the calls to the OpenTracing API to Elastic APM and thus allows for reusing existing instrumentation.
-The first span of a service will be converted to an Elastic APM [`Transaction`](docs-content://solutions/observability/apps/transactions.md), subsequent spans are mapped to Elastic APM [`Span`](docs-content://solutions/observability/apps/spans.md).
+The first span of a service will be converted to an Elastic APM [`Transaction`](docs-content://solutions/observability/apm/transactions.md), subsequent spans are mapped to Elastic APM [`Span`](docs-content://solutions/observability/apm/spans.md).
## Getting started [opentracing-getting-started]
@@ -81,7 +81,7 @@ The `Span.setBaggageItem(String, String)` method is not supported. Baggage items
### Logs [opentracing-logs]
-Only exception logging is supported. Logging an Exception on the OpenTracing span will create an Elastic APM [`Error`](docs-content://solutions/observability/apps/errors.md). Example:
+Only exception logging is supported. Logging an Exception on the OpenTracing span will create an Elastic APM [`Error`](docs-content://solutions/observability/apm/errors.md). Example:
```java
Exception e = ...
diff --git a/docs/reference/set-up-apm-java-agent.md b/docs/reference/set-up-apm-java-agent.md
index c6e09ea3dc..a2c54e6c26 100644
--- a/docs/reference/set-up-apm-java-agent.md
+++ b/docs/reference/set-up-apm-java-agent.md
@@ -19,7 +19,7 @@ Once you’ve set up the Agent, see the [configuration guide](/reference/configu
## SSL/TLS communication with APM Server [ssl-setup]
-If [SSL/TLS communication](docs-content://solutions/observability/apps/apm-agent-tls-communication.md) is enabled on the APM Server, make sure to check out the [SSL setup guide](/reference/ssl-configuration.md).
+If [SSL/TLS communication](docs-content://solutions/observability/apm/apm-agent-tls-communication.md) is enabled on the APM Server, make sure to check out the [SSL setup guide](/reference/ssl-configuration.md).
## Monitoring AWS Lambda Functions (Experimental) [aws-lambda-setup]
diff --git a/docs/reference/ssl-configuration.md b/docs/reference/ssl-configuration.md
index f4bf7497ce..b75cecd0dc 100644
--- a/docs/reference/ssl-configuration.md
+++ b/docs/reference/ssl-configuration.md
@@ -5,7 +5,7 @@ mapped_pages:
# SSL/TLS communication with APM Server [ssl-configuration]
-If [SSL/TLS communication](docs-content://solutions/observability/apps/apm-agent-tls-communication.md) is enabled on the APM Server, use the `https` protocol when configuring [`server_url`](/reference/config-reporter.md#config-server-url).
+If [SSL/TLS communication](docs-content://solutions/observability/apm/apm-agent-tls-communication.md) is enabled on the APM Server, use the `https` protocol when configuring [`server_url`](/reference/config-reporter.md#config-server-url).
## APM Server certificate authentication [ssl-server-authentication]
@@ -17,7 +17,7 @@ If the certificate used by the APM Server is self-signed, you would need to add
## Agent certificate authentication [ssl-client-authentication]
-If [SSL client authentication](docs-content://solutions/observability/apps/apm-agent-tls-communication.md#apm-agent-client-cert) is enabled on the APM server, the agent will be required to send a proper certificate as part of the HTTPS handshake. There is currently no configuration on the Java agent that supports that and no one straightforward option to do that that is suitable for all cases. Generally speaking, the agent will send a certificate from the JVM keystore. So, if your JVM does not use a keystore already, add the certificate file and the corresponding private key into a keystore and configure your JVM to use it:
+If [SSL client authentication](docs-content://solutions/observability/apm/apm-agent-tls-communication.md#apm-agent-client-cert) is enabled on the APM server, the agent will be required to send a proper certificate as part of the HTTPS handshake. There is currently no configuration on the Java agent that supports that and no one straightforward option to do that that is suitable for all cases. Generally speaking, the agent will send a certificate from the JVM keystore. So, if your JVM does not use a keystore already, add the certificate file and the corresponding private key into a keystore and configure your JVM to use it:
```
-Djavax.net.ssl.keyStore=keystore.p12
diff --git a/docs/reference/upgrading.md b/docs/reference/upgrading.md
index dda3b505ae..589ec4a9e5 100644
--- a/docs/reference/upgrading.md
+++ b/docs/reference/upgrading.md
@@ -10,7 +10,7 @@ Upgrades between minor versions of the agent, like from 1.1 to 1.2 are always ba
Before upgrading the agent, be sure to review the:
* [Agent release notes](/release-notes/index.md)
-* [Agent and Server compatibility chart](docs-content://solutions/observability/apps/apm-agent-compatibility.md)
+* [Agent and Server compatibility chart](docs-content://solutions/observability/apm/apm-agent-compatibility.md)
## Recommended upgrade steps [upgrade-steps]