You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何查询VMware快照创建人?vSphere 5.1快照操作日志溯源咨询

查找VMware快照创建者及历史操作日志的方法

针对你的问题,我整理了几个可行的方案来找到快照创建者和早期操作记录——毕竟vSphere 5.1的Tasks & Events界面确实有日志保留期限或分页限制的问题,咱们换几个方向找找:

一、优先查看vCenter服务器的本地日志文件

vCenter的Tasks & Events界面展示的日志是经过筛选和有限保留的,但vCenter服务器本身的日志文件会保留更久(取决于你的日志轮转配置),里面有更详细的操作记录:

  • 如果是Windows版vCenter:日志默认存放在 C:\ProgramData\VMware\VMware VirtualCenter\Logs 目录下,重点关注这两个文件:

    • vpxd.log:这是vCenter的核心服务日志,所有任务操作(包括快照创建/删除)都会在这里留下记录,每条操作都会标注执行用户的名称和ID。你可以用文本搜索工具(比如Notepad++的全局查找)搜索目标VM的名称,或者关键词CreateSnapshot,很快就能定位到对应的操作条目,找到创建者信息。
    • vpxd-alert.log:如果有和快照相关的告警或重要操作提示,也可能在这里找到补充线索。
  • 如果是vCenter Appliance(VCSA):日志默认路径是 /var/log/vmware/vpx/,同样重点看 vpxd.logvpxd-alert.log。可以用SSH登录到VCSA,用grep命令快速筛选:

    # 搜索所有快照创建操作
    grep -i "CreateSnapshot" /var/log/vmware/vpx/vpxd.log
    # 缩小范围,只看目标VM的快照操作
    grep -i "你的目标VM名称" /var/log/vmware/vpx/vpxd.log | grep -i "snapshot"
    

二、直接检查ESXi主机的日志

如果vCenter的日志没找到线索,快照操作最终是在对应的ESXi主机上执行的,主机本地日志也会记录这些操作:

ESXi主机的日志默认在 /var/log/ 目录下,重点查看:

  • hostd.log:这是ESXi主机的管理核心日志,会记录所有虚拟机的操作细节,包括快照创建。搜索关键词CreateSnapshotTask或者目标VM的名称,就能找到对应的操作记录,里面会标注发起操作的用户(可能是vCenter用户,也可能是直接在ESXi上操作的本地用户)。
  • vpxa.log:如果主机是被vCenter管理的,这个日志是vCenter代理的同步日志,也可能包含额外的操作上下文信息。

你可以通过vSphere客户端直接导出ESXi的系统日志:右键点击目标主机 > 导出 > 导出系统日志,解压后查看对应的文件;也可以开启ESXi的SSH功能,直接登录主机用命令查看。

三、查询vCenter后端数据库(进阶方案)

如果上面的方法都没找到,还可以直接查询vCenter的后端数据库——Tasks & Events的原始数据其实存在数据库里,只是界面没展示出来而已(前提是你有数据库的访问权限)。

以SQL Server为例,你可以执行以下SQL查询,找到目标VM的所有快照相关任务:

SELECT 
  t.NAME AS 任务名称, 
  e.USER_NAME AS 操作用户, 
  e.CREATE_TIME AS 操作时间, 
  vm.NAME AS 虚拟机名称
FROM VPX_EVENT e
JOIN VPX_TASK t ON e.TASK_ID = t.TASK_ID
JOIN VPX_VM vm ON e.VM_ID = vm.VM_ID
WHERE t.NAME LIKE '%Snapshot%' AND vm.NAME = '你的目标VM名称'
ORDER BY e.CREATE_TIME DESC;

如果是Oracle数据库,语法类似,只需要调整对应的表名和查询语句即可。

四、额外提醒

最后多说一句:生产环境的快照长期存在会拖慢虚拟机性能,还会占用大量存储空间,找到快照后建议尽快确认是否需要保留,不需要的话及时删除(删除前最好做一次完整备份)。另外,建议你调整vCenter的任务和事件保留期限,避免下次再遇到类似的日志追溯问题。

内容的提问来源于stack exchange,提问作者timothepoznanski

火山引擎 最新活动