最佳做法是,配置 NSX 的所有组件以将其日志发送到集中式收集器,以便在一个地方检查这些日志。

如有必要,您可以更改 NSX 组件的日志级别。有关详细信息,请参见NSX 日志记录和系统事件中的“设置 NSX 组件的日志记录级别”主题。

NSX Manager 日志

  • NSX Manager CLI 中的 show log
  • 通过 NSX Manager UI 收集的技术支持日志包

NSX Manager 日志包含与管理层面有关的信息,其中包括创建、读取、更新和删除 (CRUD) 操作。

控制器日志

控制器包含多个模块,很多模块具有自己的日志文件。可以使用 show log <log file> [ filtered-by <string> ] 命令访问控制器日志。与路由有关的日志文件如下所示:
  • cloudnet/cloudnet_java-vnet-controller.<start-time-stamp>.log:该日志管理配置和内部 API 服务器。
  • cloudnet/cloudnet.nsx-controller.log:这是控制器主进程日志。
  • cloudnet/cloudnet_cpp.log.nsx-controller.log:该日志管理群集和引导。
  • cloudnet/cloudnet_cpp.log.ERROR:如果出现任何错误,则包含该文件。

控制器日志非常详细,在大多数情况下只有 VMware 客户支持人员在进行故障排除时才需要使用该日志。

除了 show log CLI 以外,还可以使用 watch log <logfile> [ filtered-by <string> ] 命令在更新各个日志文件时实时观察这些文件。

这些日志包含在控制器支持包中,可以在 NSX UI 中选择一个控制器节点并单击下载技术支持日志 (Download tech support logs)图标以生成并下载该支持包。

ESXi 主机日志

在 ESXi 主机上运行的 NSX 组件写入几个日志文件:
  • VMkernel 日志:/var/log/vmkernel.log
  • 控制层面代理日志:/var/log/netcpa.log
  • 消息总线客户端日志:/var/log/vsfwd.log

也可以将这些日志作为从 vCenter Server 中生成的虚拟机支持包的一部分进行收集。仅具有 root 特权的用户或用户组可以访问这些文件。

ESG/DLR 控制虚拟机日志

可以使用两种方法访问 ESG 和 DLR 控制虚拟机上的日志文件:使用 CLI 显示这些文件,或者使用 CLI 或 UI 下载技术支持包。

用于显示日志的 CLI 命令是 show log [ follow | reverse ]

要下载技术支持包,请执行以下操作:
  • 从 CLI 中,进入 enable 模式,然后运行 export tech-support <[ scp | ftp ]> <URI> 命令。
  • vSphere Web Client 中,导航到网络和安全 (Networking & Security) > NSX Edge (NSX Edges)。选择某个 Edge,然后单击操作 (Actions) > 下载技术支持日志 (Download Tech Support Logs)

其他有用的文件及其位置

虽然严格来说有一些文件并不是日志,但它们可以帮助了解和排除 NSX 路由故障。
  • 控制层面代理配置 /etc/vmware/netcpa/config-by-vsm.xml 包含有关以下组件的信息:
    • 控制器、IP 地址、TCP 端口、证书指纹、SSL 启用/禁用
    • 启用了 VXLAN 的 DVS 上的 dvUplink(绑定策略、名称、UUID)
    • 主机了解的 DLR 实例(DLR ID、名称)
  • 控制层面代理配置 /etc/vmware/netcpa/netcpa.xml 包含各种 netcpa 配置选项,包括日志记录级别(默认为 info)。
  • 控制层面证书文件:/etc/vmware/ssl/rui-for-netcpa.*
    • 两个文件:主机证书和主机私钥
    • 用于验证到控制器的主机连接

所有这些文件都是控制层面代理使用从 NSX Manager 收到的信息(通过 vsfwd 提供的消息总线连接)创建的。