4.2. 日志文件

4.2.1. Manager 安装日志文件

表 4.2. 安装

日志文件Description

/var/log/ovirt-engine/engine-cleanup_yyyy_mm_dd_hh_mm_ss.log

engine-cleanup 命令的日志。这是重置 Red Hat Virtualization Manager 安装的命令。每次运行命令时都会生成一个日志。运行的日期和时间在文件名中使用,以允许存在多个日志。

/var/log/ovirt-engine/engine-db-install-yyyy_mm_dd_hh_mm_ss.log

使用 engine-setup 命令的日志,详细介绍了 引擎数据库 的创建和配置。

/var/log/ovirt-engine/ovirt-engine-dwh-setup-yyyy_mm_dd_hh_mm_ss.log

来自 ovirt-engine-dwh-setup 命令的日志。这是用于创建报告的 ovirt_engine_history 数据库的命令。每次运行命令时都会生成一个日志。运行的日期和时间在文件名中使用,以便允许多个日志同时存在。

/var/log/ovirt-engine/setup/ovirt-engine-setup-yyyymmddhhmmss.log

engine-setup 命令的日志。每次运行命令时都会生成一个日志。运行的日期和时间在文件名中使用,以便允许多个日志同时存在。

4.2.2. Red Hat Virtualization Manager Log Files

表 4.3. 服务活动

日志文件Description

/var/log/ovirt-engine/engine.log

反映所有 Red Hat Virtualization Manager GUI 崩溃、Active Directory 查找、数据库问题和其他事件。

/var/log/ovirt-engine/host-deploy

从 Red Hat Virtualization Manager 部署的主机的日志文件。

/var/lib/ovirt-engine/setup-history.txt

跟踪与 Red Hat Virtualization Manager 相关的软件包的安装和升级。

/var/log/httpd/ovirt-requests-log

通过 HTTPS 向 Red Hat Virtualization Manager 发出的请求记录日志文件,包括每个请求所需的时间。

包含 Correlation-Id 标头,允许您在将日志文件与 /var/log/ovirt-engine/engine.log 进行比较时比较请求。

/var/log/ovn-provider/ovirt-provider-ovn.log

记录 OVN 提供程序的活动。有关 Open vSwitch 日志的详情,请查看 Open vSwitch 文档

4.2.3. SPICE 日志文件

在对 SPICE 连接问题进行故障排除时,SPICE 日志文件很有用。要启动 SPICE 调试,请将日志级别更改为 调试。然后,标识日志位置。

用于访问客户机机器和客户机机器的客户端本身都有 SPICE 日志文件。对于客户端日志,如果使用下载了 console.vv 文件的原生客户端启动 SPICE 客户端,请使用 remote-viewer 命令启用调试和生成日志输出。

4.2.3.1. 适用于 Hypervisor SPICE 服务器的 SPICE 日志

表 4.4. 适用于 Hypervisor SPICE 服务器的 SPICE 日志

日志类型日志位置更改日志级别:

主机/Hypervisor SPICE 服务器

/var/log/libvirt/qemu/(guest_name).log

在启动客户机前,在主机/hypervisor 上运行 导出 SPICE_DEBUG_LEVEL=5。此变量由 QEMU 解析,如果运行系统范围的 将打印系统中所有虚拟机的调试信息。此命令必须在集群中的每个主机上运行。这个命令只在主机/管理程序为基础工作,而不是按集群为基础。

4.2.3.2. 适用于客户机机器的 SPICE 日志

表 4.5. spice-vdagent Logs for Guest Machines

日志类型日志位置更改日志级别:

Windows 客户机

C:\Windows\Temp\vdagent.log

C:\Windows\Temp\vdservice.log

Not applicable

Red Hat Enterprise Linux Guest

使用 journalctl 作为 root 用户。

要在调试模式下运行 spice-vdagentd 服务,以 root 用户身份创建一个带有此条目的 /etc/sysconfig/spice-vdagentd 文件: SPICE_VDAGENTD_EXTRA_ARGS="-d"

要在命令行中运行 spice-vdagent,请从命令行运行:

$ killall - u $USER spice-vdagent
$ spice-vdagent -x -d [-d] [ |& tee spice-vdagent.log ]

4.2.3.3. 使用 console.vv 文件启动 SPICE 客户端的 SPICE 日志

