수집기 문제 해결


Red Hat Advanced Cluster Security for Kubernetes 4.7

수집기 문제 해결

Red Hat OpenShift Documentation Team

초록

이 가이드를 사용하여 로그를 검색하고 실패한 수집기와 관련된 문제를 디버깅하는 방법을 알아봅니다.

1장. 수집기 로그 및 Pod 상태 검색 및 분석

문제 해결의 첫 번째 단계는 로그 및 Pod 상태를 검색하는 것입니다. 로그를 사용하면 오류의 근본 원인을 식별할 수 있습니다. 또한 Pod의 최신 상태를 검사하면 실패 메시지에 대한 정보를 제공할 수 있습니다.

1.1. 수집기 로그 검색

먼저 실패한 수집기에서 로그를 검사해야 합니다. 사용자 환경 및 액세스 권한에 따라 다음 두 가지 방법으로 로그를 얻을 수 있습니다.

1.1.1. oc 또는 kubectl 명령을 사용하여 로그 검색

oc 또는 kubectl 명령을 사용하여 실행 중인 수집기 Pod에서 로그를 가져올 수 있습니다. 선택적으로 현재 수집기 Pod가 다시 시작되면 이전 수집기 Pod의 로그를 확인할 수도 있습니다.

사전 요구 사항

  • Pod 및 로그를 나열할 권한이 있는지 확인합니다.

    Copy to Clipboard Toggle word wrap
    $ oc auth can-i get pods && oc auth can-i get pods --subresource=logs 
    1
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다.

절차

  1. app=collector 레이블이 있는 모든 Pod를 나열합니다.

    Copy to Clipboard Toggle word wrap
    $ oc get pods -n stackrox -l app=collector 
    1
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다.

    출력 예

    Copy to Clipboard Toggle word wrap
    collector-vclg5    1/2     CrashLoopBackOff   2 (25s ago)   2m41s+

  2. 수집기 Pod의 로그를 가져옵니다.

    Copy to Clipboard Toggle word wrap
    $ oc logs -n stackrox <collector_pod_name> collector 
    1
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다. & lt;collector_pod_name >의 경우 수집기 Pod의 이름을 지정합니다(예: collector-vclg5 ).
  3. (선택 사항) 현재 수집기 Pod가 다시 시작되면 이전 수집기 Pod의 로그를 확인할 수 있습니다.

    Copy to Clipboard Toggle word wrap
    $ oc logs -n stackrox <collector_pod_name> collector --previous 
    1
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다. & lt;collector_pod_name >의 경우 수집기 Pod의 이름을 지정합니다(예: collector-vclg5 ).

1.1.2. RHACS 진단 번들에서 로그 검색

RHACS(Red Hat Advanced Cluster Security for Kubernetes) 사용자 인터페이스에서 진단 번들을 다운로드하여 수집기 로그에 액세스할 수도 있습니다. 진단 번들을 다운로드한 후에는 모든 수집기 Pod의 로그를 검사할 수 있습니다. 자세한 내용은 진단 번들 생성을 참조하십시오.

1.2. 수집기 Pod 상태 분석

Pod의 최신 상태를 검사하는 것은 수집기 충돌의 원인을 확인하는 또 다른 쉬운 방법입니다. 실패 메시지는 최신 상태로 기록되며 kubectl describe pod 또는 oc describe pod 명령을 사용하여 액세스할 수 있습니다.

절차

  • 수집기 Pod를 설명합니다.

    Copy to Clipboard Toggle word wrap
    $ oc describe pod -n stackrox <collector_pod_name> 
    1
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다. & lt;collector_pod_name >의 경우 수집기 Pod의 이름을 지정합니다(예: collector-vclg5 ).

    출력 예

    Copy to Clipboard Toggle word wrap
    # ...
        Last State:     Terminated
          Reason:       Error
          Message:      No suitable kernel object downloaded 
    1
    
          Exit Code:    1
          Started:      Fri, 21 Oct 2022 11:50:56 +0100
          Finished:     Fri, 21 Oct 2022 11:51:25 +0100
    # ...

    1
    이 예제에서는 수집기가 커널 드라이버를 다운로드하지 못한 것을 확인할 수 있습니다.

2장. 일반적으로 발생하는 오류 상태

수집기를 시작할 때 대부분의 오류는 수집기를 시작하고 시스템의 커널 드라이버를 검색하거나 다운로드합니다.

다음 다이어그램에서는 수집기 시작 프로세스의 주요 부분을 설명합니다.

그림 2.1. 수집기 Pod 시작 프로세스

수집기 Pod 시작 프로세스

