搜索

8.2. 收集日志数据

download PDF

以下功能和对象与 OpenShift 沙盒容器关联:

  • 属于 OpenShift 沙盒容器资源的所有命名空间及其子对象
  • 所有 OpenShift 沙盒容器自定义资源定义 (CRD)

您可以为使用 kata 运行时运行的每个 pod 收集以下组件日志:

  • Kata 代理日志
  • Kata 运行时日志
  • QEMU 日志
  • 审计日志
  • CRI-O 日志

8.2.1. 为 CRI-O 运行时启用调试日志

您可以通过更新 KataConfig CR 中的 logLevel 字段来启用调试日志。这会更改运行 OpenShift 沙盒容器的 worker 节点的 CRI-O 运行时中的日志级别。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。

流程

  1. 将现有 KataConfig CR 中的 logLevel 字段更改为 debug

    $ oc patch kataconfig <kataconfig> --type merge --patch '{"spec":{"logLevel":"debug"}}'
  2. 监控 kata-oc 机器配置池,直到 UPDATED 的值为 True,表示所有 worker 节点都已更新:

    $ oc get mcp kata-oc

    输出示例

    NAME     CONFIG                 UPDATED  UPDATING  DEGRADED  MACHINECOUNT  READYMACHINECOUNT  UPDATEDMACHINECOUNT  DEGRADEDMACHINECOUNT  AGE
    kata-oc  rendered-kata-oc-169   False    True      False     3             1                  1                    0                     9h

验证

  1. 使用机器配置池中的节点启动 debug 会话:

    $ oc debug node/<node_name>
  2. 将根目录改为 /host

    # chroot /host
  3. 验证 crio.conf 文件中的更改:

    # crio config | egrep 'log_level

    输出示例

    log_level = "debug"

8.2.2. 查看组件的调试日志

集群管理员可以使用调试日志进行故障排除。每个节点的日志会输出到节点日志中。

您可以查看以下 OpenShift 沙盒容器组件的日志:

  • Kata 代理
  • Kata runtime (containerd-shim-kata-v2)
  • virtiofsd

QEMU 仅生成警告和错误日志。这些警告和错误会在 Kata 运行时日志和带有额外的 qemuPid 字段的 CRI-O 日志中打印到节点日志。

QEMU 日志示例

Mar 11 11:57:28 openshift-worker-0 kata[2241647]: time="2023-03-11T11:57:28.587116986Z" level=info msg="Start logging QEMU (qemuPid=2241693)" name=containerd-shim-v2 pid=2241647 sandbox=d1d4d68efc35e5ccb4331af73da459c13f46269b512774aa6bde7da34db48987 source=virtcontainers/hypervisor subsystem=qemu

Mar 11 11:57:28 openshift-worker-0 kata[2241647]: time="2023-03-11T11:57:28.607339014Z" level=error msg="qemu-kvm: -machine q35,accel=kvm,kernel_irqchip=split,foo: Expected '=' after parameter 'foo'" name=containerd-shim-v2 pid=2241647 qemuPid=2241693 sandbox=d1d4d68efc35e5ccb4331af73da459c13f46269b512774aa6bde7da34db48987 source=virtcontainers/hypervisor subsystem=qemu

Mar 11 11:57:28 openshift-worker-0 kata[2241647]: time="2023-03-11T11:57:28.60890737Z" level=info msg="Stop logging QEMU (qemuPid=2241693)" name=containerd-shim-v2 pid=2241647 sandbox=d1d4d68efc35e5ccb4331af73da459c13f46269b512774aa6bde7da34db48987 source=virtcontainers/hypervisor subsystem=qemu

当 QEMU 启动时,Kata 运行时会在 QEMU 启动时打印 Start logging QEMU,并在 QEMU 停止时停止日志记录 QEMU。使用 qemuPid 字段的两个日志消息之间会出现这个错误。QEMU 的实际错误消息以红色显示。

QEMU 客户机的控制台也会输出到节点日志中。您可以查看客户机控制台日志以及 Kata 代理日志。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。

流程

  • 要查看 Kata 代理日志和客户机控制台日志,请运行以下命令:

    $ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata -g “reading guest console”
  • 要查看 Kata 运行时日志,请运行以下命令:

    $ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata
  • 要查看 virtiofsd 日志,请运行以下命令:

    $ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t virtiofsd
  • 要查看 QEMU 日志,请运行以下命令:

    $ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata -g "qemuPid=\d+"

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.