When you run multiple Prometheus instances across different environments, querying and correlating metrics requires access to each instance separately. Remote write delivery forwards metric data from a Managed Service for Prometheus instance to another Prometheus instance (managed or self-managed), so you can query and store all metrics in one place.
Data delivery runs on EventBridge, which handles the routing and transport of metric data from source to target. EventBridge has been commercially available since June 3, 2025. For billing details, see EventBridge fees.
Prerequisites
Before you begin, make sure that you have:
A Prometheus instance. For more information, see one of the following topics:
EventBridge activated. For more information, see Activate EventBridge and grant permissions
Supported instance types
The following table lists supported source instance types and their restrictions.
| Instance type | Restriction |
|---|---|
| Prometheus for Alibaba Cloud services | The free instance is supported, except instances with names starting with cloud-product-prometheus. |
| Prometheus for container services | No restrictions |
| Prometheus for application monitoring | No restrictions |
| Prometheus for Flink Serverless | No restrictions |
| Prometheus for Kubernetes | No restrictions |
| General-purpose Prometheus instance | Not supported for instances that report data through OpenTelemetry endpoints. |
Data cannot be delivered to a free Prometheus instance. Only real-time data generated after you create a delivery task can be exported. Historical data delivery is not supported.
Create a delivery task
Log on to the ARMS console.
In the left navigation pane, choose Managed Service for Prometheus > Data Delivery.
On the Data Delivery page, select a region in the top navigation bar and click Create Task.
In the dialog box, enter a Task Name and Task Description, then click OK.
On the Edit Task page, add a data source and a target.
Add a data source
Click + Add Data Source, configure the following parameters, and click OK.
Parameter
Description
Example
Prometheus Instance
The source instance whose data to deliver.
c78cb8273c02*****Data Filtering
Filter metrics by label. Regular expressions are supported. Separate multiple conditions with line breaks. All conditions use logical AND.
__name__=AliyunEcs_CPUUtilization|AliyunEcs_memory_usedutilizationregionId=cn-hangzhouid=i-2ze0mxp.*Data Labeling
Attach custom labels to the delivered metric data. Separate multiple labels with line breaks.
deliver_test_key1=ssssdeliver_test_key2=yyyy
Add a target
Click Add Target. In the panel, set Destination Type to Prometheus Remote Write, configure the remaining parameters (including optional external_labels), and click OK.
NoteUse
external_labelsto distinguish data from different source instances. For example, add a label likesource_cluster=cluster-01so you can identify the origin of metrics in the target instance.Click OK, then click Save.
Configure the remote write endpoint and authentication
The endpoint and authentication settings depend on the target instance type.
Managed Service for Prometheus instance
| Setting | Details |
|---|---|
| Remote write endpoint | See Configure open-source Prometheus to read monitoring data from Managed Service for Prometheus by using a remote read URL. |
| Authentication | Specify an authentication method and provide an AccessKey pair with the required permissions. For more information, see View the AccessKey information of a RAM user. |
Self-managed Prometheus instance
| Setting | Details |
|---|---|
| Remote write endpoint | See Prometheus remote write specification. |
| Prometheus version | 2.39 or later is required. |
| Out-of-order ingestion | Configure the out_of_order_time_window setting. For more information, see What's new in Prometheus 2.39. |
| Remote write receiver | Enable the --web.enable-remote-write-receiver startup parameter. For more information, see Prometheus remote write receiver. |
Configure the network
Select a network type based on your target instance type and connectivity requirements.
Managed Service for Prometheus instance
| Network type | Configuration |
|---|---|
| Internet | No additional configuration is required. |
| VPC | Select a VPC in the same region as the target instance. Set the remote write URL to the internal endpoint of the target Managed Service for Prometheus instance. |
Self-managed Prometheus instance
| Network type | Configuration |
|---|---|
| Internet | No additional configuration is required. |
| VPC | Select a VPC and vSwitch that can reach the self-managed Prometheus instance. The delivery task automatically assigns an IP address on the selected vSwitch as the outbound IP. |
Prometheus typically uses Server Load Balancer (SLB) to expose services. For more information, see Service management.
VPC network requirement: If the VPC where the Prometheus instance resides is not the same as the target VPC, add the CIDR block of the vSwitch in the target VPC to the whitelist of the Prometheus instance. Otherwise, the network connection may fail. To find the CIDR block, go to the vSwitch page in the VPC console.
Verify the delivery
Log on to the ARMS console.
In the left navigation pane, choose Managed Service for Prometheus > Instances.
Click the name of the target Managed Service for Prometheus instance, then click Metric Management in the left navigation pane.
On the Metrics Explorer tab, search for metrics from the source instance to confirm they have been synchronized to the target instance.
FAQ
Why is EventBridge required for data delivery?
Data delivery uses EventBridge as the underlying transport layer to route metric data from the source Prometheus instance to the target. You must activate EventBridge before creating delivery tasks, and standard EventBridge fees apply.
Can I deliver historical metric data?
No. Only real-time data generated after you create a delivery task is exported.
What should I do if data does not appear in the target instance?
Check the following:
Verify that the delivery task is active on the Data Delivery page.
If using VPC networking with instances in different VPCs, confirm that the CIDR block of the vSwitch in the target VPC is added to the whitelist of the Prometheus instance.
For self-managed targets, verify that Prometheus version 2.39 or later is running, the
--web.enable-remote-write-receiverflag is enabled, and theout_of_order_time_windowsetting is configured.Check that the remote write endpoint URL is correct and accessible from the delivery task network.
Can I deliver data to a free Prometheus instance?
No. Free Prometheus instances cannot serve as delivery targets.