对于 Linux 客户端机器:

  1. 使用 --spice-debug 选项运行 remote-viewer 命令来启用 SPICE 调试。出现提示时,输入连接 URL,例如 spice://virtual_machine_IP端口

    #  remote-viewer --spice-debug
  2. 要使用 debug 参数运行 SPICE 客户端并将 .vv 文件传递给该文件,请下载 console.vv 文件,并使用 --spice-debug 选项运行 remote-viewer 命令并指定 console.vv 文件的完整路径。

    # remote-viewer --spice-debug /path/to/console.vv

对于 Windows 客户端机器:

  1. 在版本 virt-viewer 2.0-11.el7ev 或更高版本中,virt-viewer.msi 会安装 virt-viewerdebug-viewer.exe
  2. 使用 spice-debug 参数运行 remote-viewer 命令,并在控制台的路径上指示命令:

    remote-viewer --spice-debug path\to\console.vv
  3. 要查看日志、连接到虚拟机,您会看到运行 GDB 的命令提示,该提示打印了 remote-viewer 的标准输出和标准错误。

4.2.4. 主机日志文件

日志文件Description

/var/log/messages

libvirt 使用的日志文件。使用 journalctl 查看日志。您需要是 adm, systemd-journal, 或 wheel 组的成员才可以查看日志。

/var/log/vdsm/spm-lock.log

详细主机在存储池管理程序角色上获取租用的日志文件。主机获取、发布、续订或无法更新租期的日志详情。

/var/log/vdsm/vdsm.log

VDSM 的日志文件,即主机上的 Manager 代理。

/tmp/ovirt-host-deploy-Date.log

主机部署日志,作为 /var/log/ovirt-engine/host-deploy/ovirt-Date-HostCorrelation_ID.log 复制到 Manager 中。

/var/log/vdsm/import/import-UUID-Date.log

详细说明虚拟机从 KVM 主机、VMWare 供应商或 RHEL 5 Xen 主机导入的日志文件,包括导入失败信息。UUID 是导入的虚拟机的 UUID,日期 是导入开始的日期和时间。

/var/log/vdsm/supervdsm.log

记录使用超级用户权限执行的 VDSM 任务。

/var/log/vdsm/upgrade.log

VDSM 在主机升级过程中使用此日志文件来记录配置更改。

/var/log/vdsm/mom.log

记录 VDSM 内存过量使用管理器的活动。

4.2.5. 为 Red Hat Virtualization 服务设置 debug 级日志记录

注意

将日志记录设置为调试级别可能会公开敏感信息,如密码或内部虚拟机数据。确保不受信任或未授权的用户无法访问调试日志。

您可以通过修改每个服务的 sysconfig 文件,将以下 Red Hat Virtualization (RHV)服务的日志设置为 debug 级别。

表 4.6. RHV 服务和 sysconfig 文件路径

Service文件路径

ovirt-engine.service

/etc/sysconfig/ovirt-engine

ovirt-engine-dwhd.service

/etc/sysconfig/ovirt-engine-dwhd

ovirt-fence-kdump-listener.service

/etc/sysconfig/ovirt-fence-kdump-listener

ovirt-websocket-proxy.service

/etc/sysconfig/ovirt-websocket-proxy

这个修改会影响 Python 打包程序执行的日志记录,而不是主服务进程。

将日志记录设置为 debug-level 有助于调试与启动相关的问题 - 例如,如果主进程因为缺失或不正确的 Java 运行时或库而无法启动。

前提条件

  • 验证您要修改的 sysconfig 文件是否存在。如有必要,请创建它。

流程

  1. 将以下内容添加到服务的 sysconfig 文件中:

    OVIRT_SERVICE_DEBUG=1
  2. 重启服务:

    # systemctl restart <service>

服务的 sysconfig 日志文件现在设置为 debug-level。

此设置导致的日志记录进入系统日志,因此其生成的日志可以在 /var/log/messages 中找到,而不在特定于服务的日志文件中,也可以使用 journalctl 命令。

4.2.6. Red Hat Virtualization 服务的主配置文件

除了 sysconfig 文件外,每个 Red Hat Virtualization (RHV)服务还包含另一个常用的配置文件。

表 4.7. RHV 服务和配置文件

Servicesysconfig 文件路径主配置文件

ovirt-engine.service

/etc/sysconfig/ovirt-engine

