VMware Telco Cloud Service Assurance Event Example

In this example, events are coming in from Kafka in the VMware Telco Cloud Service Assurance format. The external data is coming in on a different topic. The Enrichment adds an event priority attribute to the VMware Telco Cloud Service Assurance events.

The VMware Telco Cloud Service Assurance events received from Kafka:
[
    {
        "type": "CISCO-ACI",
        "instance": "KC-1",
        "timestamp": 1573186658,
        "processedTimestamp": 1573186659,
        "metricType": "Interface-Statistics",
        "properties": {
            "dataSource": "10.100.10.10",
            "deviceType": "Switch",
            "deviceName": "Switch-1.1.1.1",
            "entityType": "Port",
            "entityName": "PORT-node-113/eth1/51-10.106.124.197"
        },
        "metrics": {
            "metric-1": 2.71828,
            "metric-2": 3.141592
        },
        "tags": {
            "parent": "EPG::EPG-1|Switch::SW-1",
            "model": "CAN-100",
            "version": "1.0.0.1",
            "customer": "customer-1",
            "location": "Server Room A",
            "city": "Ottawa",
            "address": "24 Sussex Drive",
            "zip": "K1M 1M4",
            "region": "Canada",
            "deviceCoordinates": "45.444348, -75.693934"
        }
    },
    {
        "type": "CISCO-ACI",
        "instance": "KC-2",
        "timestamp": 1573186658,
        "processedTimestamp": 1573186659,
        "metricType": "Interface-Statistics",
        "properties": {
            "dataSource": "10.100.10.10",
            "deviceType": "Switch",
            "deviceName": "Switch-1.1.1.1",
            "entityType": "Port",
            "entityName": "PORT-node-113/eth1/51-10.106.124.197"
        },
        "metrics": {
            "metric-1": 2.71828,
            "metric-2": 3.141592
        },
        "tags": {
            "parent": "EPG::EPG-1|Switch::SW-1",
            "model": "CAN-100",
            "version": "1.0.0.1",
            "customer": "customer-1",
            "location": "Server Room A",
            "city": "Ottawa",
            "address": "24 Sussex Drive",
            "zip": "K1M 1M4",
            "region": "Canada",
            "deviceCoordinates": "45.444348, -75.693934"
        }
    }
]

These two events are the same, except for having a different instance ID.

Navigate to VMware Telco Cloud Service Assurance UI, create simple enricher by choosing one key property as "instance" and one tag as "priority", then upload CSV file as follows:
KC-1,HIGH 
KC-2,LOW
After you upload the CSV file, it generates an external data as follows:
[ 
    { 
        "key": "KC-1", 
        "data": { 
            "priority": "HIGH" 
        } 
    }, 
    { 
        "key": "KC-2", 
        "data": { 
            "priority": "LOW" 
        } 
    } 
]

For this example, an event coming in is given a priority of HIGH, if its instance ID is KC-1 and LOW if its instance ID is KC-2.

Using these above two samples, the output events sent out to Kafka:
[
    {
        "type": "CISCO-ACI",
        "instance": "KC-1",
        "timestamp": 1573186658,
        "processedTimestamp": 1573186659,
        "metricType": "Interface-Statistics",
        "properties": {
            "dataSource": "10.100.10.10",
            "deviceType": "Switch",
            "deviceName": "Switch-1.1.1.1",
            "entityType": "Port",
            "entityName": "PORT-node-113/eth1/51-10.106.124.197"
        },
        "metrics": {
            "metric-1": 2.71828,
            "metric-2": 3.141592
        },
        "tags": {
            "parent": "EPG::EPG-1|Switch::SW-1",
            "model": "CAN-100",
            "version": "1.0.0.1",
            "customer": "customer-1",
            "location": "Server Room A",
            "city": "Ottawa",
            "address": "24 Sussex Drive",
            "zip": "K1M 1M4",
            "region": "Canada",
            "deviceCoordinates": "45.444348, -75.693934",
            "priority": "HIGH"
        }
    },
    {
        "type": "CISCO-ACI",
        "instance": "KC-2",
        "timestamp": 1573186658,
        "processedTimestamp": 1573186659,
        "metricType": "Interface-Statistics",
        "properties": {
            "dataSource": "10.100.10.10",
            "deviceType": "Switch",
            "deviceName": "Switch-1.1.1.1",
            "entityType": "Port",
            "entityName": "PORT-node-113/eth1/51-10.106.124.197"
        },
        "metrics": {
            "metric-1": 2.71828,
            "metric-2": 3.141592
        },
        "tags": {
            "parent": "EPG::EPG-1|Switch::SW-1",
            "model": "CAN-100",
            "version": "1.0.0.1",
            "customer": "customer-1",
            "location": "Server Room A",
            "city": "Ottawa",
            "address": "24 Sussex Drive",
            "zip": "K1M 1M4",
            "region": "Canada",
            "deviceCoordinates": "45.444348, -75.693934",
            "priority": "LOW"
        }
    }
]

Both events have been given a priority tag based on their instance ID.

Enrichment Usage on the Multi-tenancy Use Case

In the previous example, we can see that customer information is enriched to the metrics by the Enrichment function. Besides the metrics, the Enrichment service can also enrich the Event records in the same way as the metric records are enriched. After the events are enriched, the user can see the enriched information in the event dashboard.

For example, the following diagram shows that the customer information is displayed in the dashboard for the admin user (the admin user can see all of the data of the tenants):

Enrichment Example 1

If the user is logged in as customer-1, the dashboard shows only the events for customer 1.

Enrichment Example 2

Matching Multiple Keys and Multiple Patterns to External Reference Data

If you are considering the following example of selecting multiple key properties like device name and device type and enrich the data with region and country.Enrichment Reference Data

Here is an example of possible CSV external reference data:
10.106.100.<200-255>,Host,NORTH-DC1,ATLANTA
10.107.11._,Host,EAST-DC1,NEWYORK
haas-bng-1__-04%,Host,WEST-DC1,CALIFORNIA
haas-bng-146-185.*,Host,SOUTH-DC1,FLORIDA

So in this example, any metrics with device name in range 10.106.100.200 to 10.106.100.255 and device type as HOST will be matched with 10.106.100.<200-255> pattern and will be enriched with "Region":"NORTH-DC1” and “Country”:”ATLANTA”.

For more information on other pattern examples, see the supported patterns table.