本节介绍了启用、配置和分析虚拟服务应用程序日志的步骤。

虚拟服务和池将记录 TCP 连接和 HTTP 请求/响应的客户端到应用程序交互情况。可以在 NSX Advanced Load Balancer 中以本地方式对这些日志编制索引以及进行查看和筛选。这有助于进行故障排除并深入了解最终用户体验和应用程序成功情况。

启用日志

请查看创建虚拟服务弹出窗口的分析选项卡,以配置、启用、筛选和/或禁用客户端日志。

重要日志

NSX Advanced Load Balancer 会在重要日志下面自动记录常见网络和应用程序错误。这些重要日志还可以包括较小问题的条目,例如,事务已成功完成但所用时间相当长。

这些日志包括:

  • HTTP 错误,例如服务器或 NSX Advanced Load Balancer 引发的 4xx 和 5xx 错误;网络错误,例如连接中止、异常延迟或数据包乱序。

  • 有关触发重要日志的错误事件列表,请参阅日志分析

您可以通过编辑虚拟服务使用的分析配置文件来忽略日志列表中的错误。

完整客户端日志

除了重要日志之外,您还可以配置虚拟服务以记录所有客户端连接或 HTTP 请求。完整客户端日志选项包括任何重要日志、自定义完整日志筛选器以及由自定义策略或 DataScript 生成的日志。

默认情况下,新虚拟服务会配置为在前 30 分钟内提供完整客户端日志,然后仅捕获重要日志,进而降至较低的日志记录级别。

分析选项卡中,可以临时或永久地为虚拟服务启用完整客户端日志

对于在捕获来自繁忙生产系统的重要信息时推荐的 IP 地址或 URI,您还可以为其指定完整的客户端日志筛选器。通过在客户端日志筛选器中启用所有标头选项,还可以提供其他的日志记录级别。此选项会将来自客户端和服务器的所有标头捕获到日志中。这将显著影响日志大小,因为某些应用程序在单个标头内发送的数据多达 3 万条。

所有标头选项有助于快速进行故障排除,以了解每个连接端正在发送和接收的数据。仅当管理员尝试查看虚拟服务或池的完整客户端日志时,NSX Advanced Load Balancer 才会从 SE 中提取日志并在控制器上为它们编制索引。这需要几秒钟到几小时的时间来处理。在后台执行索引编制过程时,可以查看日志。此时间取决于从 SE 到控制器的网络延迟、日志数量,以及控制器为执行资源密集型数据索引编制任务而使用的硬件。

轮换出未请求的日志

捕获所有日志可能会占用大量资源。因此,系统会不时将未请求的日志轮换出 SE 的存储。SE 上的原始日志存储的分配是可变的,但具有两个 vCPU、2 GB 内存和 10 GB 存储的最低配置 SE 就可以存储约 800 万个日志。将更多资源(CPU、内存,尤其是磁盘空间)添加到控制器和 SE 将会扩展每秒的日志数量以及存储日志的持续时间。

高负载期间的日志记录

在每秒处理大量请求的非常繁忙的系统中,NSX Advanced Load Balancer 可能会暂时降级为仅捕获请求样本。如果系统设置了冗余控制器,则为多个虚拟服务的日志编制索引的任务会在控制器之间自动共享,进而更好地利用资源。

客户端用户 ID

当身份验证配置文件附加到虚拟服务时,虚拟服务的用户 ID 将纳入到 UI 显示中。要实现此行为,请执行以下操作:

  1. 在虚拟服务配置中启用基本 HTTP 身份验证(编辑 VS > 高级)。

  2. 配置身份验证配置文件并将其附加到虚拟服务。

有关详细信息,请参阅:

  • VMware NSX Advanced Load Balancer 配置指南》中的“基本身份验证”主题

  • VMware NSX Advanced Load Balancer 管理指南》中的“身份验证配置文件”主题

  • VMware NSX Advanced Load Balancer 管理指南》中的“配置 HTTP 身份验证”一节