Créer un abonnement
Une fois que vous avez créé un flux, créez un abonnement pour envoyer vos métriques et vos données d'événement à votre collecteur de données.
Collecteurs de données pris en charge :
| Collecteur de données | Événements | Indicateurs |
|---|---|---|
| Datadog | Pris en charge | Pris en charge |
| Pub/Sub Google | Pris en charge | Pris en charge |
| Grafana Webhook | Pris en charge | Pris en charge |
| Équipes Microsoft | Pris en charge | Pris en charge |
| PagerDuty | Pris en charge | Non pris en charge |
| ServiceNow | Pris en charge | Pris en charge |
| Mou Webhook | Pris en charge | Pris en charge |
| Splunk HEC | Pris en charge | Pris en charge |
| Webhooks génériques | Pris en charge | Pris en charge |
Formats de données
Les événements et métriques Equinix utilisent le format de spécification CloudEvents ou OpenTelemetry pour toutes les données. Tous nos schémas de données d'événements, schémas de données de métriques et types de données sont publiés dans le /equinix/equinix-cloudeventsréférentiel GitHub.
Exemples :
- CloudEvent
- CloudEvents Metric
- OpenTelemetry Log
- OpenTelemetry Metric
---
specversion: '1.0'
source: https://api.equinix.com/fabric/v4/cloudevents
id: 6c573287-9914-4202-8b6d-2d15e7da04b8
type: equinix.fabric.metric
subject: /fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688
time: '2024-07-01T20:12:21.306Z'
severitynumber: 9
severitytext: INFO
equinixproject: 123
dataschema: https://github.com/Fabric/.../ApiConfigEventData.json
datacontenttype: application/json
data:
message: New metrics collected
resource:
href: https://api.equinix.com/fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688
uuid: 956a86fb-d03d-436c-8d5d-30d1f51f7688
name: my-test-port
description: port description
metrics:
- type: GAUGE
name: equinix.fabric.port.bandwidth_rx.usage
description: Port inbound bandwidth utilization
unit: bit/s
datapoints:
- endDateTime: '2024-07-01T20:12:21.000Z'
value: 440023
- type: SUM
name: equinix.fabric.port.packets_erred_tx.count
description: Port error packets
interval: PT5M
unit: packet
datapoints:
- endDateTime: '2024-07-01T20:12:21.000Z'
value: 10
{
"specversion": "1.0",
"source": "https://api.equinix.com/fabric/v4/cloudevents",
"id": "16c7e20a-d147-40c4-81ad-f60d25548aad",
"time": "2026-06-24T20:20:59.000Z",
"type": "equinix.fabric.metric",
"subject": "/fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688",
"dataschema": "https://equinix.github.io/equinix-cloudevents/jsonschema/equinix/fabric/v1/MetricEvent.json",
"datacontenttype": "application/json",
"severitynumber": "9",
"severitytext": "INFO",
"equinixproject": "123",
"data": {
"message": "Metrics collected",
"resource": {
"href": "https://api.equinix.com/fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688",
"uuid": "956a86fb-d03d-436c-8d5d-30d1f51f7688",
"type": "XF_PORT",
"state": "PROVISIONED"
},
"metrics": [
{
"type": "GAUGE",
"name": "equinix.fabric.port.bandwidth_rx.usage",
"unit": "bit/s",
"datapoints": [
{
"endDateTime": "2026-06-24T20:20:59.000Z",
"value": 179
}
]
},
{
"type": "GAUGE",
"name": "equinix.fabric.port.bandwidth_tx.usage",
"unit": "bit/s",
"datapoints": [
{
"endDateTime": "2026-06-24T20:20:59.000Z",
"value": 1711
}
]
}
]
}
}
---
resourceLogs:
- resource:
attributes:
- key: service.name
value:
stringValue: Equinix
- key: equinix.event.specversion
value:
stringValue: '1.0'
- key: equinix.event.source
value:
stringValue: https://api.equinix.com/fabric/v4/cloudevents
- key: equinix.event.subject
value:
stringValue: /fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688
- key: equinix.event.equinixproject
value:
stringValue: 123
scopeLogs:
- scope:
logRecords:
- timeUnixNano: '1719889941306000000'
severityNumber: 9
severityText: Information
body:
stringValue: '{"message":"Virtual port status changed to Up","resource":{"href":"https://api.equinix.com/fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688","uuid":"956a86fb-d03d-436c-8d5d-30d1f51f7688","name":"my-test-port","description":"port description"}}'
attributes:
- key: equinix.event.id
value:
stringValue: 6c573287-9914-4202-8b6d-2d15e7da04b8
- key: equinix.event.type
value:
stringValue: equinix.fabric.port.status.up
---
resourceMetrics:
- resource:
attributes:
- key: service.name
value:
stringValue: Equinix
- key: equinix.event.specversion
value:
stringValue: '1.0'
- key: equinix.event.source
value:
stringValue: https://api.equinix.com/fabric/v4/cloudevents
- key: equinix.event.subject
value:
stringValue: /fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688
- key: equinix.event.equinixproject
value:
stringValue: 123
scopeMetrics:
- scope:
metrics:
- name: equinix.fabric.port.bandwidth_rx.usage
description: Port inbound bandwidth utilization
unit: 'bit/s'
gauge:
dataPoints:
- attributes:
- key: service.name
value:
stringValue: Equinix
- key: equinix.event.source
value:
stringValue: https://api.equinix.com/fabric/v4/cloudevents
- key: equinix.event.subject
value:
stringValue: /fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688
- key: equinix.event.equinixproject
value:
stringValue: 123
- key: equinix.event.resource.name
value:
stringValue: 'my-port-name'
timeUnixNano: '1719889941306000000'
asInt: 566
- name: equinix.fabric.port.packets_erred_tx.count
description: Port error packets
unit: packet
sum:
aggregationTemporality: 2 # required for sum https://github.com/open-telemetry/opentelemetry-proto/blob/v0.9.0/opentelemetry/proto/metrics/v1/metrics.proto#L230
dataPoints:
- attributes:
- key: service.name
value:
stringValue: Equinix
- key: equinix.event.source
value:
stringValue: https://api.equinix.com/fabric/v4/cloudevents
- key: equinix.event.subject
value:
stringValue: /fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688
- key: equinix.event.equinixproject
value:
stringValue: 123
- key: equinix.event.resource.name
value:
stringValue: 'my-port-name'
startTimeUnixNano: '1719889641306000000' # optional
timeUnixNano: '1719889941306000000'
asInt: 10
Les variations de ces formats pour des collecteurs de données spécifiques sont indiquées ci-dessous.
Conditions préalables
- Pour créer des abonnements, vous devez disposer du
Fabric Stream Subscription Managerrôle (STREAM_SUBSCRIPTION PERMISSION CREATE AND READ). Contactez l'administrateur de votre entreprise ou l'administrateur IAM pour gérer les accès et les rôles.
- Portal
- API
Le portail prend en charge la création et la gestion des abonnements à Splunk, Datadog, Microsoft Teams et PagerDuty.
-
Connectez-vous au Portail client > Tableau de bord Fabric .
-
Dans le menu observabilité, sélectionnez flux de données .

