Skip to main content

Metrics

Monitor specific metric data to measure performance of your assets in near real-time. Streaming network data includes the following metrics:

  • Port and Connection Bandwidth Usage Metrics provide a bit per second (bit/s) output for the data transmitted (tx) or received (rx) in the port or connection asset.

  • Metro Latency Metrics provide the latency in milliseconds (ms) from a single subscribed metro code to other metros supported by Equinix.

  • Port Error and Dropped Metrics provide the number of packet discards on a given port due to packet format, transmission errors, or even when the port doesn’t have bandwidth to accept the packet.

  • Connection Packet Dropped Metrics provide the number of packets dropped on a connection due to exceeding bandwidth limits for both transmitted (tx) or received (rx) data.

  • Port and Connection Availability Rate is calculated based on the total uptime and downtime of your asset over the duration of a month

Viewing Metrics

You can view metrics for an individual port, virtual connection, or Fabric Cloud Router asset in the Customer Portal.

  1. Sign in to the Customer Portal > Fabric Dashboard.

  2. Navigate to your Port Inventory, your Connections Inventory, or your Fabric Cloud Router Inventory.

  3. Select the port, virtual connection, or Fabric Cloud Router whose events you want to view.

  4. From the asset's detail page, click Metrics.

Viewing Metrics from the API

You can retrieve metrics for individual assets from the Equinix API. In order for the event data to be available in the API, you have to first create a stream and attach assets to that stream.

Inter-Metro Latency

To view the latency between two metros, send a GET request to the /fabric/v4/metros/<metro>/metrics endpoint specifying name=equinix.fabric.metro.<origin_metro_code>_<destination_metro_code>.latency as the query parameter for the request.

Sample cURL Request:

curl -X 'GET' 'https://api.equinix.com/fabric/v4/metros/SV/metrics?name=equinix.fabric.metro.sv_am.latency' \  
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'

Sample Response:

{
"pagination": {
"offset": 0,
"limit": 10,
"total": 3,
"next": null,
"previous": null
},
"data": [
{
"type": "GAUGE",
"name": "equinix.fabric.metro.sv_am.latency",
"unit": "ms",
"resource": {
"href": "https://uatapi.equinix.com/fabric/v4/metros/SV",
"type": "XF_METRO",
"description": "Silicon Valley to Amsterdam intermetro latency, average in milliseconds"
},
"summary": {
"mean": 136.9,
"max": 137
},
"datapoints": [
{
"endDateTime": "2025-06-05T18:50:03Z",
"value": 137
},
{
"endDateTime": "2025-06-05T18:55:03Z",
"value": 137
},
{
"endDateTime": "2025-06-05T19:00:03Z",
"value": 137
},
{
"endDateTime": "2025-06-05T19:05:03Z",
"value": 137
}
]
}
]
}

Port Bandwidth Usage

To view a port's bandwidth usage, send a GET request to the /fabric/v4/ports/<portId>/metrics endpoint specifying name=equinix.fabric.port.bandwidth_rx.usage&name=equinix.fabric.port.bandwidth_tx.usage as the query parameter for the request.

Sample cURL Request:

curl -X 'GET' 'https://api.equinix.com/fabric/v4/ports/<portId>/metrics?name=equinix.fabric.port.bandwidth_rx.usage&name=equinix.fabric.port.bandwidth_tx.usage&fromDateTime=2025-05-12T19%3A18%3A00Z&toDateTime=2025-05-13T19%3A18%3A00Z' \  
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'

Sample Response:

{
"pagination": {
"offset": 0,
"limit": 10,
"total": 2,
"next": null,
"previous": null
},
"data": [
{
"type": "GAUGE",
"name": "equinix.fabric.port.bandwidth_rx.usage",
"unit": "bit/s",
"resource": {
"href": "https://api.equinix.com/fabric/v4/<portId>",
"uuid": "<portId>"
},
"summary": {
"mean": 198.7,
"max": 219
},
"datapoints": [
{
"endDateTime": "2025-05-12T19:20:47.000Z",
"value": 202
},
{
"endDateTime": "2025-05-12T19:25:51.000Z",
"value": 192
},
{
"endDateTime": "2025-05-12T19:30:51.000Z",
"value": 203
},
{
"endDateTime": "2025-05-12T19:35:53.000Z",
"value": 194
}
]
},
{
"type": "GAUGE",
"name": "equinix.fabric.port.bandwidth_tx.usage",
"unit": "bit/s",
"resource": {
"href": "https://api.equinix.com/fabric/v4/<portId>",
"uuid": "<portId>"
},
"summary": {
"mean": 0,
"max": 0
},
"datapoints": [
{
"endDateTime": "2025-05-12T19:20:47.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:25:51.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:30:51.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:35:53.000Z",
"value": 0
}
]
}
]
}

