+++++
+
:role: Admin
:goal: send APM data to Elastic
-include::../partials/roles.asciidoc[]
+include::../../partials/roles.asciidoc[]
:role!:
:goal!:
@@ -61,49 +65,49 @@ your project:
++++
-include::../transclusion/apm/guide/install-agents/go.asciidoc[]
+include::../../transclusion/apm/guide/install-agents/go.asciidoc[]
++++
++++
-include::../transclusion/apm/guide/install-agents/java.asciidoc[]
+include::../../transclusion/apm/guide/install-agents/java.asciidoc[]
++++
++++
-include::../transclusion/apm/guide/install-agents/net.asciidoc[]
+include::../../transclusion/apm/guide/install-agents/net.asciidoc[]
++++
++++
-include::../transclusion/apm/guide/install-agents/node.asciidoc[]
+include::../../transclusion/apm/guide/install-agents/node.asciidoc[]
++++
++++
-include::../transclusion/apm/guide/install-agents/php.asciidoc[]
+include::../../transclusion/apm/guide/install-agents/php.asciidoc[]
++++
++++
-include::../transclusion/apm/guide/install-agents/python.asciidoc[]
+include::../../transclusion/apm/guide/install-agents/python.asciidoc[]
++++
++++
-include::../transclusion/apm/guide/install-agents/ruby.asciidoc[]
+include::../../transclusion/apm/guide/install-agents/ruby.asciidoc[]
++++
++++
-include::../transclusion/apm/guide/open-telemetry/otel-get-started.asciidoc[]
+include::../../transclusion/apm/guide/open-telemetry/otel-get-started.asciidoc[]
++++
diff --git a/docs/en/serverless/apm/images/spans-transactions-and-traces.png b/docs/en/serverless/apm/images/spans-transactions-and-traces.png
new file mode 100644
index 0000000000..06badc4454
Binary files /dev/null and b/docs/en/serverless/apm/images/spans-transactions-and-traces.png differ
diff --git a/docs/en/serverless/apm/manage-storage/index.asciidoc b/docs/en/serverless/apm/manage-storage/index.asciidoc
new file mode 100644
index 0000000000..ccc12261af
--- /dev/null
+++ b/docs/en/serverless/apm/manage-storage/index.asciidoc
@@ -0,0 +1,36 @@
+[[observability-apm-reduce-your-data-usage]]
+= Reduce storage
+
+The richness and volume of APM data provides unique insights into your applications, but it can
+also mean higher costs and more noise when analyzing data. There are a couple strategies you can
+use to reduce your data usage while continuing to get the full value of APM data.
+
+[discrete]
+[[observability-apm-reduce-sample-rate]]
+== Reduce the sample rate
+
+Distributed tracing can generate a substantial amount of data.
+More data can mean higher costs and more noise.
+Sampling aims to lower the amount of data ingested and the effort required to analyze that data.
+
+See <> to learn more.
+
+[discrete]
+== Enable span compression
+
+In some cases, APM agents may collect large amounts of very similar or identical spans in a transaction.
+These repeated, similar spans often don't provide added benefit, especially if they are of very short duration.
+Span compression takes these similar spans and compresses them into a single span--
+retaining important information but reducing processing and storage overhead.
+
+See <> to learn more.
+
+[discrete]
+[[observability-apm-reduce-stacktrace]]
+== Reduce collected stack trace information
+
+Elastic APM agents collect `stacktrace` information under certain circumstances. This can be very helpful in identifying issues in your code, but it also comes with an overhead at collection time and increases your storage usage.
+
+Stack trace collection settings are managed in each APM agent. You can enable and disable this feature, or set specific configuration limits, like the maximum number of stacktrace frames to collect, or the minimum duration of a stacktrace to collect.
+
+See the relevant {apm-agents-ref}/index.html[{apm-agent} documentation] to learn how to customize stacktrace collection.
\ No newline at end of file
diff --git a/docs/en/serverless/apm/apm-keep-data-secure.asciidoc b/docs/en/serverless/apm/security/index.asciidoc
similarity index 98%
rename from docs/en/serverless/apm/apm-keep-data-secure.asciidoc
rename to docs/en/serverless/apm/security/index.asciidoc
index 75fbb84b15..6953c4f835 100644
--- a/docs/en/serverless/apm/apm-keep-data-secure.asciidoc
+++ b/docs/en/serverless/apm/security/index.asciidoc
@@ -1,12 +1,12 @@
[[observability-apm-keep-data-secure]]
-= Keep APM data secure
+= Use APM securely
// :description: Make sure APM data is sent to Elastic securely and sensitive data is protected.
// :keywords: serverless, observability, overview
:role: Editor
:goal: create and manage API keys
-include::../partials/roles.asciidoc[]
+include::../../partials/roles.asciidoc[]
:role!:
:goal!:
diff --git a/docs/en/serverless/apm/troubleshooting/index.asciidoc b/docs/en/serverless/apm/troubleshooting/index.asciidoc
new file mode 100644
index 0000000000..8253eca808
--- /dev/null
+++ b/docs/en/serverless/apm/troubleshooting/index.asciidoc
@@ -0,0 +1,81 @@
+[[observability-apm-troubleshooting]]
+= Troubleshooting
+
+// :keywords: serverless, observability, reference
+
+This section provides solutions to common questions and problems.
+
+[discrete]
+[[observability-apm-troubleshooting-common-problems]]
+== Common problems
+
+[discrete]
+[[field-limit-exceeded-legacy]]
+=== Field limit exceeded
+
+When adding too many distinct tag keys on a transaction or span,
+you risk creating a {ref}/mapping.html#mapping-limit-settings[mapping explosion].
+
+For example, you should avoid that user-specified data,
+like URL parameters, is used as a tag key.
+Likewise, using the current timestamp or a user ID as a tag key is not a good idea.
+However, tag **values** with a high cardinality are not a problem.
+Just try to keep the number of distinct tag keys at a minimum.
+
+The symptom of a mapping explosion is that transactions and spans are not indexed anymore after a certain time. Usually, on the next day,
+the spans and transactions will be indexed again because a new index is created each day.
+But as soon as the field limit is reached, indexing stops again.
+
+[discrete]
+[[observability-apm-troubleshooting-common-response-codes]]
+== Common response codes
+
+[discrete]
+[[bad-request]]
+=== HTTP 400: Data decoding error / Data validation error
+
+The most likely cause for this error is using an incompatible version of an {apm-agent}.
+See <> to verify compatibility.
+
+[discrete]
+[[event-too-large]]
+=== HTTP 400: Event too large
+
+APM agents communicate with the Managed intake service by sending events in an HTTP request. Each event is sent as its own line in the HTTP request body. If events are too large, you can reduce the size of the events that your APM agents send by: <> or <>.
+
+[discrete]
+[[unauthorized]]
+=== HTTP 401: Invalid token
+
+The API key is invalid.
+
+[discrete]
+[[observability-apm-troubleshooting-related-troubleshooting-resources]]
+== Related troubleshooting resources
+
+For additional help with other APM components, see the links below.
+{agent} and each {apm-agent} has its own troubleshooting guide:
+
+* {fleet-guide}/troubleshooting-intro.html[{fleet} and {agent} troubleshooting]
+* {apm-dotnet-ref}/troubleshooting.html[.NET agent troubleshooting]
+* {apm-go-ref}/troubleshooting.html[Go agent troubleshooting]
+* {apm-java-ref}/trouble-shooting.html[Java agent troubleshooting]
+* {apm-node-ref}/troubleshooting.html[Node.js agent troubleshooting]
+* {apm-php-ref}/troubleshooting.html[PHP agent troubleshooting]
+* {apm-py-ref}/troubleshooting.html[Python agent troubleshooting]
+* {apm-ruby-ref}/debugging.html[Ruby agent troubleshooting]
+
+[discrete]
+[[observability-apm-troubleshooting-elastic-support]]
+== Elastic Support
+
+We offer a support experience unlike any other.
+Our team of professionals 'speak human and code' and love making your day.
+https://www.elastic.co/subscriptions[Learn more about subscriptions].
+
+////
+/* ### Discussion forum
+
+For additional questions and feature requests,
+visit our [discussion forum](https://discuss.elastic.co/c/apm). */
+////
diff --git a/docs/en/serverless/apm/apm-ui-errors.asciidoc b/docs/en/serverless/apm/view-and-analyze/drill-down/errors.asciidoc
similarity index 100%
rename from docs/en/serverless/apm/apm-ui-errors.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/drill-down/errors.asciidoc
diff --git a/docs/en/serverless/apm/view-and-analyze/drill-down/index.asciidoc b/docs/en/serverless/apm/view-and-analyze/drill-down/index.asciidoc
new file mode 100644
index 0000000000..ee84015c8a
--- /dev/null
+++ b/docs/en/serverless/apm/view-and-analyze/drill-down/index.asciidoc
@@ -0,0 +1,26 @@
+[[observability-apm-ui-drill-down]]
+= Drill down into application data
+
+++++
+Drill down into data
+++++
+
+Notice something awry? Select a service or trace and dive deeper with:
+
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+
+/////////////////
+// Subsections //
+/////////////////
+include::./transactions.asciidoc[leveloffset=+1]
+include::./spans.asciidoc[leveloffset=+1]
+include::./errors.asciidoc[leveloffset=+1]
+include::./metrics.asciidoc[leveloffset=+1]
+include::./infrastructure.asciidoc[leveloffset=+1]
+include::./logs.asciidoc[leveloffset=+1]
+
diff --git a/docs/en/serverless/apm/apm-ui-infrastructure.asciidoc b/docs/en/serverless/apm/view-and-analyze/drill-down/infrastructure.asciidoc
similarity index 93%
rename from docs/en/serverless/apm/apm-ui-infrastructure.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/drill-down/infrastructure.asciidoc
index 0111662b16..e1fcfa23eb 100644
--- a/docs/en/serverless/apm/apm-ui-infrastructure.asciidoc
+++ b/docs/en/serverless/apm/view-and-analyze/drill-down/infrastructure.asciidoc
@@ -4,7 +4,7 @@
// :keywords: serverless, observability, reference
:feature: Applications UI Infrastructure
-include::../partials/feature-beta.asciidoc[]
+include::../../../partials/feature-beta.asciidoc[]
:feature!:
The **Infrastructure** tab provides information about the containers, pods, and hosts
diff --git a/docs/en/serverless/apm/apm-ui-logs.asciidoc b/docs/en/serverless/apm/view-and-analyze/drill-down/logs.asciidoc
similarity index 83%
rename from docs/en/serverless/apm/apm-ui-logs.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/drill-down/logs.asciidoc
index be8bb597f1..b767217b07 100644
--- a/docs/en/serverless/apm/apm-ui-logs.asciidoc
+++ b/docs/en/serverless/apm/view-and-analyze/drill-down/logs.asciidoc
@@ -5,7 +5,7 @@
The **Logs** tab shows contextual logs for the selected service.
-include::../transclusion/kibana/logs/log-overview.asciidoc[]
+include::../../../transclusion/kibana/logs/log-overview.asciidoc[]
[role="screenshot"]
image::images/logs/logs.png[Example view of the Logs tab in the Applications UI]
diff --git a/docs/en/serverless/apm/apm-ui-metrics.asciidoc b/docs/en/serverless/apm/view-and-analyze/drill-down/metrics.asciidoc
similarity index 100%
rename from docs/en/serverless/apm/apm-ui-metrics.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/drill-down/metrics.asciidoc
diff --git a/docs/en/serverless/apm/apm-ui-trace-sample-timeline.asciidoc b/docs/en/serverless/apm/view-and-analyze/drill-down/spans.asciidoc
similarity index 100%
rename from docs/en/serverless/apm/apm-ui-trace-sample-timeline.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/drill-down/spans.asciidoc
diff --git a/docs/en/serverless/apm/apm-ui-transactions.asciidoc b/docs/en/serverless/apm/view-and-analyze/drill-down/transactions.asciidoc
similarity index 99%
rename from docs/en/serverless/apm/apm-ui-transactions.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/drill-down/transactions.asciidoc
index 690eca5aeb..325a0fb6b6 100644
--- a/docs/en/serverless/apm/apm-ui-transactions.asciidoc
+++ b/docs/en/serverless/apm/view-and-analyze/drill-down/transactions.asciidoc
@@ -156,7 +156,7 @@ This means you can select "Actions - View transaction in Discover" to see the ac
The **Logs** tab displays logs related to the sampled trace.
-include::../transclusion/kibana/logs/log-overview.asciidoc[]
+include::../../../transclusion/kibana/logs/log-overview.asciidoc[]
[role="screenshot"]
image::images/transactions/apm-logs-tab.png[APM logs tab]
diff --git a/docs/en/serverless/apm/apm-query-your-data.asciidoc b/docs/en/serverless/apm/view-and-analyze/filter-and-search/advanced-queries.asciidoc
similarity index 97%
rename from docs/en/serverless/apm/apm-query-your-data.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/filter-and-search/advanced-queries.asciidoc
index 9d6081f3c7..662066152a 100644
--- a/docs/en/serverless/apm/apm-query-your-data.asciidoc
+++ b/docs/en/serverless/apm/view-and-analyze/filter-and-search/advanced-queries.asciidoc
@@ -1,8 +1,12 @@
[[observability-apm-query-your-data]]
-= Query your data
+= Use advanced queries on your application data
// :keywords: serverless, observability, how-to
+++++
+Advanced queries
+++++
+
Querying your APM data is an essential tool that can make finding bottlenecks in your code even more straightforward.
Using the query bar, a powerful data query feature, you can pass advanced queries on your data
diff --git a/docs/en/serverless/apm/apm-filter-your-data.asciidoc b/docs/en/serverless/apm/view-and-analyze/filter-and-search/filters.asciidoc
similarity index 96%
rename from docs/en/serverless/apm/apm-filter-your-data.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/filter-and-search/filters.asciidoc
index 5ddfd1f200..ef53bc385f 100644
--- a/docs/en/serverless/apm/apm-filter-your-data.asciidoc
+++ b/docs/en/serverless/apm/view-and-analyze/filter-and-search/filters.asciidoc
@@ -1,8 +1,12 @@
[[observability-apm-filter-your-data]]
-= Filter your data
+= Filter application data
// :keywords: serverless, observability, how-to
+++++
+Filters
+++++
+
Global filters are ways you can filter your APM data based on a specific
time range or environment. When viewing a specific service, the filter persists
as you move between tabs.
diff --git a/docs/en/serverless/apm/view-and-analyze/filter-and-search/index.asciidoc b/docs/en/serverless/apm/view-and-analyze/filter-and-search/index.asciidoc
new file mode 100644
index 0000000000..d9183db839
--- /dev/null
+++ b/docs/en/serverless/apm/view-and-analyze/filter-and-search/index.asciidoc
@@ -0,0 +1,19 @@
+[[observability-apm-filter-and-search-data]]
+= Filter and search application data
+
+++++
+Filter and search data
+++++
+
+Because Elastic APM is built on top of the {stack}, you have the full power of Elastic's powerful
+search capabilities to filter and search through your application data. Mastering how to filter and
+search your data can help you find bottlenecks in your code faster:
+
+* Use global filters to <> across the Applications UI based on a specific time range or environment.
+* Use <> on your data to filter on specific pieces of information.
+
+/////////////////
+// Subsections //
+/////////////////
+include::./filters.asciidoc[leveloffset=+1]
+include::./advanced-queries.asciidoc[leveloffset=+1]
diff --git a/docs/en/serverless/apm/view-and-analyze/index.asciidoc b/docs/en/serverless/apm/view-and-analyze/index.asciidoc
new file mode 100644
index 0000000000..8f1d5788fe
--- /dev/null
+++ b/docs/en/serverless/apm/view-and-analyze/index.asciidoc
@@ -0,0 +1,41 @@
+[[observability-apm-view-and-analyze-traces]]
+= View and analyze data
+
+After you've started <>,
+you can open the Applications UI to view your data in a variety of visualizations and
+start analyzing data.
+
+The Applications UI allows you to monitor your software services and applications in real-time.
+You can visualize detailed performance information on your services,
+identify and analyze errors,
+and monitor host-level and APM agent-specific metrics like JVM and Go runtime metrics.
+
+Having access to application-level insights with just a few clicks can drastically decrease the time you spend
+debugging errors, slow response times, and crashes.
+
+For example, you can see information about response times, requests per minute, and status codes per endpoint.
+You can even dive into a specific request sample and get a complete waterfall view of what your application is spending its time on.
+You might see that your bottlenecks are in database queries, cache calls, or external requests.
+For each incoming request and each application error,
+you can also see contextual information such as the request header, user information,
+system values, or custom data that you manually attached to the request.
+
+To get started with the Applications UI:
+
+* Start with quick, high-level <> that show you the overall health and performance of
+ your application.
+* <> for specific services or traces to get additional insight into
+ your application.
+* Learn how to get the most out of your data by mastering how to <>,
+ getting tips on <>, and taking advantage of
+ <>.
+
+/////////////////
+// Subsections //
+/////////////////
+include::./ui-overview/index.asciidoc[leveloffset=+1]
+include::./drill-down/index.asciidoc[leveloffset=+1]
+include::./filter-and-search/index.asciidoc[leveloffset=+1]
+include::./interpret/index.asciidoc[leveloffset=+1]
+include::./machine-learning.asciidoc[leveloffset=+1]
+include::./settings.asciidoc[leveloffset=+1]
\ No newline at end of file
diff --git a/docs/en/serverless/apm/apm-find-transaction-latency-and-failure-correlations.asciidoc b/docs/en/serverless/apm/view-and-analyze/interpret/correlations.asciidoc
similarity index 100%
rename from docs/en/serverless/apm/apm-find-transaction-latency-and-failure-correlations.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/interpret/correlations.asciidoc
diff --git a/docs/en/serverless/apm/apm-track-deployments-with-annotations.asciidoc b/docs/en/serverless/apm/view-and-analyze/interpret/deployment-annotations.asciidoc
similarity index 97%
rename from docs/en/serverless/apm/apm-track-deployments-with-annotations.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/interpret/deployment-annotations.asciidoc
index 907abb245d..540a83a643 100644
--- a/docs/en/serverless/apm/apm-track-deployments-with-annotations.asciidoc
+++ b/docs/en/serverless/apm/view-and-analyze/interpret/deployment-annotations.asciidoc
@@ -5,7 +5,7 @@
:role: Admin
:goal: create and manage annotations
-include::../partials/roles.asciidoc[]
+include::../../../partials/roles.asciidoc[]
:role!:
:goal!:
diff --git a/docs/en/serverless/apm/view-and-analyze/interpret/index.asciidoc b/docs/en/serverless/apm/view-and-analyze/interpret/index.asciidoc
new file mode 100644
index 0000000000..dc7ce39aaa
--- /dev/null
+++ b/docs/en/serverless/apm/view-and-analyze/interpret/index.asciidoc
@@ -0,0 +1,28 @@
+[[observability-apm-interpret-data]]
+= Interpret application data
+
+++++
+Interpret data
+++++
+
+Learn how to get the most out of your data using the Applications UI.
+
+[cols="1,1"]
+|===
+| <>
+| Surface characteristics of your data that are potentially correlated with high-latency or erroneous transactions.
+
+| <>
+| Annotations enable you to easily determine if your deployment has increased response times for an end-user or if the memory/CPU footprint of your application has changed.
+
+| <>
+| Learn how your AWS Lambda functions relate to and depend on other services, and get insight into function execution and runtime behavior, like lambda duration, cold start rate, cold start duration, compute usage, memory usage, and more.
+
+|===
+
+/////////////////
+// Subsections //
+/////////////////
+include::./correlations.asciidoc[leveloffset=+1]
+include::./deployment-annotations.asciidoc[leveloffset=+1]
+include::./lambda.asciidoc[leveloffset=+1]
diff --git a/docs/en/serverless/apm/apm-observe-lambda-functions.asciidoc b/docs/en/serverless/apm/view-and-analyze/interpret/lambda.asciidoc
similarity index 100%
rename from docs/en/serverless/apm/apm-observe-lambda-functions.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/interpret/lambda.asciidoc
diff --git a/docs/en/serverless/apm/apm-integrate-with-machine-learning.asciidoc b/docs/en/serverless/apm/view-and-analyze/machine-learning.asciidoc
similarity index 100%
rename from docs/en/serverless/apm/apm-integrate-with-machine-learning.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/machine-learning.asciidoc
diff --git a/docs/en/serverless/apm/apm-kibana-settings.asciidoc b/docs/en/serverless/apm/view-and-analyze/settings.asciidoc
similarity index 96%
rename from docs/en/serverless/apm/apm-kibana-settings.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/settings.asciidoc
index 61b13c0e0b..51ef7776ab 100644
--- a/docs/en/serverless/apm/apm-kibana-settings.asciidoc
+++ b/docs/en/serverless/apm/view-and-analyze/settings.asciidoc
@@ -1,11 +1,15 @@
[[observability-apm-kibana-settings]]
-= Settings
+= Applications UI settings
// :keywords: serverless, observability, reference
+++++
+Settings
+++++
+
:role: Editor
:goal: modify settings
-include::../partials/roles.asciidoc[]
+include::../../partials/roles.asciidoc[]
:role!:
:goal!:
diff --git a/docs/en/serverless/apm/apm-ui-dependencies.asciidoc b/docs/en/serverless/apm/view-and-analyze/ui-overview/dependencies.asciidoc
similarity index 98%
rename from docs/en/serverless/apm/apm-ui-dependencies.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/ui-overview/dependencies.asciidoc
index df5ed22044..c2eb7b410c 100644
--- a/docs/en/serverless/apm/apm-ui-dependencies.asciidoc
+++ b/docs/en/serverless/apm/view-and-analyze/ui-overview/dependencies.asciidoc
@@ -37,7 +37,7 @@ impacted services to determine why that pattern change has occurred.
== Operations
:feature: Dependency operations
-include::../partials/feature-beta.asciidoc[]
+include::../../../partials/feature-beta.asciidoc[]
:feature!:
**Dependency operations** provides a granular breakdown of the operations/queries a dependency is executing.
diff --git a/docs/en/serverless/apm/apm-ui-overview.asciidoc b/docs/en/serverless/apm/view-and-analyze/ui-overview/index.asciidoc
similarity index 55%
rename from docs/en/serverless/apm/apm-ui-overview.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/ui-overview/index.asciidoc
index 4fba1337dd..d4bfcb3f72 100644
--- a/docs/en/serverless/apm/apm-ui-overview.asciidoc
+++ b/docs/en/serverless/apm/view-and-analyze/ui-overview/index.asciidoc
@@ -1,5 +1,5 @@
[[observability-apm-ui-overview]]
-= Navigate the Applications UI
+= Overviews
// :description: Learn how to navigate the Applications UI.
// :keywords: serverless, observability, reference
@@ -11,13 +11,13 @@ start with:
* <>
* <>
* <>
-
-Notice something awry? Select a service or trace and dive deeper with:
-
* <>
-* <>
-* <>
-* <>
-* <>
-* <>
-* <>
+
+/////////////////
+// Subsections //
+/////////////////
+include::./services.asciidoc[leveloffset=+1]
+include::./traces.asciidoc[leveloffset=+1]
+include::./dependencies.asciidoc[leveloffset=+1]
+include::./service-map.asciidoc[leveloffset=+1]
+include::./service-overview.asciidoc[leveloffset=+1]
diff --git a/docs/en/serverless/apm/apm-ui-service-map.asciidoc b/docs/en/serverless/apm/view-and-analyze/ui-overview/service-map.asciidoc
similarity index 100%
rename from docs/en/serverless/apm/apm-ui-service-map.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/ui-overview/service-map.asciidoc
diff --git a/docs/en/serverless/apm/apm-ui-service-overview.asciidoc b/docs/en/serverless/apm/view-and-analyze/ui-overview/service-overview.asciidoc
similarity index 95%
rename from docs/en/serverless/apm/apm-ui-service-overview.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/ui-overview/service-overview.asciidoc
index d729346df1..dfe540b74f 100644
--- a/docs/en/serverless/apm/apm-ui-service-overview.asciidoc
+++ b/docs/en/serverless/apm/view-and-analyze/ui-overview/service-overview.asciidoc
@@ -59,13 +59,13 @@ image::images/services/latency.png[Service latency]
[[observability-apm-service-overview-throughput-and-transactions]]
== Throughput and transactions
-include::../transclusion/kibana/apm/service-overview/throughput-transactions.asciidoc[]
+include::../../../transclusion/kibana/apm/service-overview/throughput-transactions.asciidoc[]
[discrete]
[[observability-apm-service-overview-failed-transaction-rate-and-errors]]
== Failed transaction rate and errors
-include::../transclusion/kibana/apm/service-overview/ftr.asciidoc[]
+include::../../../transclusion/kibana/apm/service-overview/ftr.asciidoc[]
The **Errors** table provides a high-level view of each error message when it first and last occurred,
along with the total number of occurrences. This makes it very easy to quickly see which errors affect
@@ -84,7 +84,7 @@ chart indicates that something was happening within the application. This could
agent does not have auto-instrumentation for whatever was happening during that time or that the time was spent in the
application code and not in database or external requests.
-include::../transclusion/kibana/apm/service-overview/dependencies.asciidoc[]
+include::../../../transclusion/kibana/apm/service-overview/dependencies.asciidoc[]
[discrete]
[[observability-apm-service-overview-cold-start-rate]]
diff --git a/docs/en/serverless/apm/apm-ui-services.asciidoc b/docs/en/serverless/apm/view-and-analyze/ui-overview/services.asciidoc
similarity index 96%
rename from docs/en/serverless/apm/apm-ui-services.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/ui-overview/services.asciidoc
index 9644d526ee..fb47df6ede 100644
--- a/docs/en/serverless/apm/apm-ui-services.asciidoc
+++ b/docs/en/serverless/apm/view-and-analyze/ui-overview/services.asciidoc
@@ -22,13 +22,13 @@ image::images/services/apm-services-overview.png[Example view of services table
:role: Editor
:goal: create and manage service groups
-include::../partials/roles.asciidoc[]
+include::../../../partials/roles.asciidoc[]
:role!:
:goal!:
:feature: Service grouping
-include::../partials/feature-beta.asciidoc[]
+include::../../../partials/feature-beta.asciidoc[]
:feature!:
Group services together to build meaningful views that remove noise, simplify investigations across services,
diff --git a/docs/en/serverless/apm/apm-ui-traces.asciidoc b/docs/en/serverless/apm/view-and-analyze/ui-overview/traces.asciidoc
similarity index 100%
rename from docs/en/serverless/apm/apm-ui-traces.asciidoc
rename to docs/en/serverless/apm/view-and-analyze/ui-overview/traces.asciidoc
diff --git a/docs/en/serverless/index.asciidoc b/docs/en/serverless/index.asciidoc
index d0b4724ad6..8b95e94f49 100644
--- a/docs/en/serverless/index.asciidoc
+++ b/docs/en/serverless/index.asciidoc
@@ -36,46 +36,6 @@ include::./application-and-service-monitoring.asciidoc[leveloffset=+2]
// APM
include::./apm/apm.asciidoc[leveloffset=+3]
-include::./apm/apm-get-started.asciidoc[leveloffset=+4]
-include::./apm/apm-send-traces-to-elastic.asciidoc[leveloffset=+4]
-include::./apm-agents/apm-agents-elastic-apm-agents.asciidoc[leveloffset=+5]
-include::./apm-agents/apm-agents-opentelemetry.asciidoc[leveloffset=+5]
-include::./apm-agents/apm-agents-opentelemetry-opentelemetry-native-support.asciidoc[leveloffset=+6]
-include::./apm-agents/apm-agents-opentelemetry-collect-metrics.asciidoc[leveloffset=+6]
-include::./apm-agents/apm-agents-opentelemetry-limitations.asciidoc[leveloffset=+6]
-include::./apm-agents/apm-agents-opentelemetry-resource-attributes.asciidoc[leveloffset=+6]
-include::./apm-agents/apm-agents-aws-lambda-functions.asciidoc[leveloffset=+5]
-include::./apm/apm-view-and-analyze-traces.asciidoc[leveloffset=+4]
-include::./apm/apm-find-transaction-latency-and-failure-correlations.asciidoc[leveloffset=+5]
-include::./apm/apm-integrate-with-machine-learning.asciidoc[leveloffset=+5]
-include::./apm/apm-create-custom-links.asciidoc[leveloffset=+5]
-include::./apm/apm-track-deployments-with-annotations.asciidoc[leveloffset=+5]
-include::./apm/apm-query-your-data.asciidoc[leveloffset=+5]
-include::./apm/apm-filter-your-data.asciidoc[leveloffset=+5]
-include::./apm/apm-observe-lambda-functions.asciidoc[leveloffset=+5]
-include::./apm/apm-ui-overview.asciidoc[leveloffset=+5]
-include::./apm/apm-ui-services.asciidoc[leveloffset=+6]
-include::./apm/apm-ui-traces.asciidoc[leveloffset=+6]
-include::./apm/apm-ui-dependencies.asciidoc[leveloffset=+6]
-include::./apm/apm-ui-service-map.asciidoc[leveloffset=+6]
-include::./apm/apm-ui-service-overview.asciidoc[leveloffset=+6]
-include::./apm/apm-ui-transactions.asciidoc[leveloffset=+6]
-include::./apm/apm-ui-trace-sample-timeline.asciidoc[leveloffset=+6]
-include::./apm/apm-ui-errors.asciidoc[leveloffset=+6]
-include::./apm/apm-ui-metrics.asciidoc[leveloffset=+6]
-include::./apm/apm-ui-infrastructure.asciidoc[leveloffset=+6]
-include::./apm/apm-ui-logs.asciidoc[leveloffset=+6]
-include::./apm/apm-data-types.asciidoc[leveloffset=+4]
-include::./apm/apm-distributed-tracing.asciidoc[leveloffset=+4]
-include::./apm/apm-reduce-your-data-usage.asciidoc[leveloffset=+4]
-include::./apm/apm-transaction-sampling.asciidoc[leveloffset=+5]
-include::./apm/apm-compress-spans.asciidoc[leveloffset=+5]
-include::./apm/apm-stacktrace-collection.asciidoc[leveloffset=+5]
-include::./apm/apm-keep-data-secure.asciidoc[leveloffset=+4]
-include::./apm/apm-troubleshooting.asciidoc[leveloffset=+4]
-include::./apm/apm-reference.asciidoc[leveloffset=+4]
-include::./apm/apm-kibana-settings.asciidoc[leveloffset=+5]
-include::./apm/apm-server-api.asciidoc[leveloffset=+5]
// Synthetics
include::./synthetics/synthetics-intro.asciidoc[leveloffset=+3]
diff --git a/docs/en/serverless/infra-monitoring/analyze-hosts.asciidoc b/docs/en/serverless/infra-monitoring/analyze-hosts.asciidoc
index efa194b710..d23458d7c2 100644
--- a/docs/en/serverless/infra-monitoring/analyze-hosts.asciidoc
+++ b/docs/en/serverless/infra-monitoring/analyze-hosts.asciidoc
@@ -315,4 +315,4 @@ Instead, the host name might be the container name or the Kubernetes pod name.
// How to fix it
To get the correct host name, you need to set some additional configuration options,
-specifically `system.kubernetes.node.name` as described in <>.
+specifically `system.kubernetes.node.name` as described in <>.
diff --git a/docs/en/serverless/redirects.asciidoc b/docs/en/serverless/redirects.asciidoc
index 8c9bffd8b7..d5abbf6f49 100644
--- a/docs/en/serverless/redirects.asciidoc
+++ b/docs/en/serverless/redirects.asciidoc
@@ -12,3 +12,16 @@ Refer to <>.
=== AIOps
Refer to <>.
+
+[role="exclude",id="observability-apm-stacktrace-collection"]
+=== Stacktrace collection
+
+// :description: Reduce data storage and costs by reducing stacktrace collection
+// :keywords: serverless, observability, how-to
+
+Refer to <>.
+
+[role="exclude",id="observability-apm-reference"]
+=== Reference
+
+Refer to <>.