시작 프로세스의 일부가 실패하면 로그에 성공하거나 실패한 단계를 자세히 설명하는 진단 요약이 표시됩니다.

다음 로그 파일 예제에서는 성공적인 시작을 보여줍니다.

Copy to Clipboard Toggle word wrap
[INFO    2022/11/28 13:21:55] == Collector Startup Diagnostics: ==
[INFO    2022/11/28 13:21:55]  Connected to Sensor?       true
[INFO    2022/11/28 13:21:55]  Kernel driver available?   true
[INFO    2022/11/28 13:21:55]  Driver loaded into kernel? true
[INFO    2022/11/28 13:21:55] ====================================

로그 출력은 센서에 연결되어 있고 커널 드라이버를 로드하고 로드한 수집기를 확인합니다. 이 로그를 사용하여 수집기의 성공적인 시작을 확인할 수 있습니다.

2.1. 센서에 연결할 수 없음

시작할 때 먼저 센서에 연결할 수 있는지 확인하십시오. 센서는 네트워크 이벤트를 처리하기 위한 커널 드라이버 및 CIDR 블록을 다운로드하여 시작 프로세스의 필수 부분입니다. 다음 로그는 센서에 연결할 수 없음을 나타냅니다.

Copy to Clipboard Toggle word wrap
Collector Version: 3.15.0
OS: Ubuntu 20.04.4 LTS
Kernel Version: 5.4.0-126-generic
Starting StackRox Collector...
[INFO    2023/05/13 12:20:43] Hostname: 'hostname'
[...]
[INFO    2023/05/13 12:20:43] Sensor configured at address: sensor.stackrox.svc:9998
[INFO    2023/05/13 12:20:43] Attempting to connect to Sensor
[INFO    2023/05/13 12:21:13]
[INFO    2023/05/13 12:21:13] == Collector Startup Diagnostics: ==
[INFO    2023/05/13 12:21:13]  Connected to Sensor?       false
[INFO    2023/05/13 12:21:13]  Kernel driver candidates:
[INFO    2023/05/13 12:21:13] ====================================
[INFO    2023/05/13 12:21:13]
[FATAL   2023/05/13 12:21:13] Unable to connect to Sensor.

이 오류는 센서가 올바르게 시작되지 않았거나 수집기 구성이 올바르지 않음을 의미할 수 있습니다. 이 문제를 해결하려면 수집기 구성을 확인하여 센서 주소가 올바르며 센서 Pod가 올바르게 실행되고 있는지 확인해야 합니다.

구성된 센서 주소를 구체적으로 확인하려면 수집기 로그를 확인합니다. 또는 다음 명령을 실행할 수 있습니다.

Copy to Clipboard Toggle word wrap
$ kubectl -n stackrox get pod <collector_pod_name> -o jsonpath='{.spec.containers[0].env[?(@.name=="GRPC_SERVER")].value}' 
1
1
& lt;collector_pod_name >의 경우 수집기 Pod의 이름을 지정합니다(예: collector-vclg5 ).

2.2. 커널 드라이버를 사용할 수 없음

수집기는 노드의 커널 버전에 대한 커널 드라이버가 있는지 확인합니다. 수집기는 먼저 올바른 버전과 유형이 있는 드라이버의 로컬 스토리지를 검색한 다음 센서에서 드라이버를 다운로드하려고 시도합니다. 다음 로그는 로컬 커널 드라이버 또는 센서의 드라이버가 존재하지 않음을 나타냅니다.

Copy to Clipboard Toggle word wrap
Collector Version: 3.15.0
OS: Alpine Linux v3.16
Kernel Version: 5.15.82-0-virt
Starting StackRox Collector...
[INFO    2023/05/30 12:00:33] Hostname: 'alpine'
[INFO    2023/05/30 12:00:33] User configured collection-method=ebpf
[INFO    2023/05/30 12:00:33] Afterglow is enabled
[INFO    2023/05/30 12:00:33] Sensor configured at address: sensor.stackrox.svc:443
[INFO    2023/05/30 12:00:33] Attempting to connect to Sensor
[INFO    2023/05/30 12:00:33] Successfully connected to Sensor.
[INFO    2023/05/30 12:00:33] Module version: 2.5.0-rc1
[INFO    2023/05/30 12:00:33] Config: collection_method:0, useChiselCache:1, scrape_interval:30, turn_off_scrape:0, hostname:alpine, processesListeningOnPorts:1, logLevel:INFO
[INFO    2023/05/30 12:00:33] Attempting to find eBPF probe - Candidate versions:
[INFO    2023/05/30 12:00:33] collector-ebpf-5.15.82-0-virt.o
[INFO    2023/05/30 12:00:33] Attempting to download collector-ebpf-5.15.82-0-virt.o
[INFO    2023/05/30 12:00:33] Attempting to download kernel object from https://sensor.stackrox.svc:443/kernel-objects/2.5.0/collector-ebpf-5.15.82-0-virt.o.gz 
1

