11.2. 로그 데이터 수집


OpenShift 샌드박스 컨테이너와 관련된 기능 및 오브젝트는 다음과 같습니다.

  • OpenShift 샌드박스 컨테이너 리소스에 속하는 모든 네임스페이스 및 해당 하위 오브젝트
  • 모든 OpenShift 샌드박스 컨테이너 CRD(사용자 정의 리소스 정의)

kata 런타임으로 실행되는 각 Pod에 대해 다음 구성 요소 로그를 수집할 수 있습니다.

  • Kata 에이전트 로그
  • Kata 런타임 로그
  • QEMU 로그
  • 감사 로그
  • CRI-O 로그

11.2.1. CRI-O 런타임의 디버그 로그 활성화

KataConfig CR에서 logLevel 필드를 업데이트하여 디버그 로그를 활성화할 수 있습니다. 이렇게 하면 OpenShift 샌드박스 컨테이너를 실행하는 작업자 노드의 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. root 디렉토리를 /host 로 변경합니다.

    # chroot /host
  3. crio.conf 파일의 변경 사항을 확인합니다.

    # crio config | egrep 'log_level

    출력 예

    log_level = "debug"

11.2.2. 구성 요소의 디버그 로그 보기

클러스터 관리자는 디버그 로그를 사용하여 문제를 해결할 수 있습니다. 각 노드의 로그는 노드 저널에 출력됩니다.

다음 OpenShift 샌드박스 컨테이너 구성 요소의 로그를 검토할 수 있습니다.

  • 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가 시작될 때 로깅 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

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.