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.
-
Sign in to the Customer Portal > Fabric Dashboard.
-
Navigate to your Port Inventory, your Connections Inventory, or your Fabric Cloud Router Inventory.
-
Select the port, virtual connection, or Fabric Cloud Router whose events you want to view.
-
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.