[INFO    2023/05/30 12:00:33] HTTP Request failed with error code 404 
2

[WARNING 2023/05/30 12:02:03] Attempted to download collector-ebpf-5.15.82-0-virt.o.gz 90 time(s)
[WARNING 2023/05/30 12:02:03] Failed to download from collector-ebpf-5.15.82-0-virt.o.gz
[WARNING 2023/05/30 12:02:03] Unable to download kernel object collector-ebpf-5.15.82-0-virt.o to /module/collector-ebpf.o.gz
[WARNING 2023/05/30 12:02:03] No suitable kernel object downloaded for collector-ebpf-5.15.82-0-virt.o
[ERROR   2023/05/30 12:02:03] Failed to initialize collector kernel components.
[INFO    2023/05/30 12:02:03]
[INFO    2023/05/30 12:02:03] == Collector Startup Diagnostics: ==
[INFO    2023/05/30 12:02:03]  Connected to Sensor?       true
[INFO    2023/05/30 12:02:03]  Kernel driver candidates:
[INFO    2023/05/30 12:02:03]    collector-ebpf-5.15.82-0-virt.o (unavailable)
[INFO    2023/05/30 12:02:03] ====================================
[INFO    2023/05/30 12:02:03]
[FATAL   2023/05/30 12:02:03] Failed to initialize collector kernel components. 
3
1
로그 표시는 먼저 모듈을 찾은 후 센서에서 드라이버를 다운로드하려는 모든 노력을 기울입니다.
2
404 오류는 노드의 커널에 커널 드라이버가 없음을 나타냅니다.
3
드라이버가 누락되어 수집기가 CrashLoopBackOff 상태가 됩니다.

커널 버전 파일에는 지원되는 모든 커널 버전 목록이 포함되어 있습니다.

2.3. 커널 드라이버 로드 실패

수집기가 시작되기 전에 커널 드라이버를 로드합니다. 그러나 드문 경우지만 수집기가 커널 드라이버를 로드할 수 없는 문제가 발생하여 다양한 오류 메시지 또는 예외가 발생할 수 있습니다. 이러한 경우 로그를 확인하여 커널 드라이버 로드 시 실패와 관련된 문제를 식별해야 합니다.

다음 수집기 로그를 고려하십시오.

Copy to Clipboard Toggle word wrap
[INFO    2023/05/13 14:25:13] Hostname: 'hostname'
[...]
[INFO    2023/05/13 14:25:13] Successfully downloaded and decompressed /module/collector.o
[INFO    2023/05/13 14:25:13]
[INFO    2023/05/13 14:25:13] This product uses ebpf subcomponents licensed under the GNU
[INFO    2023/05/13 14:25:13] GENERAL PURPOSE LICENSE Version 2 outlined in the /kernel-modules/LICENSE file.
[INFO    2023/05/13 14:25:13] Source code for the ebpf subcomponents is available at
[INFO    2023/05/13 14:25:13] https://github.com/stackrox/falcosecurity-libs/
[INFO    2023/05/13 14:25:13]
-- BEGIN PROG LOAD LOG --
[...]
-- END PROG LOAD LOG --
[WARNING 2023/05/13 14:25:13] libscap: bpf_load_program() event=tracepoint/syscalls/sys_enter_chdir: Operation not permitted
[ERROR   2023/05/13 14:25:13] Failed to setup collector-ebpf-6.2.0-20-generic.o
[ERROR   2023/05/13 14:25:13] Failed to initialize collector kernel components.
[INFO    2023/05/13 14:25:13]
[INFO    2023/05/13 14:25:13] == Collector Startup Diagnostics: ==
[INFO    2023/05/13 14:25:13]  Connected to Sensor?       true
[INFO    2023/05/13 14:25:13]  Kernel driver candidates:
[INFO    2023/05/13 14:25:13]    collector-ebpf-6.2.0-20-generic.o (available)
[INFO    2023/05/13 14:25:13] ====================================
[INFO    2023/05/13 14:25:13]
[FATAL   2023/05/13 14:25:13] Failed to initialize collector kernel components.

이러한 종류의 오류가 발생하면 직접 수정할 수 없습니다. 대신 RHACS(Red Hat Advanced Cluster Security for Kubernetes) 지원 팀에 보고하거나 GitHub 문제를 생성합니다.

법적 공지

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat, Inc.