From f129ecf540b5f5db4b2b18f72d91773c55857455 Mon Sep 17 00:00:00 2001 From: Constanca Manteigas Date: Mon, 1 Dec 2025 12:34:19 +0100 Subject: [PATCH 01/12] [ECF GCP] Add documentation for tech preview --- docs/reference/edot-cloud-forwarder/gcp.md | 109 +++ .../edot-cloud-forwarder-gcp-overview.svg | 855 ++++++++++++++++++ 2 files changed, 964 insertions(+) create mode 100644 docs/reference/edot-cloud-forwarder/gcp.md create mode 100644 docs/reference/images/edot-cloud-forwarder-gcp-overview.svg diff --git a/docs/reference/edot-cloud-forwarder/gcp.md b/docs/reference/edot-cloud-forwarder/gcp.md new file mode 100644 index 00000000..269f3f3c --- /dev/null +++ b/docs/reference/edot-cloud-forwarder/gcp.md @@ -0,0 +1,109 @@ +--- +navigation_title: GCP +description: Set up the EDOT Cloud Forwarder for GCP to bring your GCP logs to Elastic Observability. +applies_to: + serverless: + observability: preview + deployment: + ess: preview + product: + edot_cf_gcp: preview +products: + - id: cloud-serverless + - id: observability + - id: edot-cf +--- + +# EDOT Cloud Forwarder for GCP + +{{edot-cf}} for GCP provides a serverless, scalable way to ingest Google Cloud Platform logs into Elastic. It deploys the EDOT Collector as a Google Cloud Run service that listens for Pub/Sub push subscriptions, processes the logs, and forwards them to {{motlp}}. + +## Architecture overview + +The architecture for the {{edot-cf}} GCP is as pictured: + +![EDOT Cloud Forwarder GCP overview](../images/edot-cloud-forwarder-gcp-overview.svg) + +### Data flow + +- Ingestion: Logs are sent to a Pub/Sub topic (either directly or via GCS Bucket notifications). +- Processing: A push subscription triggers the Cloud Run service, where the {{edot-cf}} is running. +- Forwarding: The service processes the data and exports it to Elastic via the {{motlp}}. +- Failure Handling: If processing fails (after retries), messages are routed to a dead letter topic and archived in a GCS Bucket for future analysis. + +## Supported log types + +Currently, {{edot-cf}} for GCP supports the following log types: + +% TODO constanca-m MAYBE add permalink to otel version we will use in ECF GCP image in the table + +| Log | OTel mapping | +|-----------------|-----------------| +| Cloud Audit Log | Cloud Audit Log | +| VPC Flow Log | Access logs | + +:::{note} +We are working to support other popular log types and sources. [Contact us](docs-content://troubleshoot/ingest/opentelemetry/contact-support.md) to let us know of any specific requirements that could influence our plans. +::: + + +## Prerequisites + +### Elastic requirements + +- Access to {{motlp}} endpoint. +- Valid API key with ingest permissions. + +You can refer to [Send data to Elastic](../motlp.md#send-data-to-elastic) documentation for more details. + + +### GCP permissions + +% TODO constanca-m joecompute https://github.com/elastic/edot-cloud-forwarder-gcp/pull/225 + + +## Quick start + +% TODO Publish https://github.com/elastic/terraform-google-edot-cloud-forwarder on terraform public registry + + +## Features + +The {{edot-cf}} is designed for reliability and observability. + +### Flexible ingestion + +Logs can be sent: + +- Directly to a Pub/Sub topic. +- To a file placed in a GCS bucket. This will trigger an event notification to Pub/Sub which in turn will trigger the {{edot-cf}}. + +### Reliability & Recovery + +- Dead letter queue (DLQ): If a log entry fails to process or send to Elastic after the configured retries, it is not lost. The + {{edot-cf}} automatically routes failed messages to a dedicated GCS bucket for later analysis. +- Smart retries: Built-in exponential backoff for transient network issues. + +### Observability & Metadata + +- Self-telemetry: You can configure the collector to send its own internal telemetry to the {{motlp}}. +- Enrich metadata: You can enable `include_metadata` to enrich your logs with context from the transport layer, including: + - `bucket` + - `object` + - `subscription` + - `message_id` + - `delivery_attempt` + +## Performance + +% TODO + +## Limitations + +% TODO Add information on: permanent errors don't stop the retries + +## Changelog + +% How to link the CHANGELOG.md file if it is in a private repository? +% https://github.com/elastic/edot-cloud-forwarder-gcp/blob/main/CHANGELOG.md + diff --git a/docs/reference/images/edot-cloud-forwarder-gcp-overview.svg b/docs/reference/images/edot-cloud-forwarder-gcp-overview.svg new file mode 100644 index 00000000..3abd09ca --- /dev/null +++ b/docs/reference/images/edot-cloud-forwarder-gcp-overview.svg @@ -0,0 +1,855 @@ +

