From bc7d08a0ab4116711bd2108e6885905c2a54a7c2 Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Thu, 11 Sep 2025 16:55:56 -0500 Subject: [PATCH 1/4] reorganize solutions/observability/apm/ files along team lines --- .../edit-stack-settings-apm.md | 4 +- .../cloud-on-k8s/advanced-configuration.md | 4 +- ...an-elasticsearch-cluster-managed-by-eck.md | 2 +- ...nces-from-other-elasticsearch-offerings.md | 2 +- .../elastic-cloud/edit-stack-settings.md | 2 +- ...from-apm-to-integrations-server-payload.md | 2 +- .../deploy/self-managed/air-gapped-install.md | 2 +- .../monitor/logging-configuration.md | 2 +- deploy-manage/monitor/stack-monitoring.md | 2 +- deploy-manage/security/fips-ingest.md | 50 +++--- deploy-manage/security/secure-settings.md | 2 +- .../ingesting-data-for-elastic-solutions.md | 2 +- redirects.yml | 166 ++++++++++++------ .../apm/cloud-enterprise/apm-settings.md | 4 +- reference/apm/cloud/apm-settings.md | 4 +- reference/apm/observability/apm-settings.md | 28 +-- reference/apm/observability/apm.md | 2 +- reference/index.md | 2 +- solutions/_snippets/obs-apm-project.md | 2 +- .../apm/anonymous-authentication.md | 4 +- solutions/observability/apm/api-keys.md | 4 +- solutions/observability/apm/apis.md | 2 +- .../apm/apm-agent-tls-communication.md | 4 +- .../central-configuration.md} | 4 +- .../create-upload-source-maps-rum.md | 0 .../index.md} | 0 .../real-user-monitoring-rum.md | 0 .../advanced-setup.md} | 14 +- .../{apm-server-api.md => apm-server/api.md} | 2 +- .../apm-agent-authorization.md | 0 .../apm-agent-central-configuration.md} | 4 +- .../binary.md} | 14 +- .../command-reference.md} | 16 +- .../configure-anonymous-authentication.md | 4 +- .../configure-apm-instrumentation.md | 0 .../configure-console-output.md | 0 .../configure-elasticsearch-output.md | 4 +- .../configure-kafka-output.md | 4 +- .../configure-kibana-endpoint.md | 4 +- .../apm/{ => apm-server}/configure-logging.md | 8 +- .../configure-logstash-output.md | 4 +- ...-elasticsearch-service-on-elastic-cloud.md | 2 +- .../apm/apm-server/configure-output.md | 26 +++ .../configure-project-paths.md | 4 +- .../configure-real-user-monitoring-rum.md | 8 +- .../configure-redis-output.md | 4 +- .../configure.md} | 36 ++-- .../fleet-managed.md} | 2 +- .../general-configuration-options.md | 0 .../apm/{ => apm-server}/high-availability.md | 2 +- .../{apm-server.md => apm-server/index.md} | 6 +- .../information-api.md} | 0 .../{ => apm-server}/installation-layout.md | 0 .../apm/apm-server/monitor-binary.md | 18 ++ .../monitor-fleet-managed.md} | 0 .../monitor.md} | 4 +- .../secrets-keystore-for-secure-settings.md | 2 +- .../setup.md} | 0 .../ssl-tls-input-settings.md | 0 .../ssl-tls-output-settings.md | 0 .../apm/{ => apm-server}/ssl-tls-settings.md | 4 +- .../systemd.md} | 2 +- .../{ => apm-server}/tail-based-sampling.md | 4 +- .../{ => apm-server}/tune-data-ingestion.md | 4 +- ...-environment-variables-in-configuration.md | 0 ...rnal-collection-to-send-monitoring-data.md | 16 +- .../use-metricbeat-to-send-monitoring-data.md | 2 +- ...-emitted-directly-to-monitoring-cluster.md | 2 +- .../apm/built-in-data-filters.md | 6 +- .../observability/apm/configure-output.md | 26 --- ...ssign-feature-roles-to-apm-server-users.md | 16 +- .../elastic-apm-agent-configuration-api.md | 2 +- .../apm/elastic-apm-events-intake-api.md | 2 +- solutions/observability/apm/get-started.md | 4 +- solutions/observability/apm/index.md | 2 +- .../apm/{ => ingest}/apm-k8s-attacher.md | 0 .../index.md} | 8 +- .../observability/apm/{ => ingest}/jaeger.md | 2 +- .../monitor-aws-lambda-functions.md | 0 .../observability/apm/jaeger-event-intake.md | 2 +- solutions/observability/apm/manage-storage.md | 2 +- .../apm/managed-intake-service-event-api.md | 2 +- .../apm/monitor-apm-server-binary.md | 18 -- .../apm/observe-lambda-functions.md | 2 +- .../apm/opentelemetry-intake-api.md | 2 +- .../apm/{ => opentelemetry}/attributes.md | 0 .../{ => opentelemetry}/collect-metrics.md | 0 .../data-stream-routing.md | 2 +- .../edot-sdks-central-configuration.md | 8 +- .../index.md} | 8 +- .../apm/{ => opentelemetry}/limitations.md | 4 +- ...-opentelemetry-collectors-language-sdks.md | 20 +-- ...secure-communication-with-elastic-stack.md | 6 +- ...lastic-cloud-cluster-to-apm-integration.md | 2 +- ...ch-self-installation-to-apm-integration.md | 4 +- .../observability/apm/transaction-sampling.md | 12 +- ...elastic-cloud-with-apm-integration-to-9.md | 2 +- ...tallation-of-apm-server-standalone-to-9.md | 6 +- .../observability/apm/view-analyze-data.md | 2 +- .../applications/user-experience.md | 2 +- .../quickstart-elastic-cloud-otel-endpoint.md | 4 +- solutions/toc.yml | 115 ++++++------ .../apm/apm-server-performance-diagnostic.md | 4 +- .../apm/apm-server-response-codes.md | 6 +- .../observability/apm/common-problems.md | 2 +- 105 files changed, 446 insertions(+), 387 deletions(-) rename solutions/observability/apm/{apm-agent-central-configuration.md => apm-agents/central-configuration.md} (92%) rename solutions/observability/apm/{ => apm-agents}/create-upload-source-maps-rum.md (100%) rename solutions/observability/apm/{elastic-apm-agents.md => apm-agents/index.md} (100%) rename solutions/observability/apm/{ => apm-agents}/real-user-monitoring-rum.md (100%) rename solutions/observability/apm/{apm-server-advanced-setup.md => apm-server/advanced-setup.md} (50%) rename solutions/observability/apm/{apm-server-api.md => apm-server/api.md} (96%) rename solutions/observability/apm/{ => apm-server}/apm-agent-authorization.md (100%) rename solutions/observability/apm/{configure-apm-agent-central-configuration.md => apm-server/apm-agent-central-configuration.md} (96%) rename solutions/observability/apm/{apm-server-binary.md => apm-server/binary.md} (98%) rename solutions/observability/apm/{apm-server-command-reference.md => apm-server/command-reference.md} (94%) rename solutions/observability/apm/{ => apm-server}/configure-anonymous-authentication.md (94%) rename solutions/observability/apm/{ => apm-server}/configure-apm-instrumentation.md (100%) rename solutions/observability/apm/{ => apm-server}/configure-console-output.md (100%) rename solutions/observability/apm/{ => apm-server}/configure-elasticsearch-output.md (98%) rename solutions/observability/apm/{ => apm-server}/configure-kafka-output.md (97%) rename solutions/observability/apm/{ => apm-server}/configure-kibana-endpoint.md (94%) rename solutions/observability/apm/{ => apm-server}/configure-logging.md (97%) rename solutions/observability/apm/{ => apm-server}/configure-logstash-output.md (98%) rename solutions/observability/apm/{ => apm-server}/configure-output-for-elasticsearch-service-on-elastic-cloud.md (98%) create mode 100644 solutions/observability/apm/apm-server/configure-output.md rename solutions/observability/apm/{ => apm-server}/configure-project-paths.md (94%) rename solutions/observability/apm/{ => apm-server}/configure-real-user-monitoring-rum.md (87%) rename solutions/observability/apm/{ => apm-server}/configure-redis-output.md (97%) rename solutions/observability/apm/{configure-apm-server.md => apm-server/configure.md} (71%) rename solutions/observability/apm/{apm-server-fleet-managed.md => apm-server/fleet-managed.md} (99%) rename solutions/observability/apm/{ => apm-server}/general-configuration-options.md (100%) rename solutions/observability/apm/{ => apm-server}/high-availability.md (94%) rename solutions/observability/apm/{apm-server.md => apm-server/index.md} (84%) rename solutions/observability/apm/{apm-server-information-api.md => apm-server/information-api.md} (100%) rename solutions/observability/apm/{ => apm-server}/installation-layout.md (100%) create mode 100644 solutions/observability/apm/apm-server/monitor-binary.md rename solutions/observability/apm/{monitor-fleet-managed-apm-server.md => apm-server/monitor-fleet-managed.md} (100%) rename solutions/observability/apm/{monitor-apm-server.md => apm-server/monitor.md} (86%) rename solutions/observability/apm/{ => apm-server}/secrets-keystore-for-secure-settings.md (97%) rename solutions/observability/apm/{apm-server-setup.md => apm-server/setup.md} (100%) rename solutions/observability/apm/{ => apm-server}/ssl-tls-input-settings.md (100%) rename solutions/observability/apm/{ => apm-server}/ssl-tls-output-settings.md (100%) rename solutions/observability/apm/{ => apm-server}/ssl-tls-settings.md (61%) rename solutions/observability/apm/{apm-server-systemd.md => apm-server/systemd.md} (97%) rename solutions/observability/apm/{ => apm-server}/tail-based-sampling.md (98%) rename solutions/observability/apm/{ => apm-server}/tune-data-ingestion.md (95%) rename solutions/observability/apm/{ => apm-server}/use-environment-variables-in-configuration.md (100%) rename solutions/observability/apm/{ => apm-server}/use-internal-collection-to-send-monitoring-data.md (91%) rename solutions/observability/apm/{ => apm-server}/use-metricbeat-to-send-monitoring-data.md (98%) rename solutions/observability/apm/{ => apm-server}/use-select-metrics-emitted-directly-to-monitoring-cluster.md (92%) delete mode 100644 solutions/observability/apm/configure-output.md rename solutions/observability/apm/{ => ingest}/apm-k8s-attacher.md (100%) rename solutions/observability/apm/{collect-application-data.md => ingest/index.md} (78%) rename solutions/observability/apm/{ => ingest}/jaeger.md (98%) rename solutions/observability/apm/{ => ingest}/monitor-aws-lambda-functions.md (100%) delete mode 100644 solutions/observability/apm/monitor-apm-server-binary.md rename solutions/observability/apm/{ => opentelemetry}/attributes.md (100%) rename solutions/observability/apm/{ => opentelemetry}/collect-metrics.md (100%) rename solutions/observability/apm/{ => opentelemetry}/data-stream-routing.md (95%) rename solutions/observability/apm/{ => opentelemetry}/edot-sdks-central-configuration.md (88%) rename solutions/observability/apm/{use-opentelemetry-with-apm.md => opentelemetry/index.md} (96%) rename solutions/observability/apm/{ => opentelemetry}/limitations.md (93%) rename solutions/observability/apm/{ => opentelemetry}/upstream-opentelemetry-collectors-language-sdks.md (94%) diff --git a/deploy-manage/deploy/cloud-enterprise/edit-stack-settings-apm.md b/deploy-manage/deploy/cloud-enterprise/edit-stack-settings-apm.md index 15947ae5c4..226deeeae4 100644 --- a/deploy-manage/deploy/cloud-enterprise/edit-stack-settings-apm.md +++ b/deploy-manage/deploy/cloud-enterprise/edit-stack-settings-apm.md @@ -18,7 +18,7 @@ Starting in {{stack}} version 8.0, how you change APM settings and the settings : New deployments created in {{stack}} version 8.0 and later will be managed by {{fleet}}. * This mode requires SSL/TLS configuration. Check [TLS configuration for {{fleet}}-managed mode](#ece-edit-apm-fleet-tls) for details. - * Check [APM integration input settings](/solutions/observability/apm/configure-apm-server.md) for all other Elastic APM configuration options in this mode. + * Check [APM integration input settings](/solutions/observability/apm/apm-server/configure.md) for all other Elastic APM configuration options in this mode. Standalone APM Server (legacy) @@ -45,7 +45,7 @@ Pick one of the following options: {{ece}} supports most of the legacy APM settings. Through a YAML editor in the console, you can append your APM Server properties to the `apm-server.yml` file. Your changes to the configuration file are read on startup. ::::{important} -Be aware that some settings could break your cluster if set incorrectly and that the syntax might change between major versions. Before upgrading, be sure to review the full list of the [latest APM settings and syntax](/solutions/observability/apm/configure-apm-server.md). +Be aware that some settings could break your cluster if set incorrectly and that the syntax might change between major versions. Before upgrading, be sure to review the full list of the [latest APM settings and syntax](/solutions/observability/apm/apm-server/configure.md). :::: diff --git a/deploy-manage/deploy/cloud-on-k8s/advanced-configuration.md b/deploy-manage/deploy/cloud-on-k8s/advanced-configuration.md index 28afd9721e..deecca78f5 100644 --- a/deploy-manage/deploy/cloud-on-k8s/advanced-configuration.md +++ b/deploy-manage/deploy/cloud-on-k8s/advanced-configuration.md @@ -24,7 +24,7 @@ This section covers the following topics: APM Agent central configuration was added in 7.5.1. ::: -[APM Agent configuration management](/solutions/observability/apm/apm-agent-central-configuration.md) allows you to configure your APM Agents centrally from the {{kib}} APM app. To use this feature, the APM Server needs to be configured with connection details of the {{kib}} instance. If {{kib}} is managed by ECK, you can simply add a `kibanaRef` attribute to the APM Server specification: +[APM Agent configuration management](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md) allows you to configure your APM Agents centrally from the {{kib}} APM app. To use this feature, the APM Server needs to be configured with connection details of the {{kib}} instance. If {{kib}} is managed by ECK, you can simply add a `kibanaRef` attribute to the APM Server specification: ```yaml subs=true cat < Refer to [Managed OTLP endpoint](opentelemetry://reference/motlp.md) for OTLP data ingestion | -| [**APM Agent Central Configuration**](/solutions/observability/apm/apm-agent-central-configuration.md) | ✅ | ❌ | Not available in Serverless | +| [**APM Agent Central Configuration**](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md) | ✅ | ❌ | Not available in Serverless | | [**APM Tail-based sampling**](/solutions/observability/apm/transaction-sampling.md#apm-tail-based-sampling) | ✅ | ❌ | - Not available in Serverless
- Consider **OpenTelemetry** tail sampling processor as an alternative | | [**Android agent/SDK instrumentation**](apm-agent-android://reference/edot-android/index.md) | ✅ | ✅ | | | [**AWS Firehose integration**](/solutions/observability/cloud/monitor-amazon-web-services-aws-with-amazon-data-firehose.md) | ✅ | ✅ | | diff --git a/deploy-manage/deploy/elastic-cloud/edit-stack-settings.md b/deploy-manage/deploy/elastic-cloud/edit-stack-settings.md index 560cff7941..7096bbfa41 100644 --- a/deploy-manage/deploy/elastic-cloud/edit-stack-settings.md +++ b/deploy-manage/deploy/elastic-cloud/edit-stack-settings.md @@ -43,7 +43,7 @@ For a list of supported settings, check [{{kib}} settings](kibana://reference/cl ### APM settings -Refer to [APM configuration reference](/solutions/observability/apm/configure-apm-server.md) for information on how to configure the {{fleet}}-managed APM integration. +Refer to [APM configuration reference](/solutions/observability/apm/apm-server/configure.md) for information on how to configure the {{fleet}}-managed APM integration. ## Edit settings [ec-add-user-settings] diff --git a/deploy-manage/deploy/elastic-cloud/switch-from-apm-to-integrations-server-payload.md b/deploy-manage/deploy/elastic-cloud/switch-from-apm-to-integrations-server-payload.md index 6583afa538..31ab10f3d2 100644 --- a/deploy-manage/deploy/elastic-cloud/switch-from-apm-to-integrations-server-payload.md +++ b/deploy-manage/deploy/elastic-cloud/switch-from-apm-to-integrations-server-payload.md @@ -405,7 +405,7 @@ From the deployment **APM & Fleet** page you can also: ### Upgrading to {{stack}} 8.0 [ec-upgrade-apm-stack-8] -The following APM settings have been removed in {{stack}} version 8.0. This change is only relevant to users upgrading a standalone (legacy) deployment of APM Server to {{stack}} version 8.0. Check [Add APM user settings](/solutions/observability/apm/configure-apm-server.md) for more details. +The following APM settings have been removed in {{stack}} version 8.0. This change is only relevant to users upgrading a standalone (legacy) deployment of APM Server to {{stack}} version 8.0. Check [Add APM user settings](/solutions/observability/apm/apm-server/configure.md) for more details. ```yaml apm-server.api_key.enabled diff --git a/deploy-manage/deploy/self-managed/air-gapped-install.md b/deploy-manage/deploy/self-managed/air-gapped-install.md index 2baff63b4e..b1b3a6ac1f 100644 --- a/deploy-manage/deploy/self-managed/air-gapped-install.md +++ b/deploy-manage/deploy/self-managed/air-gapped-install.md @@ -69,7 +69,7 @@ To learn more about installing {{fleet-server}}, refer to the [{{fleet-server}} Air-gapped setup of the APM server is possible in two ways: * By setting up one of the {{agent}} deployments with an APM integration, as described in [Switch a self-installation to the APM integration](/solutions/observability/apm/switch-self-installation-to-apm-integration.md). See [air gapped installation guidance for {{agent}}](#air-gapped-elastic-agent). -* Or, by installing a standalone Elastic APM Server, as described in the [APM configuration documentation](/solutions/observability/apm/configure-apm-server.md). +* Or, by installing a standalone Elastic APM Server, as described in the [APM configuration documentation](/solutions/observability/apm/apm-server/configure.md). ## {{ems}} [air-gapped-elastic-maps-service] diff --git a/deploy-manage/monitor/logging-configuration.md b/deploy-manage/monitor/logging-configuration.md index 6fb9472074..0017d87e4f 100644 --- a/deploy-manage/monitor/logging-configuration.md +++ b/deploy-manage/monitor/logging-configuration.md @@ -111,7 +111,7 @@ You can also consume logs using [stack monitoring](/deploy-manage/monitor/stack- You can also collect and index the following types of logs from other components in your deployments: -[**APM**](/solutions/observability/apm/configure-logging.md) +[**APM**](/solutions/observability/apm/apm-server/configure-logging.md) * `apm*.log*` diff --git a/deploy-manage/monitor/stack-monitoring.md b/deploy-manage/monitor/stack-monitoring.md index 4a3bf2961a..be4079abc6 100644 --- a/deploy-manage/monitor/stack-monitoring.md +++ b/deploy-manage/monitor/stack-monitoring.md @@ -89,7 +89,7 @@ Most of these methods require that you configure monitoring of {{es}} before mon * [Packetbeat](beats://reference/packetbeat/monitoring.md) * [Winlogbeat](beats://reference/winlogbeat/monitoring.md) -* [**APM Server**](/solutions/observability/apm/monitor-apm-server.md) +* [**APM Server**](/solutions/observability/apm/apm-server/monitor.md) * **{{agent}}s**: * [{{fleet}}-managed {{agent}}s](/reference/fleet/monitor-elastic-agent.md) diff --git a/deploy-manage/security/fips-ingest.md b/deploy-manage/security/fips-ingest.md index 688b109408..2e61fa1fbd 100644 --- a/deploy-manage/security/fips-ingest.md +++ b/deploy-manage/security/fips-ingest.md @@ -1,7 +1,7 @@ --- applies_to: deployment: ga -navigation_title: +navigation_title: products: - id: apm - id: elastic-agent @@ -25,7 +25,7 @@ Generally speaking FIPS 140-2 requirements can be summarized as: FIPS compatible binaries for {{agent}}, {{fleet}}, {{filebeat}}, {{metricbeat}}, and {{apm-server}} are available for [download](https://www.elastic.co/downloads). Look for the `Linux 64-bit (FIPS)` or `Linux aarch64 (FIPS)` platform option on the product download pages for {{agent}} and {{fleet}}, {{filebeat}}, and {{metricbeat}}. Look for the `Linux x86_64 (FIPS)` or `Linux aarch64 (FIPS)` platform option on the {{apm-server}} download page. :::{important} -The default configurations provided in the binaries are FIPS compatible. Be sure to check and understand the implications of changing default configurations. +The default configurations provided in the binaries are FIPS compatible. Be sure to check and understand the implications of changing default configurations. ::: ## Limitations [ingest-limitations-all] @@ -33,51 +33,51 @@ The default configurations provided in the binaries are FIPS compatible. Be sure ### TLS [ingest-limitations-tls] Only FIPS 140-2 compliant TLS protocols, ciphers, and curve types are allowed to be used as listed below. -* The supported TLS versions are `TLS v1.2` and `TLS v1.3`. +* The supported TLS versions are `TLS v1.2` and `TLS v1.3`. * The supported cipher suites are: * `TLS v1.2`: `ECDHE-RSA-AES-128-GCM-SHA256`, `ECDHE-RSA-AES-256-GCM-SHA384`, `ECDHE-ECDSA-AES-128-GCM-SHA256`, `ECDHE-ECDSA-AES-256-GCM-SHA384` * `TLS v1.3`: `TLS-AES-128-GCM-SHA256`, `TLS-AES-256-GCM-SHA384` * The supported curve types are `P-256`, `P-384` and `P-521`. Support for encrypted private keys is not available, as the cryptographic modules used for decrypting password protected keys are not FIPS validated. If an output or any other component with an SSL key that is password protected is configured, the components will fail to load the key. When running in FIPS mode, you must provide non-encrypted keys. -Be sure to enforce security in your FIPS environments through other means, such as strict file permissions and access controls on the key file itself, for example. +Be sure to enforce security in your FIPS environments through other means, such as strict file permissions and access controls on the key file itself, for example. -These TLS related restrictions apply to all components listed--{{agent}}, {{fleet}}, {{filebeat}}, {{metricbeat}}, and {{apm-server}}. +These TLS related restrictions apply to all components listed--{{agent}}, {{fleet}}, {{filebeat}}, {{metricbeat}}, and {{apm-server}}. ### General output and input limitations (Kerberos protocol) [ingest-inputoutput-limitations] -The Kerberos protocol is not supported for any output or input, which also impacts the available `sasl.mechanism` for the Kafka output where only `PLAIN` is supported. +The Kerberos protocol is not supported for any output or input, which also impacts the available `sasl.mechanism` for the Kafka output where only `PLAIN` is supported. -This impacts [Filebeat](beats://reference/filebeat/configuration-kerberos.md), [Metricbeat](beats://reference/metricbeat/configuration-kerberos.md) and {{apm-server}}, as well as output configurations for {{agent}} with {{fleet-server}}. +This impacts [Filebeat](beats://reference/filebeat/configuration-kerberos.md), [Metricbeat](beats://reference/metricbeat/configuration-kerberos.md) and {{apm-server}}, as well as output configurations for {{agent}} with {{fleet-server}}. ### APM Server [ingest-apm-limitations] -* The [Secrets Keystore](/solutions/observability/apm/secrets-keystore-for-secure-settings.md) is not supported. +* The [Secrets Keystore](/solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md) is not supported. ### Filebeat [ingest-filebeat-limitations] -* The [Secrets Keystore](beats://reference/filebeat/keystore.md) is not supported. +* The [Secrets Keystore](beats://reference/filebeat/keystore.md) is not supported. * The [Translate GUID processor](beats://reference/filebeat/processor-translate-guid.md) is not supported. -* The [Fingerprint processor](beats://reference/filebeat/fingerprint.md) does not support the md5 and sha1 method. -* The [Community ID Network Flowhash processor](beats://reference/filebeat/community-id.md) is not supported. -* The [Azure module](beats://reference/filebeat/filebeat-module-azure.md) including the [Azure eventhub input](beats://reference/filebeat/filebeat-input-azure-eventhub.md) and the [Azure Blob Storage Input](https://www.elastic.co/docs/reference/beats/filebeat/filebeat-input-azure-blob-storage) are not currently supported. The [Add Cloud Metadata processor](beats://reference/filebeat/add-cloud-metadata.md) does not support the Azure Virtual Machine provider currently. -* The [Office 365 module (Beta)](beats://reference/filebeat/filebeat-module-o365.md) and the [Office 365 input (Deprecated)](https://www.elastic.co/docs/reference/beats/filebeat/filebeat-input-o365audit) are not supported. -* The [GCP Pub/Sub input](beats://reference/filebeat/filebeat-input-gcp-pubsub.md) and the [Google Cloud Storage input](https://www.elastic.co/docs/reference/beats/filebeat/filebeat-input-gcs) are not supported for now. -* The [Entity Analytics input](https://www.elastic.co/docs/reference/beats/filebeat/filebeat-input-entity-analytics) is not supported. +* The [Fingerprint processor](beats://reference/filebeat/fingerprint.md) does not support the md5 and sha1 method. +* The [Community ID Network Flowhash processor](beats://reference/filebeat/community-id.md) is not supported. +* The [Azure module](beats://reference/filebeat/filebeat-module-azure.md) including the [Azure eventhub input](beats://reference/filebeat/filebeat-input-azure-eventhub.md) and the [Azure Blob Storage Input](https://www.elastic.co/docs/reference/beats/filebeat/filebeat-input-azure-blob-storage) are not currently supported. The [Add Cloud Metadata processor](beats://reference/filebeat/add-cloud-metadata.md) does not support the Azure Virtual Machine provider currently. +* The [Office 365 module (Beta)](beats://reference/filebeat/filebeat-module-o365.md) and the [Office 365 input (Deprecated)](https://www.elastic.co/docs/reference/beats/filebeat/filebeat-input-o365audit) are not supported. +* The [GCP Pub/Sub input](beats://reference/filebeat/filebeat-input-gcp-pubsub.md) and the [Google Cloud Storage input](https://www.elastic.co/docs/reference/beats/filebeat/filebeat-input-gcs) are not supported for now. +* The [Entity Analytics input](https://www.elastic.co/docs/reference/beats/filebeat/filebeat-input-entity-analytics) is not supported. ### Metricbeat [ingest-metricbeat-limitations] -* The [Secrets Keystore](beats://reference/metricbeat/keystore.md) is not supported. +* The [Secrets Keystore](beats://reference/metricbeat/keystore.md) is not supported. * The [Translate GUID processor](beats://reference/metricbeat/processor-translate-guid.md) is not supported. -* The [Fingerprint processor](beats://reference/metricbeat/fingerprint.md) does not support the md5 and sha1 method. -* The [Community ID Network Flowhash processor](beats://reference/metricbeat/community-id.md) is not supported. -* The [Azure module](beats://reference/metricbeat/metricbeat-module-azure.md) is currently not supported. The [Add Cloud Metadata processor](beats://reference/metricbeat/add-cloud-metadata.md) does not support the Azure Virtual Machine provider currently. -* The [Google Cloud Platform module](https://www.elastic.co/docs/reference/beats/metricbeat/metricbeat-module-gcp) is currently not supported. +* The [Fingerprint processor](beats://reference/metricbeat/fingerprint.md) does not support the md5 and sha1 method. +* The [Community ID Network Flowhash processor](beats://reference/metricbeat/community-id.md) is not supported. +* The [Azure module](beats://reference/metricbeat/metricbeat-module-azure.md) is currently not supported. The [Add Cloud Metadata processor](beats://reference/metricbeat/add-cloud-metadata.md) does not support the Azure Virtual Machine provider currently. +* The [Google Cloud Platform module](https://www.elastic.co/docs/reference/beats/metricbeat/metricbeat-module-gcp) is currently not supported. * The [Beta KVM module](beats://reference/metricbeat/metricbeat-module-kvm.md) is not yet supported. -* The [Mongo DB module](beats://reference/metricbeat/metricbeat-module-mongodb.md) is not supported. -* The [MySQL](beats://reference/metricbeat/metricbeat-module-mysql.md), [PostgreSQL](beats://reference/metricbeat/metricbeat-module-postgresql.md), [MSSQL](beats://reference/metricbeat/metricbeat-module-mssql.md) and [SQL](beats://reference/metricbeat/metricbeat-module-sql.md) modules are not supported. -* The [Oracle module](beats://reference/metricbeat/metricbeat-module-oracle.md) is not supported. +* The [Mongo DB module](beats://reference/metricbeat/metricbeat-module-mongodb.md) is not supported. +* The [MySQL](beats://reference/metricbeat/metricbeat-module-mysql.md), [PostgreSQL](beats://reference/metricbeat/metricbeat-module-postgresql.md), [MSSQL](beats://reference/metricbeat/metricbeat-module-mssql.md) and [SQL](beats://reference/metricbeat/metricbeat-module-sql.md) modules are not supported. +* The [Oracle module](beats://reference/metricbeat/metricbeat-module-oracle.md) is not supported. ### Elastic Agent and Fleet Server [ingest-limitations-agent] @@ -87,7 +87,7 @@ When you use {{agent}} and {{fleet-server}}, these limitations apply: ### Elastic Integrations that are not FIPS compatible [ingest-limitations-integrations] -These Elastic Integrations have components that are **not** FIPS compatible, and **cannot** be used in FIPS environments, even if combined with other ingest tools that offer FIPS mode. +These Elastic Integrations have components that are **not** FIPS compatible, and **cannot** be used in FIPS environments, even if combined with other ingest tools that offer FIPS mode. - [Azure Logs Integration (v2 preview)](integration-docs://reference/azure/events.md) - [Azure Event Hub Input](integration-docs://reference/azure/eventhub.md) @@ -99,7 +99,7 @@ These Elastic Integrations have components that are **not** FIPS compatible, and - [Custom Azure Logs Integration](integration-docs://reference/azure_logs.md) - [Azure Resource Metrics Integration](integration-docs://reference/azure_metrics.md) - [Azure OpenAI Integration](integration-docs://reference/azure_openai.md) -- [SQL Input](integration-docs://reference/sql.md) +- [SQL Input](integration-docs://reference/sql.md) - [PostgreSQL Integration](integration-docs://reference/postgresql.md) - [MongoDB Integration](integration-docs://reference/mongodb.md) - [MySQL Integration](integration-docs://reference/mysql.md) diff --git a/deploy-manage/security/secure-settings.md b/deploy-manage/security/secure-settings.md index 418750bd54..346c1d073c 100644 --- a/deploy-manage/security/secure-settings.md +++ b/deploy-manage/security/secure-settings.md @@ -39,7 +39,7 @@ This section describes how to configure and manage secure settings in each keyst * [{{kib}} secure settings](./secure-settings.md#kibana) :::{tip} -For information about the APM keystore, refer to [](/solutions/observability/apm/secrets-keystore-for-secure-settings.md). +For information about the APM keystore, refer to [](/solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md). ::: ## {{es}} secure settings [elasticsearch] diff --git a/manage-data/ingest/ingesting-data-for-elastic-solutions.md b/manage-data/ingest/ingesting-data-for-elastic-solutions.md index 20d0396dd2..c14d632327 100644 --- a/manage-data/ingest/ingesting-data-for-elastic-solutions.md +++ b/manage-data/ingest/ingesting-data-for-elastic-solutions.md @@ -63,7 +63,7 @@ With [Elastic Observability](https://www.elastic.co/observability), you can moni * [Monitor hosts with {{agent}} ({{serverless-short}})](https://docs.elastic.co/serverless/observability/quickstarts/monitor-hosts-with-elastic-agent) * [Monitor your K8s cluster with {{agent}} ({{serverless-short}})](https://docs.elastic.co/serverless/observability/quickstarts/k8s-logs-metrics) -* [Use OpenTelemetry with APM](/solutions/observability/apm/use-opentelemetry-with-apm.md) +* [Use OpenTelemetry with APM](/solutions/observability/apm/opentelemetry/index.md) **Resources** diff --git a/redirects.yml b/redirects.yml index 04014b6198..5ddaf15a78 100644 --- a/redirects.yml +++ b/redirects.yml @@ -14,8 +14,8 @@ redirects: 'solutions/observability/apps/application-performance-monitoring-apm.md': 'solutions/observability/apm/index.md' 'solutions/observability/apps/get-started-with-apm.md': 'solutions/observability/apm/get-started.md' 'solutions/observability/apps/get-started-apm-serverless.md': 'solutions/observability/apm/get-started.md' - 'solutions/observability/apps/fleet-managed-apm-server.md': 'solutions/observability/apm/apm-server-fleet-managed.md' - 'solutions/observability/apps/apm-server-binary.md': 'solutions/observability/apm/apm-server-binary.md' + 'solutions/observability/apps/fleet-managed-apm-server.md': 'solutions/observability/apm/apm-server/fleet-managed.md' + 'solutions/observability/apps/apm-server-binary.md': 'solutions/observability/apm/apm-server/binary.md' 'solutions/observability/apps/learn-about-application-data-types.md': 'solutions/observability/apm/data-types.md' 'solutions/observability/apps/spans.md': 'solutions/observability/apm/spans.md' 'solutions/observability/apps/transactions.md': 'solutions/observability/apm/transactions.md' @@ -24,20 +24,20 @@ redirects: 'solutions/observability/apps/errors.md': 'solutions/observability/apm/errors.md' 'solutions/observability/apps/metrics.md': 'solutions/observability/apm/metrics.md' 'solutions/observability/apps/metadata.md': 'solutions/observability/apm/metadata.md' - 'solutions/observability/apps/collect-application-data.md': 'solutions/observability/apm/collect-application-data.md' - 'solutions/observability/apps/elastic-apm-agents.md': 'solutions/observability/apm/elastic-apm-agents.md' - 'solutions/observability/apps/apm-agent-central-configuration.md': 'solutions/observability/apm/apm-agent-central-configuration.md' - 'solutions/observability/apps/real-user-monitoring-rum.md': 'solutions/observability/apm/real-user-monitoring-rum.md' - 'solutions/observability/apps/create-upload-source-maps-rum.md': 'solutions/observability/apm/create-upload-source-maps-rum.md' - 'solutions/observability/apps/use-opentelemetry-with-apm.md': 'solutions/observability/apm/use-opentelemetry-with-apm.md' - 'solutions/observability/apps/upstream-opentelemetry-collectors-language-sdks.md': 'solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md' - 'solutions/observability/apps/collect-metrics.md': 'solutions/observability/apm/collect-metrics.md' - 'solutions/observability/apps/limitations.md': 'solutions/observability/apm/limitations.md' - 'solutions/observability/apps/resource-atrributes.md': 'solutions/observability/apm/attributes.md' - 'solutions/observability/apps/resource-attributes.md': 'solutions/observability/apm/attributes.md' - 'solutions/observability/apps/apm-k8s-attacher.md': 'solutions/observability/apm/apm-k8s-attacher.md' - 'solutions/observability/apps/monitoring-aws-lambda-functions.md': 'solutions/observability/apm/monitor-aws-lambda-functions.md' - 'solutions/observability/apps/integrate-with-jaeger-deprecated.md': 'solutions/observability/apm/jaeger.md' + 'solutions/observability/apps/collect-application-data.md': 'solutions/observability/apm/ingest/index.md' + 'solutions/observability/apps/elastic-apm-agents.md': 'solutions/observability/apm/apm-agents/index.md' + 'solutions/observability/apps/apm-agent-central-configuration.md': 'solutions/observability/apm/apm-agents/central-configuration.md' + 'solutions/observability/apps/real-user-monitoring-rum.md': 'solutions/observability/apm/apm-agents/real-user-monitoring-rum.md' + 'solutions/observability/apps/create-upload-source-maps-rum.md': 'solutions/observability/apm/apm-agents/create-upload-source-maps-rum.md' + 'solutions/observability/apps/use-opentelemetry-with-apm.md': 'solutions/observability/apm/opentelemetry/index.md' + 'solutions/observability/apps/upstream-opentelemetry-collectors-language-sdks.md': 'solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md' + 'solutions/observability/apps/collect-metrics.md': 'solutions/observability/apm/opentelemetry/collect-metrics.md' + 'solutions/observability/apps/limitations.md': 'solutions/observability/apm/opentelemetry/limitations.md' + 'solutions/observability/apps/resource-atrributes.md': 'solutions/observability/apm/opentelemetry/attributes.md' + 'solutions/observability/apps/resource-attributes.md': 'solutions/observability/apm/opentelemetry/attributes.md' + 'solutions/observability/apps/apm-k8s-attacher.md': 'solutions/observability/apm/ingest/apm-k8s-attacher.md' + 'solutions/observability/apps/monitoring-aws-lambda-functions.md': 'solutions/observability/apm/ingest/monitor-aws-lambda-functions.md' + 'solutions/observability/apps/integrate-with-jaeger-deprecated.md': 'solutions/observability/apm/ingest/jaeger.md' 'solutions/observability/apps/view-analyze-data.md': 'solutions/observability/apm/view-analyze-data.md' 'solutions/observability/apps/overviews.md': 'solutions/observability/apm/overviews.md' 'solutions/observability/apps/services.md': 'solutions/observability/apm/services.md' @@ -97,45 +97,45 @@ redirects: 'solutions/observability/apps/storage-sizing-guide.md': 'solutions/observability/apm/storage-sizing-guide.md' 'solutions/observability/apps/reduce-storage.md': 'solutions/observability/apm/reduce-storage.md' 'solutions/observability/apps/explore-data-in-elasticsearch.md': 'solutions/observability/apm/explore-data-in-elasticsearch.md' - 'solutions/observability/apps/configure-apm-server.md': 'solutions/observability/apm/configure-apm-server.md' - 'solutions/observability/apps/general-configuration-options.md': 'solutions/observability/apm/general-configuration-options.md' - 'solutions/observability/apps/configure-anonymous-authentication.md': 'solutions/observability/apm/configure-anonymous-authentication.md' - 'solutions/observability/apps/apm-agent-authorization.md': 'solutions/observability/apm/apm-agent-authorization.md' - 'solutions/observability/apps/configure-apm-agent-central-configuration.md': 'solutions/observability/apm/configure-apm-agent-central-configuration.md' - 'solutions/observability/apps/configure-apm-instrumentation.md': 'solutions/observability/apm/configure-apm-instrumentation.md' - 'solutions/observability/apps/configure-kibana-endpoint.md': 'solutions/observability/apm/configure-kibana-endpoint.md' - 'solutions/observability/apps/configure-logging.md': 'solutions/observability/apm/configure-logging.md' - 'solutions/observability/apps/configure-output.md': 'solutions/observability/apm/configure-output.md' - 'solutions/observability/apps/configure-output-for-elasticsearch-service-on-elastic-cloud.md': 'solutions/observability/apm/configure-output-for-elasticsearch-service-on-elastic-cloud.md' - 'solutions/observability/apps/configure-elasticsearch-output.md': 'solutions/observability/apm/configure-elasticsearch-output.md' - 'solutions/observability/apps/configure-logstash-output.md': 'solutions/observability/apm/configure-logstash-output.md' - 'solutions/observability/apps/configure-kafka-output.md': 'solutions/observability/apm/configure-kafka-output.md' - 'solutions/observability/apps/configure-redis-output.md': 'solutions/observability/apm/configure-redis-output.md' - 'solutions/observability/apps/configure-console-output.md': 'solutions/observability/apm/configure-console-output.md' - 'solutions/observability/apps/configure-project-paths.md': 'solutions/observability/apm/configure-project-paths.md' - 'solutions/observability/apps/configure-real-user-monitoring-rum.md': 'solutions/observability/apm/configure-real-user-monitoring-rum.md' - 'solutions/observability/apps/ssltls-settings.md': 'solutions/observability/apm/ssl-tls-settings.md' - 'solutions/observability/apps/ssltls-output-settings.md': 'solutions/observability/apm/ssl-tls-output-settings.md' - 'solutions/observability/apps/ssltls-input-settings.md': 'solutions/observability/apm/ssl-tls-input-settings.md' - 'solutions/observability/apps/tail-based-sampling.md': 'solutions/observability/apm/tail-based-sampling.md' - 'solutions/observability/apps/use-environment-variables-in-configuration.md': 'solutions/observability/apm/use-environment-variables-in-configuration.md' - 'solutions/observability/apps/apm-server-advanced-setup.md': 'solutions/observability/apm/apm-server-advanced-setup.md' - 'solutions/observability/apps/installation-layout.md': 'solutions/observability/apm/installation-layout.md' - 'solutions/observability/apps/secrets-keystore-for-secure-settings.md': 'solutions/observability/apm/secrets-keystore-for-secure-settings.md' - 'solutions/observability/apps/apm-server-command-reference.md': 'solutions/observability/apm/apm-server-command-reference.md' - 'solutions/observability/apps/tune-data-ingestion.md': 'solutions/observability/apm/tune-data-ingestion.md' - 'solutions/observability/apps/high-availability.md': 'solutions/observability/apm/high-availability.md' - 'solutions/observability/apps/apm-server-systemd.md': 'solutions/observability/apm/apm-server-systemd.md' - 'solutions/observability/apps/monitor-apm-server.md': 'solutions/observability/apm/monitor-apm-server.md' - 'solutions/observability/apps/monitor-fleet-managed-apm-server.md': 'solutions/observability/apm/monitor-fleet-managed-apm-server.md' - 'solutions/observability/apps/monitor-apm-server-binary.md': 'solutions/observability/apm/monitor-apm-server-binary.md' - 'solutions/observability/apps/use-internal-collection-to-send-monitoring-data.md': 'solutions/observability/apm/use-internal-collection-to-send-monitoring-data.md' - 'solutions/observability/apps/use-metricbeat-to-send-monitoring-data.md': 'solutions/observability/apm/use-metricbeat-to-send-monitoring-data.md' - 'solutions/observability/apps/use-select-metrics-emitted-directly-to-monitoring-cluster.md': 'solutions/observability/apm/use-select-metrics-emitted-directly-to-monitoring-cluster.md' + 'solutions/observability/apps/configure-apm-server.md': 'solutions/observability/apm/apm-server/configure.md' + 'solutions/observability/apps/general-configuration-options.md': 'solutions/observability/apm/apm-server/general-configuration-options.md' + 'solutions/observability/apps/configure-anonymous-authentication.md': 'solutions/observability/apm/apm-server/configure-anonymous-authentication.md' + 'solutions/observability/apps/apm-agent-authorization.md': 'solutions/observability/apm/apm-server/apm-agent-authorization.md' + 'solutions/observability/apps/configure-apm-agent-central-configuration.md': 'solutions/observability/apm/apm-server/apm-agent-central-configuration.md' + 'solutions/observability/apps/configure-apm-instrumentation.md': 'solutions/observability/apm/apm-server/configure-apm-instrumentation.md' + 'solutions/observability/apps/configure-kibana-endpoint.md': 'solutions/observability/apm/apm-server/configure-kibana-endpoint.md' + 'solutions/observability/apps/configure-logging.md': 'solutions/observability/apm/apm-server/configure-logging.md' + 'solutions/observability/apps/configure-output.md': 'solutions/observability/apm/apm-server/configure-output.md' + 'solutions/observability/apps/configure-output-for-elasticsearch-service-on-elastic-cloud.md': 'solutions/observability/apm/apm-server/configure-output-for-elasticsearch-service-on-elastic-cloud.md' + 'solutions/observability/apps/configure-elasticsearch-output.md': 'solutions/observability/apm/apm-server/configure-elasticsearch-output.md' + 'solutions/observability/apps/configure-logstash-output.md': 'solutions/observability/apm/apm-server/configure-logstash-output.md' + 'solutions/observability/apps/configure-kafka-output.md': 'solutions/observability/apm/apm-server/configure-kafka-output.md' + 'solutions/observability/apps/configure-redis-output.md': 'solutions/observability/apm/apm-server/configure-redis-output.md' + 'solutions/observability/apps/configure-console-output.md': 'solutions/observability/apm/apm-server/configure-console-output.md' + 'solutions/observability/apps/configure-project-paths.md': 'solutions/observability/apm/apm-server/configure-project-paths.md' + 'solutions/observability/apps/configure-real-user-monitoring-rum.md': 'solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md' + 'solutions/observability/apps/ssltls-settings.md': 'solutions/observability/apm/apm-server/ssl-tls-settings.md' + 'solutions/observability/apps/ssltls-output-settings.md': 'solutions/observability/apm/apm-server/ssl-tls-output-settings.md' + 'solutions/observability/apps/ssltls-input-settings.md': 'solutions/observability/apm/apm-server/ssl-tls-input-settings.md' + 'solutions/observability/apps/tail-based-sampling.md': 'solutions/observability/apm/apm-server/tail-based-sampling.md' + 'solutions/observability/apps/use-environment-variables-in-configuration.md': 'solutions/observability/apm/apm-server/use-environment-variables-in-configuration.md' + 'solutions/observability/apps/apm-server-advanced-setup.md': 'solutions/observability/apm/apm-server/advanced-setup.md' + 'solutions/observability/apps/installation-layout.md': 'solutions/observability/apm/apm-server/installation-layout.md' + 'solutions/observability/apps/secrets-keystore-for-secure-settings.md': 'solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md' + 'solutions/observability/apps/apm-server-command-reference.md': 'solutions/observability/apm/apm-server/command-reference.md' + 'solutions/observability/apps/tune-data-ingestion.md': 'solutions/observability/apm/apm-server/tune-data-ingestion.md' + 'solutions/observability/apps/high-availability.md': 'solutions/observability/apm/apm-server/high-availability.md' + 'solutions/observability/apps/apm-server-systemd.md': 'solutions/observability/apm/apm-server/systemd.md' + 'solutions/observability/apps/monitor-apm-server.md': 'solutions/observability/apm/apm-server/monitor.md' + 'solutions/observability/apps/monitor-fleet-managed-apm-server.md': 'solutions/observability/apm/apm-server/monitor-fleet-managed.md' + 'solutions/observability/apps/monitor-apm-server-binary.md': 'solutions/observability/apm/apm-server/monitor-binary.md' + 'solutions/observability/apps/use-internal-collection-to-send-monitoring-data.md': 'solutions/observability/apm/apm-server/use-internal-collection-to-send-monitoring-data.md' + 'solutions/observability/apps/use-metricbeat-to-send-monitoring-data.md': 'solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md' + 'solutions/observability/apps/use-select-metrics-emitted-directly-to-monitoring-cluster.md': 'solutions/observability/apm/apm-server/use-select-metrics-emitted-directly-to-monitoring-cluster.md' 'solutions/observability/apps/apm-apis.md': 'solutions/observability/apm/apis.md' 'solutions/observability/apps/apm-ui-api.md': 'solutions/observability/apm/apm-ui-api.md' - 'solutions/observability/apps/apm-server-api.md': 'solutions/observability/apm/apm-server-api.md' - 'solutions/observability/apps/apm-server-information-api.md': 'solutions/observability/apm/apm-server-information-api.md' + 'solutions/observability/apps/apm-server-api.md': 'solutions/observability/apm/apm-server/api.md' + 'solutions/observability/apps/apm-server-information-api.md': 'solutions/observability/apm/apm-server/information-api.md' 'solutions/observability/apps/elastic-apm-events-intake-api.md': 'solutions/observability/apm/elastic-apm-events-intake-api.md' 'solutions/observability/apps/elastic-apm-agent-configuration-api.md': 'solutions/observability/apm/elastic-apm-agent-configuration-api.md' 'solutions/observability/apps/opentelemetry-intake-api.md': 'solutions/observability/apm/opentelemetry-intake-api.md' @@ -301,8 +301,8 @@ redirects: # Related to 'solutions/observability/apm/get-started-serverless.md': 'solutions/observability/apm/get-started.md' - 'solutions/observability/apm/get-started-fleet-managed-apm-server.md': 'solutions/observability/apm/apm-server-fleet-managed.md' - 'solutions/observability/apm/get-started-apm-server-binary.md': 'solutions/observability/apm/apm-server-binary.md' + 'solutions/observability/apm/get-started-fleet-managed-apm-server.md': 'solutions/observability/apm/apm-server/fleet-managed.md' + 'solutions/observability/apm/get-started-apm-server-binary.md': 'solutions/observability/apm/apm-server/binary.md' # Related to https://github.com/elastic/docs-content/pull/2396 'solutions/security/configure-elastic-defend/enable-access-for-macos-monterey.md': 'solutions/security/configure-elastic-defend/enable-access-for-macos.md' @@ -364,3 +364,59 @@ redirects: 'deploy-manage/users-roles/cluster-or-deployment-auth/built-in-roles.md': 'elasticsearch://reference/elasticsearch/roles.md' 'deploy-manage/users-roles/cluster-or-deployment-auth/elasticsearch-privileges.md': 'elasticsearch://reference/elasticsearch/security-privileges.md' + 'solutions/observability/apm/apm-agent-central-configuration.md': 'solutions/observability/apm/apm-agents/central-configuration.md' + 'solutions/observability/apm/create-upload-source-maps-rum.md': 'solutions/observability/apm/apm-agents/create-upload-source-maps-rum.md' + 'solutions/observability/apm/elastic-apm-agents.md': 'solutions/observability/apm/apm-agents/index.md' + 'solutions/observability/apm/real-user-monitoring-rum.md': 'solutions/observability/apm/apm-agents/real-user-monitoring-rum.md' + 'solutions/observability/apm/apm-server-advanced-setup.md': 'solutions/observability/apm/apm-server/advanced-setup.md' + 'solutions/observability/apm/apm-server-api.md': 'solutions/observability/apm/apm-server/api.md' + 'solutions/observability/apm/apm-agent-authorization.md': 'solutions/observability/apm/apm-server/apm-agent-authorization.md' + 'solutions/observability/apm/configure-apm-agent-central-configuration.md': 'solutions/observability/apm/apm-server/apm-agent-central-configuration.md' + 'solutions/observability/apm/apm-server-binary.md': 'solutions/observability/apm/apm-server/binary.md' + 'solutions/observability/apm/apm-server-command-reference.md': 'solutions/observability/apm/apm-server/command-reference.md' + 'solutions/observability/apm/configure-anonymous-authentication.md': 'solutions/observability/apm/apm-server/configure-anonymous-authentication.md' + 'solutions/observability/apm/configure-apm-instrumentation.md': 'solutions/observability/apm/apm-server/configure-apm-instrumentation.md' + 'solutions/observability/apm/configure-console-output.md': 'solutions/observability/apm/apm-server/configure-console-output.md' + 'solutions/observability/apm/configure-elasticsearch-output.md': 'solutions/observability/apm/apm-server/configure-elasticsearch-output.md' + 'solutions/observability/apm/configure-kafka-output.md': 'solutions/observability/apm/apm-server/configure-kafka-output.md' + 'solutions/observability/apm/configure-kibana-endpoint.md': 'solutions/observability/apm/apm-server/configure-kibana-endpoint.md' + 'solutions/observability/apm/configure-logging.md': 'solutions/observability/apm/apm-server/configure-logging.md' + 'solutions/observability/apm/configure-logstash-output.md': 'solutions/observability/apm/apm-server/configure-logstash-output.md' + 'solutions/observability/apm/configure-output-for-elasticsearch-service-on-elastic-cloud.md': 'solutions/observability/apm/apm-server/configure-output-for-elasticsearch-service-on-elastic-cloud.md' + 'solutions/observability/apm/configure-project-paths.md': 'solutions/observability/apm/apm-server/configure-project-paths.md' + 'solutions/observability/apm/configure-real-user-monitoring-rum.md': 'solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md' + 'solutions/observability/apm/configure-redis-output.md': 'solutions/observability/apm/apm-server/configure-redis-output.md' + 'solutions/observability/apm/configure-apm-server.md': 'solutions/observability/apm/apm-server/configure.md' + 'solutions/observability/apm/apm-server-fleet-managed.md': 'solutions/observability/apm/apm-server/fleet-managed.md' + 'solutions/observability/apm/general-configuration-options.md': 'solutions/observability/apm/apm-server/general-configuration-options.md' + 'solutions/observability/apm/high-availability.md': 'solutions/observability/apm/apm-server/high-availability.md' + 'solutions/observability/apm/apm-server.md': 'solutions/observability/apm/apm-server/index.md' + 'solutions/observability/apm/apm-server-information-api.md': 'solutions/observability/apm/apm-server/information-api.md' + 'solutions/observability/apm/installation-layout.md': 'solutions/observability/apm/apm-server/installation-layout.md' + 'solutions/observability/apm/monitor-fleet-managed-apm-server.md': 'solutions/observability/apm/apm-server/monitor-fleet-managed.md' + 'solutions/observability/apm/monitor-apm-server.md': 'solutions/observability/apm/apm-server/monitor.md' + 'solutions/observability/apm/secrets-keystore-for-secure-settings.md': 'solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md' + 'solutions/observability/apm/apm-server-setup.md': 'solutions/observability/apm/apm-server/setup.md' + 'solutions/observability/apm/ssl-tls-input-settings.md': 'solutions/observability/apm/apm-server/ssl-tls-input-settings.md' + 'solutions/observability/apm/ssl-tls-output-settings.md': 'solutions/observability/apm/apm-server/ssl-tls-output-settings.md' + 'solutions/observability/apm/ssl-tls-settings.md': 'solutions/observability/apm/apm-server/ssl-tls-settings.md' + 'solutions/observability/apm/apm-server-systemd.md': 'solutions/observability/apm/apm-server/systemd.md' + 'solutions/observability/apm/tail-based-sampling.md': 'solutions/observability/apm/apm-server/tail-based-sampling.md' + 'solutions/observability/apm/tune-data-ingestion.md': 'solutions/observability/apm/apm-server/tune-data-ingestion.md' + 'solutions/observability/apm/use-environment-variables-in-configuration.md': 'solutions/observability/apm/apm-server/use-environment-variables-in-configuration.md' + 'solutions/observability/apm/use-internal-collection-to-send-monitoring-data.md': 'solutions/observability/apm/apm-server/use-internal-collection-to-send-monitoring-data.md' + 'solutions/observability/apm/use-metricbeat-to-send-monitoring-data.md': 'solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md' + 'solutions/observability/apm/use-select-metrics-emitted-directly-to-monitoring-cluster.md': 'solutions/observability/apm/apm-server/use-select-metrics-emitted-directly-to-monitoring-cluster.md' + 'solutions/observability/apm/apm-k8s-attacher.md': 'solutions/observability/apm/ingest/apm-k8s-attacher.md' + 'solutions/observability/apm/collect-application-data.md': 'solutions/observability/apm/ingest/index.md' + 'solutions/observability/apm/jaeger.md': 'solutions/observability/apm/ingest/jaeger.md' + 'solutions/observability/apm/monitor-aws-lambda-functions.md': 'solutions/observability/apm/ingest/monitor-aws-lambda-functions.md' + 'solutions/observability/apm/attributes.md': 'solutions/observability/apm/opentelemetry/attributes.md' + 'solutions/observability/apm/collect-metrics.md': 'solutions/observability/apm/opentelemetry/collect-metrics.md' + 'solutions/observability/apm/data-stream-routing.md': 'solutions/observability/apm/opentelemetry/data-stream-routing.md' + 'solutions/observability/apm/edot-sdks-central-configuration.md': 'solutions/observability/apm/opentelemetry/edot-sdks-central-configuration.md' + 'solutions/observability/apm/use-opentelemetry-with-apm.md': 'solutions/observability/apm/opentelemetry/index.md' + 'solutions/observability/apm/limitations.md': 'solutions/observability/apm/opentelemetry/limitations.md' + 'solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md': 'solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md' + 'solutions/observability/apm/configure-output.md': 'solutions/observability/apm/apm-server/configure-output.md' + 'solutions/observability/apm/monitor-apm-server-binary.md': 'solutions/observability/apm/apm-server/monitor-binary.md' diff --git a/reference/apm/cloud-enterprise/apm-settings.md b/reference/apm/cloud-enterprise/apm-settings.md index b9971e511c..7b3b0701c9 100644 --- a/reference/apm/cloud-enterprise/apm-settings.md +++ b/reference/apm/cloud-enterprise/apm-settings.md @@ -13,7 +13,7 @@ Starting in {{stack}} version 8.0, how you change APM settings and the settings : New deployments created in {{stack}} version 8.0 and later will be managed by {{fleet}}. * This mode requires SSL/TLS configuration. Check [TLS configuration for {{fleet}}-managed mode](#ece-edit-apm-fleet-tls) for details. - * Check [APM integration input settings](/solutions/observability/apm/configure-apm-server.md) for all other Elastic APM configuration options in this mode. + * Check [APM integration input settings](/solutions/observability/apm/apm-server/configure.md) for all other Elastic APM configuration options in this mode. Standalone APM Server (legacy) @@ -40,7 +40,7 @@ Pick one of the following options: Elastic Cloud Enterprise supports most of the legacy APM settings. Through a YAML editor in the console, you can append your APM Server properties to the `apm-server.yml` file. Your changes to the configuration file are read on startup. ::::{important} -Be aware that some settings could break your cluster if set incorrectly and that the syntax might change between major versions. Before upgrading, be sure to review the full list of the [latest APM settings and syntax](/solutions/observability/apm/configure-apm-server.md). +Be aware that some settings could break your cluster if set incorrectly and that the syntax might change between major versions. Before upgrading, be sure to review the full list of the [latest APM settings and syntax](/solutions/observability/apm/apm-server/configure.md). :::: diff --git a/reference/apm/cloud/apm-settings.md b/reference/apm/cloud/apm-settings.md index 5f951e3688..44f7a73032 100644 --- a/reference/apm/cloud/apm-settings.md +++ b/reference/apm/cloud/apm-settings.md @@ -12,7 +12,7 @@ Change how Elastic APM runs by providing your own user settings. Starting in {{s {{fleet}}-managed APM integration : New deployments created in {{stack}} version 8.0 and later will be managed by {{fleet}}. - Check [APM configuration reference](/solutions/observability/apm/configure-apm-server.md) for information on how to configure Elastic APM in this mode. + Check [APM configuration reference](/solutions/observability/apm/apm-server/configure.md) for information on how to configure Elastic APM in this mode. Standalone APM Server (legacy) @@ -47,7 +47,7 @@ If a setting is not supported by {{ech}}, you will get an error message when you ## Supported standalone APM settings (legacy) [ec-apm-settings] -{{ech}} generally supports the settings listed in [APM documentation](/solutions/observability/apm/configure-apm-server.md) under "APM Server binary" when running APM in standalone mode (legacy). For versions before 9, refer to [older documentation](https://www.elastic.co/guide/en/observability/8.18/apm-configuring-howto-apm-server.html). +{{ech}} generally supports the settings listed in [APM documentation](/solutions/observability/apm/apm-server/configure.md) under "APM Server binary" when running APM in standalone mode (legacy). For versions before 9, refer to [older documentation](https://www.elastic.co/guide/en/observability/8.18/apm-configuring-howto-apm-server.html). ::::{note} Some settings are intentionally restricted to maintain system stability. diff --git a/reference/apm/observability/apm-settings.md b/reference/apm/observability/apm-settings.md index ccccd3b93e..2534a4d5a9 100644 --- a/reference/apm/observability/apm-settings.md +++ b/reference/apm/observability/apm-settings.md @@ -9,22 +9,22 @@ products: How you configure the APM Server depends on your deployment method. -* **APM Server binary** users need to edit the `apm-server.yml` configuration file. The location of the file varies by platform. To locate the file, see [Installation layout](/solutions/observability/apm/installation-layout.md). +* **APM Server binary** users need to edit the `apm-server.yml` configuration file. The location of the file varies by platform. To locate the file, see [Installation layout](/solutions/observability/apm/apm-server/installation-layout.md). * **Fleet-managed** users configure the APM Server directly in {{kib}}. Each configuration page describes the specific location. * **Elastic cloud** users should see [Add APM user settings](/reference/apm/cloud/apm-settings.md) for information on how to configure Elastic APM. The following topics describe how to configure APM Server: -* [General configuration options](/solutions/observability/apm/general-configuration-options.md) -* [Anonymous authentication](/solutions/observability/apm/configure-anonymous-authentication.md) -* [APM agent authorization](/solutions/observability/apm/apm-agent-authorization.md) -* [APM agent central configuration](/solutions/observability/apm/configure-apm-agent-central-configuration.md) -* [Instrumentation](/solutions/observability/apm/configure-apm-instrumentation.md) -* [{{kib}} endpoint](/solutions/observability/apm/configure-kibana-endpoint.md) -* [Logging](/solutions/observability/apm/configure-logging.md) -* [Output](/solutions/observability/apm/configure-output.md) -* [Project paths](/solutions/observability/apm/configure-project-paths.md) -* [Real User Monitoring (RUM)](/solutions/observability/apm/configure-real-user-monitoring-rum.md) -* [SSL/TLS settings](/solutions/observability/apm/ssl-tls-settings.md) -* [Tail-based sampling](/solutions/observability/apm/tail-based-sampling.md) -* [Use environment variables in the configuration](/solutions/observability/apm/use-environment-variables-in-configuration.md) +* [General configuration options](/solutions/observability/apm/apm-server/general-configuration-options.md) +* [Anonymous authentication](/solutions/observability/apm/apm-server/configure-anonymous-authentication.md) +* [APM agent authorization](/solutions/observability/apm/apm-server/apm-agent-authorization.md) +* [APM agent central configuration](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md) +* [Instrumentation](/solutions/observability/apm/apm-server/configure-apm-instrumentation.md) +* [{{kib}} endpoint](/solutions/observability/apm/apm-server/configure-kibana-endpoint.md) +* [Logging](/solutions/observability/apm/apm-server/configure-logging.md) +* [Output](/solutions/observability/apm/apm-server/configure-output.md) +* [Project paths](/solutions/observability/apm/apm-server/configure-project-paths.md) +* [Real User Monitoring (RUM)](/solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md) +* [SSL/TLS settings](/solutions/observability/apm/apm-server/ssl-tls-settings.md) +* [Tail-based sampling](/solutions/observability/apm/apm-server/tail-based-sampling.md) +* [Use environment variables in the configuration](/solutions/observability/apm/apm-server/use-environment-variables-in-configuration.md) diff --git a/reference/apm/observability/apm.md b/reference/apm/observability/apm.md index 4f900b4da8..5bcb89205c 100644 --- a/reference/apm/observability/apm.md +++ b/reference/apm/observability/apm.md @@ -21,4 +21,4 @@ Metrics are another vital source of information when debugging production system ## Give Elastic APM a try [_give_elastic_apm_a_try] -Want to quickly spin up an APM deployment? Refer to [Get started for APM](/solutions/observability/apm/get-started.md). To host everything yourself instead, refer to [Set up APM Server](/solutions/observability/apm/apm-server-setup.md). +Want to quickly spin up an APM deployment? Refer to [Get started for APM](/solutions/observability/apm/get-started.md). To host everything yourself instead, refer to [Set up APM Server](/solutions/observability/apm/apm-server/setup.md). diff --git a/reference/index.md b/reference/index.md index 2d9211a1d1..9c9ca9088d 100644 --- a/reference/index.md +++ b/reference/index.md @@ -17,7 +17,7 @@ Explore the reference documentation for [Elastic APIs]({{apis}}). | {{es}} | • [{{es}}]({{es-apis}})
• [{{es-serverless}}]({{es-serverless-apis}})
| | {{kib}}
({{observability}}, {{elastic-sec}}, {{apm-agent}}, {{fleet}}, and more features) | • [{{kib}}]({{kib-apis}})
• [{{kib}} Serverless]({{kib-serverless-apis}})
| | {{ls}} | • [{{ls}}]({{ls-apis}})
| -| APM | • [APM Server](/solutions/observability/apm/apm-server-api.md)
• [Observability intake Serverless]({{intake-apis}})
| +| APM | • [APM Server](/solutions/observability/apm/apm-server/api.md)
• [Observability intake Serverless]({{intake-apis}})
| | {{ecloud}} | • [{{ech}}]({{cloud-apis}})
• [{{ecloud}} Serverless]({{cloud-serverless-apis}})
• [{{ece}}]({{ece-apis}})
• [{{eck}}](cloud-on-k8s://reference/api-docs.md)
• [{{ecloud}} billing]({{cloud-billing-apis}})
| ## Security diff --git a/solutions/_snippets/obs-apm-project.md b/solutions/_snippets/obs-apm-project.md index ba17150c89..6812df56d0 100644 --- a/solutions/_snippets/obs-apm-project.md +++ b/solutions/_snippets/obs-apm-project.md @@ -14,7 +14,7 @@ The [Elastic Distribution of OpenTelemetry (EDOT) SDKs](opentelemetry://referenc :::{tab-item} APM agents -Use the [APM agents](/solutions/observability/apm/elastic-apm-agents.md) to collect traces, metrics, and logs through {{apm-server-or-mis}}. +Use the [APM agents](/solutions/observability/apm/apm-agents/index.md) to collect traces, metrics, and logs through {{apm-server-or-mis}}. 1. Select **Add data** from the main menu and then select **Application**. 2. Select **Elastic APM**. diff --git a/solutions/observability/apm/anonymous-authentication.md b/solutions/observability/apm/anonymous-authentication.md index 3418ae354d..e6325d6d52 100644 --- a/solutions/observability/apm/anonymous-authentication.md +++ b/solutions/observability/apm/anonymous-authentication.md @@ -39,11 +39,11 @@ Additionally, the APM Server can rate-limit unauthenticated requests based on th :::::: ::::::{tab-item} APM Server binary -When an [API key](/solutions/observability/apm/api-keys.md) or [secret token](/solutions/observability/apm/secret-token.md) is configured, anonymous authentication must be enabled to collect RUM data. To enable anonymous access, set either [`apm-server.rum.enabled`](/solutions/observability/apm/configure-real-user-monitoring-rum.md#apm-rum-enable) or [`apm-server.auth.anonymous.enabled`](/solutions/observability/apm/configure-anonymous-authentication.md#apm-config-auth-anon-enabled) to `true`. +When an [API key](/solutions/observability/apm/api-keys.md) or [secret token](/solutions/observability/apm/secret-token.md) is configured, anonymous authentication must be enabled to collect RUM data. To enable anonymous access, set either [`apm-server.rum.enabled`](/solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md#apm-rum-enable) or [`apm-server.auth.anonymous.enabled`](/solutions/observability/apm/apm-server/configure-anonymous-authentication.md#apm-config-auth-anon-enabled) to `true`. Because anyone can send anonymous events to the APM Server, additional configuration variables are available to rate limit the number anonymous events the APM Server processes; throughput is equal to the `rate_limit.ip_limit` times the `rate_limit.event_limit`. -See [Anonymous authentication](/solutions/observability/apm/configure-anonymous-authentication.md) for a complete list of options and a sample configuration file. +See [Anonymous authentication](/solutions/observability/apm/apm-server/configure-anonymous-authentication.md) for a complete list of options and a sample configuration file. :::::: ::::::: diff --git a/solutions/observability/apm/api-keys.md b/solutions/observability/apm/api-keys.md index fb8b392235..e35b7fe781 100644 --- a/solutions/observability/apm/api-keys.md +++ b/solutions/observability/apm/api-keys.md @@ -21,7 +21,7 @@ When enabled, API keys are used to authorize requests to {{apm-server-or-mis}}. You can assign one or more unique privileges to each API key: -* **Agent configuration** (`config_agent:read`): Required for agents to read [Agent configuration remotely](/solutions/observability/apm/apm-agent-central-configuration.md). +* **Agent configuration** (`config_agent:read`): Required for agents to read [Agent configuration remotely](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md). * **Ingest** (`event:write`): Required for ingesting agent events. To secure the communication between APM Agents and either {{apm-server-or-mis}} with API keys, make sure [TLS](/solutions/observability/apm/apm-agent-tls-communication.md) is enabled, then complete these steps: @@ -36,7 +36,7 @@ To secure the communication between APM Agents and either {{apm-server-or-mis}} :::::::{tab-set} ::::::{tab-item} Fleet-managed -Enable API key authorization in the [API key authentication options](/solutions/observability/apm/apm-agent-authorization.md#apm-api-key-auth-settings). You should also set a limit on the number of unique API keys that APM Server allows per minute; this value should be the number of unique API keys configured in your monitored services. +Enable API key authorization in the [API key authentication options](/solutions/observability/apm/apm-server/apm-agent-authorization.md#apm-api-key-auth-settings). You should also set a limit on the number of unique API keys that APM Server allows per minute; this value should be the number of unique API keys configured in your monitored services. :::::: ::::::{tab-item} APM Server binary diff --git a/solutions/observability/apm/apis.md b/solutions/observability/apm/apis.md index 9dfddecbf1..06389adbd5 100644 --- a/solutions/observability/apm/apis.md +++ b/solutions/observability/apm/apis.md @@ -19,6 +19,6 @@ There are two kinds of APIs related to Elastic APM: | | | | --- | --- | | [APM UI API](/solutions/observability/apm/apm-ui-api.md) | {{kib}} APIs specific to working with the Applications UI including updating configuration options, uploading real user monitoring (RUM) source maps, adding annotations, and more. | -| [APM Server API](/solutions/observability/apm/apm-server-api.md) | APIs for working with APM Server. These are mainly intake APIs that accept data from APM agents and are used primarily by APM agent developers. | +| [APM Server API](/solutions/observability/apm/apm-server/api.md) | APIs for working with APM Server. These are mainly intake APIs that accept data from APM agents and are used primarily by APM agent developers. | | [Observability Intake Serverless API](/solutions/observability/apm/managed-intake-service-event-api.md) | The managed intake service exposes an API endpoint to query general server information. This lightweight endpoint is useful as a server up/down health check. This API is exclusively for APM agent developers. | diff --git a/solutions/observability/apm/apm-agent-tls-communication.md b/solutions/observability/apm/apm-agent-tls-communication.md index f1b5ed50bb..dc48c6d451 100644 --- a/solutions/observability/apm/apm-agent-tls-communication.md +++ b/solutions/observability/apm/apm-agent-tls-communication.md @@ -32,7 +32,7 @@ Enable TLS and configure the APM Server to point to the extracted certificate an :::::::{tab-set} ::::::{tab-item} Fleet-managed -Enable TLS in the APM integration settings and use the [SSL/TLS input settings](/solutions/observability/apm/ssl-tls-input-settings.md) to set the path to the server certificate and key. +Enable TLS in the APM integration settings and use the [SSL/TLS input settings](/solutions/observability/apm/apm-server/ssl-tls-input-settings.md) to set the path to the server certificate and key. :::::: ::::::{tab-item} APM Server binary @@ -44,7 +44,7 @@ apm-server.ssl.certificate: "/path/to/apm-server.crt" apm-server.ssl.key: "/path/to/apm-server.key" ``` -A full list of configuration options is available in [SSL/TLS input settings](/solutions/observability/apm/ssl-tls-input-settings.md). +A full list of configuration options is available in [SSL/TLS input settings](/solutions/observability/apm/apm-server/ssl-tls-input-settings.md). ::::{tip} If APM agents are authenticating themselves using a certificate that cannot be authenticated through known CAs (e.g. self signed certificates), use the `ssl.certificate_authorities` to set a custom CA. This will automatically modify the `ssl.client_authentication` configuration to require authentication. diff --git a/solutions/observability/apm/apm-agent-central-configuration.md b/solutions/observability/apm/apm-agents/central-configuration.md similarity index 92% rename from solutions/observability/apm/apm-agent-central-configuration.md rename to solutions/observability/apm/apm-agents/central-configuration.md index 4c42f8c1df..5f44a54d10 100644 --- a/solutions/observability/apm/apm-agent-central-configuration.md +++ b/solutions/observability/apm/apm-agents/central-configuration.md @@ -21,7 +21,7 @@ To get started, select the services and environments you want to configure. The ::: ::::{important} -To configure EDOT SDKs through APM Agent Central Configuration, refer to [EDOT SDKs Central Configuration](edot-sdks-central-configuration.md). +To configure EDOT SDKs through APM Agent Central Configuration, refer to [EDOT SDKs Central Configuration](/solutions/observability/apm/opentelemetry/edot-sdks-central-configuration.md). :::: ## Precedence [_precedence] @@ -68,7 +68,7 @@ Real User Monitoring (RUM) agent For most users, APM agent configuration should work out-of-the-box. If you run into trouble, it may be because you’re not using the {{es}} output, or because your {{es}} credentials don’t have sufficient privileges. -Refer to [configure APM agent configuration](/solutions/observability/apm/configure-apm-agent-central-configuration.md) to learn how to configure APM Server to avoid these problems. +Refer to [configure APM agent configuration](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md) to learn how to configure APM Server to avoid these problems. ::::{note} You can't configure APM agents through the EDOT Collector. Use APM Server for that purpose. diff --git a/solutions/observability/apm/create-upload-source-maps-rum.md b/solutions/observability/apm/apm-agents/create-upload-source-maps-rum.md similarity index 100% rename from solutions/observability/apm/create-upload-source-maps-rum.md rename to solutions/observability/apm/apm-agents/create-upload-source-maps-rum.md diff --git a/solutions/observability/apm/elastic-apm-agents.md b/solutions/observability/apm/apm-agents/index.md similarity index 100% rename from solutions/observability/apm/elastic-apm-agents.md rename to solutions/observability/apm/apm-agents/index.md diff --git a/solutions/observability/apm/real-user-monitoring-rum.md b/solutions/observability/apm/apm-agents/real-user-monitoring-rum.md similarity index 100% rename from solutions/observability/apm/real-user-monitoring-rum.md rename to solutions/observability/apm/apm-agents/real-user-monitoring-rum.md diff --git a/solutions/observability/apm/apm-server-advanced-setup.md b/solutions/observability/apm/apm-server/advanced-setup.md similarity index 50% rename from solutions/observability/apm/apm-server-advanced-setup.md rename to solutions/observability/apm/apm-server/advanced-setup.md index 21987a0fe4..87a1cca4fc 100644 --- a/solutions/observability/apm/apm-server-advanced-setup.md +++ b/solutions/observability/apm/apm-server/advanced-setup.md @@ -11,14 +11,14 @@ products: # APM Server advanced setup [apm-setting-up-and-running] -Before reading this section, refer to [](/solutions/observability/apm/apm-server-setup.md) for basic installation and running instructions. +Before reading this section, refer to [](/solutions/observability/apm/apm-server/setup.md) for basic installation and running instructions. This section includes additional information on how to set up and run APM Server, including: -* [Installation layout](/solutions/observability/apm/installation-layout.md) -* [Secrets keystore](/solutions/observability/apm/secrets-keystore-for-secure-settings.md) -* [Command reference](/solutions/observability/apm/apm-server-command-reference.md) -* [Tune data ingestion](/solutions/observability/apm/tune-data-ingestion.md) -* [High Availability](/solutions/observability/apm/high-availability.md) -* [Run APM Server on Docker](/solutions/observability/apm/apm-server-binary.md#apm-running-on-docker) +* [Installation layout](/solutions/observability/apm/apm-server/installation-layout.md) +* [Secrets keystore](/solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md) +* [Command reference](/solutions/observability/apm/apm-server/command-reference.md) +* [Tune data ingestion](/solutions/observability/apm/apm-server/tune-data-ingestion.md) +* [High Availability](/solutions/observability/apm/apm-server/high-availability.md) +* [Run APM Server on Docker](/solutions/observability/apm/apm-server/binary.md#apm-running-on-docker) diff --git a/solutions/observability/apm/apm-server-api.md b/solutions/observability/apm/apm-server/api.md similarity index 96% rename from solutions/observability/apm/apm-server-api.md rename to solutions/observability/apm/apm-server/api.md index 886f322199..3b8ea99ac2 100644 --- a/solutions/observability/apm/apm-server-api.md +++ b/solutions/observability/apm/apm-server/api.md @@ -12,7 +12,7 @@ products: The APM Server exposes endpoints for: -* [APM Server information API](/solutions/observability/apm/apm-server-information-api.md) +* [APM Server information API](/solutions/observability/apm/apm-server/information-api.md) * [Elastic APM events intake API](/solutions/observability/apm/elastic-apm-events-intake-api.md) * [Elastic APM agent configuration API](/solutions/observability/apm/elastic-apm-agent-configuration-api.md) * [OpenTelemetry intake API](/solutions/observability/apm/opentelemetry-intake-api.md) diff --git a/solutions/observability/apm/apm-agent-authorization.md b/solutions/observability/apm/apm-server/apm-agent-authorization.md similarity index 100% rename from solutions/observability/apm/apm-agent-authorization.md rename to solutions/observability/apm/apm-server/apm-agent-authorization.md diff --git a/solutions/observability/apm/configure-apm-agent-central-configuration.md b/solutions/observability/apm/apm-server/apm-agent-central-configuration.md similarity index 96% rename from solutions/observability/apm/configure-apm-agent-central-configuration.md rename to solutions/observability/apm/apm-server/apm-agent-central-configuration.md index b7781410c9..a0dfbfb370 100644 --- a/solutions/observability/apm/configure-apm-agent-central-configuration.md +++ b/solutions/observability/apm/apm-server/apm-agent-central-configuration.md @@ -19,7 +19,7 @@ APM agent central configuration is supported by all APM Server deployment method APM Agent Central Configuration allows you to fine-tune your APM agents from within the Applications UI. Changes are automatically propagated to your agents, so there’s no need to redeploy your applications. -To learn more about this feature, see [APM Agent Central Configuration](/solutions/observability/apm/apm-agent-central-configuration.md). +To learn more about this feature, see [APM Agent Central Configuration](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md). ::::{note} To configure EDOT SDKs through APM Agent Central Configuration, refer to [EDOT SDKs Central Configuration](opentelemetry://reference/central-configuration.md). @@ -44,7 +44,7 @@ When using APM agent central configuration, information fetched from {{es}} will ### `apm-server.agent.config.elasticsearch` [apm-agent-config-elasticsearch] -Takes the same options as [output.elasticsearch](/solutions/observability/apm/configure-elasticsearch-output.md). +Takes the same options as [output.elasticsearch](/solutions/observability/apm/apm-server/configure-elasticsearch-output.md). For APM Server binary users and Elastic Agent standalone-managed APM Server, APM agent central configuration is automatically fetched from {{es}} using the `output.elasticsearch` configuration. If `output.elasticsearch` isn’t set or doesn’t have sufficient privileges, use these {{es}} options to provide {{es}} access. diff --git a/solutions/observability/apm/apm-server-binary.md b/solutions/observability/apm/apm-server/binary.md similarity index 98% rename from solutions/observability/apm/apm-server-binary.md rename to solutions/observability/apm/apm-server/binary.md index 8eb10af7de..b6a36041a7 100644 --- a/solutions/observability/apm/apm-server-binary.md +++ b/solutions/observability/apm/apm-server/binary.md @@ -88,7 +88,7 @@ See [Running on Docker](#apm-running-on-docker) for deploying Docker containers. ## Step 2: Set up and configure [apm-server-configuration] -Configure APM by editing the `apm-server.yml` configuration file. The location of this file varies by platform—see the [Installation layout](/solutions/observability/apm/installation-layout.md) for help locating it. +Configure APM by editing the `apm-server.yml` configuration file. The location of this file varies by platform—see the [Installation layout](/solutions/observability/apm/apm-server/installation-layout.md) for help locating it. A minimal configuration file might look like this: @@ -105,7 +105,7 @@ output.elasticsearch: 2. The {{es}} `host:port` to connect to. 3. This example uses basic authentication. The user provided here needs the privileges required to publish events to {{es}}. To create a dedicated user for this role, see [Create a *writer* role](/solutions/observability/apm/create-assign-feature-roles-to-apm-server-users.md#apm-privileges-to-publish-events). -All available configuration options are outlined in [configuring APM Server](/solutions/observability/apm/configure-apm-server.md). +All available configuration options are outlined in [configuring APM Server](/solutions/observability/apm/apm-server/configure.md). ## Step 3: Start [apm-server-starting] @@ -118,7 +118,7 @@ To start APM Server, run: ``` ::::{note} -The `-e` [global flag](/solutions/observability/apm/apm-server-command-reference.md#apm-global-flags) enables logging to stderr and disables syslog/file output. Remove this flag if you’ve enabled logging in the configuration file. For Linux systems, see [APM Server status and logs](/solutions/observability/apm/apm-server-systemd.md). +The `-e` [global flag](/solutions/observability/apm/apm-server/command-reference.md#apm-global-flags) enables logging to stderr and disables syslog/file output. Remove this flag if you’ve enabled logging in the configuration file. For Linux systems, see [APM Server status and logs](/solutions/observability/apm/apm-server/systemd.md). :::: You should see APM Server start up. It will try to connect to {{es}} on localhost port `9200` and expose an API to agents on port `8200`. You can change the defaults in `apm-server.yml` or by supplying a different address on the command line: @@ -129,7 +129,7 @@ You should see APM Server start up. It will try to connect to {{es}} on localhos ### Debian Package / RPM [apm-running-deb-rpm] -For Debian package and RPM installations, we recommend the `apm-server` process runs as a non-root user. Therefore, these installation methods create an `apm-server` user which you can use to start the process. In addition, APM Server will only start if the configuration file is [owned by the user running the process](/solutions/observability/apm/apm-server-systemd.md#apm-config-file-ownership). +For Debian package and RPM installations, we recommend the `apm-server` process runs as a non-root user. Therefore, these installation methods create an `apm-server` user which you can use to start the process. In addition, APM Server will only start if the configuration file is [owned by the user running the process](/solutions/observability/apm/apm-server/systemd.md#apm-config-file-ownership). To start the APM Server in this case, run: @@ -137,7 +137,7 @@ To start the APM Server in this case, run: sudo -u apm-server apm-server [] ``` -By default, APM Server loads its configuration file from `/etc/apm-server/apm-server.yml`. See the [deb & rpm default paths](/solutions/observability/apm/installation-layout.md) for a full directory layout. +By default, APM Server loads its configuration file from `/etc/apm-server/apm-server.yml`. See the [deb & rpm default paths](/solutions/observability/apm/apm-server/installation-layout.md) for a full directory layout. ## Step 4: Install APM agents [apm-next-steps] @@ -737,7 +737,7 @@ const apm = initApm({ ::::::{tab-item} OpenTelemetry Elastic integrates with OpenTelemetry, allowing you to reuse your existing instrumentation to easily send observability data to the {{stack}}. -For more information on how to combine Elastic and OpenTelemetry, see [OpenTelemetry integration](/solutions/observability/apm/use-opentelemetry-with-apm.md). +For more information on how to combine Elastic and OpenTelemetry, see [OpenTelemetry integration](/solutions/observability/apm/opentelemetry/index.md). :::::: ::::::: @@ -915,7 +915,7 @@ docker run -d \ #### Customize your configuration [_customize_your_configuration] -The `apm-server.docker.yml` downloaded earlier should be customized for your environment. See [Configure APM Server](/solutions/observability/apm/configure-apm-server.md) for more details. Edit the configuration file and customize it to match your environment then re-deploy your APM Server container. +The `apm-server.docker.yml` downloaded earlier should be customized for your environment. See [Configure APM Server](/solutions/observability/apm/apm-server/configure.md) for more details. Edit the configuration file and customize it to match your environment then re-deploy your APM Server container. #### Custom image configuration [_custom_image_configuration] diff --git a/solutions/observability/apm/apm-server-command-reference.md b/solutions/observability/apm/apm-server/command-reference.md similarity index 94% rename from solutions/observability/apm/apm-server-command-reference.md rename to solutions/observability/apm/apm-server/command-reference.md index 59d4037254..093b3fdff5 100644 --- a/solutions/observability/apm/apm-server-command-reference.md +++ b/solutions/observability/apm/apm-server/command-reference.md @@ -34,7 +34,7 @@ Some of the features described here require an Elastic license. For more informa | [`apikey`](#apm-apikey-command) | Manage API Keys for communication between APM agents and server.

**This was deprecated in 8.6.0.** Create API Keys through Kibana or the Elasticsearch REST API. Refer to [API keys](/solutions/observability/apm/api-keys.md). | | [`export`](#apm-export-command) | Exports the configuration, index template, or {{ilm-init}} policy to stdout. | | [`help`](#apm-help-command) | Shows help for any command. | -| [`keystore`](#apm-keystore-command) | Manages the [secrets keystore](/solutions/observability/apm/secrets-keystore-for-secure-settings.md). | +| [`keystore`](#apm-keystore-command) | Manages the [secrets keystore](/solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md). | | [`run`](#apm-run-command) | Runs APM Server. This command is used by default if you start APM Server without specifying a command. | | [`test`](#apm-test-command) | Tests the configuration. | | [`version`](#apm-version-command) | Shows information about the current version. | @@ -208,7 +208,7 @@ apm-server help export ## `keystore` command [apm-keystore-command] -Manages the [secrets keystore](/solutions/observability/apm/secrets-keystore-for-secure-settings.md). +Manages the [secrets keystore](/solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md). **SYNOPSIS** @@ -252,7 +252,7 @@ apm-server keystore remove ES_PWD apm-server keystore list ``` -See [Secrets keystore](/solutions/observability/apm/secrets-keystore-for-secure-settings.md) for more examples. +See [Secrets keystore](/solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md) for more examples. ## `run` command [apm-run-command] @@ -384,19 +384,19 @@ These global flags are available whenever you run APM Server. : For logging purposes, specifies the environment that APM Server is running in. This setting is used to select a default log output when no log output is configured. Supported values are: `systemd`, `container`, `macos_service`, and `windows_service`. If `systemd` or `container` is specified, APM Server will log to stdout and stderr by default. **`--path.config`** -: Sets the path for configuration files. See the [Installation layout](/solutions/observability/apm/installation-layout.md) section for details. +: Sets the path for configuration files. See the [Installation layout](/solutions/observability/apm/apm-server/installation-layout.md) section for details. **`--path.data`** -: Sets the path for data files. See the [Installation layout](/solutions/observability/apm/installation-layout.md) section for details. +: Sets the path for data files. See the [Installation layout](/solutions/observability/apm/apm-server/installation-layout.md) section for details. **`--path.home`** -: Sets the path for miscellaneous files. See the [Installation layout](/solutions/observability/apm/installation-layout.md) section for details. +: Sets the path for miscellaneous files. See the [Installation layout](/solutions/observability/apm/apm-server/installation-layout.md) section for details. **`--path.logs`** -: Sets the path for log files. See the [Installation layout](/solutions/observability/apm/installation-layout.md) section for details. +: Sets the path for log files. See the [Installation layout](/solutions/observability/apm/apm-server/installation-layout.md) section for details. **`--strict.perms`** -: Sets strict permission checking on configuration files. The default is `-strict.perms=true`. See [Configuration file ownership](/solutions/observability/apm/apm-server-systemd.md#apm-config-file-ownership) for more information. +: Sets strict permission checking on configuration files. The default is `-strict.perms=true`. See [Configuration file ownership](/solutions/observability/apm/apm-server/systemd.md#apm-config-file-ownership) for more information. **`-v, --v`** : Logs INFO-level messages. diff --git a/solutions/observability/apm/configure-anonymous-authentication.md b/solutions/observability/apm/apm-server/configure-anonymous-authentication.md similarity index 94% rename from solutions/observability/apm/configure-anonymous-authentication.md rename to solutions/observability/apm/apm-server/configure-anonymous-authentication.md index 76e681c83c..3394779134 100644 --- a/solutions/observability/apm/configure-anonymous-authentication.md +++ b/solutions/observability/apm/apm-server/configure-anonymous-authentication.md @@ -52,9 +52,9 @@ All anonymous access configuration is ignored if [authenticated communication](/ ## Real User Monitoring (RUM) [apm-config-auth-anon-rum] -If an [API key](/solutions/observability/apm/api-keys.md) or [secret token](/solutions/observability/apm/secret-token.md) is configured, then anonymous authentication must be enabled to collect RUM data. For this reason, anonymous auth will be enabled automatically if [Enable RUM](/solutions/observability/apm/configure-real-user-monitoring-rum.md#apm-rum-enable) is set to `true`, and [Anonymous Agent access](#apm-config-auth-anon-enabled) is not explicitly defined. +If an [API key](/solutions/observability/apm/api-keys.md) or [secret token](/solutions/observability/apm/secret-token.md) is configured, then anonymous authentication must be enabled to collect RUM data. For this reason, anonymous auth will be enabled automatically if [Enable RUM](/solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md#apm-rum-enable) is set to `true`, and [Anonymous Agent access](#apm-config-auth-anon-enabled) is not explicitly defined. -See [Real User Monitoring (RUM)](/solutions/observability/apm/configure-real-user-monitoring-rum.md) for additional RUM configuration options. +See [Real User Monitoring (RUM)](/solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md) for additional RUM configuration options. ### Mitigating malicious requests [apm-config-auth-anon-mitigating] diff --git a/solutions/observability/apm/configure-apm-instrumentation.md b/solutions/observability/apm/apm-server/configure-apm-instrumentation.md similarity index 100% rename from solutions/observability/apm/configure-apm-instrumentation.md rename to solutions/observability/apm/apm-server/configure-apm-instrumentation.md diff --git a/solutions/observability/apm/configure-console-output.md b/solutions/observability/apm/apm-server/configure-console-output.md similarity index 100% rename from solutions/observability/apm/configure-console-output.md rename to solutions/observability/apm/apm-server/configure-console-output.md diff --git a/solutions/observability/apm/configure-elasticsearch-output.md b/solutions/observability/apm/apm-server/configure-elasticsearch-output.md similarity index 98% rename from solutions/observability/apm/configure-elasticsearch-output.md rename to solutions/observability/apm/apm-server/configure-elasticsearch-output.md index b34974d49c..9db3a9b4ce 100644 --- a/solutions/observability/apm/configure-elasticsearch-output.md +++ b/solutions/observability/apm/apm-server/configure-elasticsearch-output.md @@ -189,7 +189,7 @@ The HTTP request timeout in seconds for the {{es}} request. The default is 90. Configuration options for SSL parameters like the certificate authority to use for HTTPS-based connections. If the `ssl` section is missing, the host CAs are used for HTTPS connections to {{es}}. -See the [secure communication with {{es}}](#apm-securing-communication-elasticsearch) guide or [SSL configuration reference](/solutions/observability/apm/ssl-tls-output-settings.md) for more information. +See the [secure communication with {{es}}](#apm-securing-communication-elasticsearch) guide or [SSL configuration reference](/solutions/observability/apm/apm-server/ssl-tls-output-settings.md) for more information. ## Secure communication with {{es}} [apm-securing-communication-elasticsearch] @@ -262,4 +262,4 @@ Authentication is specified in the APM Server configuration file: More information on sending data to a secured cluster is available in the configuration reference: -* [SSL/TLS output settings](/solutions/observability/apm/ssl-tls-output-settings.md) +* [SSL/TLS output settings](/solutions/observability/apm/apm-server/ssl-tls-output-settings.md) diff --git a/solutions/observability/apm/configure-kafka-output.md b/solutions/observability/apm/apm-server/configure-kafka-output.md similarity index 97% rename from solutions/observability/apm/configure-kafka-output.md rename to solutions/observability/apm/apm-server/configure-kafka-output.md index e4012c7686..d87b3c102e 100644 --- a/solutions/observability/apm/configure-kafka-output.md +++ b/solutions/observability/apm/apm-server/configure-kafka-output.md @@ -176,7 +176,7 @@ The number of concurrent load-balanced Kafka output workers. Output codec configuration. If the `codec` section is missing, events will be JSON encoded. -See [Change the output codec](/solutions/observability/apm/configure-console-output.md#apm-configuration-output-codec) for more information. +See [Change the output codec](/solutions/observability/apm/apm-server/configure-console-output.md#apm-configuration-output-codec) for more information. ### `metadata` [_metadata] @@ -273,5 +273,5 @@ Enable Kerberos FAST authentication. This may conflict with some Active Director ### `ssl` [_ssl_3] -Configuration options for SSL parameters like the root CA for Kafka connections. The Kafka host keystore should be created with the `-keyalg RSA` argument to ensure it uses a cipher supported by [{{filebeat}}'s Kafka library](https://github.com/Shopify/sarama/wiki/Frequently-Asked-Questions#why-cant-sarama-connect-to-my-kafka-cluster-using-ssl). See [SSL/TLS output settings](/solutions/observability/apm/ssl-tls-output-settings.md) for more information. +Configuration options for SSL parameters like the root CA for Kafka connections. The Kafka host keystore should be created with the `-keyalg RSA` argument to ensure it uses a cipher supported by [{{filebeat}}'s Kafka library](https://github.com/Shopify/sarama/wiki/Frequently-Asked-Questions#why-cant-sarama-connect-to-my-kafka-cluster-using-ssl). See [SSL/TLS output settings](/solutions/observability/apm/apm-server/ssl-tls-output-settings.md) for more information. diff --git a/solutions/observability/apm/configure-kibana-endpoint.md b/solutions/observability/apm/apm-server/configure-kibana-endpoint.md similarity index 94% rename from solutions/observability/apm/configure-kibana-endpoint.md rename to solutions/observability/apm/apm-server/configure-kibana-endpoint.md index 1d8afa9b59..ef6cf00c5f 100644 --- a/solutions/observability/apm/configure-kibana-endpoint.md +++ b/solutions/observability/apm/apm-server/configure-kibana-endpoint.md @@ -16,7 +16,7 @@ products: You must configure the {{kib}} endpoint when running the APM Server binary with a non-{{es}} output. Configuring the {{kib}} endpoint allows the APM Server to communicate with {{kib}} and ensure that the APM integration was properly set up. It is also required for APM agent configuration when using an output other than {{es}}. -For all other use-cases, starting in version 8.7.0, APM agent configurations is fetched directly from {{es}}. Configuring and enabling the {{kib}} endpoint is only used as a fallback. See [APM agent central configuration](/solutions/observability/apm/configure-apm-agent-central-configuration.md) instead. +For all other use-cases, starting in version 8.7.0, APM agent configurations is fetched directly from {{es}}. Configuring and enabling the {{kib}} endpoint is only used as a fallback. See [APM agent central configuration](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md) instead. :::: @@ -87,5 +87,5 @@ apm-server.kibana.ssl.certificate: "/etc/pki/client/cert.pem" apm-server.kibana.ssl.key: "/etc/pki/client/cert.key" ``` -For information on the additional SSL configuration options, see [SSL/TLS output settings](/solutions/observability/apm/ssl-tls-output-settings.md). +For information on the additional SSL configuration options, see [SSL/TLS output settings](/solutions/observability/apm/apm-server/ssl-tls-output-settings.md). diff --git a/solutions/observability/apm/configure-logging.md b/solutions/observability/apm/apm-server/configure-logging.md similarity index 97% rename from solutions/observability/apm/configure-logging.md rename to solutions/observability/apm/apm-server/configure-logging.md index 0de265fe4a..0c4efdefba 100644 --- a/solutions/observability/apm/configure-logging.md +++ b/solutions/observability/apm/apm-server/configure-logging.md @@ -33,11 +33,11 @@ logging.files: ``` ::::{tip} -In addition to setting logging options in the config file, you can modify the logging output configuration from the command line. See [Command reference](/solutions/observability/apm/apm-server-command-reference.md). +In addition to setting logging options in the config file, you can modify the logging output configuration from the command line. See [Command reference](/solutions/observability/apm/apm-server/command-reference.md). :::: ::::{warning} -When APM Server is running on a Linux system with systemd, it uses by default the `-e` command line option, that makes it write all the logging output to stderr so it can be captured by journald. Other outputs are disabled. See [APM Server and systemd](/solutions/observability/apm/apm-server-systemd.md) to know more and learn how to change this. +When APM Server is running on a Linux system with systemd, it uses by default the `-e` command line option, that makes it write all the logging output to stderr so it can be captured by journald. Other outputs are disabled. See [APM Server and systemd](/solutions/observability/apm/apm-server/systemd.md) to know more and learn how to change this. :::: ## Configuration options [_configuration_options_2] @@ -101,7 +101,7 @@ To configure multiple selectors, use the following [YAML list syntax](beats://re logging.selectors: [ harvester, input ] ``` -To override selectors at the command line, use the `-d` global flag (`-d` also sets the debug log level). For more information, see [Command reference](/solutions/observability/apm/apm-server-command-reference.md). +To override selectors at the command line, use the `-d` global flag (`-d` also sets the debug log level). For more information, see [Command reference](/solutions/observability/apm/apm-server/command-reference.md). ### `logging.metrics.enabled` [_logging_metrics_enabled] @@ -121,7 +121,7 @@ The period after which to log the internal metrics. The default is `30s`. ### `logging.files.path` [_logging_files_path] -The directory that log files are written to. The default is the logs path. See the [Installation layout](/solutions/observability/apm/installation-layout.md) section for details. +The directory that log files are written to. The default is the logs path. See the [Installation layout](/solutions/observability/apm/apm-server/installation-layout.md) section for details. ### `logging.files.name` [_logging_files_name] diff --git a/solutions/observability/apm/configure-logstash-output.md b/solutions/observability/apm/apm-server/configure-logstash-output.md similarity index 98% rename from solutions/observability/apm/configure-logstash-output.md rename to solutions/observability/apm/apm-server/configure-logstash-output.md index 75324523c0..2f57731555 100644 --- a/solutions/observability/apm/configure-logstash-output.md +++ b/solutions/observability/apm/apm-server/configure-logstash-output.md @@ -229,7 +229,7 @@ This parameter’s value will be assigned to the `metadata.beat` field. It can t #### `ssl` [_ssl_2] -Configuration options for SSL parameters like the root CA for {{ls}} connections. See [SSL/TLS output settings](/solutions/observability/apm/ssl-tls-output-settings.md) for more information. To use SSL, you must also configure the [{{beats}} input plugin for {{ls}}](logstash-docs-md://lsr/plugins-inputs-beats.md) to use SSL/TLS. +Configuration options for SSL parameters like the root CA for {{ls}} connections. See [SSL/TLS output settings](/solutions/observability/apm/apm-server/ssl-tls-output-settings.md) for more information. To use SSL, you must also configure the [{{beats}} input plugin for {{ls}}](logstash-docs-md://lsr/plugins-inputs-beats.md) to use SSL/TLS. #### `timeout` [_timeout_2] @@ -294,7 +294,7 @@ To use SSL mutual authentication: ssl.key: "/etc/client.key" ``` - For more information about these configuration options, see [SSL/TLS output settings](/solutions/observability/apm/ssl-tls-output-settings.md). + For more information about these configuration options, see [SSL/TLS output settings](/solutions/observability/apm/apm-server/ssl-tls-output-settings.md). 3. Configure {{ls}} to use SSL. In the {{ls}} config file, specify the following settings for the [{{beats}} input plugin for {{ls}}](logstash-docs-md://lsr/plugins-inputs-beats.md): diff --git a/solutions/observability/apm/configure-output-for-elasticsearch-service-on-elastic-cloud.md b/solutions/observability/apm/apm-server/configure-output-for-elasticsearch-service-on-elastic-cloud.md similarity index 98% rename from solutions/observability/apm/configure-output-for-elasticsearch-service-on-elastic-cloud.md rename to solutions/observability/apm/apm-server/configure-output-for-elasticsearch-service-on-elastic-cloud.md index 6a7d336a9b..516c4e5d5c 100644 --- a/solutions/observability/apm/configure-output-for-elasticsearch-service-on-elastic-cloud.md +++ b/solutions/observability/apm/apm-server/configure-output-for-elasticsearch-service-on-elastic-cloud.md @@ -19,7 +19,7 @@ This documentation only applies to APM Server binary users. :::: ::::{note} -This page refers to using a separate instance of APM Server with an existing [{{ech}} deployment](https://www.elastic.co/cloud/elasticsearch-service?page=docs&placement=docs-body). If you want to use APM on {{ech}}, see: [Create your deployment](/deploy-manage/deploy/elastic-cloud/create-an-elastic-cloud-hosted-deployment.md) and [Add APM user settings](/solutions/observability/apm/configure-apm-server.md). +This page refers to using a separate instance of APM Server with an existing [{{ech}} deployment](https://www.elastic.co/cloud/elasticsearch-service?page=docs&placement=docs-body). If you want to use APM on {{ech}}, see: [Create your deployment](/deploy-manage/deploy/elastic-cloud/create-an-elastic-cloud-hosted-deployment.md) and [Add APM user settings](/solutions/observability/apm/apm-server/configure.md). :::: APM Server comes with two settings that simplify the output configuration when used together with [{{ech}}](https://www.elastic.co/cloud/elasticsearch-service?page=docs&placement=docs-body). When defined, these setting overwrite settings from other parts in the configuration. diff --git a/solutions/observability/apm/apm-server/configure-output.md b/solutions/observability/apm/apm-server/configure-output.md new file mode 100644 index 0000000000..7c7aaaaeb1 --- /dev/null +++ b/solutions/observability/apm/apm-server/configure-output.md @@ -0,0 +1,26 @@ +--- +navigation_title: Output +mapped_pages: + - https://www.elastic.co/guide/en/observability/current/apm-configuring-output.html +applies_to: + stack: ga +products: + - id: observability + - id: apm +--- + +# Configure the output [apm-configuring-output] + +Output configuration options. + +* [{{ech}}](/solutions/observability/apm/apm-server/configure-output-for-elasticsearch-service-on-elastic-cloud.md) +* [{{es}}](/solutions/observability/apm/apm-server/configure-elasticsearch-output.md) +* [{{ls}}](/solutions/observability/apm/apm-server/configure-logstash-output.md) +* [Kafka](/solutions/observability/apm/apm-server/configure-kafka-output.md) +* [Redis](/solutions/observability/apm/apm-server/configure-redis-output.md) +* [Console](/solutions/observability/apm/apm-server/configure-console-output.md) + +## Source maps [apm-sourcemap-output] + +Source maps can be uploaded through all outputs but must eventually be stored in {{es}}. When using outputs other than {{es}}, `source_mapping.elasticsearch` must be set for source maps to be applied. Be sure to update `source_mapping.index_pattern` if source maps are stored in the non-default location. See [`source_mapping.elasticsearch`](/solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md#apm-config-sourcemapping-elasticsearch) for more details. + diff --git a/solutions/observability/apm/configure-project-paths.md b/solutions/observability/apm/apm-server/configure-project-paths.md similarity index 94% rename from solutions/observability/apm/configure-project-paths.md rename to solutions/observability/apm/apm-server/configure-project-paths.md index 0285d7e4a1..7dd427fd0d 100644 --- a/solutions/observability/apm/configure-project-paths.md +++ b/solutions/observability/apm/apm-server/configure-project-paths.md @@ -14,13 +14,13 @@ products: ::::{note} ![supported deployment methods](/solutions/images/observability-binary-yes-fm-no.svg "") -This documentation is only relevant for APM Server binary users. Fleet-managed paths are defined in [Installation layout](/solutions/observability/apm/installation-layout.md). +This documentation is only relevant for APM Server binary users. Fleet-managed paths are defined in [Installation layout](/solutions/observability/apm/apm-server/installation-layout.md). :::: The `path` section of the `apm-server.yml` config file contains configuration options that define where APM Server looks for its files. For example, APM Server looks for the {{es}} template file in the configuration path and writes log files in the logs path. -See the [Installation layout](/solutions/observability/apm/installation-layout.md) section for more details. +See the [Installation layout](/solutions/observability/apm/apm-server/installation-layout.md) section for more details. Here is an example configuration: diff --git a/solutions/observability/apm/configure-real-user-monitoring-rum.md b/solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md similarity index 87% rename from solutions/observability/apm/configure-real-user-monitoring-rum.md rename to solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md index 5a029a324b..bdd66a5be4 100644 --- a/solutions/observability/apm/configure-real-user-monitoring-rum.md +++ b/solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md @@ -68,7 +68,7 @@ To enable RUM support, set to `true`. By default this is disabled. (bool) | Fleet-managed | `Enable RUM` | ::::{note} -If an [API key](/solutions/observability/apm/api-keys.md) or [secret token](/solutions/observability/apm/secret-token.md) is configured, enabling RUM support will automatically enable [Anonymous authentication](/solutions/observability/apm/configure-anonymous-authentication.md). Anonymous authentication is required as the RUM agent runs in the browser. +If an [API key](/solutions/observability/apm/api-keys.md) or [secret token](/solutions/observability/apm/secret-token.md) is configured, enabling RUM support will automatically enable [Anonymous authentication](/solutions/observability/apm/apm-server/configure-anonymous-authentication.md). Anonymous authentication is required as the RUM agent runs in the browser. :::: @@ -140,17 +140,17 @@ Source maps are supported by all APM Server deployment methods, however, the opt ### `source_mapping.enabled` [apm-config-sourcemapping-enabled] -Used to enable/disable [source mapping](/solutions/observability/apm/create-upload-source-maps-rum.md) for RUM events. When enabled, the APM Server needs additional privileges to read source maps. See [Use feature roles](/solutions/observability/apm/create-assign-feature-roles-to-apm-server-users.md#apm-privileges-rum-source-mapping) for more details. +Used to enable/disable [source mapping](/solutions/observability/apm/apm-agents/create-upload-source-maps-rum.md) for RUM events. When enabled, the APM Server needs additional privileges to read source maps. See [Use feature roles](/solutions/observability/apm/create-assign-feature-roles-to-apm-server-users.md#apm-privileges-rum-source-mapping) for more details. Default: `true` ### `source_mapping.elasticsearch` [apm-config-sourcemapping-elasticsearch] -Configure the {{es}} source map retrieval location, taking the same options as [output.elasticsearch](/solutions/observability/apm/configure-elasticsearch-output.md). This must be set when using an output other than {{es}}, and that output is writing to {{es}}. Otherwise leave this section empty. +Configure the {{es}} source map retrieval location, taking the same options as [output.elasticsearch](/solutions/observability/apm/apm-server/configure-elasticsearch-output.md). This must be set when using an output other than {{es}}, and that output is writing to {{es}}. Otherwise leave this section empty. ### `source_mapping.cache.expiration` [apm-rum-sourcemap-cache] -If a source map has been uploaded to the APM Server, [source mapping](/solutions/observability/apm/create-upload-source-maps-rum.md) is automatically applied to documents sent to the RUM endpoint. Source maps are fetched from {{es}} and then kept in an in-memory cache for the configured time. Values configured without a time unit are treated as seconds. +If a source map has been uploaded to the APM Server, [source mapping](/solutions/observability/apm/apm-agents/create-upload-source-maps-rum.md) is automatically applied to documents sent to the RUM endpoint. Source maps are fetched from {{es}} and then kept in an in-memory cache for the configured time. Values configured without a time unit are treated as seconds. Default: `5m` (5 minutes) diff --git a/solutions/observability/apm/configure-redis-output.md b/solutions/observability/apm/apm-server/configure-redis-output.md similarity index 97% rename from solutions/observability/apm/configure-redis-output.md rename to solutions/observability/apm/apm-server/configure-redis-output.md index 685f3c9c0b..774fe620fc 100644 --- a/solutions/observability/apm/configure-redis-output.md +++ b/solutions/observability/apm/apm-server/configure-redis-output.md @@ -123,7 +123,7 @@ The Redis data type to use for publishing events.If the data type is `list`, the Output codec configuration. If the `codec` section is missing, events will be JSON encoded. -See [Change the output codec](/solutions/observability/apm/configure-console-output.md#apm-configuration-output-codec) for more information. +See [Change the output codec](/solutions/observability/apm/apm-server/configure-console-output.md#apm-configuration-output-codec) for more information. ### `worker` [_worker_3] @@ -165,7 +165,7 @@ Setting `bulk_max_size` to values less than or equal to 0 disables the splitting ### `ssl` [_ssl_4] -Configuration options for SSL parameters like the root CA for Redis connections guarded by SSL proxies (for example [stunnel](https://www.stunnel.org)). See [SSL/TLS output settings](/solutions/observability/apm/ssl-tls-output-settings.md) for more information. +Configuration options for SSL parameters like the root CA for Redis connections guarded by SSL proxies (for example [stunnel](https://www.stunnel.org)). See [SSL/TLS output settings](/solutions/observability/apm/apm-server/ssl-tls-output-settings.md) for more information. ### `proxy_url` [_proxy_url_3] diff --git a/solutions/observability/apm/configure-apm-server.md b/solutions/observability/apm/apm-server/configure.md similarity index 71% rename from solutions/observability/apm/configure-apm-server.md rename to solutions/observability/apm/apm-server/configure.md index eb1e602b97..eca16638da 100644 --- a/solutions/observability/apm/configure-apm-server.md +++ b/solutions/observability/apm/apm-server/configure.md @@ -14,25 +14,25 @@ products: How you configure the APM Server depends on your deployment method. -* **APM Server binary** users need to edit the `apm-server.yml` configuration file. The location of the file varies by platform. To locate the file, see [Installation layout](/solutions/observability/apm/installation-layout.md). +* **APM Server binary** users need to edit the `apm-server.yml` configuration file. The location of the file varies by platform. To locate the file, see [Installation layout](/solutions/observability/apm/apm-server/installation-layout.md). * **Fleet-managed** users configure the APM Server directly in {{kib}}. Each configuration page describes the specific location. -* **Elastic cloud** users should see [Add APM user settings](/solutions/observability/apm/configure-apm-server.md) for information on how to configure Elastic APM. +* **Elastic cloud** users should see [Add APM user settings](/solutions/observability/apm/apm-server/configure.md) for information on how to configure Elastic APM. The following topics describe how to configure APM Server: -* [General configuration options](/solutions/observability/apm/general-configuration-options.md) -* [Anonymous authentication](/solutions/observability/apm/configure-anonymous-authentication.md) -* [APM agent authorization](/solutions/observability/apm/apm-agent-authorization.md) -* [APM agent central configuration](/solutions/observability/apm/configure-apm-agent-central-configuration.md) -* [Instrumentation](/solutions/observability/apm/configure-apm-instrumentation.md) -* [{{kib}} endpoint](/solutions/observability/apm/configure-kibana-endpoint.md) -* [Logging](/solutions/observability/apm/configure-logging.md) -* [Output](/solutions/observability/apm/configure-output.md) -* [Project paths](/solutions/observability/apm/configure-project-paths.md) -* [Real User Monitoring (RUM)](/solutions/observability/apm/configure-real-user-monitoring-rum.md) -* [SSL/TLS settings](/solutions/observability/apm/ssl-tls-settings.md) -* [Tail-based sampling](/solutions/observability/apm/tail-based-sampling.md) -* [Use environment variables in the configuration](/solutions/observability/apm/use-environment-variables-in-configuration.md) +* [General configuration options](/solutions/observability/apm/apm-server/general-configuration-options.md) +* [Anonymous authentication](/solutions/observability/apm/apm-server/configure-anonymous-authentication.md) +* [APM agent authorization](/solutions/observability/apm/apm-server/apm-agent-authorization.md) +* [APM agent central configuration](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md) +* [Instrumentation](/solutions/observability/apm/apm-server/configure-apm-instrumentation.md) +* [{{kib}} endpoint](/solutions/observability/apm/apm-server/configure-kibana-endpoint.md) +* [Logging](/solutions/observability/apm/apm-server/configure-logging.md) +* [Output](/solutions/observability/apm/apm-server/configure-output.md) +* [Project paths](/solutions/observability/apm/apm-server/configure-project-paths.md) +* [Real User Monitoring (RUM)](/solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md) +* [SSL/TLS settings](/solutions/observability/apm/apm-server/ssl-tls-settings.md) +* [Tail-based sampling](/solutions/observability/apm/apm-server/tail-based-sampling.md) +* [Use environment variables in the configuration](/solutions/observability/apm/apm-server/use-environment-variables-in-configuration.md) ## Edit APM user settings [ec-manage-apm-settings] @@ -41,12 +41,12 @@ Change how Elastic APM runs by providing your own user settings. Starting in {{s {{fleet}}-managed APM integration : New deployments created in {{stack}} version 8.0 and later will be managed by {{fleet}}. - Check [APM configuration reference](/solutions/observability/apm/configure-apm-server.md) for information on how to configure Elastic APM in this mode. + Check [APM configuration reference](/solutions/observability/apm/apm-server/configure.md) for information on how to configure Elastic APM in this mode. Standalone APM Server (legacy) : Deployments created prior to {{stack}} version 8.0 are in legacy mode. Upgrading to or past {{stack}} 8.0 will not remove you from legacy mode. - Check [Edit standalone APM settings (legacy)](/solutions/observability/apm/configure-apm-server.md#ec-edit-apm-standalone-settings) and [Supported standalone APM settings (legacy)](/solutions/observability/apm/configure-apm-server.md#ec-apm-settings) for information on how to configure Elastic APM in this mode. + Check [Edit standalone APM settings (legacy)](/solutions/observability/apm/apm-server/configure.md#ec-edit-apm-standalone-settings) and [Supported standalone APM settings (legacy)](/solutions/observability/apm/apm-server/configure.md#ec-apm-settings) for information on how to configure Elastic APM in this mode. To learn more about the differences between these modes, or to switch from Standalone APM Server (legacy) mode to {{fleet}}-managed, check [Switch to the Elastic APM integration](/solutions/observability/apm/switch-to-elastic-apm-integration.md). @@ -72,7 +72,7 @@ If a setting is not supported on {{ecloud}}, you will get an error message when ## Supported standalone APM settings (legacy) [ec-apm-settings] -{{ech}} supports the settings listed in [APM documentation](/solutions/observability/apm/configure-apm-server.md) under "APM Server binary" when running APM in standalone mode (legacy). For versions before 9, refer to [older documentation](https://www.elastic.co/guide/en/observability/8.18/apm-configuring-howto-apm-server.html). +{{ech}} supports the settings listed in [APM documentation](/solutions/observability/apm/apm-server/configure.md) under "APM Server binary" when running APM in standalone mode (legacy). For versions before 9, refer to [older documentation](https://www.elastic.co/guide/en/observability/8.18/apm-configuring-howto-apm-server.html). ::::{note} Some settings are intentionally restricted to maintain system stability. diff --git a/solutions/observability/apm/apm-server-fleet-managed.md b/solutions/observability/apm/apm-server/fleet-managed.md similarity index 99% rename from solutions/observability/apm/apm-server-fleet-managed.md rename to solutions/observability/apm/apm-server/fleet-managed.md index f6c5a4fd69..6d7f5b0578 100644 --- a/solutions/observability/apm/apm-server-fleet-managed.md +++ b/solutions/observability/apm/apm-server/fleet-managed.md @@ -784,7 +784,7 @@ const apm = initApm({ ::::::{tab-item} OpenTelemetry Elastic integrates with OpenTelemetry, allowing you to reuse your existing instrumentation to easily send observability data to the {{stack}}. -For more information on how to combine Elastic and OpenTelemetry, see [OpenTelemetry integration](/solutions/observability/apm/use-opentelemetry-with-apm.md). +For more information on how to combine Elastic and OpenTelemetry, see [OpenTelemetry integration](/solutions/observability/apm/opentelemetry/index.md). :::::: ::::::: diff --git a/solutions/observability/apm/general-configuration-options.md b/solutions/observability/apm/apm-server/general-configuration-options.md similarity index 100% rename from solutions/observability/apm/general-configuration-options.md rename to solutions/observability/apm/apm-server/general-configuration-options.md diff --git a/solutions/observability/apm/high-availability.md b/solutions/observability/apm/apm-server/high-availability.md similarity index 94% rename from solutions/observability/apm/high-availability.md rename to solutions/observability/apm/apm-server/high-availability.md index fb45e61739..cc25350167 100644 --- a/solutions/observability/apm/high-availability.md +++ b/solutions/observability/apm/apm-server/high-availability.md @@ -12,7 +12,7 @@ products: To achieve high availability you can place multiple instances of APM Server behind a regular HTTP load balancer, for example HAProxy or Nginx. -The endpoint `/` always returns an `HTTP 200`. You can configure your load balancer to send HTTP requests to this endpoint to determine if an APM Server is running. See [APM Server information API](/solutions/observability/apm/apm-server-information-api.md) for more information on that endpoint. +The endpoint `/` always returns an `HTTP 200`. You can configure your load balancer to send HTTP requests to this endpoint to determine if an APM Server is running. See [APM Server information API](/solutions/observability/apm/apm-server/information-api.md) for more information on that endpoint. In case of temporal issues, like unavailable {{es}} or a sudden high workload, APM Server does not have an internal queue to buffer requests, but instead leverages an HTTP request timeout to act as back-pressure. diff --git a/solutions/observability/apm/apm-server.md b/solutions/observability/apm/apm-server/index.md similarity index 84% rename from solutions/observability/apm/apm-server.md rename to solutions/observability/apm/apm-server/index.md index d70eed3663..014e84de5a 100644 --- a/solutions/observability/apm/apm-server.md +++ b/solutions/observability/apm/apm-server/index.md @@ -11,9 +11,9 @@ validates and processes it, and transforms the data into {{es}} documents. This section contains information on working with APM Server including: -* Learning how to [set up APM Server](/solutions/observability/apm/apm-server-setup.md) -* Browsing all available [APM Server configuration options](/solutions/observability/apm/configure-apm-server.md) -* [Monitoring the real-time health and performance](/solutions/observability/apm/monitor-apm-server.md) of your APM Server +* Learning how to [set up APM Server](/solutions/observability/apm/apm-server/setup.md) +* Browsing all available [APM Server configuration options](/solutions/observability/apm/apm-server/configure.md) +* [Monitoring the real-time health and performance](/solutions/observability/apm/apm-server/monitor.md) of your APM Server :::{tip} If you're using {{serverless-full}}, there is no APM Server running. Instead the _managed intake service_ receives and transforms data. Read more in [](/solutions/observability/apm/get-started.md). diff --git a/solutions/observability/apm/apm-server-information-api.md b/solutions/observability/apm/apm-server/information-api.md similarity index 100% rename from solutions/observability/apm/apm-server-information-api.md rename to solutions/observability/apm/apm-server/information-api.md diff --git a/solutions/observability/apm/installation-layout.md b/solutions/observability/apm/apm-server/installation-layout.md similarity index 100% rename from solutions/observability/apm/installation-layout.md rename to solutions/observability/apm/apm-server/installation-layout.md diff --git a/solutions/observability/apm/apm-server/monitor-binary.md b/solutions/observability/apm/apm-server/monitor-binary.md new file mode 100644 index 0000000000..6d2b4823f3 --- /dev/null +++ b/solutions/observability/apm/apm-server/monitor-binary.md @@ -0,0 +1,18 @@ +--- +navigation_title: APM Server binary +mapped_pages: + - https://www.elastic.co/guide/en/observability/current/apm-monitoring.html +applies_to: + stack: all +products: + - id: observability + - id: apm +--- + +# Monitor the APM Server binary [apm-monitoring] + +There are two methods to monitor the APM Server binary. Make sure monitoring is enabled on your {{es}} cluster, then configure one of these methods to collect APM Server metrics: + +* [Internal collection](/solutions/observability/apm/apm-server/use-internal-collection-to-send-monitoring-data.md) - Internal collectors send monitoring data directly to your monitoring cluster. +* [{{metricbeat}} collection](/solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md) - {{metricbeat}} collects monitoring data from your APM Server instance and sends it directly to your monitoring cluster. +* [Local collection](/solutions/observability/apm/apm-server/use-select-metrics-emitted-directly-to-monitoring-cluster.md) - Local collection sends select monitoring data directly to the standard indices of your monitoring cluster. \ No newline at end of file diff --git a/solutions/observability/apm/monitor-fleet-managed-apm-server.md b/solutions/observability/apm/apm-server/monitor-fleet-managed.md similarity index 100% rename from solutions/observability/apm/monitor-fleet-managed-apm-server.md rename to solutions/observability/apm/apm-server/monitor-fleet-managed.md diff --git a/solutions/observability/apm/monitor-apm-server.md b/solutions/observability/apm/apm-server/monitor.md similarity index 86% rename from solutions/observability/apm/monitor-apm-server.md rename to solutions/observability/apm/apm-server/monitor.md index b620beebd8..b28cdbb737 100644 --- a/solutions/observability/apm/monitor-apm-server.md +++ b/solutions/observability/apm/apm-server/monitor.md @@ -16,8 +16,8 @@ Use the {{stack}} {{monitor-features}} to gain insight into the real-time health Select your deployment method to get started: * [{{ecloud}}](#apm-monitor-apm-cloud) -* [Fleet-managed](/solutions/observability/apm/monitor-fleet-managed-apm-server.md) -* [APM Server binary](/solutions/observability/apm/monitor-apm-server-binary.md) +* [Fleet-managed](/solutions/observability/apm/apm-server/monitor-fleet-managed.md) +* [APM Server binary](/solutions/observability/apm/apm-server/monitor-binary.md) ## {{ecloud}} [apm-monitor-apm-cloud] diff --git a/solutions/observability/apm/secrets-keystore-for-secure-settings.md b/solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md similarity index 97% rename from solutions/observability/apm/secrets-keystore-for-secure-settings.md rename to solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md index e2d233636c..3f2d5c2bbf 100644 --- a/solutions/observability/apm/secrets-keystore-for-secure-settings.md +++ b/solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md @@ -34,7 +34,7 @@ When APM Server unpacks the configuration, it resolves keys before resolving env Notice that the APM Server keystore differs from the {{es}} keystore. Whereas the {{es}} keystore lets you store `elasticsearch.yml` values by name, the APM Server keystore lets you specify arbitrary names that you can reference in the APM Server configuration. -To create and manage keys, use the `keystore` command. See the [command reference](/solutions/observability/apm/apm-server-command-reference.md#apm-keystore-command) for the full command syntax, including optional flags. +To create and manage keys, use the `keystore` command. See the [command reference](/solutions/observability/apm/apm-server/command-reference.md#apm-keystore-command) for the full command syntax, including optional flags. ::::{note} The `keystore` command must be run by the same user who will run APM Server. diff --git a/solutions/observability/apm/apm-server-setup.md b/solutions/observability/apm/apm-server/setup.md similarity index 100% rename from solutions/observability/apm/apm-server-setup.md rename to solutions/observability/apm/apm-server/setup.md diff --git a/solutions/observability/apm/ssl-tls-input-settings.md b/solutions/observability/apm/apm-server/ssl-tls-input-settings.md similarity index 100% rename from solutions/observability/apm/ssl-tls-input-settings.md rename to solutions/observability/apm/apm-server/ssl-tls-input-settings.md diff --git a/solutions/observability/apm/ssl-tls-output-settings.md b/solutions/observability/apm/apm-server/ssl-tls-output-settings.md similarity index 100% rename from solutions/observability/apm/ssl-tls-output-settings.md rename to solutions/observability/apm/apm-server/ssl-tls-output-settings.md diff --git a/solutions/observability/apm/ssl-tls-settings.md b/solutions/observability/apm/apm-server/ssl-tls-settings.md similarity index 61% rename from solutions/observability/apm/ssl-tls-settings.md rename to solutions/observability/apm/apm-server/ssl-tls-settings.md index 782cefe74c..95833ef6ba 100644 --- a/solutions/observability/apm/ssl-tls-settings.md +++ b/solutions/observability/apm/apm-server/ssl-tls-settings.md @@ -12,7 +12,7 @@ products: SSL/TLS is available for: -* [APM Server **inputs**](/solutions/observability/apm/ssl-tls-input-settings.md) (APM Agents) -* [APM Server **outputs**](/solutions/observability/apm/ssl-tls-output-settings.md) that support SSL, like {{es}}, {{ls}}, or Kafka. +* [APM Server **inputs**](/solutions/observability/apm/apm-server/ssl-tls-input-settings.md) (APM Agents) +* [APM Server **outputs**](/solutions/observability/apm/apm-server/ssl-tls-output-settings.md) that support SSL, like {{es}}, {{ls}}, or Kafka. Additional information on getting started with SSL/TLS is available in [Use APM securely](/solutions/observability/apm/use-apm-securely.md). diff --git a/solutions/observability/apm/apm-server-systemd.md b/solutions/observability/apm/apm-server/systemd.md similarity index 97% rename from solutions/observability/apm/apm-server-systemd.md rename to solutions/observability/apm/apm-server/systemd.md index 08f948f2e4..b668571995 100644 --- a/solutions/observability/apm/apm-server-systemd.md +++ b/solutions/observability/apm/apm-server/systemd.md @@ -65,7 +65,7 @@ The systemd service unit file includes environment variables that you can overri | `BEAT_PATH_OPTS` | Other paths | ``-path.home /usr/share/apm-server -path.config /etc/apm-server -path.data /var/lib/apm-server -path.logs /var/log/apm-server`` | ::::{note} -You can use `BEAT_LOG_OPTS` to set debug selectors for logging. However, to configure logging behavior, set the logging options described in [Configure logging](/solutions/observability/apm/configure-logging.md). +You can use `BEAT_LOG_OPTS` to set debug selectors for logging. However, to configure logging behavior, set the logging options described in [Configure logging](/solutions/observability/apm/apm-server/configure-logging.md). :::: To override these variables, create a drop-in unit file in the `/etc/systemd/system/apm-server.service.d` directory. diff --git a/solutions/observability/apm/tail-based-sampling.md b/solutions/observability/apm/apm-server/tail-based-sampling.md similarity index 98% rename from solutions/observability/apm/tail-based-sampling.md rename to solutions/observability/apm/apm-server/tail-based-sampling.md index 713e435b80..b219340925 100644 --- a/solutions/observability/apm/tail-based-sampling.md +++ b/solutions/observability/apm/apm-server/tail-based-sampling.md @@ -13,7 +13,7 @@ products: ::::{note} ![supported deployment methods](/solutions/images/observability-binary-yes-fm-yes.svg "") -Most options on this page are supported by all APM Server deployment methods when writing to {{es}}. If you are using a different [output](/solutions/observability/apm/configure-output.md), tail-based sampling is *not* supported. +Most options on this page are supported by all APM Server deployment methods when writing to {{es}}. If you are using a different [output](/solutions/observability/apm/apm-server/configure-output.md), tail-based sampling is *not* supported. :::: ::::{note} @@ -154,7 +154,7 @@ The service environment for events to match a policy. (string) ## Monitoring tail-based sampling [sampling-tail-monitoring-ref] -APM Server produces metrics to monitor the performance and estimate the workload being processed by tail-based sampling. In order to use these metrics, you need to [enable monitoring for the APM Server](/solutions/observability/apm/monitor-apm-server.md). The following metrics are produced by the tail-based sampler (note that the metrics might have a different prefix, for example `beat.stats` for ECH deployments, based on how the APM Server is running): +APM Server produces metrics to monitor the performance and estimate the workload being processed by tail-based sampling. In order to use these metrics, you need to [enable monitoring for the APM Server](/solutions/observability/apm/apm-server/monitor.md). The following metrics are produced by the tail-based sampler (note that the metrics might have a different prefix, for example `beat.stats` for ECH deployments, based on how the APM Server is running): ### `apm-server.sampling.tail.dynamic_service_groups` [sampling-tail-monitoring-dynamic-service-group-ref] diff --git a/solutions/observability/apm/tune-data-ingestion.md b/solutions/observability/apm/apm-server/tune-data-ingestion.md similarity index 95% rename from solutions/observability/apm/tune-data-ingestion.md rename to solutions/observability/apm/apm-server/tune-data-ingestion.md index 1928767b63..32cedff4ad 100644 --- a/solutions/observability/apm/tune-data-ingestion.md +++ b/solutions/observability/apm/apm-server/tune-data-ingestion.md @@ -22,7 +22,7 @@ This section explains how to adapt data ingestion according to your needs. If the APM Server cannot process data quickly enough, you will see request timeouts. One way to solve this problem is to increase processing power. -Increase processing power by either migrating to a more powerful machine or adding more APM Server/Elastic Agent instances. Having several instances will also increase [availability](/solutions/observability/apm/high-availability.md). +Increase processing power by either migrating to a more powerful machine or adding more APM Server/Elastic Agent instances. Having several instances will also increase [availability](/solutions/observability/apm/apm-server/high-availability.md). ### Reduce the payload size [apm-reduce-payload-size] @@ -42,7 +42,7 @@ Increasing the default value for the following configuration variable will help | | | | --- | --- | -| APM Server binary | [`rate_limit.event_limit`](/solutions/observability/apm/configure-anonymous-authentication.md#apm-config-auth-anon-event-limit) | +| APM Server binary | [`rate_limit.event_limit`](/solutions/observability/apm/apm-server/configure-anonymous-authentication.md#apm-config-auth-anon-event-limit) | | Fleet-managed | `Anonymous Event rate limit (event limit)` | ## Tune {{es}} [apm-tune-elasticsearch] diff --git a/solutions/observability/apm/use-environment-variables-in-configuration.md b/solutions/observability/apm/apm-server/use-environment-variables-in-configuration.md similarity index 100% rename from solutions/observability/apm/use-environment-variables-in-configuration.md rename to solutions/observability/apm/apm-server/use-environment-variables-in-configuration.md diff --git a/solutions/observability/apm/use-internal-collection-to-send-monitoring-data.md b/solutions/observability/apm/apm-server/use-internal-collection-to-send-monitoring-data.md similarity index 91% rename from solutions/observability/apm/use-internal-collection-to-send-monitoring-data.md rename to solutions/observability/apm/apm-server/use-internal-collection-to-send-monitoring-data.md index 8c1fbeb9eb..e102df9f19 100644 --- a/solutions/observability/apm/use-internal-collection-to-send-monitoring-data.md +++ b/solutions/observability/apm/apm-server/use-internal-collection-to-send-monitoring-data.md @@ -11,7 +11,7 @@ products: # Use internal collection to send monitoring data [apm-monitoring-internal-collection] -Use internal collectors to send {{beats}} monitoring data directly to your monitoring cluster. Or as an alternative to internal collection, use [Use {{metricbeat}} collection](/solutions/observability/apm/use-metricbeat-to-send-monitoring-data.md). The benefit of using internal collection instead of {{metricbeat}} is that you have fewer pieces of software to install and maintain. +Use internal collectors to send {{beats}} monitoring data directly to your monitoring cluster. Or as an alternative to internal collection, use [Use {{metricbeat}} collection](/solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md). The benefit of using internal collection instead of {{metricbeat}} is that you have fewer pieces of software to install and maintain. 1. Create an API key or user that has appropriate authority to send system-level monitoring data to {{es}}. For example, you can use the built-in `apm_system` user or assign the built-in `apm_system` role to another user. For more information on the required privileges, see [Create a *monitoring* role](/solutions/observability/apm/create-assign-feature-roles-to-apm-server-users.md#apm-privileges-to-publish-monitoring). For more information on how to use API keys, see [Grant access using API keys](/solutions/observability/apm/grant-access-using-api-keys.md). 2. Add the `monitoring` settings in the APM Server configuration file. If you configured the {{es}} output and want to send APM Server monitoring events to the same {{es}} cluster, specify the following minimal configuration: @@ -67,7 +67,7 @@ Use internal collectors to send {{beats}} monitoring data directly to your monit ssl.key: "/etc/pki/client/cert.key" ``` - You must specify the `username` as `""` explicitly so that the username from the client certificate (`CN`) is used. See [SSL/TLS output settings](/solutions/observability/apm/ssl-tls-output-settings.md) for more information about SSL settings. + You must specify the `username` as `""` explicitly so that the username from the client certificate (`CN`) is used. See [SSL/TLS output settings](/solutions/observability/apm/apm-server/ssl-tls-output-settings.md) for more information about SSL settings. 3. Start APM Server. 4. [View the monitoring data in {{kib}}](/deploy-manage/monitor/stack-monitoring/kibana-monitoring-data.md). @@ -94,7 +94,7 @@ The detail of the API key to be used to send monitoring information to {{es}}. S #### `bulk_max_size` [_bulk_max_size_5] -The maximum number of metrics to bulk in a single {{es}} bulk API index request. The default is `50`. For more information, see [{{es}}](/solutions/observability/apm/configure-elasticsearch-output.md). +The maximum number of metrics to bulk in a single {{es}} bulk API index request. The default is `50`. For more information, see [{{es}}](/solutions/observability/apm/apm-server/configure-elasticsearch-output.md). #### `backoff.init` [_backoff_init_5] @@ -110,15 +110,15 @@ The gzip compression level. Setting this value to `0` disables compression. The #### `headers` [_headers_2] -Custom HTTP headers to add to each request. For more information, see [{{es}}](/solutions/observability/apm/configure-elasticsearch-output.md). +Custom HTTP headers to add to each request. For more information, see [{{es}}](/solutions/observability/apm/apm-server/configure-elasticsearch-output.md). #### `hosts` [_hosts_4] -The list of {{es}} nodes to connect to. Monitoring metrics are distributed to these nodes in round robin order. For more information, see [{{es}}](/solutions/observability/apm/configure-elasticsearch-output.md). +The list of {{es}} nodes to connect to. Monitoring metrics are distributed to these nodes in round robin order. For more information, see [{{es}}](/solutions/observability/apm/apm-server/configure-elasticsearch-output.md). #### `max_retries` [_max_retries_5] -The number of times to retry sending the monitoring metrics after a failure. After the specified number of retries, the metrics are typically dropped. The default value is `3`. For more information, see [{{es}}](/solutions/observability/apm/configure-elasticsearch-output.md). +The number of times to retry sending the monitoring metrics after a failure. After the specified number of retries, the metrics are typically dropped. The default value is `3`. For more information, see [{{es}}](/solutions/observability/apm/apm-server/configure-elasticsearch-output.md). #### `parameters` [_parameters_2] @@ -142,7 +142,7 @@ The name of the protocol to use when connecting to the {{es}} cluster. The optio #### `proxy_url` [_proxy_url_4] -The URL of the proxy to use when connecting to the {{es}} cluster. For more information, see [{{es}}](/solutions/observability/apm/configure-elasticsearch-output.md). +The URL of the proxy to use when connecting to the {{es}} cluster. For more information, see [{{es}}](/solutions/observability/apm/apm-server/configure-elasticsearch-output.md). #### `timeout` [_timeout_5] @@ -150,7 +150,7 @@ The HTTP request timeout in seconds for the {{es}} request. The default is `90`. #### `ssl` [_ssl_5] -Configuration options for Transport Layer Security (TLS) or Secure Sockets Layer (SSL) parameters like the certificate authority (CA) to use for HTTPS-based connections. If the `ssl` section is missing, the host CAs are used for HTTPS connections to {{es}}. For more information, see [SSL/TLS output settings](/solutions/observability/apm/ssl-tls-output-settings.md). +Configuration options for Transport Layer Security (TLS) or Secure Sockets Layer (SSL) parameters like the certificate authority (CA) to use for HTTPS-based connections. If the `ssl` section is missing, the host CAs are used for HTTPS connections to {{es}}. For more information, see [SSL/TLS output settings](/solutions/observability/apm/apm-server/ssl-tls-output-settings.md). #### `username` [_username_3] diff --git a/solutions/observability/apm/use-metricbeat-to-send-monitoring-data.md b/solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md similarity index 98% rename from solutions/observability/apm/use-metricbeat-to-send-monitoring-data.md rename to solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md index cc307d3133..dc0914fc40 100644 --- a/solutions/observability/apm/use-metricbeat-to-send-monitoring-data.md +++ b/solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md @@ -42,7 +42,7 @@ To collect and ship monitoring data: monitoring.enabled: false ``` - For more information, see [Monitoring configuration options](/solutions/observability/apm/use-internal-collection-to-send-monitoring-data.md#apm-configuration-monitor). + For more information, see [Monitoring configuration options](/solutions/observability/apm/apm-server/use-internal-collection-to-send-monitoring-data.md#apm-configuration-monitor). 3. Configure host (optional).
diff --git a/solutions/observability/apm/use-select-metrics-emitted-directly-to-monitoring-cluster.md b/solutions/observability/apm/apm-server/use-select-metrics-emitted-directly-to-monitoring-cluster.md similarity index 92% rename from solutions/observability/apm/use-select-metrics-emitted-directly-to-monitoring-cluster.md rename to solutions/observability/apm/apm-server/use-select-metrics-emitted-directly-to-monitoring-cluster.md index b95795337c..8aae1706c0 100644 --- a/solutions/observability/apm/use-select-metrics-emitted-directly-to-monitoring-cluster.md +++ b/solutions/observability/apm/apm-server/use-select-metrics-emitted-directly-to-monitoring-cluster.md @@ -15,7 +15,7 @@ In 8.11 and later, we emit a selected set of metrics directly to the monitoring ## The select metrics [apm-select-metrics] -We only ship a select list of metrics, to avoid overwhelming your monitoring cluster. If you need the entire set of metrics and traces we can expose, you should use [Self Instrumentation](/solutions/observability/apm/configure-apm-instrumentation.md) instead of local collection. +We only ship a select list of metrics, to avoid overwhelming your monitoring cluster. If you need the entire set of metrics and traces we can expose, you should use [Self Instrumentation](/solutions/observability/apm/apm-server/configure-apm-instrumentation.md) instead of local collection. Here is the list of every metrics we currently expose: diff --git a/solutions/observability/apm/built-in-data-filters.md b/solutions/observability/apm/built-in-data-filters.md index f65734b8fe..91111f4b88 100644 --- a/solutions/observability/apm/built-in-data-filters.md +++ b/solutions/observability/apm/built-in-data-filters.md @@ -30,7 +30,7 @@ By default, APM agents capture HTTP request and response headers (including cook The default list of sanitized fields attempts to target common field names for data relating to passwords, credit card numbers, authorization, etc., but can be customized to fit your data. This sensitive data never leaves the instrumented service. -This setting supports [Central configuration](/solutions/observability/apm/apm-agent-central-configuration.md), which means the list of sanitized fields can be updated without needing to redeploy your services: +This setting supports [Central configuration](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md), which means the list of sanitized fields can be updated without needing to redeploy your services: * Go: [`ELASTIC_APM_SANITIZE_FIELD_NAMES`](apm-agent-go://reference/configuration.md#config-sanitize-field-names) * Java: [`sanitize_field_names`](apm-agent-java://reference/config-core.md#config-sanitize-field-names) @@ -39,7 +39,7 @@ This setting supports [Central configuration](/solutions/observability/apm/apm-a * Python: [`sanitize_field_names`](apm-agent-python://reference/configuration.md#config-sanitize-field-names) * Ruby: [`sanitize_field_names`](apm-agent-ruby://reference/configuration.md#config-sanitize-field-names) -Alternatively, you can completely disable the capturing of HTTP headers. This setting also supports [Central configuration](/solutions/observability/apm/apm-agent-central-configuration.md): +Alternatively, you can completely disable the capturing of HTTP headers. This setting also supports [Central configuration](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md): * Go: [`ELASTIC_APM_CAPTURE_HEADERS`](apm-agent-go://reference/configuration.md#config-capture-headers) * Java: [`capture_headers`](apm-agent-java://reference/config-core.md#config-capture-headers) @@ -52,7 +52,7 @@ Alternatively, you can completely disable the capturing of HTTP headers. This se By default, the body of HTTP requests is not recorded. Request bodies often contain sensitive data like passwords or credit card numbers, so use care when enabling this feature. -This setting supports [Central configuration](/solutions/observability/apm/apm-agent-central-configuration.md), which means the list of sanitized fields can be updated without needing to redeploy your services: +This setting supports [Central configuration](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md), which means the list of sanitized fields can be updated without needing to redeploy your services: * Go: [`ELASTIC_APM_CAPTURE_BODY`](apm-agent-go://reference/configuration.md#config-capture-body) * Java: [`capture_body`](apm-agent-java://reference/config-core.md#config-capture-body) diff --git a/solutions/observability/apm/configure-output.md b/solutions/observability/apm/configure-output.md deleted file mode 100644 index 83e01a529f..0000000000 --- a/solutions/observability/apm/configure-output.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -navigation_title: Output -mapped_pages: - - https://www.elastic.co/guide/en/observability/current/apm-configuring-output.html -applies_to: - stack: ga -products: - - id: observability - - id: apm ---- - -# Configure the output [apm-configuring-output] - -Output configuration options. - -* [{{ech}}](/solutions/observability/apm/configure-output-for-elasticsearch-service-on-elastic-cloud.md) -* [{{es}}](/solutions/observability/apm/configure-elasticsearch-output.md) -* [{{ls}}](/solutions/observability/apm/configure-logstash-output.md) -* [Kafka](/solutions/observability/apm/configure-kafka-output.md) -* [Redis](/solutions/observability/apm/configure-redis-output.md) -* [Console](/solutions/observability/apm/configure-console-output.md) - -## Source maps [apm-sourcemap-output] - -Source maps can be uploaded through all outputs but must eventually be stored in {{es}}. When using outputs other than {{es}}, `source_mapping.elasticsearch` must be set for source maps to be applied. Be sure to update `source_mapping.index_pattern` if source maps are stored in the non-default location. See [`source_mapping.elasticsearch`](/solutions/observability/apm/configure-real-user-monitoring-rum.md#apm-config-sourcemapping-elasticsearch) for more details. - diff --git a/solutions/observability/apm/create-assign-feature-roles-to-apm-server-users.md b/solutions/observability/apm/create-assign-feature-roles-to-apm-server-users.md index a7b19f0a14..d9713351d8 100644 --- a/solutions/observability/apm/create-assign-feature-roles-to-apm-server-users.md +++ b/solutions/observability/apm/create-assign-feature-roles-to-apm-server-users.md @@ -30,7 +30,7 @@ In general, there are three types of privileges you’ll work with when creating The following are common roles that APM Server users might need: * [**Writer role**](#apm-privileges-to-publish-events): Allows a user to publish events collected by APM Server, which is **required** to write to {{es}}. -* [**Central configuration management role**](#apm-privileges-agent-central-config): Allows a user to view APM Agent central configurations, which is **required** when [central configuration management](/solutions/observability/apm/apm-agent-central-configuration.md) is enabled (it is enabled by default). +* [**Central configuration management role**](#apm-privileges-agent-central-config): Allows a user to view APM Agent central configurations, which is **required** when [central configuration management](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md) is enabled (it is enabled by default). * [**Monitoring role**](#apm-privileges-to-publish-monitoring): Allows a user to publish monitoring data, view monitoring data, or both. * [**RUM source mapping role**](#apm-privileges-rum-source-mapping): Allows a user to read RUM source maps. * [**Tail-based sampling role**](#apm-privileges-tail-based-sampling): Allows a user to use [tail-based sampling](/solutions/observability/apm/transaction-sampling.md#apm-tail-based-sampling). @@ -48,7 +48,7 @@ If you want to create an APM Server user who can use the Elastic APM Real User M APM users that publish events to {{es}} *must* have privileges to write to APM data streams. ::::{note} -This is not needed when APM Server doesn’t write to {{es}} directly. For example, in some cases you may configure APM Server to write to another output like Logstash, Kafka, or any other output supported by libbeat. In these cases, different authentication credentials will need to be passed to [`apm-server.agent.config.elasticsearch`](/solutions/observability/apm/configure-apm-agent-central-configuration.md#apm-agent-config-elasticsearch). +This is not needed when APM Server doesn’t write to {{es}} directly. For example, in some cases you may configure APM Server to write to another output like Logstash, Kafka, or any other output supported by libbeat. In these cases, different authentication credentials will need to be passed to [`apm-server.agent.config.elasticsearch`](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md#apm-agent-config-elasticsearch). :::: To grant an APM Server user the required privileges for writing events to {{es}}: @@ -76,7 +76,7 @@ Assign additional APM feature roles to users as needed including the *Central co ::::{important} :name: apm-central-config-role-note -The privileges included in this role are **required** for all users when [central configuration management](/solutions/observability/apm/apm-agent-central-configuration.md) is enabled (it is enabled by default). You need this role unless central configuration management has been explicitly disabled in the Applications UI. +The privileges included in this role are **required** for all users when [central configuration management](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md) is enabled (it is enabled by default). You need this role unless central configuration management has been explicitly disabled in the Applications UI. :::: $$$apm-privileges-agent-central-config-server$$$ @@ -131,7 +131,7 @@ Looking for privileges and roles needed to use central configuration from the Ap #### Internal collection [apm-privileges-to-publish-monitoring-internal] -If you’re using [internal collection](/solutions/observability/apm/use-internal-collection-to-send-monitoring-data.md) to collect metrics about APM Server, either: +If you’re using [internal collection](/solutions/observability/apm/apm-server/use-internal-collection-to-send-monitoring-data.md) to collect metrics about APM Server, either: * Use the built-in `apm_system` user or role * Create a custom role @@ -162,10 +162,10 @@ Assign additional APM feature roles to users as needed including the [*Writer ro #### {{metricbeat}} collection [apm-privileges-to-publish-monitoring-metricbeat] ::::{note} -When using {{metricbeat}} to collect metrics, no roles or users need to be created with APM Server. See [Use {{metricbeat}} collection](/solutions/observability/apm/use-metricbeat-to-send-monitoring-data.md) for complete details on setting up {{metricbeat}} collection. +When using {{metricbeat}} to collect metrics, no roles or users need to be created with APM Server. See [Use {{metricbeat}} collection](/solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md) for complete details on setting up {{metricbeat}} collection. :::: -If you’re [using {{metricbeat}}](/solutions/observability/apm/use-metricbeat-to-send-monitoring-data.md) to collect metrics about APM Server, you can either: +If you’re [using {{metricbeat}}](/solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md) to collect metrics about APM Server, you can either: * Use the built-in `remote_monitoring_user` user or role * Create a custom user @@ -215,7 +215,7 @@ Assign additional APM feature roles to users as needed including the [*Writer ro ## Create a *source map* role [apm-privileges-rum-source-map] $$$apm-privileges-rum-source-mapping$$$ -If [real user monitoring](/solutions/observability/apm/configure-real-user-monitoring-rum.md) is enabled, additional privileges are required to read source maps. +If [real user monitoring](/solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md) is enabled, additional privileges are required to read source maps. To grant an APM Server user with the required privileges for reading RUM source maps from {{es}} directly without {{kib}}, assign the user the following privileges: @@ -231,7 +231,7 @@ The previous privileges should be sufficient for RUM source mapping to work prop ## Create a *tail-based sampling* role [apm-privileges-tail-based-sampling] -If [tail-based sampling](/solutions/observability/apm/tail-based-sampling.md) is enabled, the user will need additional privileges. +If [tail-based sampling](/solutions/observability/apm/apm-server/tail-based-sampling.md) is enabled, the user will need additional privileges. APM Server users need the following privileges to read tail-based sampling indices from {{es}}: diff --git a/solutions/observability/apm/elastic-apm-agent-configuration-api.md b/solutions/observability/apm/elastic-apm-agent-configuration-api.md index 6abb3248b3..fc77f4053d 100644 --- a/solutions/observability/apm/elastic-apm-agent-configuration-api.md +++ b/solutions/observability/apm/elastic-apm-agent-configuration-api.md @@ -10,7 +10,7 @@ products: # Elastic APM agent configuration API [apm-api-config] -APM Server exposes API endpoints that allow Elastic APM agents to query the APM Server for configuration changes. More information on this feature is available in [{{apm-agent}} configuration in {{kib}}](/solutions/observability/apm/apm-agent-central-configuration.md). +APM Server exposes API endpoints that allow Elastic APM agents to query the APM Server for configuration changes. More information on this feature is available in [{{apm-agent}} configuration in {{kib}}](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md). ## Agent configuration endpoints [apm-api-config-endpoint] diff --git a/solutions/observability/apm/elastic-apm-events-intake-api.md b/solutions/observability/apm/elastic-apm-events-intake-api.md index 6a8a3cc7cb..9233454b11 100644 --- a/solutions/observability/apm/elastic-apm-events-intake-api.md +++ b/solutions/observability/apm/elastic-apm-events-intake-api.md @@ -55,7 +55,7 @@ http(s)://{hostname}:{port}/intake/v2/events?async=true Since asynchronous processing defers some of the event processing to the background and takes place after the client has closed the request, some errors can’t be communicated back to the client and are logged by the APM Server. Furthermore, asynchronous processing requests will only be scheduled if the APM Server can service the incoming request, requests that cannot be serviced will receive an internal error `503` "queue is full" error. :::: -For [RUM](/solutions/observability/apm/real-user-monitoring-rum.md) send an `HTTP POST` request to the APM Server `intake/v3/rum/events` endpoint instead: +For [RUM](/solutions/observability/apm/apm-agents/real-user-monitoring-rum.md) send an `HTTP POST` request to the APM Server `intake/v3/rum/events` endpoint instead: ```bash http(s)://{hostname}:{port}/intake/v3/rum/events diff --git a/solutions/observability/apm/get-started.md b/solutions/observability/apm/get-started.md index 513ea0a91b..1b0dbd141d 100644 --- a/solutions/observability/apm/get-started.md +++ b/solutions/observability/apm/get-started.md @@ -49,7 +49,7 @@ To send APM data to Elastic, you must install an Elastic Distribution of OpenTel 2. If you’re using the step-by-step instructions in the UI, after you’ve installed and configured an agent, you can click **Check Agent Status** to verify that the agent is sending data. -To learn more about APM agents, including how to fine-tune how agents send traces to Elastic, refer to [Collect application data](/solutions/observability/apm/collect-application-data.md). +To learn more about APM agents, including how to fine-tune how agents send traces to Elastic, refer to [Collect application data](/solutions/observability/apm/ingest/index.md). ::::: :::::{step} View your data @@ -68,5 +68,5 @@ Not seeing any data? Find helpful tips in [Troubleshooting](/troubleshoot/observ ## Next steps [observability-apm-get-started-next-steps] -Now that data is streaming into your project, take your investigation to a deeper level. Learn how to use [Elastic’s built-in visualizations for APM data](/solutions/observability/apm/view-analyze-data.md), [alert on APM data](/solutions/observability/incident-management/alerting.md), or [fine-tune how agents send traces to Elastic](/solutions/observability/apm/collect-application-data.md). +Now that data is streaming into your project, take your investigation to a deeper level. Learn how to use [Elastic’s built-in visualizations for APM data](/solutions/observability/apm/view-analyze-data.md), [alert on APM data](/solutions/observability/incident-management/alerting.md), or [fine-tune how agents send traces to Elastic](/solutions/observability/apm/ingest/index.md). diff --git a/solutions/observability/apm/index.md b/solutions/observability/apm/index.md index 81b2a4f181..a5ca2555d6 100644 --- a/solutions/observability/apm/index.md +++ b/solutions/observability/apm/index.md @@ -26,4 +26,4 @@ Metrics are another vital source of information when debugging production system ## Give Elastic APM a try [give_elastic_apm_a_try] -Want to quickly spin up an APM deployment? Refer to [Get started for APM](/solutions/observability/apm/get-started.md). To host everything yourself instead, refer to [Set up APM Server](/solutions/observability/apm/apm-server-setup.md). \ No newline at end of file +Want to quickly spin up an APM deployment? Refer to [Get started for APM](/solutions/observability/apm/get-started.md). To host everything yourself instead, refer to [Set up APM Server](/solutions/observability/apm/apm-server/setup.md). \ No newline at end of file diff --git a/solutions/observability/apm/apm-k8s-attacher.md b/solutions/observability/apm/ingest/apm-k8s-attacher.md similarity index 100% rename from solutions/observability/apm/apm-k8s-attacher.md rename to solutions/observability/apm/ingest/apm-k8s-attacher.md diff --git a/solutions/observability/apm/collect-application-data.md b/solutions/observability/apm/ingest/index.md similarity index 78% rename from solutions/observability/apm/collect-application-data.md rename to solutions/observability/apm/ingest/index.md index 72b293db60..2c5656215d 100644 --- a/solutions/observability/apm/collect-application-data.md +++ b/solutions/observability/apm/ingest/index.md @@ -21,8 +21,8 @@ products: Use Elastic APM agents or an OpenTelemetry language SDK to instrument a service in the language its written in: -* [**OpenTelemetry**](/solutions/observability/apm/use-opentelemetry-with-apm.md): OpenTelemetry is an open source set of APIs, SDKs, tooling, and integrations that enable the capture and management of telemetry data from your services and applications. Elastic offers [Elastic Distributions of OpenTelemetry (EDOT)](opentelemetry://reference/edot-sdks/index.md), which are customized versions of [OpenTelemetry language SDKs](https://opentelemetry.io/docs/languages/) that are optimized to work with an Elastic backend. -* [**Elastic APM agents**](/solutions/observability/apm/elastic-apm-agents.md): Elastic APM agents are instrumentation libraries written in the same language as your service. +* [**OpenTelemetry**](/solutions/observability/apm/opentelemetry/index.md): OpenTelemetry is an open source set of APIs, SDKs, tooling, and integrations that enable the capture and management of telemetry data from your services and applications. Elastic offers [Elastic Distributions of OpenTelemetry (EDOT)](opentelemetry://reference/edot-sdks/index.md), which are customized versions of [OpenTelemetry language SDKs](https://opentelemetry.io/docs/languages/) that are optimized to work with an Elastic backend. +* [**Elastic APM agents**](/solutions/observability/apm/apm-agents/index.md): Elastic APM agents are instrumentation libraries written in the same language as your service. **Not sure which method is right for you?** Compare the available options. @@ -33,7 +33,7 @@ Use Elastic APM agents or an OpenTelemetry language SDK to instrument a service | --- | --- | --- | | **Support level** | Fully supported for available languages | Fully supported | | **Data protocol** | [OpenTelemetry protocol (OTLP)](https://opentelemetry.io/docs/specs/otel/protocol/) | Elastic protocol | -| **Central configuration** | {applies_to}`product: preview` Supported
*Refer to* [*Central configuration*](opentelemetry://reference/central-configuration.md) | Supported
*Refer to* [*APM agent central configuration*](/solutions/observability/apm/apm-agent-central-configuration.md) | +| **Central configuration** | {applies_to}`product: preview` Supported
*Refer to* [*Central configuration*](opentelemetry://reference/central-configuration.md) | Supported
*Refer to* [*APM agent central configuration*](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md) | For a comparison of EDOT and APM data streams, refer to [Comparison with classic APM data streams](opentelemetry://reference/compatibility/data-streams.md#comparison-with-classic-apm-data-streams). @@ -57,4 +57,4 @@ Elastic also offers several tools to help you collect data from specific service * **Kubernetes**: The Elastic APM attacher for Kubernetes simplifies the instrumentation and configuration of your application pods. Read more in the [APM attacher for Kubernetes docs](apm-k8s-attacher://reference/index.md). * **AWS Lambda Functions**: Helps you monitor your AWS Lambda functions. Read more in the [APM Architecture for AWS Lambda docs](apm-aws-lambda://reference/index.md). -* **Jaeger (deprecated)**: Helps you to switch an existing Jaeger setup from the default Jaeger backend to the {{stack}}. Read more in [Integrate with Jaeger](/solutions/observability/apm/jaeger.md). \ No newline at end of file +* **Jaeger (deprecated)**: Helps you to switch an existing Jaeger setup from the default Jaeger backend to the {{stack}}. Read more in [Integrate with Jaeger](/solutions/observability/apm/ingest/jaeger.md). \ No newline at end of file diff --git a/solutions/observability/apm/jaeger.md b/solutions/observability/apm/ingest/jaeger.md similarity index 98% rename from solutions/observability/apm/jaeger.md rename to solutions/observability/apm/ingest/jaeger.md index 06afff8ab4..1bb3587f92 100644 --- a/solutions/observability/apm/jaeger.md +++ b/solutions/observability/apm/ingest/jaeger.md @@ -107,7 +107,7 @@ There are two different ways to configure the sampling rate of your Jaeger agent #### {{apm-agent}} central configuration (default) [apm-configure-sampling-central-jaeger] -Central sampling, with {{apm-agent}} central configuration, allows Jaeger clients to poll APM Server for the sampling rate. This means sample rates can be configured on the fly, on a per-service and per-environment basis. See [Central configuration](/solutions/observability/apm/apm-agent-central-configuration.md) to learn more. +Central sampling, with {{apm-agent}} central configuration, allows Jaeger clients to poll APM Server for the sampling rate. This means sample rates can be configured on the fly, on a per-service and per-environment basis. See [Central configuration](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md) to learn more. #### Local sampling in each Jaeger client [apm-configure-sampling-local-jaeger] diff --git a/solutions/observability/apm/monitor-aws-lambda-functions.md b/solutions/observability/apm/ingest/monitor-aws-lambda-functions.md similarity index 100% rename from solutions/observability/apm/monitor-aws-lambda-functions.md rename to solutions/observability/apm/ingest/monitor-aws-lambda-functions.md diff --git a/solutions/observability/apm/jaeger-event-intake.md b/solutions/observability/apm/jaeger-event-intake.md index 4ea08ad0f4..f4448a1baf 100644 --- a/solutions/observability/apm/jaeger-event-intake.md +++ b/solutions/observability/apm/jaeger-event-intake.md @@ -15,7 +15,7 @@ products: :::: -Elastic APM natively supports Jaeger, an open-source, distributed tracing system. [Learn more](/solutions/observability/apm/jaeger.md). +Elastic APM natively supports Jaeger, an open-source, distributed tracing system. [Learn more](/solutions/observability/apm/ingest/jaeger.md). **Jaeger/gRPC paths** diff --git a/solutions/observability/apm/manage-storage.md b/solutions/observability/apm/manage-storage.md index 8fe8e25e35..fc41907888 100644 --- a/solutions/observability/apm/manage-storage.md +++ b/solutions/observability/apm/manage-storage.md @@ -12,7 +12,7 @@ products: {{agent}} uses [data streams](/solutions/observability/apm/data-streams.md) to store time series data across multiple indices. [Index templates](/solutions/observability/apm/view-elasticsearch-index-template.md) are used to configure the backing indices of data streams as they are created. Each data stream ships with a customizable [index lifecycle policy](/solutions/observability/apm/index-lifecycle-management.md) that automates data retention as your indices grow and age. Use [ingest pipelines](/solutions/observability/apm/parse-data-using-ingest-pipelines.md) to process and enrich APM documents before indexing them. -The [storage and sizing guide](/solutions/observability/apm/storage-sizing-guide.md) attempts to define a "typical" storage reference for Elastic APM, and there are additional settings you can tweak to [reduce storage](/solutions/observability/apm/reduce-storage.md), or to [tune data ingestion in {{es}}](/solutions/observability/apm/tune-data-ingestion.md#apm-tune-elasticsearch). +The [storage and sizing guide](/solutions/observability/apm/storage-sizing-guide.md) attempts to define a "typical" storage reference for Elastic APM, and there are additional settings you can tweak to [reduce storage](/solutions/observability/apm/reduce-storage.md), or to [tune data ingestion in {{es}}](/solutions/observability/apm/apm-server/tune-data-ingestion.md#apm-tune-elasticsearch). In addition, the Applications UI makes it easy to visualize your APM data usage with [storage explorer](/solutions/observability/apm/storage-explorer.md). Storage explorer allows you to analyze the storage footprint of each of your services to see which are producing large amounts of data—so you can better reduce the data you’re collecting or forecast and prepare for future storage needs. diff --git a/solutions/observability/apm/managed-intake-service-event-api.md b/solutions/observability/apm/managed-intake-service-event-api.md index 942cab4b7b..a52ce5a8de 100644 --- a/solutions/observability/apm/managed-intake-service-event-api.md +++ b/solutions/observability/apm/managed-intake-service-event-api.md @@ -4478,7 +4478,7 @@ The managed intake service supports two OTLP communication protocols on the same | OTLP logs intake | `/v1/logs` | ::::{tip} -See our [OpenTelemetry docs](/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md) to learn how to send data to the managed intake service from an OpenTelemetry agent OpenTelemetry collector. +See our [OpenTelemetry docs](/solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md) to learn how to send data to the managed intake service from an OpenTelemetry agent OpenTelemetry collector. :::: diff --git a/solutions/observability/apm/monitor-apm-server-binary.md b/solutions/observability/apm/monitor-apm-server-binary.md deleted file mode 100644 index 568e2b4f5b..0000000000 --- a/solutions/observability/apm/monitor-apm-server-binary.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -navigation_title: APM Server binary -mapped_pages: - - https://www.elastic.co/guide/en/observability/current/apm-monitoring.html -applies_to: - stack: all -products: - - id: observability - - id: apm ---- - -# Monitor the APM Server binary [apm-monitoring] - -There are two methods to monitor the APM Server binary. Make sure monitoring is enabled on your {{es}} cluster, then configure one of these methods to collect APM Server metrics: - -* [Internal collection](/solutions/observability/apm/use-internal-collection-to-send-monitoring-data.md) - Internal collectors send monitoring data directly to your monitoring cluster. -* [{{metricbeat}} collection](/solutions/observability/apm/use-metricbeat-to-send-monitoring-data.md) - {{metricbeat}} collects monitoring data from your APM Server instance and sends it directly to your monitoring cluster. -* [Local collection](/solutions/observability/apm/use-select-metrics-emitted-directly-to-monitoring-cluster.md) - Local collection sends select monitoring data directly to the standard indices of your monitoring cluster. \ No newline at end of file diff --git a/solutions/observability/apm/observe-lambda-functions.md b/solutions/observability/apm/observe-lambda-functions.md index 67ad04c9a8..c0f879d7e9 100644 --- a/solutions/observability/apm/observe-lambda-functions.md +++ b/solutions/observability/apm/observe-lambda-functions.md @@ -15,7 +15,7 @@ products: Elastic APM provides performance and error monitoring for AWS Lambda functions. See how your 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. -To set up Lambda monitoring, refer to [AWS Lambda functions](/solutions/observability/apm/monitor-aws-lambda-functions.md). +To set up Lambda monitoring, refer to [AWS Lambda functions](/solutions/observability/apm/ingest/monitor-aws-lambda-functions.md). :::{image} /solutions/images/observability-lambda-overview.png :alt: lambda overview diff --git a/solutions/observability/apm/opentelemetry-intake-api.md b/solutions/observability/apm/opentelemetry-intake-api.md index 6d719ec7ab..b5cbb5ca9c 100644 --- a/solutions/observability/apm/opentelemetry-intake-api.md +++ b/solutions/observability/apm/opentelemetry-intake-api.md @@ -34,6 +34,6 @@ APM Server supports two OTLP communication protocols on the same port: | OTLP logs intake | `/v1/logs` | ::::{tip} -See our OpenTelemetry documentation to learn how to send data to the APM Server from an [OpenTelemetry agent](/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md#apm-instrument-apps-otel) or [OpenTelemetry collector](/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md#apm-connect-open-telemetry-collector). +See our OpenTelemetry documentation to learn how to send data to the APM Server from an [OpenTelemetry agent](/solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md#apm-instrument-apps-otel) or [OpenTelemetry collector](/solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md#apm-connect-open-telemetry-collector). :::: diff --git a/solutions/observability/apm/attributes.md b/solutions/observability/apm/opentelemetry/attributes.md similarity index 100% rename from solutions/observability/apm/attributes.md rename to solutions/observability/apm/opentelemetry/attributes.md diff --git a/solutions/observability/apm/collect-metrics.md b/solutions/observability/apm/opentelemetry/collect-metrics.md similarity index 100% rename from solutions/observability/apm/collect-metrics.md rename to solutions/observability/apm/opentelemetry/collect-metrics.md diff --git a/solutions/observability/apm/data-stream-routing.md b/solutions/observability/apm/opentelemetry/data-stream-routing.md similarity index 95% rename from solutions/observability/apm/data-stream-routing.md rename to solutions/observability/apm/opentelemetry/data-stream-routing.md index 2f91ceea6b..e081c1fa35 100644 --- a/solutions/observability/apm/data-stream-routing.md +++ b/solutions/observability/apm/opentelemetry/data-stream-routing.md @@ -15,4 +15,4 @@ To automatically route OTLP data, set the `data_stream.dataset` and `data_stream You can set the `data_stream` attributes at resource level, scope level, and record level. Elastic parses the attributes in increasing order of precedence. For example, record `data_stream` attributes override the scope `data_stream` attributes. This implies that `data_stream` attributes are inherited from previous levels. If a scope does not specify `data_stream` attributes, it uses the resource attributes. -For guidance on how to set resource attributes in OpenTelemetry, refer to [setting resource attributes](/solutions/observability/apm/attributes.md#setting-resource-attributes). +For guidance on how to set resource attributes in OpenTelemetry, refer to [setting resource attributes](/solutions/observability/apm/opentelemetry/attributes.md#setting-resource-attributes). diff --git a/solutions/observability/apm/edot-sdks-central-configuration.md b/solutions/observability/apm/opentelemetry/edot-sdks-central-configuration.md similarity index 88% rename from solutions/observability/apm/edot-sdks-central-configuration.md rename to solutions/observability/apm/opentelemetry/edot-sdks-central-configuration.md index a9ad7b35cb..cfa14f6666 100644 --- a/solutions/observability/apm/edot-sdks-central-configuration.md +++ b/solutions/observability/apm/opentelemetry/edot-sdks-central-configuration.md @@ -5,7 +5,7 @@ applies_to: ess: preview 9.1 stack: preview 9.1 serverless: unavailable - + products: - id: observability - id: kibana @@ -19,7 +19,7 @@ APM Agent Central Configuration allows you to fine-tune your EDOT SDKs from with To get started, select the services and environments you want to configure. The Applications UI lets you know when your EDOT SDKs have applied your configurations. ::::{important} -To configure EDOT SDKs through APM Agent Central Configuration, refer to [EDOT SDKs Central Configuration](edot-sdks-central-configuration.md). +To configure EDOT SDKs through APM Agent Central Configuration, refer to [EDOT SDKs Central Configuration](/solutions/observability/apm/opentelemetry/edot-sdks-central-configuration.md). :::: ## Precedence [_precedence] @@ -43,10 +43,10 @@ Supported configurations are also tagged with the ![dynamic config](/solutions/i ## EDOT configuration [_edot_configuration] -EDOT SDK configuration is an optional feature. To activate it, refer to [EDOT SDK Central Configuration](edot-sdks-central-configuration.md). +EDOT SDK configuration is an optional feature. To activate it, refer to [EDOT SDK Central Configuration](/solutions/observability/apm/opentelemetry/edot-sdks-central-configuration.md). Refer to the [EDOT reference](opentelemetry://reference/central-configuration.md) to learn how to activate central configuration for EDOT SDKs. ::::{note} -You can't configure APM agents through the EDOT Collector. Use APM Server for that purpose. Refer to [Configure APM agent configuration](/solutions/observability/apm/configure-apm-agent-central-configuration.md) for more details. +You can't configure APM agents through the EDOT Collector. Use APM Server for that purpose. Refer to [Configure APM agent configuration](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md) for more details. :::: diff --git a/solutions/observability/apm/use-opentelemetry-with-apm.md b/solutions/observability/apm/opentelemetry/index.md similarity index 96% rename from solutions/observability/apm/use-opentelemetry-with-apm.md rename to solutions/observability/apm/opentelemetry/index.md index 6b941485a9..6abce52222 100644 --- a/solutions/observability/apm/use-opentelemetry-with-apm.md +++ b/solutions/observability/apm/opentelemetry/index.md @@ -12,7 +12,7 @@ products: - id: observability --- -# Use OpenTelemetry with Elastic APM [apm-otel-elastic-distros] +# Use OpenTelemetry with Elastic APM OpenTelemetry is a set of APIs, SDKs, tooling, and integrations that enable the capture and management of telemetry data from your services and applications. You can use OpenTelemetry to collect application performance data in Elastic APM, whether you’re running serverless, self-managed, or hybrid deployments. @@ -53,9 +53,9 @@ This approach works well when you need to instrument a technology that Elastic d * You won’t have access to Elastic enterprise APM features. * You might experience problems with performance efficiency. -For more on the limitations associated with using contrib OpenTelemetry tools, refer to [Limitations](/solutions/observability/apm/limitations.md). +For more on the limitations associated with using contrib OpenTelemetry tools, refer to [Limitations](/solutions/observability/apm/opentelemetry/limitations.md). -[**Get started with contrib OpenTelemetry Collectors and language SDKs →**](/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md) +[**Get started with contrib OpenTelemetry Collectors and language SDKs →**](/solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md) :::{note} To understand the differences between Elastic Distributions of OpenTelemetry and contrib OpenTelemetry, refer to [EDOT compared to contrib OpenTelemetry](opentelemetry://reference/compatibility/edot-vs-upstream.md). @@ -63,7 +63,7 @@ To understand the differences between Elastic Distributions of OpenTelemetry and ## Contrib OpenTelemetry with Elastic APM agent [apm-otel-api-sdk-elastic-agent] -You can use the OpenTelemetry API/SDKs with [Elastic APM agents](/solutions/observability/apm/apm-server-fleet-managed.md#_step_3_install_apm_agents) to translate OpenTelemetry API calls to Elastic APM API calls. This allows you to reuse your existing OpenTelemetry instrumentation to create Elastic APM transactions and spans, avoiding vendor lock-in and having to redo manual instrumentation. +You can use the OpenTelemetry API/SDKs with [Elastic APM agents](/solutions/observability/apm/apm-server/fleet-managed.md#_step_3_install_apm_agents) to translate OpenTelemetry API calls to Elastic APM API calls. This allows you to reuse your existing OpenTelemetry instrumentation to create Elastic APM transactions and spans, avoiding vendor lock-in and having to redo manual instrumentation. However, not all features of the OpenTelemetry API are supported when using this approach, and not all Elastic APM agents support this approach. diff --git a/solutions/observability/apm/limitations.md b/solutions/observability/apm/opentelemetry/limitations.md similarity index 93% rename from solutions/observability/apm/limitations.md rename to solutions/observability/apm/opentelemetry/limitations.md index 53f0f426c4..9a777d1445 100644 --- a/solutions/observability/apm/limitations.md +++ b/solutions/observability/apm/opentelemetry/limitations.md @@ -22,7 +22,7 @@ products: ## OpenTelemetry logs [apm-open-telemetry-logs-intake] -* The OpenTelemetry logs intake through the [APM Server](/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md#apm-open-telemetry-proxy-apm) is in technical preview. {applies_to}`product: preview` +* The OpenTelemetry logs intake through the [APM Server](/solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md#apm-open-telemetry-proxy-apm) is in technical preview. {applies_to}`product: preview` * The application logs data stream (`app_logs`) has dynamic mapping disabled. This means the automatic detection and mapping of new fields is disabled (see issue [#9093](https://github.com/elastic/apm-server/issues/9093)). ::::{note} @@ -37,7 +37,7 @@ Elastic supports both the [OTLP/gRPC](https://opentelemetry.io/docs/specs/otlp/ The [OpenTelemetry Collector exporter for Elastic](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.57.2/exporter/elasticexporter) has been deprecated and replaced by the native support of the OpenTelemetry Line Protocol in Elastic Observability (OTLP). -The [OpenTelemetry Collector exporter for Elastic](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/elasticsearchexporter) (which is different from the legacy exporter mentioned above) is not intended to be used with Elastic APM and Elastic Observability. Use [Elastic’s native OTLP support](/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md) instead. +The [OpenTelemetry Collector exporter for Elastic](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/elasticsearchexporter) (which is different from the legacy exporter mentioned above) is not intended to be used with Elastic APM and Elastic Observability. Use [Elastic’s native OTLP support](/solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md) instead. % Statefull only for tail-based sampling? diff --git a/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md b/solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md similarity index 94% rename from solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md rename to solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md index a5928e273f..a2d0ce20ed 100644 --- a/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md +++ b/solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md @@ -15,10 +15,10 @@ products: The {{stack}} natively supports the OpenTelemetry protocol (OTLP). This means logs, metrics, and trace data collected from your applications and infrastructure can be sent directly to the {{stack}}. -* Send data to Elastic from a contrib [OpenTelemetry Collector](/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md#apm-connect-open-telemetry-collector) -* Send data to Elastic from a contrib [OpenTelemetry language SDK](/solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md#apm-instrument-apps-otel) +* Send data to Elastic from a contrib [OpenTelemetry Collector](/solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md#apm-connect-open-telemetry-collector) +* Send data to Elastic from a contrib [OpenTelemetry language SDK](/solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md#apm-instrument-apps-otel) -To compare approaches and choose the best approach for your use case, refer to [OpenTelemetry](/solutions/observability/apm/use-opentelemetry-with-apm.md). +To compare approaches and choose the best approach for your use case, refer to [OpenTelemetry](/solutions/observability/apm/opentelemetry/index.md). ::::{important} The Elastic Distribution of OpenTelemetry Collector (EDOT Collector) include additional features and configurations to seamlessly integrate with Elastic. Refer to [EDOT compared to contrib OpenTelemetry](opentelemetry:///reference/compatibility/edot-vs-upstream.md) for a comparison. @@ -177,7 +177,7 @@ java -javaagent:/path/to/opentelemetry-javaagent-all.jar \ 1. The OpenTelemetry logs intake through the APM Server is currently in technical preview. {applies_to}`product: preview` `OTEL_RESOURCE_ATTRIBUTES` -: Fields that describe the service and the environment that the service runs in. See [attributes](/solutions/observability/apm/attributes.md) for more information. +: Fields that describe the service and the environment that the service runs in. See [attributes](/solutions/observability/apm/opentelemetry/attributes.md) for more information. `OTEL_EXPORTER_OTLP_ENDPOINT` : APM Server URL. The host and port that APM Server listens for events on. @@ -218,7 +218,7 @@ java -javaagent:/path/to/opentelemetry-javaagent-all.jar \ 1. The OpenTelemetry logs intake through Elastic is currently in technical preview. {applies_to}`product: preview` `OTEL_RESOURCE_ATTRIBUTES` -: Fields that describe the service and the environment that the service runs in. See [attributes](/solutions/observability/apm/attributes.md) for more information. +: Fields that describe the service and the environment that the service runs in. See [attributes](/solutions/observability/apm/opentelemetry/attributes.md) for more information. `OTEL_EXPORTER_OTLP_ENDPOINT` : Elastic URL. The host and port that Elastic listens for APM events on. @@ -243,7 +243,7 @@ java -javaagent:/path/to/opentelemetry-javaagent-all.jar \ :::: -You are now ready to collect traces and [metrics](/solutions/observability/apm/collect-metrics.md) before [verifying metrics](/solutions/observability/apm/collect-metrics.md#apm-open-telemetry-verify-metrics) and [visualizing metrics](/solutions/observability/apm/collect-metrics.md#apm-open-telemetry-visualize). +You are now ready to collect traces and [metrics](/solutions/observability/apm/opentelemetry/collect-metrics.md) before [verifying metrics](/solutions/observability/apm/opentelemetry/collect-metrics.md#apm-open-telemetry-verify-metrics) and [visualizing metrics](/solutions/observability/apm/opentelemetry/collect-metrics.md#apm-open-telemetry-visualize). ## Proxy requests to APM Server [apm-open-telemetry-proxy-apm] @@ -268,11 +268,11 @@ For more information on how to configure an AWS ALB to support gRPC, see this AW For more information on how APM Server services gRPC requests, see [Muxing gRPC and HTTP/1.1](https://github.com/elastic/apm-server/blob/main/dev_docs/otel.md#muxing-grpc-and-http11). -:::{include} _snippets/apm-server-vs-mis.md +:::{include} /solutions/observability/apm/_snippets/apm-server-vs-mis.md ::: ## Next steps [apm-open-telemetry-direct-next] -* [Collect metrics](/solutions/observability/apm/collect-metrics.md) -* Add [resource attributes](/solutions/observability/apm/attributes.md) -* Learn about the [limitations of this integration](/solutions/observability/apm/limitations.md) +* [Collect metrics](/solutions/observability/apm/opentelemetry/collect-metrics.md) +* Add [resource attributes](/solutions/observability/apm/opentelemetry/attributes.md) +* Learn about the [limitations of this integration](/solutions/observability/apm/opentelemetry/limitations.md) diff --git a/solutions/observability/apm/secure-communication-with-elastic-stack.md b/solutions/observability/apm/secure-communication-with-elastic-stack.md index 0a46dcf15d..596ea745c8 100644 --- a/solutions/observability/apm/secure-communication-with-elastic-stack.md +++ b/solutions/observability/apm/secure-communication-with-elastic-stack.md @@ -32,12 +32,12 @@ Instead of using usernames and passwords, you can use API keys to grant access t After privileged users have been created, use authentication to connect to a secured Elastic cluster. -* [Secure communication with {{es}}](/solutions/observability/apm/configure-elasticsearch-output.md#apm-securing-communication-elasticsearch) -* [Secure communication with {{ls}}](/solutions/observability/apm/configure-logstash-output.md#apm-configuring-ssl-logstash) +* [Secure communication with {{es}}](/solutions/observability/apm/apm-server/configure-elasticsearch-output.md#apm-securing-communication-elasticsearch) +* [Secure communication with {{ls}}](/solutions/observability/apm/apm-server/configure-logstash-output.md#apm-configuring-ssl-logstash) For secure communication between APM Server and APM Agents, see [Secure communication with APM agents](/solutions/observability/apm/secure-communication-with-apm-agents.md). -A reference of all available [SSL configuration settings](/solutions/observability/apm/ssl-tls-settings.md) is also available. +A reference of all available [SSL configuration settings](/solutions/observability/apm/apm-server/ssl-tls-settings.md) is also available. ::::{important} :name: apm-security-overview diff --git a/solutions/observability/apm/switch-an-elastic-cloud-cluster-to-apm-integration.md b/solutions/observability/apm/switch-an-elastic-cloud-cluster-to-apm-integration.md index b4f25e3577..465d5abced 100644 --- a/solutions/observability/apm/switch-an-elastic-cloud-cluster-to-apm-integration.md +++ b/solutions/observability/apm/switch-an-elastic-cloud-cluster-to-apm-integration.md @@ -42,7 +42,7 @@ With a Superuser account, complete these steps: ## Configure the APM integration [apm-integration-upgrade-ess-3] -You can now update settings that were removed during the upgrade. See [Configure APM Server](/solutions/observability/apm/configure-apm-server.md) for a reference of all available settings. +You can now update settings that were removed during the upgrade. See [Configure APM Server](/solutions/observability/apm/apm-server/configure.md) for a reference of all available settings. In {{kib}}, navigate to **Management** > **Fleet**. Select the **Elastic Cloud Agent Policy**. Next to the **Elastic APM** integration, select **Actions** > **Edit integration**. diff --git a/solutions/observability/apm/switch-self-installation-to-apm-integration.md b/solutions/observability/apm/switch-self-installation-to-apm-integration.md index a61729dc51..1d2f8b9ec4 100644 --- a/solutions/observability/apm/switch-self-installation-to-apm-integration.md +++ b/solutions/observability/apm/switch-self-installation-to-apm-integration.md @@ -47,10 +47,10 @@ The {{fleet}}-managed {{agent}} will run the Elastic APM integration on your edg The APM integration receives performance data from your APM agents, validates and processes it, and then transforms the data into {{es}} documents. -To add the APM integration, see [Step 2: Add and configure the APM integration](/solutions/observability/apm/apm-server-fleet-managed.md#add-apm-integration). Only complete the linked step (not the entire quick start guide). If you’re adding the APM integration to a {{fleet}}-managed {{agent}}, you can use the default policy. If you’re adding the APM integration to the {{fleet-server}}, use the policy that the {{fleet-server}} is running on. +To add the APM integration, see [Step 2: Add and configure the APM integration](/solutions/observability/apm/apm-server/fleet-managed.md#add-apm-integration). Only complete the linked step (not the entire quick start guide). If you’re adding the APM integration to a {{fleet}}-managed {{agent}}, you can use the default policy. If you’re adding the APM integration to the {{fleet-server}}, use the policy that the {{fleet-server}} is running on. ::::{tip} -You’ll configure the APM integration in this step. See [Configure APM Server](/solutions/observability/apm/configure-apm-server.md) for a reference of all available settings. As long as the APM integration is configured with the same secret token or you have API keys enabled on the same host, no reconfiguration is required in your APM agents. +You’ll configure the APM integration in this step. See [Configure APM Server](/solutions/observability/apm/apm-server/configure.md) for a reference of all available settings. As long as the APM integration is configured with the same secret token or you have API keys enabled on the same host, no reconfiguration is required in your APM agents. :::: ## Stop the APM Server [apm-integration-upgrade-5] diff --git a/solutions/observability/apm/transaction-sampling.md b/solutions/observability/apm/transaction-sampling.md index 6e8f0c010f..b73406fce7 100644 --- a/solutions/observability/apm/transaction-sampling.md +++ b/solutions/observability/apm/transaction-sampling.md @@ -115,7 +115,7 @@ serverless: unavailable ::::{note} **Support for tail-based sampling** -Tail-based sampling is only supported when writing to {{es}}. If you are using a different [output](/solutions/observability/apm/configure-output.md), tail-based sampling is *not* supported. +Tail-based sampling is only supported when writing to {{es}}. If you are using a different [output](/solutions/observability/apm/apm-server/configure-output.md), tail-based sampling is *not* supported. :::: In tail-based sampling, the sampling decision for each trace is made after the trace has completed. This means all traces will be analyzed against a set of rules, or policies, which will determine the rate at which they are sampled. @@ -140,13 +140,13 @@ In this example, `Service A` initiates four transactions. If our sample rate is Tail-based sampling is implemented entirely in APM Server, and will work with traces sent by either Elastic APM agents or OpenTelemetry SDKs. -Due to [OpenTelemetry tail-based sampling limitations](/solutions/observability/apm/limitations.md#apm-open-telemetry-tbs) when using [tailsamplingprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/tailsamplingprocessor), we recommend using APM Server tail-based sampling instead. +Due to [OpenTelemetry tail-based sampling limitations](/solutions/observability/apm/opentelemetry/limitations.md#apm-open-telemetry-tbs) when using [tailsamplingprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/tailsamplingprocessor), we recommend using APM Server tail-based sampling instead. ### Tail-based sampling performance and requirements [_tail_based_sampling_performance_and_requirements] Tail-based sampling (TBS), by definition, requires storing events locally temporarily, such that they can be retrieved and forwarded when a sampling decision is made. -In an APM Server implementation, the events are stored temporarily on disk instead of in memory for better scalability. Therefore, it requires local disk storage proportional to the APM event ingestion rate and additional memory to facilitate disk reads and writes. If the [storage limit](/solutions/observability/apm/tail-based-sampling.md#sampling-tail-storage_limit-ref) is insufficient, trace events are indexed or discarded based on the [discard on write failure](/solutions/observability/apm/tail-based-sampling.md#sampling-tail-discard-on-write-failure-ref) configuration. +In an APM Server implementation, the events are stored temporarily on disk instead of in memory for better scalability. Therefore, it requires local disk storage proportional to the APM event ingestion rate and additional memory to facilitate disk reads and writes. If the [storage limit](/solutions/observability/apm/apm-server/tail-based-sampling.md#sampling-tail-storage_limit-ref) is insufficient, trace events are indexed or discarded based on the [discard on write failure](/solutions/observability/apm/apm-server/tail-based-sampling.md#sampling-tail-discard-on-write-failure-ref) configuration. It is recommended to use fast disks, ideally Solid State Drives (SSD) with high I/O per second (IOPS), when enabling tail-based sampling. Disk throughput and I/O may become performance bottlenecks for tail-based sampling and APM event ingestion overall. Disk writes are proportional to the event ingest rate, while disk reads are proportional to both the event ingest rate and the sampling rate. @@ -239,7 +239,7 @@ There are three ways to adjust the head-based sampling rate of your APM agents: ### Dynamic configuration [_dynamic_configuration] -The transaction sample rate can be changed dynamically (no redeployment necessary) on a per-service and per-environment basis with [{{apm-agent}} Configuration](/solutions/observability/apm/apm-agent-central-configuration.md) in {{kib}}. +The transaction sample rate can be changed dynamically (no redeployment necessary) on a per-service and per-environment basis with [{{apm-agent}} Configuration](/solutions/observability/apm/apm-server/apm-agent-central-configuration.md) in {{kib}}. ### {{kib}} API configuration [_kib_api_configuration] @@ -268,7 +268,7 @@ serverless: unavailable Enhanced privileges are required to use tail-based sampling. For more information, refer to [Create a tail-based sampling role](/solutions/observability/apm/create-assign-feature-roles-to-apm-server-users.md#apm-privileges-tail-based-sampling). :::: -Enable tail-based sampling with [Enable tail-based sampling](/solutions/observability/apm/tail-based-sampling.md#sampling-tail-enabled-ref). When enabled, trace events are mapped to sampling policies. Each sampling policy must specify a sample rate, and can optionally specify other conditions. All of the policy conditions must be true for a trace event to match it. +Enable tail-based sampling with [Enable tail-based sampling](/solutions/observability/apm/apm-server/tail-based-sampling.md#sampling-tail-enabled-ref). When enabled, trace events are mapped to sampling policies. Each sampling policy must specify a sample rate, and can optionally specify other conditions. All of the policy conditions must be true for a trace event to match it. Trace events are matched to policies in the order specified. Each policy list must conclude with a default policy — one that only specifies a sample rate. This default policy is used to catch remaining trace events that don’t match a stricter policy. Requiring this default policy ensures that traces are only dropped intentionally. If you enable tail-based sampling and send a transaction that does not match any of the policies, APM Server will reject the transaction with the error `no matching policy`. @@ -340,4 +340,4 @@ Policies are evaluated **in order** and the first one that meets all match condi ### Configuration reference [_configuration_reference] -For a complete reference of tail-based sampling configuration options, refer to [](/solutions/observability/apm/tail-based-sampling.md). +For a complete reference of tail-based sampling configuration options, refer to [](/solutions/observability/apm/apm-server/tail-based-sampling.md). diff --git a/solutions/observability/apm/upgrade-elastic-cloud-with-apm-integration-to-9.md b/solutions/observability/apm/upgrade-elastic-cloud-with-apm-integration-to-9.md index 770bc80fbc..c363938061 100644 --- a/solutions/observability/apm/upgrade-elastic-cloud-with-apm-integration-to-9.md +++ b/solutions/observability/apm/upgrade-elastic-cloud-with-apm-integration-to-9.md @@ -23,6 +23,6 @@ Follow these steps to upgrade: 3. Upgrade your {{ecloud}} instance to 9.0. Refer to [Upgrade your deployment](/deploy-manage/upgrade/deployment-or-cluster.md) for details. As a part of this process, the APM integration will automatically upgrade to version 9.0. ::::{note} -{{ece}} users require additional TLS setup. Refer to [Add APM user settings](/solutions/observability/apm/configure-apm-server.md) for more information. +{{ece}} users require additional TLS setup. Refer to [Add APM user settings](/solutions/observability/apm/apm-server/configure.md) for more information. :::: diff --git a/solutions/observability/apm/upgrade-self-installation-of-apm-server-standalone-to-9.md b/solutions/observability/apm/upgrade-self-installation-of-apm-server-standalone-to-9.md index c94d85dde3..c4610798d0 100644 --- a/solutions/observability/apm/upgrade-self-installation-of-apm-server-standalone-to-9.md +++ b/solutions/observability/apm/upgrade-self-installation-of-apm-server-standalone-to-9.md @@ -34,11 +34,11 @@ This upgrade guide is for the standalone method of running APM Server. Only use 2. **Install the 9.0 APM Server release** - Refer to [install](/solutions/observability/apm/apm-server-binary.md#apm-installing) to find the command that works with your system. + Refer to [install](/solutions/observability/apm/apm-server/binary.md#apm-installing) to find the command that works with your system. 3. **Review your configuration file** - Some settings have been removed or changed. You may need to update your `apm-server.yml` configuration file prior to starting the APM Server. Refer to [Installation layout](/solutions/observability/apm/installation-layout.md) for help in locating this file, and [Configure APM Server](/solutions/observability/apm/configure-apm-server.md) for a list of all available configuration options. + Some settings have been removed or changed. You may need to update your `apm-server.yml` configuration file prior to starting the APM Server. Refer to [Installation layout](/solutions/observability/apm/apm-server/installation-layout.md) for help in locating this file, and [Configure APM Server](/solutions/observability/apm/apm-server/configure.md) for a list of all available configuration options. 4. **Start the APM Server** @@ -48,7 +48,7 @@ This upgrade guide is for the standalone method of running APM Server. Only use ./apm-server -e ``` - Additional details are available in [start the APM Server](/solutions/observability/apm/apm-server-binary.md#apm-server-starting). + Additional details are available in [start the APM Server](/solutions/observability/apm/apm-server/binary.md#apm-server-starting). 5. When upgrading from 8.18 to 9.0, if you have 7.x indices, you need to either set the indices to `readonly`, or if reindexing, add [ILM privileges](https://www.elastic.co/guide/en/apm/guide/7.17/privileges-to-setup-beats.html#_set_up_ilm) for `reindexed-v*-apm*` indices. diff --git a/solutions/observability/apm/view-analyze-data.md b/solutions/observability/apm/view-analyze-data.md index 15db181f98..7ab9367e7d 100644 --- a/solutions/observability/apm/view-analyze-data.md +++ b/solutions/observability/apm/view-analyze-data.md @@ -13,7 +13,7 @@ products: # View and analyze data [apm-view-and-analyze-data] -After you’ve started [sending application data to Elastic](/solutions/observability/apm/collect-application-data.md), you can open the Applications UI to view your data in a variety of visualizations and start analyzing data. +After you’ve started [sending application data to Elastic](/solutions/observability/apm/ingest/index.md), 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. diff --git a/solutions/observability/applications/user-experience.md b/solutions/observability/applications/user-experience.md index 3150e64f03..8893c43dfa 100644 --- a/solutions/observability/applications/user-experience.md +++ b/solutions/observability/applications/user-experience.md @@ -27,7 +27,7 @@ Search engines are placing increasing importance on user experience when organic {{user-experience}} metrics are powered by the [APM Real User Monitoring (RUM) agent](apm-agent-rum-js://reference/index.md). The RUM agent uses browser timing APIs, like [Navigation Timing](https://w3c.github.io/navigation-timing/), [Resource Timing](https://w3c.github.io/resource-timing/), [Paint Timing](https://w3c.github.io/paint-timing/), and [User Timing](https://w3c.github.io/user-timing/), to capture {{user-experience}} metrics every time a user hits one of your pages. This data is stored in {{es}}, where it can be visualized using {{kib}}. -The RUM agent can be installed as a dependency to your application, or with just a few lines of JavaScript. It only takes a few minutes to [get started](/solutions/observability/apm/real-user-monitoring-rum.md). +The RUM agent can be installed as a dependency to your application, or with just a few lines of JavaScript. It only takes a few minutes to [get started](/solutions/observability/apm/apm-agents/real-user-monitoring-rum.md). ## {{user-experience}} in {{kib}} [user-experience-tab] diff --git a/solutions/observability/get-started/quickstart-elastic-cloud-otel-endpoint.md b/solutions/observability/get-started/quickstart-elastic-cloud-otel-endpoint.md index f5d0dbce9d..9aa25dfb53 100644 --- a/solutions/observability/get-started/quickstart-elastic-cloud-otel-endpoint.md +++ b/solutions/observability/get-started/quickstart-elastic-cloud-otel-endpoint.md @@ -132,7 +132,7 @@ OTEL_EXPORTER_OTLP_HEADERS=Authorization=ApiKey%20` :::{tab-item} Kubernetes example You can store your API key in a Kubernetes secret and reference it in your OTLP exporter configuration. This is more secure than hardcoding credentials. -The API key from Kibana does not include the `ApiKey` scheme. You must prepend `ApiKey ` before storing it. +The API key from Kibana does not include the `ApiKey` scheme. You must prepend `ApiKey ` before storing it. For example, if your API key from Kibana is `abc123`, run: @@ -179,7 +179,7 @@ When creating a Kubernetes secret, always encode the full string in Base64, incl ## Differences from the Elastic APM Endpoint -The Elastic Cloud Managed OTLP Endpoint ensures that OpenTelemetry data is stored without any schema translation, preserving both OpenTelemetry semantic conventions and resource attributes. It supports ingesting OTLP logs, metrics, and traces in a unified manner, ensuring consistent treatment across all telemetry data. This marks a significant improvement over the [existing functionality](/solutions/observability/apm/use-opentelemetry-with-apm.md), which primarily focuses on traces and the APM use case. +The Elastic Cloud Managed OTLP Endpoint ensures that OpenTelemetry data is stored without any schema translation, preserving both OpenTelemetry semantic conventions and resource attributes. It supports ingesting OTLP logs, metrics, and traces in a unified manner, ensuring consistent treatment across all telemetry data. This marks a significant improvement over the [existing functionality](/solutions/observability/apm/opentelemetry/index.md), which primarily focuses on traces and the APM use case. ## Troubleshoot diff --git a/solutions/toc.yml b/solutions/toc.yml index c3988f88d2..5121a73f2a 100644 --- a/solutions/toc.yml +++ b/solutions/toc.yml @@ -157,24 +157,26 @@ toc: - file: observability/apm/errors.md - file: observability/apm/metrics.md - file: observability/apm/metadata.md - - file: observability/apm/collect-application-data.md + - file: observability/apm/ingest/index.md children: - - file: observability/apm/use-opentelemetry-with-apm.md + - folder: observability/apm/opentelemetry + file: index.md children: - - file: observability/apm/upstream-opentelemetry-collectors-language-sdks.md - - file: observability/apm/collect-metrics.md - - file: observability/apm/edot-sdks-central-configuration.md - - file: observability/apm/limitations.md - - file: observability/apm/attributes.md - - file: observability/apm/data-stream-routing.md - - file: observability/apm/elastic-apm-agents.md + - file: upstream-opentelemetry-collectors-language-sdks.md + - file: collect-metrics.md + - file: edot-sdks-central-configuration.md + - file: limitations.md + - file: attributes.md + - file: data-stream-routing.md + - folder: observability/apm/apm-agents + file: index.md children: - - file: observability/apm/apm-agent-central-configuration.md - - file: observability/apm/real-user-monitoring-rum.md - - file: observability/apm/create-upload-source-maps-rum.md - - file: observability/apm/apm-k8s-attacher.md - - file: observability/apm/monitor-aws-lambda-functions.md - - file: observability/apm/jaeger.md + - file: central-configuration.md + - file: real-user-monitoring-rum.md + - file: create-upload-source-maps-rum.md + - file: observability/apm/ingest/apm-k8s-attacher.md + - file: observability/apm/ingest/monitor-aws-lambda-functions.md + - file: observability/apm/ingest/jaeger.md - file: observability/apm/view-analyze-data.md children: - file: observability/apm/overviews.md @@ -246,59 +248,60 @@ toc: - file: observability/apm/storage-sizing-guide.md - file: observability/apm/reduce-storage.md - file: observability/apm/explore-data-in-elasticsearch.md - - file: observability/apm/apm-server.md + - folder: observability/apm/apm-server + file: index.md children: - - file: observability/apm/apm-server-setup.md + - file: setup.md children: - - file: observability/apm/apm-server-fleet-managed.md - - file: observability/apm/apm-server-binary.md - - file: observability/apm/configure-apm-server.md + - file: fleet-managed.md + - file: binary.md + - file: configure.md children: - - file: observability/apm/general-configuration-options.md - - file: observability/apm/configure-anonymous-authentication.md - - file: observability/apm/apm-agent-authorization.md - - file: observability/apm/configure-apm-agent-central-configuration.md - - file: observability/apm/configure-apm-instrumentation.md - - file: observability/apm/configure-kibana-endpoint.md - - file: observability/apm/configure-logging.md - - file: observability/apm/configure-output.md + - file: general-configuration-options.md + - file: configure-anonymous-authentication.md + - file: apm-agent-authorization.md + - file: apm-agent-central-configuration.md + - file: configure-apm-instrumentation.md + - file: configure-kibana-endpoint.md + - file: configure-logging.md + - file: configure-output.md children: - - file: observability/apm/configure-output-for-elasticsearch-service-on-elastic-cloud.md - - file: observability/apm/configure-elasticsearch-output.md - - file: observability/apm/configure-logstash-output.md - - file: observability/apm/configure-kafka-output.md - - file: observability/apm/configure-redis-output.md - - file: observability/apm/configure-console-output.md - - file: observability/apm/configure-project-paths.md - - file: observability/apm/configure-real-user-monitoring-rum.md - - file: observability/apm/ssl-tls-settings.md + - file: configure-output-for-elasticsearch-service-on-elastic-cloud.md + - file: configure-elasticsearch-output.md + - file: configure-logstash-output.md + - file: configure-kafka-output.md + - file: configure-redis-output.md + - file: configure-console-output.md + - file: configure-project-paths.md + - file: configure-real-user-monitoring-rum.md + - file: ssl-tls-settings.md children: - - file: observability/apm/ssl-tls-output-settings.md - - file: observability/apm/ssl-tls-input-settings.md - - file: observability/apm/tail-based-sampling.md - - file: observability/apm/use-environment-variables-in-configuration.md - - file: observability/apm/apm-server-advanced-setup.md + - file: ssl-tls-output-settings.md + - file: ssl-tls-input-settings.md + - file: tail-based-sampling.md + - file: use-environment-variables-in-configuration.md + - file: advanced-setup.md children: - - file: observability/apm/installation-layout.md - - file: observability/apm/secrets-keystore-for-secure-settings.md - - file: observability/apm/apm-server-command-reference.md - - file: observability/apm/tune-data-ingestion.md - - file: observability/apm/high-availability.md - - file: observability/apm/apm-server-systemd.md - - file: observability/apm/monitor-apm-server.md + - file: installation-layout.md + - file: secrets-keystore-for-secure-settings.md + - file: command-reference.md + - file: tune-data-ingestion.md + - file: high-availability.md + - file: systemd.md + - file: monitor.md children: - - file: observability/apm/monitor-fleet-managed-apm-server.md - - file: observability/apm/monitor-apm-server-binary.md + - file: monitor-fleet-managed.md + - file: monitor-binary.md children: - - file: observability/apm/use-internal-collection-to-send-monitoring-data.md - - file: observability/apm/use-metricbeat-to-send-monitoring-data.md - - file: observability/apm/use-select-metrics-emitted-directly-to-monitoring-cluster.md + - file: use-internal-collection-to-send-monitoring-data.md + - file: use-metricbeat-to-send-monitoring-data.md + - file: use-select-metrics-emitted-directly-to-monitoring-cluster.md - file: observability/apm/apis.md children: - file: observability/apm/apm-ui-api.md - - file: observability/apm/apm-server-api.md + - file: observability/apm/apm-server/api.md children: - - file: observability/apm/apm-server-information-api.md + - file: observability/apm/apm-server/information-api.md - file: observability/apm/elastic-apm-events-intake-api.md - file: observability/apm/elastic-apm-agent-configuration-api.md - file: observability/apm/opentelemetry-intake-api.md diff --git a/troubleshoot/observability/apm/apm-server-performance-diagnostic.md b/troubleshoot/observability/apm/apm-server-performance-diagnostic.md index e16063c1c6..4e6e1206ec 100644 --- a/troubleshoot/observability/apm/apm-server-performance-diagnostic.md +++ b/troubleshoot/observability/apm/apm-server-performance-diagnostic.md @@ -23,7 +23,7 @@ To quickly identify possible issues try looking for similar error logs lines in ... ``` -To gain better insight into APM Server health and performance, consider enabling the monitoring feature by following the steps in [Monitor APM Server](/solutions/observability/apm/monitor-apm-server.md). When enabled, APM Server will additionally report a set of vital metrics to help you identify any performance degradation. +To gain better insight into APM Server health and performance, consider enabling the monitoring feature by following the steps in [Monitor APM Server](/solutions/observability/apm/apm-server/monitor.md). When enabled, APM Server will additionally report a set of vital metrics to help you identify any performance degradation. Pay careful attention to the next metric fields: @@ -39,7 +39,7 @@ See [{{metricbeat}} documentation](beats://reference/metricbeat/exported-fields- One likely cause of excessive indexing pressure or rejected requests is undersized {{es}}. To mitigate this, follow the guidance in [Rejected requests](../../elasticsearch/rejected-requests.md). -(Not recommended) If scaling {{es}} resources up is not an option, you can adjust the `flush_bytes`, `flush_interval`, `max_retries` and `timeout` settings described in [](/solutions/observability/apm/configure-elasticsearch-output.md) to reduce APM Server indexing pressure. However, consider that increasing number of buffered documents and/or reducing retries may lead to a higher rate of dropped APM events. Down below a custom configuration example is listed where the number of default buffered documents is roughly doubled while {{es}} indexing retries are decreased simultaneously. This configuration provides a generic example and might not be applicable to your situation. Try adjusting the settings further to see what works for you. +(Not recommended) If scaling {{es}} resources up is not an option, you can adjust the `flush_bytes`, `flush_interval`, `max_retries` and `timeout` settings described in [](/solutions/observability/apm/apm-server/configure-elasticsearch-output.md) to reduce APM Server indexing pressure. However, consider that increasing number of buffered documents and/or reducing retries may lead to a higher rate of dropped APM events. Down below a custom configuration example is listed where the number of default buffered documents is roughly doubled while {{es}} indexing retries are decreased simultaneously. This configuration provides a generic example and might not be applicable to your situation. Try adjusting the settings further to see what works for you. ```yaml output.elasticsearch: diff --git a/troubleshoot/observability/apm/apm-server-response-codes.md b/troubleshoot/observability/apm/apm-server-response-codes.md index 2f21389ba3..b888df4faf 100644 --- a/troubleshoot/observability/apm/apm-server-response-codes.md +++ b/troubleshoot/observability/apm/apm-server-response-codes.md @@ -21,7 +21,7 @@ The most likely cause for this error is using incompatible versions of {{apm-age ::: :::{tab-item} {{serverless-short}} -The most likely cause for this error is using an incompatible version of an {{apm-agent}}. See [minimum supported APM agent versions](/solutions/observability/apm/elastic-apm-agents.md#observability-apm-agents-elastic-apm-agents-minimum-supported-versions) to verify compatibility. +The most likely cause for this error is using an incompatible version of an {{apm-agent}}. See [minimum supported APM agent versions](/solutions/observability/apm/apm-agents/index.md#observability-apm-agents-elastic-apm-agents-minimum-supported-versions) to verify compatibility. ::: :::: @@ -32,7 +32,7 @@ The most likely cause for this error is using an incompatible version of an {{ap ::::{tab-set} :::{tab-item} {{stack}} -APM agents communicate with the APM server 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 should consider increasing the [Max event size](/solutions/observability/apm/general-configuration-options.md#apm-max_event_size) setting in the APM integration, and adjusting relevant settings in the agent. +APM agents communicate with the APM server 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 should consider increasing the [Max event size](/solutions/observability/apm/apm-server/general-configuration-options.md#apm-max_event_size) setting in the APM integration, and adjusting relevant settings in the agent. ::: :::{tab-item} {{serverless-short}} @@ -59,7 +59,7 @@ The API key is invalid. ## HTTP 403: Forbidden request [apm-forbidden] -Either you are sending requests to a [RUM](/solutions/observability/apm/real-user-monitoring-rum.md) endpoint without RUM enabled, or a request is coming from an origin not specified in the APM integration settings. See the [Allowed origins](/solutions/observability/apm/configure-real-user-monitoring-rum.md#apm-rum-allow-origins) setting for more information. +Either you are sending requests to a [RUM](/solutions/observability/apm/apm-agents/real-user-monitoring-rum.md) endpoint without RUM enabled, or a request is coming from an origin not specified in the APM integration settings. See the [Allowed origins](/solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md#apm-rum-allow-origins) setting for more information. ## HTTP 503: Request timed out waiting to be processed [apm-request-timed-out] diff --git a/troubleshoot/observability/apm/common-problems.md b/troubleshoot/observability/apm/common-problems.md index e51eb2cca2..470d480a3b 100644 --- a/troubleshoot/observability/apm/common-problems.md +++ b/troubleshoot/observability/apm/common-problems.md @@ -165,7 +165,7 @@ APM agent --> Load Balancer --> APM Server 10s 15s 3600s ``` -The APM Server timeout can be configured by updating the [maximum duration for reading an entire request](/solutions/observability/apm/general-configuration-options.md#apm-read_timeout). +The APM Server timeout can be configured by updating the [maximum duration for reading an entire request](/solutions/observability/apm/apm-server/general-configuration-options.md#apm-read_timeout). ## Field limit exceeded [apm-field-limit-exceeded] From 53d9e0b15082166b283f6a87d762798109a3e9a5 Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Mon, 15 Sep 2025 10:16:54 -0500 Subject: [PATCH 2/4] update codeowners --- .github/CODEOWNERS | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0f8d21fadf..c8d2ed5e22 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -9,19 +9,19 @@ # The docs /cloud-account/ @elastic/admin-docs /deploy-manage/ @elastic/admin-docs -/explore-analyze/ @elastic/core-docs @elastic/experience-docs +/explore-analyze/ @elastic/core-docs @elastic/experience-docs /extend/ @elastic/core-docs /get-started/ @elastic/core-docs @elastic/project-docs /manage-data/ @elastic/admin-docs -/manage-data/data-store/ @elastic/admin-docs @elastic/developer-docs +/manage-data/data-store/ @elastic/admin-docs @elastic/developer-docs /manage-data/ingest/ @elastic/ingest-docs /reference/ @elastic/docs /reference/apm-agents/ @elastic/ingest-docs /reference/data-analysis/ @elastic/docs /reference/data-analysis/observability/ @elastic/experience-docs -/reference/data-analysis/kibana/ @elastic/experience-docs +/reference/data-analysis/kibana/ @elastic/experience-docs /reference/data-analysis/machine-learning/ @elastic/developer-docs /reference/data-analysis/observability/ @elastic/experience-docs /reference/elasticsearch/clients/ @elastic/developer-docs @@ -42,8 +42,12 @@ /release-notes/fleet-elastic-agent/ @elastic/ingest-docs /release-notes/intro/ @elastic/docs -/solutions/ @elastic/experience-docs @elastic/developer-docs +/solutions/ @elastic/experience-docs @elastic/developer-docs /solutions/observability/ @elastic/experience-docs +/solutions/observability/apm/apm-agents/ @elastic/ingest-docs +/solutions/observability/apm/apm-server/ @elastic/ingest-docs +/solutions/observability/apm/ingest/ @elastic/ingest-docs +/solutions/observability/apm/opentelemetry/ @elastic/ingest-docs /solutions/observability/get-started/ @elastic/ski-docs @elastic/project-docs /solutions/search/ @elastic/developer-docs /solutions/search/get-started/ @elastic/developer-docs @elastic/project-docs @@ -54,7 +58,7 @@ /troubleshoot/deployments/ @elastic/admin-docs /troubleshoot/elasticsearch/ @elastic/admin-docs /troubleshoot/ingest/ @elastic/ingest-docs -/troubleshoot/kibana/ @elastic/admin-docs @elastic/experience-docs +/troubleshoot/kibana/ @elastic/admin-docs @elastic/experience-docs /troubleshoot/monitoring/ @elastic/admin-docs @elastic/experience-docs /troubleshoot/observability/ @elastic/ski-docs /troubleshoot/security/ @elastic/ski-docs From 782a8727f0fb74714401f515d8148cd8f949f9c1 Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Fri, 19 Sep 2025 16:08:19 -0500 Subject: [PATCH 3/4] clean up redirects file --- redirects.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/redirects.yml b/redirects.yml index 5ddaf15a78..6f66af279f 100644 --- a/redirects.yml +++ b/redirects.yml @@ -364,10 +364,12 @@ redirects: 'deploy-manage/users-roles/cluster-or-deployment-auth/built-in-roles.md': 'elasticsearch://reference/elasticsearch/roles.md' 'deploy-manage/users-roles/cluster-or-deployment-auth/elasticsearch-privileges.md': 'elasticsearch://reference/elasticsearch/security-privileges.md' +# APM Agent files (owned by ingest-docs) 'solutions/observability/apm/apm-agent-central-configuration.md': 'solutions/observability/apm/apm-agents/central-configuration.md' 'solutions/observability/apm/create-upload-source-maps-rum.md': 'solutions/observability/apm/apm-agents/create-upload-source-maps-rum.md' 'solutions/observability/apm/elastic-apm-agents.md': 'solutions/observability/apm/apm-agents/index.md' 'solutions/observability/apm/real-user-monitoring-rum.md': 'solutions/observability/apm/apm-agents/real-user-monitoring-rum.md' +# APM Server files (owned by ingest-docs) 'solutions/observability/apm/apm-server-advanced-setup.md': 'solutions/observability/apm/apm-server/advanced-setup.md' 'solutions/observability/apm/apm-server-api.md': 'solutions/observability/apm/apm-server/api.md' 'solutions/observability/apm/apm-agent-authorization.md': 'solutions/observability/apm/apm-server/apm-agent-authorization.md' @@ -407,10 +409,7 @@ redirects: 'solutions/observability/apm/use-internal-collection-to-send-monitoring-data.md': 'solutions/observability/apm/apm-server/use-internal-collection-to-send-monitoring-data.md' 'solutions/observability/apm/use-metricbeat-to-send-monitoring-data.md': 'solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md' 'solutions/observability/apm/use-select-metrics-emitted-directly-to-monitoring-cluster.md': 'solutions/observability/apm/apm-server/use-select-metrics-emitted-directly-to-monitoring-cluster.md' - 'solutions/observability/apm/apm-k8s-attacher.md': 'solutions/observability/apm/ingest/apm-k8s-attacher.md' - 'solutions/observability/apm/collect-application-data.md': 'solutions/observability/apm/ingest/index.md' - 'solutions/observability/apm/jaeger.md': 'solutions/observability/apm/ingest/jaeger.md' - 'solutions/observability/apm/monitor-aws-lambda-functions.md': 'solutions/observability/apm/ingest/monitor-aws-lambda-functions.md' +# APM OpenTelemetry pages 'solutions/observability/apm/attributes.md': 'solutions/observability/apm/opentelemetry/attributes.md' 'solutions/observability/apm/collect-metrics.md': 'solutions/observability/apm/opentelemetry/collect-metrics.md' 'solutions/observability/apm/data-stream-routing.md': 'solutions/observability/apm/opentelemetry/data-stream-routing.md' @@ -420,3 +419,8 @@ redirects: 'solutions/observability/apm/upstream-opentelemetry-collectors-language-sdks.md': 'solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md' 'solutions/observability/apm/configure-output.md': 'solutions/observability/apm/apm-server/configure-output.md' 'solutions/observability/apm/monitor-apm-server-binary.md': 'solutions/observability/apm/apm-server/monitor-binary.md' +# Other ingest-related APM pages + 'solutions/observability/apm/apm-k8s-attacher.md': 'solutions/observability/apm/ingest/apm-k8s-attacher.md' + 'solutions/observability/apm/collect-application-data.md': 'solutions/observability/apm/ingest/index.md' + 'solutions/observability/apm/jaeger.md': 'solutions/observability/apm/ingest/jaeger.md' + 'solutions/observability/apm/monitor-aws-lambda-functions.md': 'solutions/observability/apm/ingest/monitor-aws-lambda-functions.md' \ No newline at end of file From 2f09b7c918180565b258e9d6321cb1793f4379fa Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Fri, 19 Sep 2025 16:21:30 -0500 Subject: [PATCH 4/4] update reference to redirecting page --- redirects.yml | 3 ++- .../get-started/opentelemetry/quickstart/self-managed/index.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/redirects.yml b/redirects.yml index 6f66af279f..b3f8b11efc 100644 --- a/redirects.yml +++ b/redirects.yml @@ -364,6 +364,7 @@ redirects: 'deploy-manage/users-roles/cluster-or-deployment-auth/built-in-roles.md': 'elasticsearch://reference/elasticsearch/roles.md' 'deploy-manage/users-roles/cluster-or-deployment-auth/elasticsearch-privileges.md': 'elasticsearch://reference/elasticsearch/security-privileges.md' +# Related to https://github.com/elastic/docs-content/issues/1449 # APM Agent files (owned by ingest-docs) 'solutions/observability/apm/apm-agent-central-configuration.md': 'solutions/observability/apm/apm-agents/central-configuration.md' 'solutions/observability/apm/create-upload-source-maps-rum.md': 'solutions/observability/apm/apm-agents/create-upload-source-maps-rum.md' @@ -409,7 +410,7 @@ redirects: 'solutions/observability/apm/use-internal-collection-to-send-monitoring-data.md': 'solutions/observability/apm/apm-server/use-internal-collection-to-send-monitoring-data.md' 'solutions/observability/apm/use-metricbeat-to-send-monitoring-data.md': 'solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md' 'solutions/observability/apm/use-select-metrics-emitted-directly-to-monitoring-cluster.md': 'solutions/observability/apm/apm-server/use-select-metrics-emitted-directly-to-monitoring-cluster.md' -# APM OpenTelemetry pages +# APM OpenTelemetry pages (owned by ingest-docs) 'solutions/observability/apm/attributes.md': 'solutions/observability/apm/opentelemetry/attributes.md' 'solutions/observability/apm/collect-metrics.md': 'solutions/observability/apm/opentelemetry/collect-metrics.md' 'solutions/observability/apm/data-stream-routing.md': 'solutions/observability/apm/opentelemetry/data-stream-routing.md' diff --git a/solutions/observability/get-started/opentelemetry/quickstart/self-managed/index.md b/solutions/observability/get-started/opentelemetry/quickstart/self-managed/index.md index 3e119a7368..55d7a4a571 100644 --- a/solutions/observability/get-started/opentelemetry/quickstart/self-managed/index.md +++ b/solutions/observability/get-started/opentelemetry/quickstart/self-managed/index.md @@ -21,7 +21,7 @@ Select the quickstart guide for your environment from the following list: - [Docker on self-managed](docker.md) - [Hosts or VMs on self-managed](hosts_vms.md) -Before following the quickstart guides to set up your EDOT deployment, make sure to [install your self-managed Elastic Stack](/solutions/observability/apm/use-opentelemetry-with-apm.md). +Before following the quickstart guides to set up your EDOT deployment, make sure to [install your self-managed Elastic Stack](/solutions/observability/apm/opentelemetry/index.md). ## Troubleshooting