-
Dans le menu déroulant actions , sélectionnez Ajouter des abonnements.

- Authentifier. Envoyez vos informations d’identification utilisateur, votre identifiant client et votre secret client pour l’authentification OAuth2. Pour plus d'informations sur la manière d'authentifier vos demandes auprès du Equinix API, reportez-vous à la section authentification API.
Les valeurs URI/hôte de l'API d'abonnement prennent uniquement en charge HTTPS et ne prennent pas en charge les certificats auto-signés.
Datadog
Un abonnement Datadog nécessite votre API Datadog et vos clés d'application lors de la création de votre abonnement.
Pour obtenir un guide de configuration à intégrer à Datadog, consultez Comment configurer Datadog dans la communauté Equinix.
- Portal
- API
Sur la page Ajouter un abonnement, saisissez vos informations Datadog, notamment :
- un nom d'abonnement
- URL de votre hôte Datadog
- votre clé API Datadog
- Votre clé d'application Datadog
- et fournir une description (facultatif)

Pour créer un abonnement, envoyez POST une demande au /fabric/v4/streams/<streamId>/subscriptionsterminal. Indiquez l'identifiant du flux dans le stream chemin de votre demande.
Dans l'sinkobjet du corps de la demande :
- Spécifiez le
typecommeDATADOG. - Utilisez le tableau de référence de site Datadog pour trouver votre paramètre de site pour le
sink.hostparamètre. - Fournissez votre clé Datadog API et votre clé d'application
Exemple de requête cURL:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<datadog_subscription_name>",
"description": "<datadog_subscription_desc>",
"sink": {
"host": "https://<datadog_site_parameter>",
"type": "DATADOG",
"credential": {
"type": "API_KEY",
"apiKey": "<datadog_api_key>"
},
"settings": {
"applicationKey": "<datadog_application_key>"
}
}
}'
Exemples de données Datadog
- Event
- Metric
---
date_happened: 1719864741 # in seconds
source_type_name: Equinix
aggregation_key: <aggregation_key>
title: 'Virtual port status changed to Up'
status: info # INFO->info, WARN -> warn, ERROR->error, CRITICAL->warn, FATAL->error, default: info
text: "{\"cloudevent\":{\"specversion\":\"1.0\",\"source\":\"https://api.equinix.com/fabric/v4/cloudevents\",\"id\":\"6c573287-9914-4202-8b6d-2d15e7da04b8\",\"type\":\"equinix.fabric.port.status.up\",\"subject\":\"/fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688\",\"time\":\"2024-07-01T20:12:21.306Z\",\"severitynumber\":9,\"severitytext\":\"INFO\",\"equinixalert\":\"clear/<aggregation_key>\",\"equinixproject\":\"123\",\"data\":{\"message\":\"Virtual port status changed to Up\",\"resource\":{}}}}"
---
series:
- type: 3 # 0(unspecified), 1(count), 2(rate), 3(gauge)
metric: equinix.fabric.port.bandwidth_rx.usage
resources:
- type: subject
name: /fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688
- type: equinixproject
name: 123
unit: bit/s
points:
- timestamp: 1719889941
value: 440023
- type: 1
metric: equinix.fabric.port.packets_erred_tx.count
resources:
- type: subject
name: /fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688
- type: equinixproject
name: 123
unit: packet
interval: 300 # in seconds
points:
- timestamp: 1719889941
value: 10
Google PubSub
Un abonnement Google Pub/Sub nécessite les éléments suivants :
- Créer un sujet.
- Accorder des autorisations IAM à un compte de service pour Pub/Sub.
- Lors de la création de votre abonnement, indiquez votre URI de rubrique et vos identifiants de compte de service .
Pour obtenir un guide de configuration sur Google Pub/Sub, consultez Comment configurer Google Pub/Sub dans la communauté Equinix.
- Portal
- API
Sur la page Ajouter un abonnement, saisissez vos informations PubSub Google Cloud, notamment :
- Nom de l'abonnement
- Jeton d'accès PubSub Google Cloud
- URI d'abonnement Google Cloud PubSub
- Et fournissez une description (facultatif)