Port Packets Dropped

To view a count of the packets dropped from a port, send a GET request to the /fabric/v4/ports/<portId>/metrics endpoint specifying name=equinix.fabric.port.packets_dropped_rx.count&name=equinix.fabric.port.packets_dropped_tx.count as the query parameter for the request.

Sample cURL Request:

curl -X 'GET' 'https://api.equinix.com/fabric/v4/ports/<portId>/metrics?name=equinix.fabric.port.packets_dropped_rx.count&name=equinix.fabric.port.packets_dropped_tx.count&fromDateTime=2025-05-12T19%3A18%3A00Z&toDateTime=2025-05-13T19%3A18%3A00Z' \  
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'

Sample Response:

{
"pagination": {
"offset": 0,
"limit": 10,
"total": 2,
"next": null,
"previous": null
},
"data": [
{
"type": "SUM",
"name": "equinix.fabric.port.packets_dropped_rx.count",
"unit": "packet",
"resource": {
"href": "https://api.equinix.com/fabric/v4/<portId>",
"uuid": "<portId>"
},
"summary": {
"mean": 0,
"max": 0
}
},
{
"type": "SUM",
"name": "equinix.fabric.port.packets_dropped_tx.count",
"unit": "packet",
"resource": {
"href": "https://api.equinix.com/fabric/v4/<portId>",
"uuid": "<portId>"
},
"summary": {
"mean": 0,
"max": 0
}
}
]
}

Port Packet Errors

To view the packet errors for a port, send a GET request to the /fabric/v4/ports/<portId>/metrics endpoint specifying name=equinix.fabric.port.packets_erred_rx.count&name=equinix.fabric.port.packets_erred_tx.count as the query parameter for the request.

Sample cURL Request:

curl -X 'GET' 'https://api.equinix.com/fabric/v4/ports/<portId>/metrics?name=equinix.fabric.port.packets_erred_rx.count&name=equinix.fabric.port.packets_erred_tx.count&fromDateTime=2025-05-12T19%3A18%3A00Z&toDateTime=2025-05-13T19%3A18%3A00Z' \  
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'

Sample Response:

{
"pagination": {
"offset": 0,
"limit": 10,
"total": 2,
"next": null,
"previous": null
},
"data": [
{
"type": "SUM",
"name": "equinix.fabric.port.packets_erred_rx.count",
"unit": "packet",
"resource": {
"href": "https://api.equinix.com/fabric/v4/<portId>",
"uuid": "<portId>"
},
"summary": {
"mean": 0,
"max": 0
}
},
{
"type": "SUM",
"name": "equinix.fabric.port.packets_erred_tx.count",
"unit": "packet",
"resource": {
"href": "https://api.equinix.com/fabric/v4/<portId>",
"uuid": "<portId>"
},
"summary": {
"mean": 0,
"max": 0
}
}
]
}

Connection Bandwidth Usage

To view a connection's bandwidth usage, send a GET request to the /fabric/v4/connections/<connection_id>/metrics endpoint specifying name=equinix.fabric.connection.bandwidth_rx.usage&name=equinix.fabric.connection.bandwidth_tx.usage as the query parameter for the request.

Sample cURL Request:

curl -X 'GET' 'https://api.equinix.com/fabric/v4/connections/<connectionId>/metrics?name=equinix.fabric.connection.bandwidth_rx.usage&name=equinix.fabric.connection.bandwidth_tx.usage&fromDateTime=2025-05-12T19%3A18%3A00Z&toDateTime=2025-05-13T19%3A18%3A00Z' \  
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'

Sample Response:

