Deliver metric data to another Prometheus instance

Updated at:

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:

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.
Note

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

  1. Log on to the ARMS console.

  2. In the left navigation pane, choose Managed Service for Prometheus > Data Delivery.

  3. On the Data Delivery page, select a region and click Create Task.

  4. In the dialog box, enter a Task Name and Task Description, then click OK.

  5. On the Edit Task page, add a data source and a target.

    Add a data source

    1. 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_usedutilization
      regionId=cn-hangzhou
      id=i-2ze0mxp.*




      Data Labeling

      Attach custom labels to delivered metrics. Separate labels with line breaks.

      deliver_test_key1=ssss
      deliver_test_key2=yyyy

    Add a target

    1. Click Add Target, set Destination Type to Prometheus Remote Write, configure the remaining parameters (including optional external_labels), and click OK.

    Note

    Use external_labels to distinguish data from different source instances. For example, add source_cluster=cluster-01 to identify metric origins in the target.

  6. 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.
Note

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

  1. Log on to the ARMS console.

  2. In the left navigation pane, choose Managed Service for Prometheus > Instances.

  3. Click the target Managed Service for Prometheus instance, then click Metric Management in the left navigation pane.

  4. 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.

  1. 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.

  2. 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_read configuration to your self-managed Prometheus configuration file, pointing to the SLS Remote Read endpoint. You must configure AccessKey authentication.

    • 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.

  3. 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-receiver is enabled, and out_of_order_time_window 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.