VMware 技术支持可能会请求多个文件来帮助解决技术问题。下面各节介绍生成和收集其中一些文件的脚本进程。

设置详细日志记录

可以设置详细日志文件规范

可以仅设置 vpxd 日志的详细日志记录。

过程

  1. 选择系统管理 > vCenter Server 设置
  2. 选择日志记录选项
  3. 在弹出菜单中选择详细
  4. 单击确定

收集 vSphere 日志文件

可以将 vSphere 日志文件收集到一个位置中。

可以从连接到 vCenter Server 系统的 vSphere Client 下载日志包。

过程

  1. vSphere Client 菜单中,选择系统管理 > 部署 > 系统配置
  2. 选择一个 vCenter Server 节点,然后单击导出支持包
  3. 选择支持包类型:
    • 完整支持包:包含有关所有服务的信息。
    • 最小支持包:包含基本产品和配置信息。
    • 自定义支持包:包含自定义信息。选择任意清单属性以下载相应的日志文件。
  4. 单击导出
  5. (可选) 也可以使用另一种方法下载 vCenter 日志包:
    1. 右键单击 vCenter Server 实例,然后单击操作 > 导出系统日志...
    2. 单击选择主机将选定主机日志放入导出包中。选中包括 vCenter Server 和 vSphere UI 客户端日志,以选择将 vCenter Server 和 vSphere UI 日志包含在包中。单击下一步
    3. 单击选择日志以选择要导出的特定系统日志。单击导出日志
    注: 日志包生成为 .zip 文件。默认情况下,包中的 vpxd 日志压缩为 .tgz 文件。必须使用 gunzip 才能解压缩这些文件。

收集 ESXi 日志文件

可以收集和打包所有相关 ESXi 系统和配置信息以及 ESXi 日志文件。此信息可以用于分析问题。

过程

  • ESXi Shell 上运行以下脚本:/usr/bin/vm-support
    生成的文件具有以下格式: esx-date-unique-xnumber.tgz

ESXi日志文件地址

ESXi通过使用 syslog 功能,在日志文件中记录主机活动。

表 1. ESXi 日志文件地址
组件 位置 用途
身份验证 /var/log/auth.log 包含与本地系统身份验证相关的所有事件。
ESXi 主机代理日志 /var/log/hostd.log 包含管理和配置 ESXi主机及其虚拟机的代理的有关信息。
Shell 日志 /var/log/shell.log 包含键入 ESXiShell 的所有命令以及 Shell 事件(例如启用 Shell)的记录。
系统消息 /var/log/syslog.log 包含所有常规日志消息,并且可用来进行故障排除。该信息以前位于消息日志文件中。
vCenter Server代理日志 /var/log/vpxa.log 包含与 vCenter Server通信的代理的相关信息(如果主机由 vCenter Server 管理)。
虚拟机 与受影响虚拟机的配置文件位于同一目录,名为 vmware.logvmware*.log。例如,/vmfs/volumes/datastore/virtual machine/vwmare.log 包含虚拟机电源事件、系统故障信息、Tools 状态和活动、时间同步、虚拟硬件更改、vMotion 迁移和虚拟机克隆等等。
VMkernel /var/log/vmkernel.log 记录与虚拟机以及 ESXi有关的活动。
VMkernel 摘要 /var/log/vmksummary.log 用于确定 ESXi的正常运行时间和可用性统计信息(以逗号分隔)。
VMkernel 警告 /var/log/vmkwarning.log 记录与虚拟机有关的活动。
快速引导 /var/log/loadESX.log 包含与通过快速引导重新启动 ESXi主机相关的所有事件。
可信基础架构代理 /var/run/log/kmxa.log 记录与 ESXi受信任主机上的客户端服务相关的活动。
密钥提供程序服务 /var/run/log/kmxd.log 记录与 vSphere Trust Authority密钥提供程序服务相关的活动。
证明服务 /var/run/log/attestd.log 记录与 vSphere Trust Authority证明服务相关的活动。
ESX 令牌服务 /var/run/log/esxtokend.log 记录与 vSphere Trust AuthorityESX 令牌服务相关的活动。
ESX API 转发器 /var/run/log/esxapiadapter.log 记录与 vSphere Trust AuthorityAPI 转发器相关的活动。

ESXi 主机上配置日志筛选

日志筛选功能可用于修改运行于 ESXi 主机上的 syslog 服务的日志记录策略。可以通过创建日志筛选器减少 ESXi 日志中的重复条目数并将特定日志事件全部列入拒绝列表。

无论是记录到日志目录还是远程 syslog 服务器,日志筛选器将会影响由 ESXi 主机 vmsyslogd 守护进程处理的所有日志事件。

创建日志筛选器时,为日志消息设置最大日志条目数。这些日志消息由一个或多个指定系统组件生成且与指定短语匹配。要在 ESXi 主机上激活日志筛选器,必须启用日志筛选功能并重新加载 syslog 守护进程。
重要说明: 如果设置日志记录信息量限制,则您可能无法正确地对潜在系统故障进行故障排除。如果在达到最大日志条目数后发生日志轮换,则您可能会丢失已筛选消息的所有实例。

过程

  1. 以 root 身份登录 ESXi Shell。
  2. /etc/vmware/logfilters 文件中,添加下列条目以创建日志筛选器。
    numLogs | ident | logRegexp
    其中:
    • numLogs 为指定日志消息设置最大日志条目数。达到此数目之后,将会筛选并忽略指定日志消息。使用 0 筛选并忽略所有指定日志消息。
    • ident 指定一个或多个系统组件以将筛选器应用于这些组件生成的日志消息。有关生成日志消息的系统组件的信息,请参见 syslog 配置文件中的 idents 参数的值。这些文件位于 /etc/vmsyslog.conf.d 目录中。使用逗号分隔列表将筛选器应用于多个系统组件。使用 * 将筛选器应用于所有系统组件。
    • logRegexp 使用 Python 正则表达式语法指定区分大小写的短语以按内容筛选日志消息。
    例如,对于包含 SOCKET connect failed, error 2: No such file or directory 短语和任意错误号的消息,要将来自 hostd 组件的最大日志条目设置为 2,请添加以下条目:
    2 | hostd | SOCKET connect failed, error .*: No such file or directory
    注:# 开头的行表示备注,该行的其余部分将被忽略。
  3. /etc/vmsyslog.conf 文件中,添加下列条目以启用日志筛选功能。
    enable_logfilters = true
  4. 运行 esxcli system syslog reload 命令重新加载 syslog 守护进程并应用配置更改。

关闭 vpxd 日志文件的压缩

默认情况下,vCenter Server vpxd 日志文件会汇总并压缩到 .gz 文件中。可以关闭此设置以保持 vpxd 日志为非压缩状态。

过程

  1. 使用 vSphere Client 登录 vCenter Server
  2. 选择系统管理 > vCenter Server 设置
  3. 选择高级设置
  4. 文本框中,键入 log.compressOnRoll
  5. 文本框中,键入 false
  6. 单击添加,然后单击确定

ESXi VMkernel 文件

如果 VMkernel 出现故障,将显示一则错误消息,然后虚拟机会重新引导。如果在配置虚拟机时指定了 VMware 核心转储分区,则 VMkernel 还会生成核心转储和错误日志。

VMkernel 中更为严重的问题会冻结计算机,而且不出现错误消息或核心转储。