9.2. ログデータの収集


次の機能とオブジェクトは、OpenShift sandboxed containers に関連付けられています。

  • OpenShift Sandboxed Containers リソースに属するすべての namespace とその子オブジェクト
  • すべての OpenShift Sandboxed Containers のカスタムリソース定義 (CRD)

kata ランタイムで実行されている各 Pod の以下のコンポーネントログを収集できます。

  • Kata エージェントログ
  • Kata ランタイムログ
  • QEMU ログ
  • 監査ログ
  • CRI-O ログ

9.2.1. CRI-O ランタイムのデバッグログの有効化

KataConfig CR の logLevel フィールドを更新することで、デバッグログを有効にできます。これにより、OpenShift Sandboxed Containers を実行しているワーカーノードの CRI-O ランタイムのログレベルが変更されます。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。

手順

  1. 既存の KataConfig CR の logLevel フィールドを debug に変更します。

    $ oc patch kataconfig <kataconfig> --type merge --patch '{"spec":{"logLevel":"debug"}}'
  2. UPDATED の値が True になり、すべてのワーカーノードが更新されたことが示されるまで kata-oc マシン設定プールを監視します。

    $ 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. マシン設定プールのノードでデバッグセッションを開始します。

    $ oc debug node/<node_name>
  2. ルートディレクトリーを /host に変更します。

    # chroot /host
  3. crio.conf ファイルの変更を確認します。

    # crio config | egrep 'log_level

    出力例

    log_level = "debug"

9.2.2. コンポーネントのデバッグログの表示

クラスター管理者は、デバッグログを使用して問題のトラブルシューティングを行うことができます。各ノードのログは、ノードジャーナルに出力されます。

次の OpenShift Sandboxed Containers コンポーネントのログを確認できます。

  • Kata エージェント
  • Kata ランタイム (containerd-shim-kata-v2)
  • virtiofsd

QEMU は警告ログとエラーログのみを生成します。これらの警告とエラーは、追加の qemuPid フィールドとともに Kata ランタイムログと 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

Kata ランタイムは、QEMU が起動すると Start logging QEMU を出力し、QEMU が停止すると Stop Logging QEMU を出力します。エラーは、qemuPid フィールドが含まれる、これら 2 つのログメッセージの間に表示されます。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

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.