Configure data forwarding via OpenPipeline to send records to your cloud object storage. For limits, see Forwarding.
This article explains how to create forwarding configurations, choose to forward unprocessed or processed records, and apply additional filtering to control which data is forwarded.
This article is for application owners integrating Dynatrace OpenPipeline processing and storage with company compliance standards and an established cloud‑storage strategy.
A valid AWS S3, Azure Blob Storage, or Google Cloud Project
Dynatrace SaaS environment powered by Grail and AppEngine
DPS license capabilities required for the configuration scope you want to forward (for example, Logs powered by Grail (DPS) for logs).
Your configuration uses the Settings API. To learn how to migrate, see Migrate OpenPipeline configurations to Settings API.
Environment-level settings:objects:read and settings:objects:write permissions for the connections.aws, connections.azure, or connections.gcp schema
Users with sufficient permissions can:
Depending on your cloud vendor, check the following prerequisites.
To write and connect the AWS storage you need the following permissions in the AWS Console.
GetBucketLocationPutObjectYou're familiar with the terms Dynatrace Connector and object storage.
You know that cost is associated with object storage, and costs will occur once you start sending data, depending on the retention time and the number of requests.
Access the Set up connection modal.
Go to
Settings > Connections > your cloud vendor (
AWS,
Microsoft Azure, or GCP ) > Connection.
Via OpenPipeline
When you define the forwarding configuration, select Create a new connection.
In Set up connection, enter a new connection name and select Save.
This action generates a connection ID.
Copy the connection ID.
Keep the modal open.
Depending on your cloud vendor, do the following.
In the AWS Console, add an IAM role using the AWS account as a trusted entity and the Settings ID as external ID.
This is the role that is assumed when using the AWS connection in Dynatrace.
The resulting trust policy looks as follows:
{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"AWS": "arn:aws:iam::314146291599:root"},"Action": "sts:AssumeRole","Condition": {"StringEquals": {"sts:ExternalId": "<the Connection ID in Dynatrace>"}}}]}
Use identity or resource-based permissions for resource access.
Once your IAM role is created and its trust policy is configured, copy your AWS Role ARN.
Dynatrace immediately verifies that the correct role is being assumed when you save the connection.
Your forwarding configuration is active by default. Records passing through or entering an ingest source or a pipeline are forwarded to cloud object storage.
You learned how to set up a connection with your cloud vendor and how to create a new forwarding configuration in OpenPipeline. You can now start to forward unprocessed or processed records from Dynatrace to your cloud object storage.
Use the following self-monitoring metrics to observe your forwarding configuration performance.
| Self-monitoring metric | Description | Dimensions |
|---|---|---|
| The number of records successfully forwarded. |
|
| The number of records that failed to be forwarded. |
|
The reason dimension holds predefined values indicating possible errors, such as unauthorized, bucket_not_found, resource_unavailable, target_configuration_missing, and other.
You can query them in
Notebooks and
Dashboards.
// successtimeseries { sum=sum(dt.sfm.openpipeline.forwarding.successful_records) },by: { forwarding.destination, forwarding.name, forwarding.id }
// failuretimeseries { sum=sum(dt.sfm.openpipeline.forwarding.failed_records) },by: { forwarding.destination, forwarding.name, reason, forwarding.id }