The databus is a framework for sharing the data stored in VMware Aria Operations for Networks with other applications using APIs. With the databus, you can share high volumes of data with low latency in near real-time.
VMware Aria Operations for Networks databus provides the following benefits:
- Provides a way to programmatically consume high-volume data in near real-time.
- Works on a change-based consumption model which gives databus a distinct advantage over traditional API calls, especially in the context of high-volume data like flows and metrics.
Use Cases
With VMware Aria Operations for Networks databus, you can use the data for various purposes. Following are a couple of examples of how you can use the databus:
Use case | Description | Steps |
---|---|---|
Retain flows for a longer duration | In general, flow retention in VMware Aria Operations for Networks is one month. With the databus, you can retain flows for a longer duration. |
|
Sending alerts to various destinations | By defaults, you can send alerts to SNMP / SMTP destinations. With databus, you can send alerts to various other destinations, such as Slack, ServiceNow, PagerDuty, and so on. A few examples of alerts that you can get using databus are system alerts for password expiry, VMware vCenter server disconnected, and so on. |
|
Streaming metrics out of VMware Aria Operations for Networks | Polling APIs for metrics is a multi-step process that includes getting entity IDs, periodically calling the APIs, and filter out duplicate information. The databus makes this entire process very efficient; you subscribe to the metrics group or sub-group of your choice, and the metrics directly gets stream out to the endpoint as the metrics get processed. |
|
Supported Message Group
The databus streaming is a better alternative to APIs if you are looking to poll information periodically. And to receive information from databus, you must subscribes to message group(s). A message group is a specific set of data that you can subscribe from the databus. Each message group can have up to 10 subscribers, except for Flows and Metrics message groups which can have only one subscriber per message group. Also, the Metrics message group can have only one subscriber per message group.
VMware Aria Operations for Networks supports the following message groups:
Message Group | Sub-message Group | Message Details |
---|---|---|
Metrics | vms-metrics | Metric, interval, time stamp, unit, entity type, and points. |
hosts-metrics | Metric, interval, time stamp, unit, entity type, and points. | |
flows-metrics | Metric, interval, time stamp, unit, entity type, and points. | |
nics-metrics | Metric, interval, time stamp, unit, entity type, and points. | |
switchports-metrics | Metric, interval, time stamp, unit, entity type, and points. | |
nsxt-metrics | Metric, interval, time stamp, unit, entity type, and points. | |
Applications | N/A | Entity ID, entity type, name, created by, creation time, last modified by, last modified time, source, tiers, and discovery info. |
Flows | N/A | Source VM, destination VM, source IP, destination IP, port, source folders, destination folders, protocol, source IP sets, destination IP sets, source security groups, destination security groups, traffic type, source security tags, destination security tags, source VM tags, destination VM tags, within host, firewall action, and flow tag. |
Problems | N/A | Entity ID, entity type, name, anchor entities, message, event tags, admin state, archived, event time epoch ms, event type, and severity. |
Message Group | Message Details |
---|---|
VMs | Entity ID, name, entity type, IP addresses, default gateway, default gateways,VNICs, source firewall rules, destination firewall rules, VM UUID, manager UUID, cluster, resource pool, host, vendor ID, vCenter manager, folders, datastore, data center, source inversion rules, destination inversion rules, CPU count, memory, OS full name, and HCX info. |
Hosts | Entity ID, name, entity type, VMKNICs, cluster, vCenter manager, VM count, datastore, service tag, vendor ID, maintenance mode, connection state, CPU count, memory, and manager UUID. |
NICs | Entity Id, name, entity type, VLAN, and VM. |
Switchports | Entity ID, name, entity type, operational status, administrative status, sub type, device, and manager. |
The data published over databus is categorized into different message groups. As a user you can subscribe to one or more message groups, and data related to those message groups starts streaming to HTTP or HTTPS endpoints.
Use the following steps to configure the databus:
1. Know about the Security and the SSL Certificate
While using the databus, you must be aware of the following security information:
Environment | Details |
---|---|
On-prem |
|
SaaS |
|
2. Register, Update, or Delete a Subscriber
- To register a subscriber, you must do an API call using the POST method. For details, see the VMware Aria Operations for Networks API Reference.
If the registration is successful, the message response contains a subscriber ID. You can use the subscriber ID to delete a subscription or update a subscription. After successful subscriber registration, it might take up to five minutes for the subscriber to start receiving messages.
- To update a subscriber, you must do an API call using the PUT method. For details, see the VMware Aria Operations for Networks API Reference.
Note: You can only update the Subscriber URL. You cannot update the message group.
- To delete a subscriber, you must do an API call using the DELETE method. For details, see VMware Aria Operations for Networks API Reference.
After successful subscriber deletion, it may take up to five minutes for the data publishing to stop.
3. Message Format Received from the Databus
The messages received as part of various message groups are a list of multiple messages and have a common high-level structure. Each message in the list is a cloud-event formatted object. To learn more about cloud events, see cloudevents.
All the message has two sets of specific fields:
- Common structure - which is common across all the message group. For example:
"id": "14cfd27c-76d8-43e3-9fe9-f53bf69c0c5e", "type": "Application", "specversion": "1.0", "source": "CAESBkFCQ0RFRg==", "messageGroup": "applications", "status": "CREATE",
- Message group-specific structure - which is unique for every message group. For example, the following is the data object within an application message which is unique to the application message group:
"data": { "entity_id": "1:561:0", "entity_type": "APPLICATION", "name": "app1", "created_by": "[email protected]", "creation_time": 1637303575039, "last_modified_by": "[email protected]", "last_modified_time": 1637303575039, "source": "MANUAL", "tiers": [ { "entity_id": "1:562:1", "entity_type": "TIER", "name": "app1_t1" } ] }
The structure of the objects within databus messages is in line with the schema of public API responses, except for the metric where a subset is in use. The message structure is backward compatible across different versions of VMware Aria Operations for Networks. In the later versions, new fields may get added. For the detailed structure of the messages for every message group, see VMware Aria Operations for Networks API Guide.
The following table lists the names of the different types of messages for every message group:
Message groups | Type or Schema of the message |
---|---|
Alerts (problem events only) | Entity Message List. For details see VMware Aria Operations for Networks API Reference |
Applications | Application Message List. For details see VMware Aria Operations for Networks API Reference |
flows | Flow Message. For details see VMware Aria Operations for Networks API Reference |
metrics | The structure of the metrics data is different from the public APIs to make the messages compact. [ { "id": "string", "type": "string", "specversion": "string", "source": "string", "message_group": "metrics", "data": { "metric": "string", "interval": 0, "timestamp": 0, "unit": "string", "entity_type": "string", "points": [ { "entity_id": "string", "value": 0 } ] } } ] |