Pour créer un abonnement, envoyez POST une demande au /fabric/v4/streams/<streamId>/subscriptionsterminal. Indiquez l'identifiant du flux dans le stream chemin de votre demande.
Dans l'sinkobjet du corps de la demande :
- Spécifiez le
typecommeGOOGLE_PUBSUB. - Indiquez votre jeton d'accès PubSub Google Cloud et votre URI d'abonnement PubSub.
Exemple de requête cURL:
curl -X POST 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<gcp_pubsub_subscription_name>",
"description": "<gcp_pubsub_subscription_desc>",
"sink": {
"uri": "https://pubsub.googleapis.com/v1/projects/<gcp_project_name>/topics/<gcp_topic_name>:publish",
"type": "GOOGLE_PUBSUB",
"credential": {
"type": "ACCESS_TOKEN",
"accessToken": "<encoded_base64_service_account_json>"
}
}
}'
Webhook Grafana
Pour créer un abonnement Grafana, créez et configurez Grafana pour les webhooks entrants . Lors de la création de votre abonnement, indiquez l'URL et la clé API de votre Webhook Grafana.
Pour obtenir un guide de configuration pour Grafana, consultez Comment configurer Grafana Webhook dans la Communauté Equinix.
- Portal
- API
Sur la page Ajouter un abonnement, saisissez vos informations Grafana, notamment :
- Nom de l'abonnement.
- L'URI des métriques Grafana.
- L'URI des événements Grafana.
- Votre clé API Grafana.
- Description facultative.

