After configuring data destinations, data subscriptions must be created to define what data gets sent where.
Data subscription types include data such as alarms, inventory changes and performance metrics.
API details
API endpoint: POST /crosswork/notification/v2/subscription
*destinationName*: Name of an existing data destination
*destinationType*: Type of destination ('Kafka' or 'gRPC')
*subscriptionDataType*: Type of data subscription
- Possible types for Kafka: Inventory_Changes, Alarm, System_Audit, Device_Performance_Monitoring, Network_Performance_Monitoring, Service_Health_Monitoring
- Possible types for gRPC: Device_Performance_Monitoring, Network_Performance_Monitoring
*subscriptionData*: policy_instance=performance monitoring policy (Example: Device health or Interface health)
*topicName*: Kafka or gRPC topic name
*filter*: Optional filter criteria applicable only for Inventory_Changes data type (set to 'null' if not required)
A success response is returned when the request is completed.
Subscription validation criteria
Successful subscription for Kafka or gRPC destination types is validated using a unique combination of the following four parameters:
-
destinationTypee
-
subscriptionDataType
-
subscriptionData
-
topicName
Examples:
-
For Kafka:
-
destinationType: "Kafka"
-
subscriptionDataType: "Service_Health_Monitoring"
-
subscriptionData: "PCA_Probes"
topicName: "sh.tracker.topic.PCA_probes"
-
For gRPC:
-
destinationType: "gRPC"
-
subscriptionDataType: "Network_Performance_Monitoring"
-
subscriptionData: "SR_PM_Policy"
-
topicName: "pmdata-test-grpc-NPM"
A subscription is considered successful only if this parameter combination, along with a unique topic name, is validated.
Sample: Kafka subscription request for alarms
This sample creates a Kafka data subscription for alarm monitoring:
POST /crosswork/notification/v2/subscription
{
"destinationName": "kafka-alarm-destination",
"destinationType": "Kafka",
"subscriptionDataType": "Alarm",
"subscriptionData": null,
"topicName": "topic_name",
"filter": null
}
Sample: Kafka subscription request for performance monitoring
This sample creates a Kafka data subscription for performance monitoring.
Note
subscriptionData is applicable only for device performance monitoring subscriptions in Kafka.
POST /crosswork/notification/v2/subscription
{
"destinationName": "kafka-alarm-destination",
"destinationType": "Kafka",
"subscriptionDataType": "Device_Performance_Monitoring",
"subscriptionData": "policy_instance=device_health",
"topicName": "pm-topic",
"filter": null
}
Sample: gRPC subscription request for device performance monitoring
This sample creates a gRPC data subscription for device performance monitoring:
POST /crosswork/notification/v2/subscription
{
"destinationName": "grpc-device-perf-destination",
"destinationType": "gRPC",
"subscriptionDataType": "Device_Performance_Monitoring",
"subscriptionData": "policy_instance=device_health",
"topicName": "device-perf-context-001",
"filter": null
}
Sample: gRPC subscription request for network performance monitoring
This sample creates a gRPC data subscription for network performance monitoring:
POST /crosswork/notification/v2/subscription
{
"destinationName": "grpc-secure",
"destinationType": "gRPC",
"filter": null,
"subscriptionData": "SR_PM_Policy",
"subscriptionDataType": "Network_Performance_Monitoring",
"topicName": "pmdata-test-grpc-NPM"
}
Sample: Service health PCA_probes and Y1731_probes payloads
This sample creates a Service_Health_Monitoring subscription for PCA_probes and Y1731_probes:
PCA_probes
{
"destinationName": "kafka-fqdn",
"destinationType": "KAFKA",
"subscriptionDataType": "Service_Health_Monitoring",
"subscriptionData": "PCA_Probes",
"topicName": "sh.tracker.topic.PCA_probes",
"filter": null
}
Y1731_probes
{
"destinationName": "kafka-test",
"destinationType": "KAFKA",
"subscriptionDataType": "Service_Health_Monitoring",
"subscriptionData": "Y1731_Probes",
"topicName": "sh.tracker.topic.Y1731",
"filter": null
}