EDOT Cloud Forwarder GCP

+
Google Cloud servicesGCS bucketCloud RunPub/SubGCS bucket failed messageElasticsearchEDOT Cloud Forwarder GCPLogs topicDead topic fails to deliverstores failed message places logsnotifiestriggersreadssends logs + + + + + + + + +
From 0063549df750d338d6d6999a6ca743c26a6dd2fa Mon Sep 17 00:00:00 2001 From: Constanca Manteigas Date: Mon, 1 Dec 2025 12:39:53 +0100 Subject: [PATCH 02/12] update TOC --- docs/reference/edot-cloud-forwarder/index.md | 15 ++++++++------- docs/reference/toc.yml | 1 + 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/reference/edot-cloud-forwarder/index.md b/docs/reference/edot-cloud-forwarder/index.md index 466cf876..e8a91759 100644 --- a/docs/reference/edot-cloud-forwarder/index.md +++ b/docs/reference/edot-cloud-forwarder/index.md @@ -22,17 +22,18 @@ The Elastic Distribution of OpenTelemetry (EDOT) Cloud Forwarder provides the ED {{edot-cf}} is available for the following cloud providers and services: -| Cloud provider | Cloud service | Availability | -| --- | --- | --- | -| AWS | S3, CloudWatch | [EDOT Cloud Forwarder for AWS](/reference/edot-cloud-forwarder/aws.md) | -| Azure | Blob Storage, Event Hub | [EDOT Cloud Forwarder for Azure](/reference/edot-cloud-forwarder/azure.md) | -| GCP | GCS, Operations | Under development | +| Cloud provider | Cloud service | Availability | +|----------------|-------------------------|--------------------------------------------| +| AWS | S3, CloudWatch | [EDOT Cloud Forwarder for AWS](aws.md) | +| Azure | Blob Storage, Event Hub | [EDOT Cloud Forwarder for Azure](azure.md) | +| GCP | GCS, Operations | [EDOT Cloud Forwarder for GCP](gcp.md) | ## Get started To get started with {{edot-cf}}, select the setup guide for your cloud provider: -- [AWS](/reference/edot-cloud-forwarder/aws.md) -- [Azure](/reference/edot-cloud-forwarder/azure.md) +- [AWS](aws.md) +- [Azure](azure.md) +- [GCP](gcp.md) diff --git a/docs/reference/toc.yml b/docs/reference/toc.yml index a62cd288..f2d5dead 100644 --- a/docs/reference/toc.yml +++ b/docs/reference/toc.yml @@ -25,3 +25,4 @@ toc: children: - file: edot-cloud-forwarder/aws.md - file: edot-cloud-forwarder/azure.md + - file: edot-cloud-forwarder/gcp.md From f3150a47b163165d41c7a365ecfdd80f251b1e01 Mon Sep 17 00:00:00 2001 From: Constanca Manteigas Date: Wed, 3 Dec 2025 11:18:51 +0100 Subject: [PATCH 03/12] add image, gcp permissions and limitations --- docs/reference/edot-cloud-forwarder/gcp.md | 97 +- .../edot-cloud-forwarder-gcp-overview.png | Bin 0 -> 150178 bytes .../edot-cloud-forwarder-gcp-overview.svg | 855 ------------------ 3 files changed, 88 insertions(+), 864 deletions(-) create mode 100644 docs/reference/images/edot-cloud-forwarder-gcp-overview.png delete mode 100644 docs/reference/images/edot-cloud-forwarder-gcp-overview.svg diff --git a/docs/reference/edot-cloud-forwarder/gcp.md b/docs/reference/edot-cloud-forwarder/gcp.md index 269f3f3c..a63372b4 100644 --- a/docs/reference/edot-cloud-forwarder/gcp.md +++ b/docs/reference/edot-cloud-forwarder/gcp.md @@ -22,21 +22,19 @@ products: The architecture for the {{edot-cf}} GCP is as pictured: -![EDOT Cloud Forwarder GCP overview](../images/edot-cloud-forwarder-gcp-overview.svg) +![EDOT Cloud Forwarder GCP overview](../images/edot-cloud-forwarder-gcp-overview.png) ### Data flow -- Ingestion: Logs are sent to a Pub/Sub topic (either directly or via GCS Bucket notifications). -- Processing: A push subscription triggers the Cloud Run service, where the {{edot-cf}} is running. -- Forwarding: The service processes the data and exports it to Elastic via the {{motlp}}. -- Failure Handling: If processing fails (after retries), messages are routed to a dead letter topic and archived in a GCS Bucket for future analysis. +- Ingestion: Logs are sent to a Pub/Sub topic (either directly or using a GCS bucket notification). +- Processing: A push subscription triggers the Cloud Run service, where an OpenTelemetry collector is running. +- Forwarding: The service processes the data and exports it to {{ecloud}} using the {{motlp}}. +- Failure Handling: If processing or forwarding still fails after retries, the failed messages are routed to a dead-letter topic and archived in a GCS bucket for future analysis. ## Supported log types Currently, {{edot-cf}} for GCP supports the following log types: -% TODO constanca-m MAYBE add permalink to otel version we will use in ECF GCP image in the table - | Log | OTel mapping | |-----------------|-----------------| | Cloud Audit Log | Cloud Audit Log | @@ -59,7 +57,88 @@ You can refer to [Send data to Elastic](../motlp.md#send-data-to-elastic) docume ### GCP permissions -% TODO constanca-m joecompute https://github.com/elastic/edot-cloud-forwarder-gcp/pull/225 +You should have the following permissions on your Google Cloud project: + + +The principal should be granted the built-in `roles/resourcemanager.projectIamAdmin` role, allowing them to manage IAM policies and roles at the project level. + + + +The following permissions are needed for Cloud Storage management: +- `storage.buckets.create` +- `storage.buckets.delete` +- `storage.buckets.get` +- `storage.buckets.getIamPolicy` +- `storage.buckets.setIamPolicy` +- `storage.buckets.update` + + + +The following permissions are needed for Secret Manager management: +- `secretmanager.secrets.create` +- `secretmanager.secrets.delete` +- `secretmanager.secrets.get` +- `secretmanager.secrets.getIamPolicy` +- `secretmanager.secrets.setIamPolicy` +- `secretmanager.secrets.update` +- `secretmanager.versions.access` +- `secretmanager.versions.add` +- `secretmanager.versions.destroy` +- `secretmanager.versions.enable` +- `secretmanager.versions.get` + + + +The following permissions are needed for Pub/Sub management: +- `pubsub.subscriptions.create` +- `pubsub.subscriptions.delete` +- `pubsub.subscriptions.get` +- `pubsub.subscriptions.getIamPolicy` +- `pubsub.subscriptions.list` +- `pubsub.subscriptions.setIamPolicy` +- `pubsub.subscriptions.update` +- `pubsub.topics.attachSubscription` +- `pubsub.topics.create` +- `pubsub.topics.delete` +- `pubsub.topics.detachSubscription` +- `pubsub.topics.get` +- `pubsub.topics.getIamPolicy` +- `pubsub.topics.setIamPolicy` +- `pubsub.topics.update` + + + +The following permissions are needed for Cloud Run management: +- `run.operations.get` +- `run.services.create` +- `run.services.delete` +- `run.services.get` +- `run.services.getIamPolicy` +- `run.services.setIamPolicy` +- `run.services.update` + + + +The following permissions are needed for Service Account management: +- `iam.serviceAccountKeys.create` +- `iam.serviceAccountKeys.get` +- `iam.serviceAccounts.create` +- `iam.serviceAccounts.delete` +- `iam.serviceAccounts.get` +- `iam.serviceAccounts.update` +- `iam.serviceAccounts.actAs` + + + +The following permissions are needed: +- `artifactregistry.repositories.create` +- `artifactregistry.repositories.delete` +- `artifactregistry.repositories.get` +- `artifactregistry.repositories.getIamPolicy` +- `artifactregistry.repositories.setIamPolicy` +- `artifactregistry.repositories.update` +- `artifactregistry.repositories.downloadArtifacts` + ## Quick start @@ -100,7 +179,7 @@ Logs can be sent: ## Limitations -% TODO Add information on: permanent errors don't stop the retries +The current retry logic treats all failures the same way, whether they're temporary or permanent errors like an invalid log format. This means a message that can't ever be processed correctly will still go through all configured retries before finally being sent to the dead-letter topic and archived in the GCS bucket. While this ensures resilience against transient failures, it does mean you might incur unnecessary processing costs for messages that were never going to succeed. ## Changelog diff --git a/docs/reference/images/edot-cloud-forwarder-gcp-overview.png b/docs/reference/images/edot-cloud-forwarder-gcp-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..b041037675546a301bcd19de813ecc1792f2e2d8 GIT binary patch literal 150178 zcmdqJc{r4B_y;;fMZW5bin3MqBugb@-$K?%$eul07-Sm~Es}lThO&eZvW+!;OV$xd zmLXZjHnw3bV>r)C+wXV&IDegUu5;$PDw=nB-sicWd-;4m_xn^wOXVNhQ?xJ`>>o8% zC0!VdE)xbj`2Fxf@IQFdwmR?+%{^5k4;btOH}r=>O_ys4{3nHnu8IPzxQlfL{6b|X zuPG0Ml|~-fwxotpUKdwWlD~PMVxDXouJ75vyAyc&h`i3#D@E8Ix!`0kDY>1;6Ntg@ z!=4{sJvBJjJY4yC(>(0XO6`FxS7qT%tffb>a<$mMk!qv=yv^1A!KHdS*GfBxZ?H$} z%nIkLMr4Utp>5xte&nmcwQXN+$y#D@MgLau;%z_Y3o?u3&Cf>z4ZxUwe=I1~p~w6E zL7WMq{QV0ICTBp&_t&p51o!`oUtiWu`nSpjE08E;DqtQ+_N;NAyk3JO`))4OF4Dq; z#fRNm*e1cxLhT6`&dcsBN4C%Q6}EqRvU~H-BR%0DFL{SL#AdeUp^Hhvs=zz9pS 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 A3h+ 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