Pour créer un abonnement, envoyez POST une demande au /fabric/v4/streams/<streamId>/subscriptionsterminal. Indiquez l'identifiant du flux dans le stream chemin de votre demande.
Dans l'sinkobjet du corps de la demande :
- Spécifiez le
typecommeWEBHOOK. - Indiquez votre URI de métriques Grafana, votre URI d’événements ou les deux.
- Fournissez votre clé Grafana API.
Exemple de requête cURL:
curl -X POST 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<webhook_subscription_name>",
"description": "<webhook_subscription_desc>",
"enabled": true,
"sink": {
"type": "WEBHOOK",
"settings": {
"metricUri": "https://<grafana_oltp_endpoint>/otlp/v1/metrics",
"format": "OPENTELEMETRY"
},
"credential": {
"type": "API_KEY",
"apiKey": "<grafana_instance_id>:<grafana_api_key>"
}
}
}'
Microsoft Teams
Pour créer un abonnement Microsoft Teams, créez et configurez un webhook pour publier des messages lorsqu'une demande de webhook est reçue. Une fois votre webhook configuré, indiquez votre URL POST HTTP lors de la création de votre abonnement.
Pour obtenir un guide de configuration pour Microsoft Teams, consultez Comment configurer Microsoft Teams dans la communauté Equinix.
- Portal
- API
Sur la page Ajouter un abonnement, saisissez vos informations Microsoft Teams, notamment :
- un nom d'abonnement
- Votre URI Webhook de flux de travail Microsoft
- et fournir une description (facultatif)

Pour créer un abonnement, envoyez POST une demande au /fabric/v4/streams/<streamId>/subscriptionsterminal. Indiquez l'identifiant du flux dans le stream chemin de votre demande.
Dans l'sinkobjet du corps de la demande :
- Spécifiez le
typecommeTEAMS. - Indiquez votre URI Webhook de flux de travail Microsoft.
Exemple de requête cURL:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<ms_teams_subscription>",
"description": "<ms_teams_subscription_desc>",
"sink": {
"uri": "<teams_webhook_uri>",
"type": "TEAMS"
}
}'
PagerDuty
Pour un abonnement PagerDuty, créez un service et une intégrationEvents APIv2 pour gérer vos événements. Indiquez votre URI PagerDuty et la clé d'intégration lors de la création de votre abonnement.
Pour obtenir un guide de configuration pour PagerDuty, consultez Comment configurer PagerDuty dans la Communauté Equinix.
- Portal
- API
Sur la page Ajouter un abonnement, saisissez vos informations PagerDuty, notamment :
- un nom d'abonnement
- URL de votre hôte PagerDuty
- Votre clé d'intégration PagerDuty
- et fournir une description (facultatif)

Pour créer un abonnement, envoyez POST une demande au /fabric/v4/streams/<streamId>/subscriptionsterminal. Indiquez l'identifiant du flux dans le stream chemin de votre demande.
Dans l'sinkobjet du corps de la demande :
- Spécifiez le
typecommePAGERDUTY. - Indiquez votre URL d'hôte PagerDuty et votre clé d'intégration.
Exemple de requête cURL:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<pagerduty_subscription_name>",
"description": "<pagerduty_subscription_desc>",
"sink": {
"host": "https://events.pagerduty.com",
"type": "PAGERDUTY",
"credential": {
"type": "INTEGRATION_KEY",
"integrationKey": "<pagerduty_integration_key>"
}
}
}'
Exemple de données PagerDuty
- Event
---
routing_key: <routing_key>
dedup_key: <dedup_key>
event_action: trigger # or resolve
payload:
source: Equinix
timestamp: '2024-07-01T20:12:21.306Z'
severity: critical
summary: Virtual port status changed to Down
custom_details:
equinixsource: https://api.equinix.com/fabric/v4/cloudevents
specversion: '1.0'
id: <uuid>
type: equinix.fabric.port.status.down
subject: /fabric/v4/ports/<port_uuid>
time: '2024-07-01T20:12:21.306Z'
severitynumber: 21
severitytext: FATAL # or INFO
equinixalert: raise/<dedup_key>
equinixproject: 123
ServiceNow
Un abonnement ServiceNow nécessite votre nom d'utilisateur et votre mot de passe ServiceNow .
- Portal
- API
Sur la page Ajouter un abonnement, saisissez vos informations ServiceNow, notamment :
- Nom de l'abonnement.
- URL de l'hôte ServiceNow.
- Votre nom d'utilisateur ServiceNow.
- Votre mot de passe ServiceNow.
- Description facultative.

