数据总线是一个框架,用于使用 API 与其他应用程序共享存储在 VMware Aria Operations for Networks 中的数据。使用数据总线,可以近乎实时地以低延迟共享大量数据。
VMware Aria Operations for Networks 数据总线提供以下优势:
- 提供了一种近乎实时地以编程方式使用大量数据的方法。
- 采用基于变化的使用模型,这种模型使数据总线比传统 API 调用具有明显的优势,尤其是在流和衡量指标等大量数据的环境中。
用例
通过 VMware Aria Operations for Networks 数据总线,可以将数据用于各种目的。以下是如何使用数据总线的几个示例:
用例 | 描述 | 步骤 |
---|---|---|
将流保留更长时间 | VMware Aria Operations for Networks 中的流保留期通常为一个月。 使用数据总线,可以将流保留更长时间。 |
|
将警示发送到各种目标 | 默认情况下,可以将警示发送到 SNMP/SMTP 目标。 使用数据总线,可以将警示发送到各种其他目标,例如 Slack、ServiceNow 和 PagerDuty 等。 可以使用数据总线获取的一些警示示例包括密码过期、VMware vCenter Server 断开连接等系统警示。 |
|
将衡量指标从 VMware Aria Operations for Networks 流式传出 | 轮询衡量指标 API 是一个多步骤过程,包括获取实体 ID、定期调用 API 以及筛选出重复信息。 数据总线显著提高了此整个过程的效率;订阅所选的衡量指标组或子组,当处理衡量指标时,衡量指标直接流式传出到端点。 |
|
支持的消息组
如果您希望定期轮询信息,则相比于使用 API,使用数据总线流式传输是更好的选择。要从数据总线接收信息,必须订阅消息组。消息组是可以从数据总线订阅的一组特定数据。每个消息组最多可以有 10 个订阅者,但流和衡量指标消息组除外,每个消息组只能有一个订阅者。另外,对于衡量指标消息组,每个消息组只能有一个订阅者。
VMware Aria Operations for Networks 支持以下消息组:
消息组 | 子消息组 | 消息详情 |
---|---|---|
衡量指标 | vms-metrics | 衡量指标、时间间隔、时间戳、单位、实体类型和点。 |
hosts-metrics | 衡量指标、时间间隔、时间戳、单位、实体类型和点。 | |
flows-metrics | 衡量指标、时间间隔、时间戳、单位、实体类型和点。 | |
nics-metrics | 衡量指标、时间间隔、时间戳、单位、实体类型和点。 | |
switchports-metrics | 衡量指标、时间间隔、时间戳、单位、实体类型和点。 | |
nsxt-metrics | 衡量指标、时间间隔、时间戳、单位、实体类型和点。 | |
应用程序 | 不适用 | 实体 ID、实体类型、名称、创建者、创建时间、上次修改者、上次修改时间、源、层和发现信息。 |
流 | 不适用 | 源虚拟机、目标虚拟机、源 IP、目标 IP、端口、源文件夹、目标文件夹、协议、源 IP 集、目标 IP 集、源安全组、目标安全组、流量类型、源安全标记、目标安全标记、源虚拟机标记、目标虚拟机标记、在主机内、防火墙操作和流标记。 |
问题 | 不适用 | 实体 ID、实体类型、名称、定位点实体、消息、事件标记、管理状态、已存档、事件时间(毫秒)、事件类型和严重性。 |
消息组 | 消息详情 |
---|---|
虚拟机 | 实体 ID、名称、实体类型、IP 地址、默认网关、VNIC、源防火墙规则、目标防火墙规则、虚拟机 UUID、管理器 UUID、集群、资源池、主机、供应商 ID、vCenter Manager、文件夹、数据存储、数据中心、源反转规则、目标反转规则、CPU 计数、内存、操作系统全名和 HCX 信息。 |
主机 | 实体 ID、名称、实体类型、VMKNIC、集群、vCenter Manager、虚拟机计数、数据存储、服务标记、供应商 ID、维护模式、连接状态、CPU 计数、内存和管理器 UUID。 |
网卡 | 实体 ID、名称、实体类型、VLAN 和虚拟机。 |
交换机端口 | 实体 ID、名称、实体类型、操作状态、管理状态、子类型、设备和管理器。 |
通过数据总线发布的数据分类为不同的消息组。作为用户,您可以订阅一个或多个消息组,与这些消息组相关的数据开始流式传输到 HTTP 或 HTTPS 端点。
执行下面的步骤以配置数据总线:
1. 了解安全性和 SSL 证书
使用数据总线时,必须了解以下安全信息:
环境 | 详细信息 |
---|---|
内部部署 |
|
SaaS |
|
2. 注册、更新或删除订阅者
- 要注册订阅者,必须使用 POST 方法执行 API 调用。有关详细信息,请参见《VMware Aria Operations for Networks API 参考》。
如果注册成功,消息响应将包含订阅者 ID。您可以使用该订阅者 ID 删除订阅或更新订阅。成功注册订阅者后,订阅者可能需要长达五分钟的时间才能开始接收消息。
- 要更新订阅者,必须使用 PUT 方法执行 API 调用。有关详细信息,请参见《VMware Aria Operations for Networks API 参考》。
注: 只能更新订阅者 URL。无法更新 message group。
- 要删除订阅者,必须使用 DELETE 方法执行 API 调用。有关详细信息,请参见《VMware Aria Operations for Networks API 参考》。
成功删除订阅者后,数据发布可能需要长达五分钟的时间才能停止。
3. 从数据总线收到的消息格式
作为各种消息组的一部分收到的消息是包含多条消息的列表,具有通用的高层结构。列表中的每条消息都是一个云事件格式的对象。要了解有关云事件的更多信息,请参见 cloudevents。
所有消息都有两组特定字段:
- 通用结构 - 在所有消息组中通用。例如:
"id": "14cfd27c-76d8-43e3-9fe9-f53bf69c0c5e", "type": "Application", "specversion": "1.0", "source": "CAESBkFCQ0RFRg==", "messageGroup": "applications", "status": "CREATE",
- 消息组特定的结构 - 独特于每个消息组。例如,以下是应用程序消息中的数据对象,独特于应用程序消息组:
"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" } ] }
数据总线消息中对象的结构与公共 API 响应的结构定义一致,但使用子集的衡量指标除外。消息结构在 VMware Aria Operations for Networks 的不同版本之间向后兼容。在更高版本中,可能增加了新字段。有关每个消息组的消息的详细结构,请参见 VMware Aria Operations for Networks API 指南。
下表列出了每个消息组的不同类型消息的名称:
消息组 | 消息的类型或结构定义 |
---|---|
警示(仅限问题事件) | 实体消息列表。有关详细信息,请参见《VMware Aria Operations for Networks API 参考》 |
应用程序 | 应用程序消息列表。有关详细信息,请参见《VMware Aria Operations for Networks API 参考》 |
流 | 流消息。有关详细信息,请参见《VMware Aria Operations for Networks API 参考》 |
衡量指标 | 衡量指标数据的结构不同于公共 API,以使消息更精简。 [ { "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 } ] } } ] |