diff --git a/docs/en/serverless/apm/act-on-data/alerts.asciidoc b/docs/en/serverless/apm/act-on-data/alerts.asciidoc new file mode 100644 index 0000000000..8d500d24aa --- /dev/null +++ b/docs/en/serverless/apm/act-on-data/alerts.asciidoc @@ -0,0 +1,42 @@ +[[observability-apm-alerts]] += Create APM rules and alerts + +++++ +Create rules and alerts +++++ + +The Applications UI allows you to define *rules* to detect complex conditions within your APM data +and trigger built-in *actions* when those conditions are met. + +[discrete] +== APM rules + +The following APM rules are supported: + +[cols="1,1"] +|=== +| *APM Anomaly* +a| Alert when either the latency, throughput, or failed transaction rate of a service is anomalous. +Anomaly rules can be set at the environment level, service level, and/or transaction type level. + +Read more in <> + +| *Error count threshold* +a| Alert when the number of errors in a service exceeds a defined threshold. Error count rules can be set at the +environment level, service level, and error group level. + +Read more in <> + +| *Failed transaction rate threshold* +a| Alert when the rate of transaction errors in a service exceeds a defined threshold. + +Read more in <> + +| *Latency threshold* +a| Alert when the latency or failed transaction rate is abnormal. +Threshold rules can be as broad or as granular as you'd like, enabling you to define exactly when you want to be alerted--whether that's at the environment level, service name level, transaction type level, and/or transaction name level. + +Read more in <> + +|=== + diff --git a/docs/en/serverless/apm/apm-create-custom-links.asciidoc b/docs/en/serverless/apm/act-on-data/custom-links.asciidoc similarity index 99% rename from docs/en/serverless/apm/apm-create-custom-links.asciidoc rename to docs/en/serverless/apm/act-on-data/custom-links.asciidoc index 61398f59c0..7301ef53e5 100644 --- a/docs/en/serverless/apm/apm-create-custom-links.asciidoc +++ b/docs/en/serverless/apm/act-on-data/custom-links.asciidoc @@ -5,7 +5,7 @@ :role: Editor :goal: create and manage custom links -include::../partials/roles.asciidoc[] +include::../../partials/roles.asciidoc[] :role!: :goal!: diff --git a/docs/en/serverless/apm/act-on-data/index.asciidoc b/docs/en/serverless/apm/act-on-data/index.asciidoc new file mode 100644 index 0000000000..a0d60133a9 --- /dev/null +++ b/docs/en/serverless/apm/act-on-data/index.asciidoc @@ -0,0 +1,28 @@ +[[observability-apm-act-on-data]] += Act on application data + +++++ +Act on data +++++ + +In addition to exploring visualizations in the Applications UI, you can make your application data more actionable with: + +[cols="1,1"] +|=== +| <> +| The Applications UI allows you to define rules to detect complex + conditions within your APM data and trigger built-in actions when those conditions are met. + +| <> +| Build URLs that contain relevant metadata from a specific trace. + For example, you can create a link that will take you to a page where you can open a new GitHub issue + with context already auto-populated in the issue body. + These links will be shown in the _Actions_ context menu in selected areas of the Applications UI (for example, by transaction details). +|=== + + +///////////////// +// Subsections // +///////////////// +include::./alerts.asciidoc[leveloffset=+1] +include::./custom-links.asciidoc[leveloffset=+1] diff --git a/docs/en/serverless/apm/apm-server-api/api-error.asciidoc b/docs/en/serverless/apm/api/api-error.asciidoc similarity index 100% rename from docs/en/serverless/apm/apm-server-api/api-error.asciidoc rename to docs/en/serverless/apm/api/api-error.asciidoc diff --git a/docs/en/serverless/apm/apm-server-api/api-events.asciidoc b/docs/en/serverless/apm/api/api-events.asciidoc similarity index 100% rename from docs/en/serverless/apm/apm-server-api/api-events.asciidoc rename to docs/en/serverless/apm/api/api-events.asciidoc diff --git a/docs/en/serverless/apm/apm-server-api/api-info.asciidoc b/docs/en/serverless/apm/api/api-info.asciidoc similarity index 100% rename from docs/en/serverless/apm/apm-server-api/api-info.asciidoc rename to docs/en/serverless/apm/api/api-info.asciidoc diff --git a/docs/en/serverless/apm/apm-server-api/api-metadata.asciidoc b/docs/en/serverless/apm/api/api-metadata.asciidoc similarity index 100% rename from docs/en/serverless/apm/apm-server-api/api-metadata.asciidoc rename to docs/en/serverless/apm/api/api-metadata.asciidoc diff --git a/docs/en/serverless/apm/apm-server-api/api-metricset.asciidoc b/docs/en/serverless/apm/api/api-metricset.asciidoc similarity index 100% rename from docs/en/serverless/apm/apm-server-api/api-metricset.asciidoc rename to docs/en/serverless/apm/api/api-metricset.asciidoc diff --git a/docs/en/serverless/apm/apm-server-api/api-span.asciidoc b/docs/en/serverless/apm/api/api-span.asciidoc similarity index 100% rename from docs/en/serverless/apm/apm-server-api/api-span.asciidoc rename to docs/en/serverless/apm/api/api-span.asciidoc diff --git a/docs/en/serverless/apm/apm-server-api/api-transaction.asciidoc b/docs/en/serverless/apm/api/api-transaction.asciidoc similarity index 100% rename from docs/en/serverless/apm/apm-server-api/api-transaction.asciidoc rename to docs/en/serverless/apm/api/api-transaction.asciidoc diff --git a/docs/en/serverless/apm/apm-server-api/api.asciidoc b/docs/en/serverless/apm/api/api.asciidoc similarity index 100% rename from docs/en/serverless/apm/apm-server-api/api.asciidoc rename to docs/en/serverless/apm/api/api.asciidoc diff --git a/docs/en/serverless/apm/apm-server-api.asciidoc b/docs/en/serverless/apm/api/index.asciidoc similarity index 67% rename from docs/en/serverless/apm/apm-server-api.asciidoc rename to docs/en/serverless/apm/api/index.asciidoc index aca9eb6042..8cd4b673b7 100644 --- a/docs/en/serverless/apm/apm-server-api.asciidoc +++ b/docs/en/serverless/apm/api/index.asciidoc @@ -8,52 +8,52 @@ This API is exclusively for APM agent developers. The vast majority of users should have no reason to interact with this API. ==== -include::./apm-server-api/api.asciidoc[] +include::./api.asciidoc[] [discrete] [[observability-apm-server-api-server-information-api]] == Server information API -include::./apm-server-api/api-info.asciidoc[] +include::./api-info.asciidoc[] [discrete] [[observability-apm-server-api-events-intake-api]] == Events intake API -include::./apm-server-api/api-events.asciidoc[] +include::./api-events.asciidoc[] [discrete] [[observability-apm-server-api-metadata]] === Metadata -include::./apm-server-api/api-metadata.asciidoc[] +include::./api-metadata.asciidoc[] [discrete] [[observability-apm-server-api-transactions]] === Transactions -include::./apm-server-api/api-transaction.asciidoc[] +include::./api-transaction.asciidoc[] [discrete] [[observability-apm-server-api-spans]] === Spans -include::./apm-server-api/api-span.asciidoc[] +include::./api-span.asciidoc[] [discrete] [[observability-apm-server-api-errors]] === Errors -include::./apm-server-api/api-error.asciidoc[] +include::./api-error.asciidoc[] [discrete] [[observability-apm-server-api-metrics]] === Metrics -include::./apm-server-api/api-metricset.asciidoc[] +include::./api-metricset.asciidoc[] [discrete] [[observability-apm-server-api-opentelemetry-api]] == OpenTelemetry API -include::./apm-server-api/otel-api.asciidoc[] +include::./otel-api.asciidoc[] diff --git a/docs/en/serverless/apm/apm-server-api/otel-api.asciidoc b/docs/en/serverless/apm/api/otel-api.asciidoc similarity index 100% rename from docs/en/serverless/apm/apm-server-api/otel-api.asciidoc rename to docs/en/serverless/apm/api/otel-api.asciidoc diff --git a/docs/en/serverless/apm/apm-data-types.asciidoc b/docs/en/serverless/apm/apm-data-types.asciidoc deleted file mode 100644 index 8dace1337b..0000000000 --- a/docs/en/serverless/apm/apm-data-types.asciidoc +++ /dev/null @@ -1,18 +0,0 @@ -[[observability-apm-data-types]] -= APM data types - -// :description: Learn about the various APM data types. -// :keywords: serverless, observability, overview - -Elastic APM agents capture different types of information from within their instrumented applications. -These are known as events, and can be spans, transactions, errors, or metrics: - -* **Spans** contain information about the execution of a specific code path. -They measure from the start to the end of an activity, and they can have a parent/child -relationship with other spans. -* **Transactions** are a special kind of _span_ that have additional attributes associated with them. -They describe an event captured by an Elastic {apm-agent} instrumenting a service. -You can think of transactions as the highest level of work you’re measuring within a service. -* **Errors** contain at least information about the original `exception` that occurred or about -a `log` created when the exception occurred. For simplicity, errors are represented by a unique ID. -* **Metrics** measure the state of a system by gathering information on a regular interval. diff --git a/docs/en/serverless/apm/apm-reduce-your-data-usage.asciidoc b/docs/en/serverless/apm/apm-reduce-your-data-usage.asciidoc deleted file mode 100644 index 98fa1d9041..0000000000 --- a/docs/en/serverless/apm/apm-reduce-your-data-usage.asciidoc +++ /dev/null @@ -1,17 +0,0 @@ -[[observability-apm-reduce-your-data-usage]] -= Reduce your data usage - -// :description: Implement strategies for reducing your data usage without compromising the ability to analyze APM data. -// :keywords: serverless, observability, overview - -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. Read more about -these strategies: - -* <>: Reduce data storage, costs, and -noise by ingesting only a percentage of all traces that you can extrapolate from in your analysis. -* <>: Compress similar or identical spans to -reduce storage overhead, processing power needed, and clutter in the Applications UI. -* <>: Reduce the stacktrace information -collected by your APM agents. diff --git a/docs/en/serverless/apm/apm-reference.asciidoc b/docs/en/serverless/apm/apm-reference.asciidoc deleted file mode 100644 index 7068da8e0a..0000000000 --- a/docs/en/serverless/apm/apm-reference.asciidoc +++ /dev/null @@ -1,13 +0,0 @@ -[[observability-apm-reference]] -= Reference - -// :keywords: serverless, observability, reference - -The following reference documentation is available: - -* <> -* https://docs.elastic.co/api-reference/observability/post_api-apm-agent-keys[API reference] - -In addition to the public API above, the APM managed intake service offers an -<>. -This API is exclusively for APM agent developers. The vast majority of users should have no reason to interact with this API. diff --git a/docs/en/serverless/apm/apm-stacktrace-collection.asciidoc b/docs/en/serverless/apm/apm-stacktrace-collection.asciidoc deleted file mode 100644 index ee8133a161..0000000000 --- a/docs/en/serverless/apm/apm-stacktrace-collection.asciidoc +++ /dev/null @@ -1,11 +0,0 @@ -[[observability-apm-stacktrace-collection]] -= Stacktrace collection - -// :description: Reduce data storage and costs by reducing stacktrace collection -// :keywords: serverless, observability, how-to - -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. diff --git a/docs/en/serverless/apm/apm-troubleshooting.asciidoc b/docs/en/serverless/apm/apm-troubleshooting.asciidoc deleted file mode 100644 index 12b62462cf..0000000000 --- a/docs/en/serverless/apm/apm-troubleshooting.asciidoc +++ /dev/null @@ -1,50 +0,0 @@ -[[observability-apm-troubleshooting]] -= Troubleshooting - -// :keywords: serverless, observability, reference - -This section provides solutions to common questions and problems, -and processing and performance guidance. - -[discrete] -[[observability-apm-troubleshooting-common-problems]] -== Common problems - -include::./apm-troubleshooting/common-problems.asciidoc[] - -[discrete] -[[observability-apm-troubleshooting-common-response-codes]] -== Common response codes - -include::./apm-troubleshooting/common-response-codes.asciidoc[] - -[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-troubleshooting/common-problems.asciidoc b/docs/en/serverless/apm/apm-troubleshooting/common-problems.asciidoc deleted file mode 100644 index 70ed11de1b..0000000000 --- a/docs/en/serverless/apm/apm-troubleshooting/common-problems.asciidoc +++ /dev/null @@ -1,47 +0,0 @@ - - -This section describes common problems you might encounter. - -//// -### I/O Timeout - -I/O Timeouts can occur when your timeout settings across the stack are not configured correctly, -especially when using a load balancer. - -You may see an error like the one below in the {apm-agent} logs, and/or a similar error on the intake side: - -```logs -[ElasticAPM] APM Server responded with an error: -"read tcp 123.34.22.313:8200->123.34.22.40:41602: i/o timeout" -``` - -To fix this error, ensure timeouts are incrementing from the {apm-agent}, -through your load balancer, to the Elastic APM intake. - -By default, Elastic APM agent timeouts are set at 10 seconds, and the Elastic intake timeout is set at 60 seconds. -Your load balancer should be set somewhere between these numbers. - -For example: - -```txt -APM agent --> Load Balancer --> Elastic APM intake - 10s 15s 60s -``` */ -//// - -[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. diff --git a/docs/en/serverless/apm/apm-troubleshooting/common-response-codes.asciidoc b/docs/en/serverless/apm/apm-troubleshooting/common-response-codes.asciidoc deleted file mode 100644 index f9942758dc..0000000000 --- a/docs/en/serverless/apm/apm-troubleshooting/common-response-codes.asciidoc +++ /dev/null @@ -1,20 +0,0 @@ - - -[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. diff --git a/docs/en/serverless/apm/apm-view-and-analyze-traces.asciidoc b/docs/en/serverless/apm/apm-view-and-analyze-traces.asciidoc deleted file mode 100644 index 28603d4b81..0000000000 --- a/docs/en/serverless/apm/apm-view-and-analyze-traces.asciidoc +++ /dev/null @@ -1,23 +0,0 @@ -[[observability-apm-view-and-analyze-traces]] -= View and analyze traces - -// :keywords: serverless, observability, overview - -APM allows you to monitor your software services and applications in real time; -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. - -[discrete] -[[observability-apm-view-and-analyze-traces-visualizing-application-bottlenecks]] -== Visualizing application bottlenecks - -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. diff --git a/docs/en/serverless/apm/apm.asciidoc b/docs/en/serverless/apm/apm.asciidoc index 97b5c6a732..e2b8f06e2a 100644 --- a/docs/en/serverless/apm/apm.asciidoc +++ b/docs/en/serverless/apm/apm.asciidoc @@ -22,3 +22,16 @@ like JVM metrics in the Java Agent, and Go runtime metrics in the Go Agent. == Give Elastic APM a try Ready to give Elastic APM a try? See <>. + +///////////////// +// Subsections // +///////////////// +include::./getting-started-apm/index.asciidoc[leveloffset=+1] +include::./data-model/index.asciidoc[leveloffset=+1] +include::./collect-application-data/index.asciidoc[leveloffset=+1] +include::./view-and-analyze/index.asciidoc[leveloffset=+1] +include::./act-on-data/index.asciidoc[leveloffset=+1] +include::./security/index.asciidoc[leveloffset=+1] +include::./manage-storage/index.asciidoc[leveloffset=+1] +include::./api/index.asciidoc[leveloffset=+1] +include::./troubleshooting/index.asciidoc[leveloffset=+1] diff --git a/docs/en/serverless/apm-agents/apm-agents-elastic-apm-agents.asciidoc b/docs/en/serverless/apm/collect-application-data/agents/index.asciidoc similarity index 88% rename from docs/en/serverless/apm-agents/apm-agents-elastic-apm-agents.asciidoc rename to docs/en/serverless/apm/collect-application-data/agents/index.asciidoc index b146b2f798..63eedb56a7 100644 --- a/docs/en/serverless/apm-agents/apm-agents-elastic-apm-agents.asciidoc +++ b/docs/en/serverless/apm/collect-application-data/agents/index.asciidoc @@ -1,11 +1,15 @@ [[observability-apm-agents-elastic-apm-agents]] = Elastic APM agents +++++ +APM agents +++++ + // :keywords: serverless, observability, overview :role: Admin :goal: use APM agents -include::../partials/roles.asciidoc[] +include::../../../partials/roles.asciidoc[] :role!: :goal!: @@ -42,43 +46,43 @@ Elastic APM agents are built and maintained by Elastic. While they are similar,
++++ -include::../transclusion/apm/guide/about/java.asciidoc[] +include::../../../transclusion/apm/guide/about/java.asciidoc[] ++++
diff --git a/docs/en/serverless/apm-agents/apm-agents-aws-lambda-functions.asciidoc b/docs/en/serverless/apm/collect-application-data/aws-lambda-extension.asciidoc similarity index 96% rename from docs/en/serverless/apm-agents/apm-agents-aws-lambda-functions.asciidoc rename to docs/en/serverless/apm/collect-application-data/aws-lambda-extension.asciidoc index 2d8e5cf8dd..7c771fccfb 100644 --- a/docs/en/serverless/apm-agents/apm-agents-aws-lambda-functions.asciidoc +++ b/docs/en/serverless/apm/collect-application-data/aws-lambda-extension.asciidoc @@ -1,5 +1,9 @@ [[observability-apm-agents-aws-lambda-functions]] -= AWS Lambda functions += Monitoring AWS Lambda Functions + +++++ +AWS Lambda functions +++++ // :description: Use Elastic APM to monitor your AWS Lambda functions. // :keywords: serverless, observability, overview diff --git a/docs/en/serverless/apm/apm-send-traces-to-elastic.asciidoc b/docs/en/serverless/apm/collect-application-data/index.asciidoc similarity index 77% rename from docs/en/serverless/apm/apm-send-traces-to-elastic.asciidoc rename to docs/en/serverless/apm/collect-application-data/index.asciidoc index a12f475f78..c2c1c10572 100644 --- a/docs/en/serverless/apm/apm-send-traces-to-elastic.asciidoc +++ b/docs/en/serverless/apm/collect-application-data/index.asciidoc @@ -1,11 +1,11 @@ [[observability-apm-send-data-to-elastic]] -= Send APM data to Elastic += Collect application data // :keywords: serverless, observability, overview :role: Admin :goal: send APM data to Elastic -include::../partials/roles.asciidoc[] +include::../../partials/roles.asciidoc[] :role!: :goal!: @@ -22,4 +22,9 @@ Send APM data to Elastic with: Elastic also supports instrumentation of <>. -// To do: We should put a diagram here showing how high-level arch +///////////////// +// Subsections // +///////////////// +include::./agents/index.asciidoc[leveloffset=+1] +include::./open-telemetry/index.asciidoc[leveloffset=+1] +include::./aws-lambda-extension.asciidoc[leveloffset=+1] diff --git a/docs/en/serverless/apm-agents/images/apm-otel-api-sdk-collector.png b/docs/en/serverless/apm/collect-application-data/open-telemetry/images/apm-otel-api-sdk-collector.png similarity index 100% rename from docs/en/serverless/apm-agents/images/apm-otel-api-sdk-collector.png rename to docs/en/serverless/apm/collect-application-data/open-telemetry/images/apm-otel-api-sdk-collector.png diff --git a/docs/en/serverless/apm-agents/images/apm-otel-api-sdk-elastic-agent.png b/docs/en/serverless/apm/collect-application-data/open-telemetry/images/apm-otel-api-sdk-elastic-agent.png similarity index 100% rename from docs/en/serverless/apm-agents/images/apm-otel-api-sdk-elastic-agent.png rename to docs/en/serverless/apm/collect-application-data/open-telemetry/images/apm-otel-api-sdk-elastic-agent.png diff --git a/docs/en/serverless/apm-agents/images/apm-otel-distro.png b/docs/en/serverless/apm/collect-application-data/open-telemetry/images/apm-otel-distro.png similarity index 100% rename from docs/en/serverless/apm-agents/images/apm-otel-distro.png rename to docs/en/serverless/apm/collect-application-data/open-telemetry/images/apm-otel-distro.png diff --git a/docs/en/serverless/apm-agents/apm-agents-opentelemetry.asciidoc b/docs/en/serverless/apm/collect-application-data/open-telemetry/index.asciidoc similarity index 96% rename from docs/en/serverless/apm-agents/apm-agents-opentelemetry.asciidoc rename to docs/en/serverless/apm/collect-application-data/open-telemetry/index.asciidoc index 2f6f544eb7..33aa30aa48 100644 --- a/docs/en/serverless/apm-agents/apm-agents-opentelemetry.asciidoc +++ b/docs/en/serverless/apm/collect-application-data/open-telemetry/index.asciidoc @@ -1,6 +1,10 @@ [[observability-apm-agents-opentelemetry]] = Use OpenTelemetry with APM +++++ +OpenTelemetry +++++ + // :keywords: serverless, observability, overview [NOTE] @@ -127,3 +131,11 @@ AWS Lambda functions can be instrumented with OpenTelemetry and monitored with { 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: https://aws-otel.github.io/docs/getting-started/lambda[**Get started with the AWS Distro for OpenTelemetry Lambda**^] + +///////////////// +// Subsections // +///////////////// +include::./otel-attrs.asciidoc[leveloffset=+1] +include::./otel-direct.asciidoc[leveloffset=+1] +include::./otel-limitations.asciidoc[leveloffset=+1] +include::./otel-metrics.asciidoc[leveloffset=+1] diff --git a/docs/en/serverless/apm-agents/apm-agents-opentelemetry-resource-attributes.asciidoc b/docs/en/serverless/apm/collect-application-data/open-telemetry/otel-attrs.asciidoc similarity index 100% rename from docs/en/serverless/apm-agents/apm-agents-opentelemetry-resource-attributes.asciidoc rename to docs/en/serverless/apm/collect-application-data/open-telemetry/otel-attrs.asciidoc diff --git a/docs/en/serverless/apm-agents/apm-agents-opentelemetry-opentelemetry-native-support.asciidoc b/docs/en/serverless/apm/collect-application-data/open-telemetry/otel-direct.asciidoc similarity index 100% rename from docs/en/serverless/apm-agents/apm-agents-opentelemetry-opentelemetry-native-support.asciidoc rename to docs/en/serverless/apm/collect-application-data/open-telemetry/otel-direct.asciidoc diff --git a/docs/en/serverless/apm-agents/apm-agents-opentelemetry-limitations.asciidoc b/docs/en/serverless/apm/collect-application-data/open-telemetry/otel-limitations.asciidoc similarity index 100% rename from docs/en/serverless/apm-agents/apm-agents-opentelemetry-limitations.asciidoc rename to docs/en/serverless/apm/collect-application-data/open-telemetry/otel-limitations.asciidoc diff --git a/docs/en/serverless/apm-agents/apm-agents-opentelemetry-collect-metrics.asciidoc b/docs/en/serverless/apm/collect-application-data/open-telemetry/otel-metrics.asciidoc similarity index 100% rename from docs/en/serverless/apm-agents/apm-agents-opentelemetry-collect-metrics.asciidoc rename to docs/en/serverless/apm/collect-application-data/open-telemetry/otel-metrics.asciidoc diff --git a/docs/en/serverless/apm/apm-compress-spans.asciidoc b/docs/en/serverless/apm/data-model/apm-compress-spans.asciidoc similarity index 99% rename from docs/en/serverless/apm/apm-compress-spans.asciidoc rename to docs/en/serverless/apm/data-model/apm-compress-spans.asciidoc index 331c08cb3e..36bd55cd9c 100644 --- a/docs/en/serverless/apm/apm-compress-spans.asciidoc +++ b/docs/en/serverless/apm/data-model/apm-compress-spans.asciidoc @@ -1,5 +1,5 @@ [[observability-apm-compress-spans]] -= Compress spans += Span compression // :description: Compress similar or identical spans to reduce storage overhead, processing power needed, and clutter in the Applications UI. // :keywords: serverless, observability, how-to diff --git a/docs/en/serverless/apm/apm-distributed-tracing.asciidoc b/docs/en/serverless/apm/data-model/apm-distributed-tracing.asciidoc similarity index 96% rename from docs/en/serverless/apm/apm-distributed-tracing.asciidoc rename to docs/en/serverless/apm/data-model/apm-distributed-tracing.asciidoc index 653a0acc05..1679c2279e 100644 --- a/docs/en/serverless/apm/apm-distributed-tracing.asciidoc +++ b/docs/en/serverless/apm/data-model/apm-distributed-tracing.asciidoc @@ -122,7 +122,7 @@ with each agent's API. Sending services must add the `traceparent` header to outgoing requests. -include::../transclusion/apm/guide/tab-widgets/distributed-trace-send-widget.asciidoc[] +include::../../transclusion/apm/guide/tab-widgets/distributed-trace-send-widget.asciidoc[] [discrete] [[distributed-tracing-incoming]] @@ -131,4 +131,4 @@ include::../transclusion/apm/guide/tab-widgets/distributed-trace-send-widget.asc Receiving services must parse the incoming `traceparent` header, and start a new transaction or span as a child of the received context. -include::../transclusion/apm/guide/tab-widgets/distributed-trace-receive-widget.asciidoc[] +include::../../transclusion/apm/guide/tab-widgets/distributed-trace-receive-widget.asciidoc[] diff --git a/docs/en/serverless/apm/apm-transaction-sampling.asciidoc b/docs/en/serverless/apm/data-model/apm-transaction-sampling.asciidoc similarity index 99% rename from docs/en/serverless/apm/apm-transaction-sampling.asciidoc rename to docs/en/serverless/apm/data-model/apm-transaction-sampling.asciidoc index ef29464cfe..53abeee6ce 100644 --- a/docs/en/serverless/apm/apm-transaction-sampling.asciidoc +++ b/docs/en/serverless/apm/data-model/apm-transaction-sampling.asciidoc @@ -148,4 +148,4 @@ Regardless of the above, cost conscious customers are likely to be fine with a l [[observability-apm-transaction-sampling-configure-head-based-sampling]] == Configure head-based sampling -include::./apm-transaction-sampling/configure-head-based-sampling.asciidoc[] +include::./configure-head-based-sampling.asciidoc[] diff --git a/docs/en/serverless/apm/apm-transaction-sampling/configure-head-based-sampling.asciidoc b/docs/en/serverless/apm/data-model/configure-head-based-sampling.asciidoc similarity index 100% rename from docs/en/serverless/apm/apm-transaction-sampling/configure-head-based-sampling.asciidoc rename to docs/en/serverless/apm/data-model/configure-head-based-sampling.asciidoc diff --git a/docs/en/serverless/apm/data-model/index.asciidoc b/docs/en/serverless/apm/data-model/index.asciidoc new file mode 100644 index 0000000000..c4b2c6bfac --- /dev/null +++ b/docs/en/serverless/apm/data-model/index.asciidoc @@ -0,0 +1,47 @@ +[[observability-apm-data-types]] += Learn about application data types + +++++ +Learn about data types +++++ + +// :description: Learn about the various APM data types. +// :keywords: serverless, observability, overview + +Elastic APM agents capture different types of information from within their instrumented applications. +These are known as events, and can be spans, transactions, traces, errors, or metrics. + +//// +Explain how the different data types relate to each other at a high level +//// + +Elastic APM helps you see what happens from start to finish when a request is made to an application: + +* *Spans*: A span contains information about the execution of a specific code path. + Spans are the building blocks of _transactions_ and _traces_. +* *Transactions*: A transaction describes an event captured by an Elastic + APM agent instrumenting a service. A transaction is technically a type of span that has additional + attributes associated with it and often contains multiple child _spans_. You can think of transactions + as the highest level of work you’re measuring within a service. +* *Traces*: A trace is a group of _transactions_ and _spans_ with a common root. + Each trace tracks the entirety of a single request. When a trace travels through multiple services, + it is known as a _distributed trace_. + +image::images/spans-transactions-and-traces.png[Diagram illustrating the relationship between spans, transactions, and traces as described in the text on this page] + +In addition to the building blocks of traces, Elastic APM agents also capture: + +* *Errors*: An error is created when something goes wrong with a request to an application. + This event contains information to help you determine where and why an error occurred, often including in which + _transaction_ the error occurred. +* *Metrics*: Metrics measure the state of a system by gathering information on a regular interval. + +Events can contain additional metadata, which further enriches your data. + +///////////////// +// Subsections // +///////////////// +include::./apm-compress-spans.asciidoc[leveloffset=+1] +include::./apm-distributed-tracing.asciidoc[leveloffset=+1] +include::./apm-transaction-sampling.asciidoc[leveloffset=+1] +include::./configure-head-based-sampling.asciidoc[leveloffset=+1] \ No newline at end of file diff --git a/docs/en/serverless/apm/apm-get-started.asciidoc b/docs/en/serverless/apm/getting-started-apm/index.asciidoc similarity index 91% rename from docs/en/serverless/apm/apm-get-started.asciidoc rename to docs/en/serverless/apm/getting-started-apm/index.asciidoc index 41e3f083ba..2e01483725 100644 --- a/docs/en/serverless/apm/apm-get-started.asciidoc +++ b/docs/en/serverless/apm/getting-started-apm/index.asciidoc @@ -4,9 +4,13 @@ // :description: Learn how to collect Application Performance Monitoring (APM) data and visualize it in real time. // :keywords: serverless, observability, how-to +++++ +Get started +++++ + :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[] ++++
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 <>.