Pour créer un abonnement ServiceNow, envoyez POST une demande au /fabric/v4/streams/<streamId>/subscriptionspoint final. Indiquez l'identifiant du flux dans le stream chemin de votre demande.
Dans l'sinkobjet du corps de la demande :
- Spécifiez le
typecommeSERVICENOW. - Indiquez votre url d'hôte ServiceNow, votre nom d'utilisateur et votre mot de passe.
Exemple de requête cURL:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<servicenow_subscription_name>",
"description": "<servicenow_subscription_desc>",
"sink": {
"host": "https://<host>.service-now.com",
"type": "SERVICENOW",
"settings": {
"source": "<source_name>"
},
"credential": {
"type": "USERNAME_PASSWORD",
"username": "<servicenow-username>",
"password": "<servicenow-password>"
}
}
}'
Exemples de données ServiceNow
- Event
- Metric
---
source: Equinix
time_of_event: '2024-07-01T20:12:21.306Z'
description: Virtual port status changed to Down
severity: 1 # 1 for clear and 0 for clear
resolution_state: New # or Closing
message_key: NCAB543WC4lrLpET8nLX4Vd8
resource: fabric.port
node: /fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688
type: equinix.fabric.port.status.down
additional_info: '{"cloudevent":{"specversion":"1.0","source":"https://api.equinix.com/fabric/v4/cloudevents","id":"6c573287-9914-4202-8b6d-2d15e7da04b8","type":"equinix.fabric.port.status.down","subject":"/fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7681","time":"2024-07-01T20:12:21.306Z","severitynumber":13,"severitytext":"CRITICAL","equinixalert":"raise/NCAB543WC4lrLpET8nLX4Vd8","equinixproject":"123","data":{"message":"Virtual port named \'Test-port\' status changed to Down","resource":{}}}}'
---
- timestamp: 1719889941306000. #mili sec
source: Equinix
resource_path: "/fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7681"
metric_type: equinix.fabric.port.bandwidth_rx.utilization
value: 70.5
ci2metric_id:
type: GAUGE
subject: "/fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7681"
equinixproject: 123
unit: "%"
- timestamp: 1719889941306000 #mili sec
source: Equinix
resource_path: "/fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7681"
metric_type: equinix.fabric.port.packets_erred_tx.count
value: 70.5
ci2metric_id:
type: GAUGE
interval: PT5M
subject: "/fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7681"
equinixproject: 123
unit: "%"
Slack
Un abonnement Slack nécessite l'URL unique de votre webhook. Voir créer et configurer une application Slack pour les webhooks entrants .
Pour obtenir un guide de configuration à intégrer à Slack, consultez Comment configurer Slack dans la communauté Equinix.
- Portal
- API
Sur la page Ajouter un abonnement, saisissez vos informations Slack, notamment :
- Nom de l'abonnement
- URI d'abonnement
- Description (facultatif)

Pour créer un abonnement, envoyez POST une demande au /fabric/v4/streams/<streamId>/subscriptionsterminal. Indiquez l'identifiant du flux dans le stream chemin de votre demande.
Dans l'sinkobjet du corps de la demande :
- Spécifiez le
typecommeSLACK. - Indiquez l'URI de l'abonnement Slack.
Exemple de requête cURL:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<slack_subscription_name>",
"description": "<slack_subscription_desc>",
"sink": {
"uri": "<slack_webhook_uri>",
"type": "SLACK"
}
}'
Splunk
Pour créer un abonnement Splunk, créez un index d'événements pour recevoir les événements, un index de mesures pour recevoir les mesures ou les deux, puis créez un collecteur d'événements HTTP. Lors de la création de votre abonnement, indiquez votre URI de collecteur d'événements HTTP, votre jeton de collecteur d'événements HTTP et les noms de vos index.
Pour obtenir un guide de configuration à intégrer à Splunk, consultez Comment configurer Splunk dans la communauté Equinix.
- Portal
- API
Sur la page Ajouter un abonnement, saisissez vos informations Splunk, notamment :
- un nom d'abonnement
- URI de votre collecteur d'événements HTTP Splunk
- votre jeton d'accès Splunk
- Votre index d'événements Splunk (obligatoire)
- votre indice de métriques Splunk, si vous prévoyez d'ingérer des métriques dans Splunk
- et fournir une description (facultatif)

