Documentation Index
Fetch the complete documentation index at: https://docs.equinix.dev/llms.txt
Use this file to discover all available pages before exploring further.
A private AI path is only as trustworthy as the telemetry that
proves it stays healthy. Equinix Fabric Streams emits route
churn, connection state, BGP session events, and metric samples for
every Fabric Cloud Router and Connection. This recipe pipes those
streams into Datadog or Grafana via private Fabric paths — so even
your observability traffic never touches the public internet.
The problem
Your AI inference path crosses three metros (IAD, DFW, SV5) and reaches a GPU partner from each. Latency budgets are tight (sub-30ms P95 to first token). When something degrades, you need to know which hop, which metro, which connection — within seconds. The traditional answer is “ship logs to Datadog over the public internet.” For regulated workloads or sovereign-AI deployments, that makes the observability rail a side-channel for data exfiltration. Putting your CISO at war with your SRE team is a bad outcome. You need observability that:- Flows over the same private Fabric paths as the production traffic.
- Samples and rate-limits at the Fabric layer so a noisy metric storm can’t blow your Datadog ingestion budget.
- Works across metros without three separate stitch jobs.
The architecture
- A Datadog AWS Private Link endpoint via Fabric Connection (
datadog/observability) - A Grafana Cloud private endpoint (
grafana/cloud) - A Splunk / New Relic / Honeycomb endpoint (drop-in)
Required provider packages
equinix/fabric-cloud-router
Three FCRs, one per metro.
equinix/fabric-streams
Stream subscriptions, asset attachments, alert rules.
equinix/fabric-connection
Connections from each FCR to the observability provider.
equinix/network-edge-device
Optional rate-limit / DPI between FCR and observability sink.
datadog/observability
Datadog API + private endpoint sink.
grafana/cloud
Grafana Cloud private endpoint, Loki + Mimir + Tempo.
Add the packages
Terraform recipe
MCP trace
Sampling math (so the FinOps team can sleep)
Three FCRs × ~4 connections each × 10 metric samples per minute × 365 days = ~63 million samples per year, before sampling. With the recipe’smetric_rate = 0.1 (10%), that drops to ~6.3M
samples/year — well under most Datadog standard ingestion plans.
Per-event cost (state changes — connection up/down, BGP session
events) is typically under 0.1% of metric volume. Keep the
state_change_rate = 1.0 (100% sampled) since you want every
state change to land.
Variants
Send to Grafana Cloud instead of Datadog
Send to Grafana Cloud instead of Datadog
Replace the
sink.type = "DATADOG" block with "GRAFANA_CLOUD"
plus a grafana_url and mimir_endpoint. The rest is unchanged.Bring your own observability — kafka / pubsub
Bring your own observability — kafka / pubsub
Fabric Streams supports a generic
KAFKA_TOPIC sink (with
SASL/SCRAM auth) and a GCP_PUBSUB sink. Drop the Datadog
package, swap in equinix/fabric-streams only.Add Network Edge for ACL'd egress
Add Network Edge for ACL'd egress
If your security team requires a stateful firewall in the path
between FCR and observability sink, drop in
equinix/network-edge-device with a Fortinet or Palo Alto VNF.Next
Private AI inference path
The production traffic path that this observability is watching.
Multi-cloud private interconnect
The other production pattern — also worth attaching Fabric Streams to.