跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文档 / 虚拟化指南 / 查错 / 收集系统信息和日志
适用范围 SUSE Linux Enterprise Server 15 SP6

38 收集系统信息和日志

当虚拟化主机遇到问题时,通常需要收集详细的系统报告。可以借助 supportconfig 工具来实现此目的。有关 supportconfig 的详细信息,请参见 第 47 章 “收集系统信息以供支持所用

在某些情况下supportconfig 收集的信息并不足够,可能还需要收集基于自定义日志记录或调试配置生成的日志来确定问题的原因。

38.1 libvirt 日志控制

libvirt 针对库和守护程序提供了日志记录工具。可以通过调整日志级别、过滤器和输出设置来控制日志记录工具的行为。

日志级别

libvirt 日志消息分为四种优先级:DEBUG、INFO、WARNING 和 ERROR。DEBUG 级别非常详细,短时间内生成的信息就能达到 GB 级别。日志消息的数量按照 INFO、WARNING 和 ERROR 日志级别的顺序逐渐减少。ERROR 是默认的日志级别。

日志过滤器

使用日志过滤器,您可以仅记录与特定组件和日志级别匹配的消息。日志过滤器允许收集特定组件的详细 DEBUG 日志消息,但只能从系统的其余组件收集 ERROR 级别的日志消息。默认情况下未定义日志过滤器。

日志输出

日志输出允许指定要将过滤的日志消息发送到的位置。可将消息发送到文件、进程的标准错误流或 journald。默认情况下,过滤的日志消息将发送到 journald。

有关 libvirt 的日志控制的更多细节,请参见 https://libvirt.org/logging.html

默认的 libvirt 安装将日志级别设置为 ERROR,未定义日志过滤器,并将日志输出设置为 journald。可以使用 journalctl 命令查看来自 libvirt 守护程序的日志消息:

# journalctl --unit libvirtd

默认的日志工具设置适合常规操作,可为应用程序和 libvirt 用户提供有用的消息,但内部问题通常需要通过 DEBUG 级别的消息来解决。例如,假设 libvirt 与 QEMU 监控器之间的交互存在一个潜在的 bug。在这种情况下,我们只需查看 libvirt 与 QEMU 之间的通讯的调试消息。以下示例会创建一个日志过滤器,以选择来自 QEMU 驱动程序的调试消息并将其发送到名为 /tmp/libvirtd.log 的文件

   log_filters="1:qemu.qemu_monitor_json"
   log_outputs="1:file:/tmp/libvirtd.log"

可在 /etc/libvirt/libvirtd.conf 中找到 libvirt 守护程序的日志控制。对该配置文件进行任何更改后,必须重启动该守护程序。

# systemctl restart libvirtd.service