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

设置详细日志记录

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

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

过程

  1. 选择 vCenter Server 实例。
  2. 单击配置选项卡。
  3. 单击常规,然后在“vCenter Server 设置”中单击编辑
  4. 在“编辑 vCenter 常规设置”窗口中,单击日志记录设置,然后从日志级别下拉菜单中选择详细
  5. 单击保存

收集 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 包含键入 ESXi Shell 的所有命令以及 Shell 事件(例如启用 Shell)的记录。
系统消息 /var/log/syslog.log 包含所有常规日志消息,并且可用来进行故障排除。该信息以前位于消息日志文件中。
vCenter Server 代理日志 /var/log/vpxa.log 包含与 vCenter Server 通信的代理的相关信息(如果主机由 vCenter Server 管理)。
虚拟机 与受影响虚拟机的配置文件位于同一目录,名为 vmware.logvmware*.log。例如,/vmfs/volumes/datastore/virtual machine/vmware.log 包含虚拟机电源事件、系统故障信息、Tools 状态和活动、时间同步、虚拟硬件更改、vMotion 迁移和虚拟机克隆等等。
VMkernel /var/log/vmkernel.log 记录与虚拟机以及 ESXi 有关的活动。
VMkernel 摘要 /var/log/vmksummary.log 用于确定 ESXi 的正常运行时间和可用性统计信息(以逗号分隔)。
VMkernel 警告 /var/log/vmkwarning.log 记录与虚拟机有关的活动。
Quick Boot /var/log/loadESX.log 包含与通过 Quick Boot 重新启动 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 Authority ESX 令牌服务相关的活动。
ESX API 转发器 /var/run/log/esxapiadapter.log 记录与 vSphere Trust Authority API 转发器相关的活动。

ESXi 主机上配置日志筛选

日志筛选功能可用于修改运行于 ESXi 主机上的 syslog 服务的日志记录策略。

从 vSphere 7.0 Update 2 开始,您可以使用 ESXCLI 添加日志筛选器并启用日志筛选。日志筛选器在建立后将一直保留在原位,直到被移除为止,即使在 ESXi 重新引导后也如此。

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

要在 ESXi 主机上激活日志筛选器,必须启用日志筛选功能并重新加载 syslog 守护进程。

用于配置日志筛选器的 ESXCLI 命令采用以下模式: esxcli system syslog config logfilter {cmd} [cmd options]

例如,要获取可用日志筛选器的列表,请运行以下命令:[root@xxx-xx-dhcp-xx-xx:~] esxcli system syslog config logfilter list

使用 set 命令可激活或停用日志筛选:[root@xxx-xx-dhcp-xx-xx:~] esxcli system syslog config logfilter set

使用 add 命令可添加日志筛选器,使用 remove 命令可移除日志筛选器。

使用 get 命令可确定是否已启用日志筛选。

日志筛选器由三个组成部分指定,并使用以下语法:numLogs | ident | logRegexp

参数 描述
numLogs 指定在开始筛选之前允许的 logRegexp Python 正则表达式的匹配数。
ident

ident 字符串是应用程序向 syslog 功能标识其自身的方式。logRegexp 筛选器必须与同一应用程序相关联。您可以通过检查 /var/run/log 中的日志文件来查找应用程序的 ident 字符串。每个日志文件的第三个字段以 ident 字符串开头,并以 [ 结尾。

logRegexp 用于标识要筛选出的消息的 Python 正则表达式。

例如,要筛选出来自 hostd 守护进程在出现第十次后包含“mark”一词的所有消息,请使用以下命令:esxcli system syslog config logfilter add --filter="10|Hostd|mark"

要移除日志筛选器,请使用 esxcli system syslog config logfilter remove --filter="10|Hostd|mark" 命令。

有关详细信息,请参见 ESXi Syslog 选项

前提条件

可以通过创建日志筛选器减少 ESXi 日志中的重复条目数并将特定日志事件全部列入拒绝列表。

安装 ESXCLI。请参见《ESXCLI 入门》。要进行故障排除,请在 ESXi Shell 中运行 esxcli 命令。

关闭 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 中更为严重的问题会冻结计算机,而且不出现错误消息或核心转储。