{
"pagination": {
"offset": 0,
"limit": 10,
"total": 2,
"next": null,
"previous": null
},
"data": [
{
"type": "GAUGE",
"name": "equinix.fabric.connection.bandwidth_rx.usage",
"unit": "bit/s",
"resource": {
"href": "https://api.equinix.com/fabric/v4/<connectionId>",
"type": "EVPL_VC",
"uuid": "<connectionId>",
"name": "TEST-CONNECTION-NAME"
},
"summary": {
"mean": 0,
"max": 0
},
"datapoints": [
{
"endDateTime": "2025-05-12T19:22:48.000Z",
"value": 202
},
{
"endDateTime": "2025-05-12T19:27:50.000Z",
"value": 192
},
{
"endDateTime": "2025-05-12T19:31:51.000Z",
"value": 203
},
{
"endDateTime": "2025-05-12T19:37:45.000Z",
"value": 194
}
]
},
{
"type": "GAUGE",
"name": "equinix.fabric.connection.bandwidth_tx.usage",
"unit": "bit/s",
"resource": {
"href": "https://api.equinix.com/fabric/v4/<connectionId>",
"type": "EVPL_VC",
"uuid": "<connectionId>",
"name": "TEST-CONNECTION-NAME"
},
"summary": {
"mean": 0,
"max": 0
},
"datapoints": [
{
"endDateTime": "2025-05-12T19:22:48.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:27:50.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:31:51.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:37:45.000Z",
"value": 0
}
]
}
]
}

Connection Packets Dropped

To view the packets dropped from a connection, send a GET request to the /fabric/v4/connections/<connection_id>/metrics endpoint specifying name=equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count&name=equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count&name=equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count&name=equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count as the query parameter for the request.

curl -X 'GET' 'https://api.equinix.com/fabric/v4/connections/<connectionId>/metrics?name=equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count&name=equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count&name=equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count&name=equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count&fromDateTime=2025-05-12T19%3A18%3A00Z&toDateTime=2025-05-13T19%3A18%3A00Z' \  
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'

Sample Response:

{
"pagination": {
"offset": 0,
"limit": 10,
"total": 2,
"next": null,
"previous": null
},
"data": [
{
"type": "SUM",
"name": "equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count",
"unit": "packet",
"resource": {
"href": "https://api.equinix.com/fabric/v4/<connectionId>",
"type": "EVPL_VC",
"uuid": "<connectionId>",
"name": "TEST-CONNECTION-NAME"
},
"summary": {
"mean": 0,
"max": 0
},
"datapoints": [
{
"endDateTime": "2025-05-12T19:28:59.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:34:01.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:36:16.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:42:12.000Z",
"value": 0
}
]
},
{
"type": "SUM",
"name": "equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count",
"unit": "packet",
"resource": {
"href": "https://api.equinix.com/fabric/v4/<connectionId>",
"type": "EVPL_VC",
"uuid": "<connectionId>",
"name": "TEST-CONNECTION-NAME"
},
"summary": {
"mean": 0,
"max": 0
},
"datapoints": [
{
"endDateTime": "2025-05-12T19:28:59.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:34:01.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:36:16.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:42:12.000Z",
"value": 0
}
]
},
{
"type": "SUM",
"name": "equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count",
"unit": "packet",
"resource": {
"href": "https://api.equinix.com/fabric/v4/<connectionId>",
"type": "EVPL_VC",
"uuid": "<connectionId>",
"name": "TEST-CONNECTION-NAME"
},
"summary": {
"mean": 0,
"max": 0
},
"datapoints": [
{
"endDateTime": "2025-05-12T19:28:59.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:34:01.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:36:16.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:42:12.000Z",
"value": 0
}
]
},
{
"type": "SUM",
"name": "equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count",
"unit": "packet",
"resource": {
"href": "https://api.equinix.com/fabric/v4/<connectionId>",
"type": "EVPL_VC",
"uuid": "<connectionId>",
"name": "TEST-CONNECTION-NAME"
},
"summary": {
"mean": 0,
"max": 0
},
"datapoints": [
{
"endDateTime": "2025-05-12T19:28:59.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:34:01.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:36:16.000Z",
"value": 0
},
{
"endDateTime": "2025-05-12T19:42:12.000Z",
"value": 0
}
]
}
]
}

Creating Metric Alerts

Use the Stream Alert Rule Management APIs to create events when a metric crosses a defined threshold value. For more information, see Managing Metric Alert Rules

Receiving Metrics in a Sink Integration

Once you have created a stream, and added assets to that stream, you can create a subscription to have metrics sent to your third-party data collector of choice by subscribing to the stream.

Once you create a subscription to the asset(s) metrics, it receives metrics at a 5-minute interval.