当您有多个应用程序或在一个应用程序中有多个层时,使用公共 API 或用户界面创建应用程序将成为一个漫长的过程。vRealize Network Insight 可自动发现并添加应用程序和层,从而减少大量手动工作。
在 vRealize Network Insight 中,可以基于以下条件发现应用程序:
- 标记(VMware vCenter Server 或 AWS 标记)
- 虚拟机名称
- ServiceNow
- 流
- 高级属性,例如虚拟机名称、虚拟机标记、NSX-V 安全标记和安全组的组合。
注:
注意:在 vRealize Network Insight 中,NSX-T 标记显示为虚拟机标记。因此,默认情况下,应用程序发现也支持 NSX-T 标记。
应用程序发现构造示例
假设以下场景:
- 将 VMware vCenter Server 添加为了数据源。
- 在数据中心内添加了四个虚拟机 - VM1、VM2、VM3 和 VM4。
- 定义了标记(键-值),用于定义每个虚拟机所属的应用程序名称。
- 定义了标记(键-值),用于定义每个虚拟机所属的层。
例如,请参见下表:
虚拟机名称 | 键-值标记 |
---|---|
VM1 |
|
VM2 |
|
VM3 |
|
VM4 |
|
基于标记发现应用程序
在 vRealize Network Insight 中,您可以为这些标记定义应用程序发现的分组条件。
在此示例中,
vRealize Network Insight 根据定义的标记和分组条件发现了两个应用程序(MyApplication1 和 MyApplication2),它们具有两层(App 和 Web)及其相关的虚拟机。
应用程序 | 层 | 虚拟机 |
---|---|---|
MyApplication1 | 应用程序 | VM1 |
MyApplication1 | Web | VM2 |
MyApplication2 | 应用程序 | VM3 |
MyApplication2 | Web | VM4 |
基于虚拟机名称发现应用程序和层
如果虚拟机名称按以下格式定义:
ApplicationName : Tier : VMName
。
例如,
MyApplication1 : App : VM1 MyApplication1 : Web : VM2 MyApplication2 : App : VM3 MyApplication2 : Web : VM4
使用以下正则表达式时,
vRealize Network Insight 发现两个应用程序。
- 应用程序正则表达式:
(.*)_(.*)_.*-.*
- 层正则表达式:
(.*)_(.*)_(.*)-.*
应用程序 | 层及其虚拟机 |
---|---|
MyApplication1 |
|
MyApplication2 |
|
注: 无法对随机定义的虚拟机名称进行分组以用于应用程序发现。
基于流发现应用程序
vRealize Network Insight 使用机器学习和统计分析自动发现应用程序,并将虚拟机分组到相应的应用程序和层。vRealize Network Insight 分析虚拟机之间的网络流并通过识别这些虚拟机之间的应用程序和层边界对其进行分组。
系统会分析多个维度上的流,例如虚拟机之间的流密度、虚拟机之间的通用打开端口、出站连接的入站数等,并使用这些维度中的高相似性将虚拟机分组到一个唯一应用程序中。该过程重复执行,但仅在已分组到应用程序的虚拟机之间执行,以将虚拟机分组到相应的层。
注:
要基于流发现应用程序,您必须满足以下最低要求:
- 在 vRealize Network Insight 中至少发现 10 个虚拟机。
- 至少有 100 个虚拟机-虚拟机流。
- 具有 Enterprise 许可证。
- 使用 XL 块大小的平台。
要了解配置要求,请参见系统建议和要求主题。
如果您的配置不满足最低系统要求,则可以纵向扩展平台集群或重新配置块大小。要了解如何纵向扩展平台集群,请参见计划纵向扩展平台集群主题,要了解如何重新配置块大小,请参见 KB-83374。