/etc/ovirt-engine/engine.conf.d/*.conf

ovirt-engine-dwhd.service

/etc/sysconfig/ovirt-engine-dwhd

/etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/*.conf

ovirt-fence-kdump-listener.service

/etc/sysconfig/ovirt-fence-kdump-listener

/etc/ovirt-engine/ovirt-fence-kdump-listener.conf.d/*.conf

ovirt-websocket-proxy.service

/etc/sysconfig/ovirt-websocket-proxy

/etc/ovirt-engine/ovirt-websocket-proxy.conf.d/*.conf

4.2.7. 设置主机日志记录服务器

主机生成和更新日志文件,记录它们的操作和问题。收集这些日志文件可以集中进行调试。

这个步骤应该用于集中式日志服务器。您可以使用单独的日志记录服务器,或使用此流程在 Red Hat Virtualization Manager 中启用主机日志记录。

流程

  1. 检查防火墙是否允许 UDP 514 端口上的流量,并打开到 syslog 服务流量:

    # firewall-cmd --query-service=syslog

    如果输出 没有,允许 UDP 514 端口上的流量:

    # firewall-cmd --add-service=syslog --permanent
    # firewall-cmd --reload
  2. 在 syslog 服务器上创建一个新的 .conf 文件,例如 /etc/rsyslog.d/from_remote.conf,并添加以下行:

    template(name="DynFile" type="string" string="/var/log/%HOSTNAME%/%PROGRAMNAME%.log")
    RuleSet(name="RemoteMachine"){  action(type="omfile" dynaFile="DynFile")  }
    Module(load="imudp")
    Input(type="imudp" port="514" ruleset="RemoteMachine")
  3. 重启 rsyslog 服务:

    # systemctl restart rsyslog.service
  4. 登录到虚拟机监控程序,并在 /etc/rsyslog.conf 中添加以下行:

    *.info;mail.none;authpriv.none;cron.none @<syslog-FQDN>:514
  5. 重新启动 hypervisor 上的 rsyslog 服务。

    # systemctl restart rsyslog.service

您的集中式日志服务器现在已配置为从虚拟主机接收和存储消息安全日志

4.2.8. 启用 SyslogHandler 将 RHV Manager 日志传递给远程 syslog 服务器

此实施使用 JBoss EAP SyslogHandler 日志管理器,并支持将日志记录从 engine.logserver.log 传递到 syslog 服务器。

注意

RHV 版本早于 RHV 4.4.10,功能类似于 ovirt-engine-extension-logger-log4j 的功能。该软件包已在 RHV 4.4.10 中删除,并使用 JBoss EAP SyslogHandler 日志管理器替代了新的实现。如果您在以前的 RHV 版本中使用 ovirt-engine-extension-logger-log4j,请按照升级到 RHV 4.4.10 执行以下步骤:

  • 使用本章中提供的准则,手动配置日志记录到远程 syslog 服务器。
  • 手动删除 ovirt-engine-extension-logger-log4j 配置文件(删除 /etc/ovirt-engine/extensions.d/Log4jLogger.properties 配置文件)。

在中央 syslog 服务器上使用这个步骤。您可以使用单独的日志记录服务器,或使用此流程将 engine.log 和 server.log 文件从 Manager 传递给 syslog 服务器。另请参阅 配置步骤 设置主机日志记录服务器

配置 SyslogHandler 实施

  1. /etc/ovirt-engine/engine.conf.d 目录中创建配置文件 90-syslog.conf,并添加以下内容:

    SYSLOG_HANDLER_ENABLED=true
    SYSLOG_HANDLER_SERVER_HOSTNAME=localhost
    SYSLOG_HANDLER_FACILITY=USER_LEVEL
  2. 安装和配置 rsyslog

    # dnf install rsyslog
  3. 配置 SELinux 以允许 rsyslog 流量。

    # semanage port -a -t syslogd_port_t -p udp 514
  4. 创建配置文件 /etc/rsyslog.d/rhvm.conf 并添加以下内容:

    user.* /var/log/jboss.log
    module(load="imudp") # needs to be done just once
    input(type="imudp" port="514")
  5. 重启 rsyslog 服务。

    # systemctl restart rsyslog.service
  6. 如果启用了并激活防火墙,请运行以下命令在 Firewalld 中打开 rsyslog 端口:

    # firewall-cmd --permanent --add-port=514/udp
    # firewall-cmd --reload
  7. 重启 Red Hat Virtualization Manager。

    # systemctl restart ovirt-engine

syslog 服务器现在可以接收和存储 engine.log 文件。