Omega Event Example

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

The Omega 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.

The external data look like:
[
    {
        "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.