Provider Connectivity Assurance now offers a functionality to export performance metrics, received OTEL events, and generated threshold crossing alerts to an external Kafka system. This feature enhances your data management capabilities by allowing seamless integration with Kafka for real-time data analysis and monitoring by external systems.
Performance Metrics Export
Provider Connectivity Assurance can stream the processed PM that it receives to an external kafka topic.
Export is configured on a per session type level (i.e. TWAMP-SF) to topic mapping
In the future it will support filtering by metadata as well as reducing the included metrics and metadata keys.
OTEL Event Export
Provider Connectivity Assurance provides an OTEL interface for ingesting external events.
This is primarily used to consume events from the Mobility Collector FM component.
The Mobility Collector FM component receives SNMP traps from the network and converts them to OTEL events through a customizable mapping service.
Export is configured as all events with no pre-filtering to a topic
Threshold Crossing Alerts
Provider Connectivity Assurance can generate TCA or threshold crossing alerts based on observed perfomance metrics crossing either static or dynamic policy levels - this TCA alerts can be exported to an external kafka topic
Export is configured as all events with no pre-filtering to a topic
In the future it will support filtering by metadata
Creating an Exporter Instance
Using the user interface, an administrator can create an exporter instance that facilitates the export of the aforementioned categories of data. It is crucial to select the appropriate topic to which these metrics and events will be exported. The process is straightforward, enabling efficient configuration tailored to your requirements.
Configuring Heartbeat Messages
Another notable feature allows users to configure a heartbeat message. This message monitors the operational status of the service by being sent to a designated topic. Ensuring that downstream applications can keep track of service availability is pivotal for maintaining operational integrity.
Detailed Steps for Configuration
Navigate to the settings within the Provider Connectivity Assurance interface.
Select the "Exporters" option.
Click the "+" button to launch a new exporter configuration form.
Fill in the required fields:
Name: Provide a display name for the exporter.
Client ID: Enter the client ID used when connecting to the Kafka broker.
Bootstrap Servers: List the Kafka bootstrap servers (including port) to connect to, separated by commas.
Heartbeat Configuration:
Enabled: Turn on to send a heartbeat message to the Kafka broker.
Interval (seconds): Set the frequency at which the heartbeat message is sent.
Topic: Select the topic for the heartbeat message.
Export Topics:
At least one export topic is required for either PM, OTEL or TCA
After saving the exporter configuration, it will automatically connect to the specified Kafka broker, allowing for efficient data transfer.
Example 1: Creating a new exporter configuration

Example 2: Configuring an export topic

