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
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
既存の
KataConfig
CR のlogLevel
フィールドをdebug
に変更します。$ oc patch kataconfig <kataconfig> --type merge --patch '{"spec":{"logLevel":"debug"}}'
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
検証
マシン設定プールのノードでデバッグセッションを開始します。
$ oc debug node/<node_name>
ルートディレクトリーを
/host
に変更します。# chroot /host
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+"
関連情報
- OpenShift Container Platform ドキュメントの クラスターに関するデータの収集