EDOT Cloud Forwarder GCP

-
Google Cloud servicesGCS bucketCloud RunPub/SubGCS bucket failed messageElasticsearchEDOT Cloud Forwarder GCPLogs topicDead topic fails to deliverstores failed message places logsnotifiestriggersreadssends logs - - - - - - - - -
From 6201f028ed9d405cb8137eaee506f7cce2f867d0 Mon Sep 17 00:00:00 2001 From: Constanca Manteigas Date: Wed, 3 Dec 2025 13:26:18 +0100 Subject: [PATCH 04/12] fix the dropdown, fix the features sections --- docs/reference/edot-cloud-forwarder/gcp.md | 75 +++++++++++----------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/docs/reference/edot-cloud-forwarder/gcp.md b/docs/reference/edot-cloud-forwarder/gcp.md index a63372b4..baa707c5 100644 --- a/docs/reference/edot-cloud-forwarder/gcp.md +++ b/docs/reference/edot-cloud-forwarder/gcp.md @@ -59,11 +59,11 @@ You can refer to [Send data to Elastic](../motlp.md#send-data-to-elastic) docume You should have the following permissions on your Google Cloud project: - +:::{dropdown} Project IAM Admin The principal should be granted the built-in `roles/resourcemanager.projectIamAdmin` role, allowing them to manage IAM policies and roles at the project level. - +::: - +:::{dropdown} Storage The following permissions are needed for Cloud Storage management: - `storage.buckets.create` - `storage.buckets.delete` @@ -71,9 +71,9 @@ The following permissions are needed for Cloud Storage management: - `storage.buckets.getIamPolicy` - `storage.buckets.setIamPolicy` - `storage.buckets.update` - +::: - +:::{dropdown} Secret Manager The following permissions are needed for Secret Manager management: - `secretmanager.secrets.create` - `secretmanager.secrets.delete` @@ -86,9 +86,9 @@ The following permissions are needed for Secret Manager management: - `secretmanager.versions.destroy` - `secretmanager.versions.enable` - `secretmanager.versions.get` - +::: - +:::{dropdown} Pub/Sub The following permissions are needed for Pub/Sub management: - `pubsub.subscriptions.create` - `pubsub.subscriptions.delete` @@ -105,9 +105,9 @@ The following permissions are needed for Pub/Sub management: - `pubsub.topics.getIamPolicy` - `pubsub.topics.setIamPolicy` - `pubsub.topics.update` - +::: - +:::{dropdown} Cloud Run The following permissions are needed for Cloud Run management: - `run.operations.get` - `run.services.create` @@ -116,9 +116,9 @@ The following permissions are needed for Cloud Run management: - `run.services.getIamPolicy` - `run.services.setIamPolicy` - `run.services.update` - +::: - +:::{dropdown} Service Account The following permissions are needed for Service Account management: - `iam.serviceAccountKeys.create` - `iam.serviceAccountKeys.get` @@ -127,9 +127,9 @@ The following permissions are needed for Service Account management: - `iam.serviceAccounts.get` - `iam.serviceAccounts.update` - `iam.serviceAccounts.actAs` - +::: - +:::{dropdown} Artifact Registry The following permissions are needed: - `artifactregistry.repositories.create` - `artifactregistry.repositories.delete` @@ -138,51 +138,50 @@ The following permissions are needed: - `artifactregistry.repositories.setIamPolicy` - `artifactregistry.repositories.update` - `artifactregistry.repositories.downloadArtifacts` - +::: ## Quick start +You can deploy {{edot-cf}} for GCP using the Terraform module... + + + % TODO Publish https://github.com/elastic/terraform-google-edot-cloud-forwarder on terraform public registry +% Issue: https://elasticco.atlassian.net/browse/ENGPRD-1866 ## Features -The {{edot-cf}} is designed for reliability and observability. +The {{edot-cf}} is engineered for high-throughput, reliable ingestion, and simplified observability. ### Flexible ingestion -Logs can be sent: - -- Directly to a Pub/Sub topic. -- To a file placed in a GCS bucket. This will trigger an event notification to Pub/Sub which in turn will trigger the {{edot-cf}}. +The {{edot-cf}} supports two primary event-driven ingestion patterns on GCP: +- Direct Pub/Sub: Ideal for logs streamed directly to a Pub/Sub topic by custom applications or other GCP services. +- GCS file notifications: Automatically ingests batch logs (like VPC Flow Logs or Audit Logs) placed in a file into a Google Cloud Storage bucket. The system listens for the `OBJECT_FINALIZE` event, reads the file content, and processes it. -### Reliability & Recovery +### Reliability -- Dead letter queue (DLQ): If a log entry fails to process or send to Elastic after the configured retries, it is not lost. The - {{edot-cf}} automatically routes failed messages to a dedicated GCS bucket for later analysis. -- Smart retries: Built-in exponential backoff for transient network issues. +Reliability is built-in to prevent data loss or infinite retry loops. +- Message acknowledgment: The service only acknowledges (ACKs) a Pub/Sub message upon successful forwarding to Elastic, ensuring that failed messages are automatically placed back in the queue for retry (or sent to the dead letter topic). +- Smart retries: The underlying Pub/Sub subscription is configured with exponential backoff. This prevents overwhelming the service with repeated failed messages during transient issues like network instability. +- Dead letter topic and failure bucket: If a message fails to be processed or forwarded after the configured maximum number of attempts, the {{edot-cf}} guarantees the message is sent to the dead letter topic. Messages sent to the dead letter topic are later archived in a dedicated GCS bucket. This prevents data loss and allows for later inspection. -### Observability & Metadata -- Self-telemetry: You can configure the collector to send its own internal telemetry to the {{motlp}}. -- Enrich metadata: You can enable `include_metadata` to enrich your logs with context from the transport layer, including: - - `bucket` - - `object` - - `subscription` - - `message_id` - - `delivery_attempt` +### Observability and data enrichment -## Performance +The {{edot-cf}} provides detailed context about its own health and the data it processes. +- Self-telemetry: You can enable the OpenTelemetry collector's internal metrics, allowing you to monitor the service's health. +- Metadata enrichment: By enabling the `include_metadata` option, logs are automatically enriched with context from the Pub/Sub and GCS transport layers, enabling better troubleshooting and correlation: + - `bucket` and `object`, for logs coming from a GCS bucket. + - `subscription` and `message_id`. + - delivery_attempt, useful for tracking retries. +% Best effort, maybe not present for Tech Preview +% ## Performance % TODO ## Limitations The current retry logic treats all failures the same way, whether they're temporary or permanent errors like an invalid log format. This means a message that can't ever be processed correctly will still go through all configured retries before finally being sent to the dead-letter topic and archived in the GCS bucket. While this ensures resilience against transient failures, it does mean you might incur unnecessary processing costs for messages that were never going to succeed. - -## Changelog - -% How to link the CHANGELOG.md file if it is in a private repository? -% https://github.com/elastic/edot-cloud-forwarder-gcp/blob/main/CHANGELOG.md - From a01182d939fb99a53fbc8b337a43f03a1229bd23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constan=C3=A7a=20Manteigas?= <113898685+constanca-m@users.noreply.github.com> Date: Wed, 3 Dec 2025 18:48:45 +0100 Subject: [PATCH 05/12] Update docs/reference/edot-cloud-forwarder/gcp.md Co-authored-by: Fabrizio Ferri-Benedetti --- docs/reference/edot-cloud-forwarder/gcp.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/reference/edot-cloud-forwarder/gcp.md b/docs/reference/edot-cloud-forwarder/gcp.md index baa707c5..64ca0472 100644 --- a/docs/reference/edot-cloud-forwarder/gcp.md +++ b/docs/reference/edot-cloud-forwarder/gcp.md @@ -6,6 +6,7 @@ applies_to: observability: preview deployment: ess: preview + self: unavailable product: edot_cf_gcp: preview products: From 3cfbaec4d54d69d543eeb5dfe221488610116d4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constan=C3=A7a=20Manteigas?= <113898685+constanca-m@users.noreply.github.com> Date: Wed, 3 Dec 2025 18:48:54 +0100 Subject: [PATCH 06/12] Update docs/reference/edot-cloud-forwarder/gcp.md Co-authored-by: Fabrizio Ferri-Benedetti --- docs/reference/edot-cloud-forwarder/gcp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/edot-cloud-forwarder/gcp.md b/docs/reference/edot-cloud-forwarder/gcp.md index 64ca0472..18979c60 100644 --- a/docs/reference/edot-cloud-forwarder/gcp.md +++ b/docs/reference/edot-cloud-forwarder/gcp.md @@ -28,7 +28,7 @@ The architecture for the {{edot-cf}} GCP is as pictured: ### Data flow - Ingestion: Logs are sent to a Pub/Sub topic (either directly or using a GCS bucket notification). -- Processing: A push subscription triggers the Cloud Run service, where an OpenTelemetry collector is running. +- Processing: A push subscription triggers the Cloud Run service, where an OpenTelemetry Collector is running. - Forwarding: The service processes the data and exports it to {{ecloud}} using the {{motlp}}. - Failure Handling: If processing or forwarding still fails after retries, the failed messages are routed to a dead-letter topic and archived in a GCS bucket for future analysis. From b5608c32ca41f67434314ed5dd85555c8fac96b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constan=C3=A7a=20Manteigas?= <113898685+constanca-m@users.noreply.github.com> Date: Wed, 3 Dec 2025 18:49:12 +0100 Subject: [PATCH 07/12] Update docs/reference/edot-cloud-forwarder/gcp.md Co-authored-by: Fabrizio Ferri-Benedetti --- docs/reference/edot-cloud-forwarder/gcp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/edot-cloud-forwarder/gcp.md b/docs/reference/edot-cloud-forwarder/gcp.md index 18979c60..e592d707 100644 --- a/docs/reference/edot-cloud-forwarder/gcp.md +++ b/docs/reference/edot-cloud-forwarder/gcp.md @@ -30,7 +30,7 @@ The architecture for the {{edot-cf}} GCP is as pictured: - Ingestion: Logs are sent to a Pub/Sub topic (either directly or using a GCS bucket notification). - Processing: A push subscription triggers the Cloud Run service, where an OpenTelemetry Collector is running. - Forwarding: The service processes the data and exports it to {{ecloud}} using the {{motlp}}. -- Failure Handling: If processing or forwarding still fails after retries, the failed messages are routed to a dead-letter topic and archived in a GCS bucket for future analysis. +- Failure handling: If processing or forwarding still fails after retries, the failed messages are routed to a dead-letter topic and archived in a GCS bucket for future analysis. ## Supported log types From da0deb175c53b0fadb8517cea4679f6a4364ccd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constan=C3=A7a=20Manteigas?= <113898685+constanca-m@users.noreply.github.com> Date: Wed, 3 Dec 2025 18:49:29 +0100 Subject: [PATCH 08/12] Update docs/reference/edot-cloud-forwarder/gcp.md Co-authored-by: Fabrizio Ferri-Benedetti --- docs/reference/edot-cloud-forwarder/gcp.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/reference/edot-cloud-forwarder/gcp.md b/docs/reference/edot-cloud-forwarder/gcp.md index e592d707..3d91380e 100644 --- a/docs/reference/edot-cloud-forwarder/gcp.md +++ b/docs/reference/edot-cloud-forwarder/gcp.md @@ -48,6 +48,9 @@ We are working to support other popular log types and sources. [Contact us](docs ## Prerequisites +To collect logs using {{edot-cf}} for GCP, you need the following. + + ### Elastic requirements - Access to {{motlp}} endpoint. From bc79a854f7a29df82d64fbe5b1275f30b99786c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constan=C3=A7a=20Manteigas?= <113898685+constanca-m@users.noreply.github.com> Date: Wed, 3 Dec 2025 18:49:38 +0100 Subject: [PATCH 09/12] Update docs/reference/edot-cloud-forwarder/gcp.md Co-authored-by: Fabrizio Ferri-Benedetti --- docs/reference/edot-cloud-forwarder/gcp.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/reference/edot-cloud-forwarder/gcp.md b/docs/reference/edot-cloud-forwarder/gcp.md index 3d91380e..0f4243a8 100644 --- a/docs/reference/edot-cloud-forwarder/gcp.md +++ b/docs/reference/edot-cloud-forwarder/gcp.md @@ -56,7 +56,10 @@ To collect logs using {{edot-cf}} for GCP, you need the following. - Access to {{motlp}} endpoint. - Valid API key with ingest permissions. -You can refer to [Send data to Elastic](../motlp.md#send-data-to-elastic) documentation for more details. +:::{include} ../_snippets/find-motlp-endpoint.md +::: + +Refer to [Managed OTLP Endpoint](../motlp.md#send-data-to-elastic) for more details. ### GCP permissions From 04ae8bdd361f655f734805c2e63098ba2d7c2910 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constan=C3=A7a=20Manteigas?= <113898685+constanca-m@users.noreply.github.com> Date: Wed, 3 Dec 2025 18:49:47 +0100 Subject: [PATCH 10/12] Update docs/reference/edot-cloud-forwarder/gcp.md Co-authored-by: Fabrizio Ferri-Benedetti --- docs/reference/edot-cloud-forwarder/gcp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/edot-cloud-forwarder/gcp.md b/docs/reference/edot-cloud-forwarder/gcp.md index 0f4243a8..7b205bad 100644 --- a/docs/reference/edot-cloud-forwarder/gcp.md +++ b/docs/reference/edot-cloud-forwarder/gcp.md @@ -178,7 +178,7 @@ Reliability is built-in to prevent data loss or infinite retry loops. ### Observability and data enrichment -The {{edot-cf}} provides detailed context about its own health and the data it processes. +{{edot-cf}} for GCP provides detailed context about its own health and the data it processes. - Self-telemetry: You can enable the OpenTelemetry collector's internal metrics, allowing you to monitor the service's health. - Metadata enrichment: By enabling the `include_metadata` option, logs are automatically enriched with context from the Pub/Sub and GCS transport layers, enabling better troubleshooting and correlation: - `bucket` and `object`, for logs coming from a GCS bucket. From 5eee1b0f78a3a1b7b2543a745d8434ddcdb36dcd Mon Sep 17 00:00:00 2001 From: Constanca Manteigas Date: Wed, 3 Dec 2025 18:52:45 +0100 Subject: [PATCH 11/12] remove redundant refer to link --- docs/reference/edot-cloud-forwarder/gcp.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/reference/edot-cloud-forwarder/gcp.md b/docs/reference/edot-cloud-forwarder/gcp.md index 7b205bad..0e21ba61 100644 --- a/docs/reference/edot-cloud-forwarder/gcp.md +++ b/docs/reference/edot-cloud-forwarder/gcp.md @@ -59,8 +59,6 @@ To collect logs using {{edot-cf}} for GCP, you need the following. :::{include} ../_snippets/find-motlp-endpoint.md ::: -Refer to [Managed OTLP Endpoint](../motlp.md#send-data-to-elastic) for more details. - ### GCP permissions From 324e7c5635e276831ce3d375f3850bce375873c0 Mon Sep 17 00:00:00 2001 From: Constanca Manteigas Date: Thu, 4 Dec 2025 09:47:01 +0100 Subject: [PATCH 12/12] quote delivery_attempt --- docs/reference/edot-cloud-forwarder/gcp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/edot-cloud-forwarder/gcp.md b/docs/reference/edot-cloud-forwarder/gcp.md index 0e21ba61..c38620a7 100644 --- a/docs/reference/edot-cloud-forwarder/gcp.md +++ b/docs/reference/edot-cloud-forwarder/gcp.md @@ -181,7 +181,7 @@ Reliability is built-in to prevent data loss or infinite retry loops. - Metadata enrichment: By enabling the `include_metadata` option, logs are automatically enriched with context from the Pub/Sub and GCS transport layers, enabling better troubleshooting and correlation: - `bucket` and `object`, for logs coming from a GCS bucket. - `subscription` and `message_id`. - - delivery_attempt, useful for tracking retries. + - `delivery_attempt`, useful for tracking retries. % Best effort, maybe not present for Tech Preview % ## Performance