Example Payloads
OTEL Events
{
"resourceLogs": [
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "sendtraps"
}
},
{
"key": "service.version",
"value": {
"stringValue": "0.1.0"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "go"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.35.0"
}
},
{
"key": "tenant_id",
"value": {
"stringValue": "61d7fe38-e1dc-4fcd-9946-e129519c7aad"
}
},
{
"key": "user_roles",
"value": {
"stringValue": "tenant-admin"
}
},
{
"key": "debug_tenant_id",
"value": {
"stringValue": "61d7fe38-e1dc-4fcd-9946-e129519c7aad"
}
},
{
"key": "debug_user_roles",
"value": {
"stringValue": "tenant-admin"
}
},
{
"key": "kafka.topic.name",
"value": {
"stringValue": "otel-61d7fe38-e1dc-4fcd-9946-e129519c7aad-in"
}
}
]
},
"schemaUrl": "https://opentelemetry.io/schemas/1.26.0",
"scopeLogs": [
{
"logRecords": null,
"scope": {
"name": "matrix-fm"
}
}
]
},
{
"resource": {
"attributes": [
{
"key": "device.ip",
"value": {
"stringValue": "192.168.1.2"
}
},
{
"key": "device.model",
"value": {
"stringValue": "otel-alert-generator"
}
},
{
"key": "device.serial",
"value": {
"stringValue": "1234567890"
}
},
{
"key": "device.subsystem",
"value": {
"stringValue": "fake"
}
},
{
"key": "device.vendor",
"value": {
"stringValue": "cisco"
}
},
{
"key": "service.name",
"value": {
"stringValue": "sendtraps"
}
},
{
"key": "service.version",
"value": {
"stringValue": "0.1.0"
}
},
{
"key": "tenant_id",
"value": {
"stringValue": "61d7fe38-e1dc-4fcd-9946-e129519c7aad"
}
},
{
"key": "user_roles",
"value": {
"stringValue": "tenant-admin"
}
},
{
"key": "debug_tenant_id",
"value": {
"stringValue": "61d7fe38-e1dc-4fcd-9946-e129519c7aad"
}
},
{
"key": "debug_user_roles",
"value": {
"stringValue": "tenant-admin"
}
},
{
"key": "kafka.topic.name",
"value": {
"stringValue": "otel-61d7fe38-e1dc-4fcd-9946-e129519c7aad-in"
}
}
]
},
"scopeLogs": [
{
"logRecords": [
{
"attributes": [
{
"key": "data_type",
"value": {
"stringValue": "event"
}
},
{
"key": "state",
"value": {
"stringValue": "cleared"
}
},
{
"key": "event_class",
"value": {
"stringValue": "a7cf50bb3941790acf2cb25d8f33f8760b853985a743b9dc4a03e751de53cd01"
}
},
{
"key": "event_instance_id",
"value": {
"stringValue": "fe04960d78f4c8a83ae1f2d68d7a60aebd3d670ce74318f73de237650d0ae80b"
}
},
{
"key": "event_name",
"value": {
"stringValue": "linkDown"
}
},
{
"key": "trap_oid",
"value": {
"stringValue": ".1.3.6.1.4.1.8164.2.1024"
}
},
{
"key": "source_ip",
"value": {
"stringValue": "192.168.1.2"
}
},
{
"key": "device_name",
"value": {
"stringValue": "192.168.1.2-fm"
}
},
{
"key": "device_vendor",
"value": {
"stringValue": "Matrix"
}
},
{
"key": "device_model",
"value": {
"stringValue": "matrix-fm-sim"
}
},
{
"key": "device_ip",
"value": {
"stringValue": "192.168.1.2"
}
},
{
"key": "alert_start_ts",
"value": {
"stringValue": "2025-12-05T14:30:35Z"
}
},
{
"key": "tenant_id",
"value": {
"stringValue": "61d7fe38-e1dc-4fcd-9946-e129519c7aad"
}
},
{
"key": "user_roles",
"value": {
"stringValue": "tenant-admin"
}
},
{
"key": "entityId",
"value": {
"stringValue": "192.168.1.2"
}
},
{
"key": "entityClass",
"value": {
"stringValue": "resource.vendor + resource.subsystem"
}
},
{
"key": "instanceId",
"value": {
"stringValue": "a7cf50bb3941790acf2cb25d8f33f8760b853985a743b9dc4a03e751de53cd011764945040665549857"
}
}
],
"body": {
"stringValue": "SNMPTRAP timestamp=[2025-12-05T14:30:40Z] source_ip=[192.168.1.2] device_ip=[192.168.1.2] event=[linkDown] state=[cleared] severity=[ERROR] trap_oid=[.1.3.6.1.4.1.8164.2.1024] clearing_required=[N]"
},
"eventName": "linkDown",
"observedTimeUnixNano": "1764945040665549969",
"observedTimestamp": "2025-12-05T14:30:40Z",
"severityNumber": 17,
"severityText": "ERROR",
"timeUnixNano": "1764945040665549857",
"timestamp": "2025-12-05T14:30:40Z"
}
],
"scope": {
"name": "matrix-fm"
}
}
]
}
]
}© 2026 Cisco and/or its affiliates. All rights reserved.
For more information about trademarks, please visit: Cisco trademarks
For more information about legal terms, please visit: Cisco legal terms
For legal information about Accedian Skylight products, please visit: Accedian legal terms and trademarks