Deliver metric data to another Prometheus instance
Forward metric data from a Managed Service for Prometheus instance to another Prometheus instance (managed or self-managed) through remote write, so you can query and store all metrics in one place.
Data delivery runs on EventBridge, which routes metric data from source to target. EventBridge has been commercially available since June 3, 2025. Billing details: EventBridge fees.
Prerequisites
Make sure that you have:
-
A Prometheus instance. To create one, see:
-
EventBridge activated. Activate EventBridge and grant permissions
Supported instance types
Supported source instance types and restrictions:
| Instance type | Restriction |
|---|---|
| Prometheus for Alibaba Cloud services | Free instances supported, except those 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 reporting data through OpenTelemetry endpoints. |
Free Prometheus instances cannot be delivery targets. Only real-time data generated after a delivery task is created 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 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. Regex supported. Separate conditions with line breaks. Conditions use AND logic.
__name__=AliyunEcs_CPUUtilization|AliyunEcs_memory_usedutilizationregionId=cn-hangzhouid=i-2ze0mxp.*Data Labeling
Attach custom labels to delivered metrics. Separate labels with line breaks.
deliver_test_key1=ssssdeliver_test_key2=yyyy
Add a target
-
Click Add Target, 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, addsource_cluster=cluster-01to identify metric origins in the target. -
-
Click OK, then click Save.
Configure the remote write endpoint and authentication
Endpoint and authentication settings vary by target instance type.
Managed Service for Prometheus instance
| Setting | Details |
|---|---|
| Remote write endpoint | 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. 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. What's new in Prometheus 2.39. |
| Remote write receiver | Enable the --web.enable-remote-write-receiver startup parameter. Prometheus remote write receiver. |
Configure the network
Network configuration varies by target instance type.
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. Use the internal endpoint as the remote write URL. |
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 task assigns an IP on the selected vSwitch as the outbound IP. |
Prometheus typically uses Server Load Balancer (SLB) to expose services. Service management.
VPC network requirement: If the source and target are in different VPCs, add the CIDR block of the target vSwitch to the Prometheus instance whitelist. Otherwise, the network connection may fail. Find the CIDR block on 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 target Managed Service for Prometheus instance, then click Metric Management in the left navigation pane.
-
On the Metrics Explorer tab, search for source instance metrics to confirm they appear in the target.
Get ALB monitoring data through access logs (self-managed Prometheus)
If you run a fully self-managed Prometheus and Grafana environment that is not connected to a Managed Service for Prometheus instance, you can still collect Application Load Balancer (ALB) monitoring data.
The data flows through the following pipeline: ALB access logs → Simple Log Service (SLS) → self-managed Prometheus → Grafana.
-
Enable ALB access logging
Log on to the ALB console and go to the details page of the target ALB instance. On the Access Logs tab, create an access log to deliver logs to a specified SLS Project and Logstore. For instructions, see ALB access logs.
-
Connect your self-managed Prometheus to the SLS data source
Choose one of the following methods:
-
Option 1: Read data through the SLS Remote Read API
Add a
remote_readconfiguration to your self-managed Prometheus configuration file, pointing to the SLS Remote Read endpoint. You must configureAccessKeyauthentication. -
Option 2: Collect data through SLS Exporter
Deploy SLS Exporter in your self-managed environment, and configure it to connect to the SLS Logstore that receives the ALB access logs. SLS Exporter converts the log data into Prometheus metric format.
-
-
Display the monitoring data in Grafana
Add your self-managed Prometheus instance as a data source in Grafana, then import or create an ALB monitoring dashboard to display the ALB metrics.
Comparison of delivery methods
|
Method |
Applicable scenario |
|
This method (ALB access logs) |
For users with a fully self-managed monitoring environment who are not using Managed Service for Prometheus. Data originates from ALB access logs. |
|
Remote write (existing method described earlier in this topic) |
For users who already use a Managed Service for Prometheus instance and deliver metric data from it through remote write. |
FAQ
Why is EventBridge required for data delivery?
Data delivery uses EventBridge as the transport layer. Activate EventBridge before creating delivery tasks. 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.
-
For cross-VPC networking, confirm the target vSwitch CIDR block is added to the Prometheus instance whitelist.
-
For self-managed targets, verify Prometheus 2.39+ is running,
--web.enable-remote-write-receiveris enabled, andout_of_order_time_windowis 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.