Pour créer un abonnement, envoyez POST une demande au /fabric/v4/streams/<streamId>/subscriptionsterminal. Indiquez l'identifiant du flux dans le stream chemin de votre demande.
Dans l'sinkobjet du corps de la demande :
- Spécifiez le
typecommeSPLUNK_HEC. - Indiquez votre URI de collecteur d’événements HTTP Splunk.
- Indiquez votre index d’événements Splunk (obligatoire) et votre index de mesures Splunk (facultatif).
- Fournissez votre jeton d’accès Splunk.
Exemple de requête cURL:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<splunk_subscription_name>",
"description": "<splunk_subscription_desc>",
"sink": {
"uri": "https://http-inputs-<host>.splunkcloud.com:<port>/services/collector/event",
"type": "SPLUNK_HEC",
"settings": {
"eventIndex": "<name_of_eventIndex>",
"metricIndex": "<name_of_metricIndex>",
"source": "<name_of_splunk_hec>"
},
"credential": {
"type": "ACCESS_TOKEN",
"accessToken": "Splunk <Splunk AccessToken>"
}
}
}'
Exemples de données Splunk
- Event
- Metric
---
sourcetype: _json
index: test-event-index
source: equinix # optional
event:
equinixsource: https://api.equinix.com/fabric/v4/cloudevents
specversion: '1.0'
id: 6c573287-9914-4202-8b6d-2d15e7da04b8
type: equinix.fabric.port.status.up
subject: /fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688
time: '2024-07-01T20:12:21.306Z'
severitynumber: 9
severitytext: INFO
equinixalert: clear/NCAB543WC4lrLpET8nLX4Vd8
equinixproject: 123
data:
message: Virtual port status changed to Up
resource:
href: https://api.equinix.com/fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688
uuid: 956a86fb-d03d-436c-8d5d-30d1f51f7688
name: my-test-port
description: port description
---
time: 1719889941.306
event: metric
index: test-index-metric
source: Equinix # Optional
fields:
subject: /fabric/v4/ports/956a86fb-d03d-436c-8d5d-30d1f51f7688
equinixproject: 123
"metric_name:equinix.fabric.port.bandwidth_rx.usage": 440023
"metric_name:equinix.fabric.port.packets_erred_tx.count": 10
Webhook générique
Equinix prend en charge la création d'un abonnement à n'importe quel service webhook générique pour les événements et les métriques au format de spécification CloudEvent ou OpenTelemetry .
Vous devez inclure un URI d'événement ou un URI de mesure. Pour diffuser à la fois des événements et des mesures, vous devez fournir à la fois un URI d'événement et un URI de mesure. Si vous ne fournissez qu'un seul de ces champs, seul le type de données correspondant (événements ou mesures) est envoyé à la plateforme de destination.
- Portal
- API
Sur la page Ajouter un abonnement, saisissez vos informations Webhook, notamment :
- Nom de l'abonnement
- Choisissez le format CloudEvent ou le format Open Telemetry pour vos données en flux continu.
- L'URI de l'événement
- L'URI métrique
- Sélectionnez un type d'authentification parmi les options aucune autorisation, nom d'utilisateur/mot de passe, jeton d'accès ou clé API. Saisissez les informations pertinentes dans les champs prévus à cet effet.
- Et fournissez une description (facultatif).

Pour créer un abonnement webhook, envoyez POST une demande au /fabric/v4/streams/<streamId>/subscriptionsterminal. Indiquez l'identifiant du flux dans le stream chemin de votre demande.
Dans l'sinkobjet du corps de la demande, fournissez tous les champs nécessaires pour votre type de récepteur. Y compris :
- Spécifiez le
typecommeWEBHOOK. - Indiquez un URI d'événement ou un URI de mesure, ou les deux. Spécifiez le format.
- Fournissez les informations d'authentification pertinentes, y compris les options de nom d'utilisateur/mot de passe, jeton d'accès ou clé API. Si aucune authentification n'est requise, vous pouvez omettre l'
credentialsobjet.
Exemple de requête cURL:
curl -X POST 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<webhook_subscription_name>",
"description": "<webhook_subscription_desc>",
"enabled": true,
"sink": {
"type": "WEBHOOK",
"settings": {
"eventUri": "<webhook_uri>",
"metricUri": "<webhook_uri>",
"format": "<format>"
}
}
}'