컨테이너 간 상호 연관성 기반 분산 추적 시스템
ASSOCIATION-BASED DISTRIBUTED TRACING FOR INTER-CONTAINER VISIBILITY
특허 요약
본 발명은 컨테이너 기반의 마이크로 서비스 환경에서 각 마이크로 서비스 간의 상호 연관성을 기반으로 동작하는 분산 추적 시스템 및 프로그램에 관한 것이다. 본 발명의 일 실시예에 따른 쿠버네티스 시스템 기반의 동작 추적 방법은, 상기 쿠버네티스 시스템에서 동작하는 적어도 하나의 컨테이너의 시스템 이벤트를 감시하는 단계, 상기 감시를 통해 상기 컨테이너와 관련된 시스템 이벤트를 감지하는 단계, 상기 시스템 이벤트에 대응하여, 상기 컨테이너 내부로부터 시스템 이벤트 정보를 수집하는 단계, 상기 시스템 이벤트 정보에 기반하여 로그 데이터를 생성하는 단계, 상기 로그 데이터에 기반하여 실행 문맥 정보를 생성하는 단계, 및 적어도 하나의 상기 실행 문맥 정보를 기반으로 상기 컨테이너 간의 관계를 포함하는 분산 추적 정보를 생성하는 단계를 포함할 수 있다.
청구항
번호청구항
1

쿠버네티스 시스템 기반의 동작 추적 방법에 있어서,상기 쿠버네티스 시스템에서 동작하는 적어도 하나의 컨테이너의 시스템 이벤트를 감시하는 단계;상기 감시를 통해 상기 컨테이너와 관련된 시스템 이벤트를 감지하는 단계;상기 시스템 이벤트에 대응하여, 상기 컨테이너 내부로부터 시스템 이벤트 정보를 수집하는 단계;상기 시스템 이벤트 정보에 기반하여 로그 데이터를 생성하는 단계;상기 로그 데이터에 기반하여 실행 문맥 정보를 생성하는 단계; 및적어도 하나의 상기 실행 문맥 정보를 기반으로 상기 컨테이너 간의 관계를 포함하는 분산 추적 정보를 생성하는 단계;를 포함하는, 방법.

2

제 1 항에 있어서,상기 시스템 이벤트는,상기 컨테이너 간의 통신 및 상기 컨테이너 내부의 파일 접근 중 적어도 하나를 포함하는 것을 특징으로 하는, 방법.

3

제 1 항에 있어서,상기 시스템 이벤트 정보를 수집하는 단계는,Extended Berkley Packet Filter(eBPF) 프로그램에 의하여 실행되는 것을 특징으로 하는, 방법.

4

제 3 항에 있어서,상기 로그 데이터는,상기 시스템 이벤트에 관련된 정보에, 상기 eBPF 프로그램에 의하여 상기 시스템 이벤트와 관련된 프로세스의 정보 및 상기 시스템 이벤트와 관련된 컨테이너의 정보 중 적어도 하나를 추가하여 생성되는 것을 특징으로 하는, 방법.

5

제 4 항에 있어서,상기 로그 데이터는,상기 eBPF 프로그램에 의하여 수집된 시스템 이벤트와 관련된 정보 중 프로세스 ID(Process ID) 및 스레드 ID(Thread ID) 중 적어도 하나에 기반하여 생성되는 상기 시스템 이벤트와 관련된 컨테이너를 특정하는 정보를 포함하는 것을 특징으로 하는, 방법.

6

제 5 항에 있어서,상기 컨테이너를 특정하는 정보는, 컨테이너 관리 API를 조회하여 획득되는 것을 특징으로 하는, 방법.

7

제 6 항에 있어서,상기 컨테이너를 특정하는 정보는, 상기 컨테이너와 연관된 쿠버네티스의 포드(pod)에 관한 정보를 포함하는 것을 특징으로 하는, 방법.

8

제 5 항에 있어서,상기 프로세스 ID 및 상기 스레드 ID 중 적어도 하나와 상기 컨테이너를 연관짓는 해시 맵(hash map)을 생성하는 단계;를 더 포함하고,상기 컨테이너를 특정하는 정보는, 상기 프로세스 ID 및 상기 스레드 ID 중 적어도 하나에 기반하여 상기 해시 맵을 조회하여 획득되는 것을 특징으로 하는, 방법.

9

제 1 항에 있어서,상기 실행 문맥 정보는,상기 컨테이너 간의 통신 및 상기 컨테이너 내부의 시스템 정보를 포함하는 것을 특징으로 하는, 방법.

10

제 1 항에 있어서,상기 실행 문맥 정보는,상기 로그 데이터로부터 획득된 적어도 하나의 프로세스 ID, 스레드 ID, 세션 ID(session ID), 및 사용자 ID(user ID) 중 적어도 하나에 기반하여 상기 컨테이너의 실행 문맥을 도출한 정보를 포함하는, 방법.

11

제 1 항에 있어서,상기 컨테이너의 실행 문맥은,상기 컨테이너와 다른 컨테이너와의 통신 및 상기 컨테이너에 의한 특정 파일에 대한 접근 중 적어도 하나의 정보를 포함하는, 방법.

12

제 1 항에 있어서,상기 분산 추적 정보를 생성하는 단계는,제1 컨테이너로부터 제2 컨테이너로 이루어지는 통신에 관한 제1 실행 문맥 정보와, 상기 제2 컨테이너로부터 제3 컨테이너로 이루어지는 통신에 관한 제2 실행 문맥 정보를 기반으로, 상기 제1 컨테이너, 상기 제2 컨테이너, 및 상기 제3 컨테이너를 연결하는 분산 추적 정보를 도출하는 단계를 포함하는, 방법.

13

제 1 항에 있어서,상기 분산 추적 정보는, 그래프 형태로 생성되는 것을 특징으로 하는, 방법.

14

동작 추적 기능을 구비한 쿠버네티스 기반 시스템에 있어서,적어도 하나의 쿠버네티스 컨테이너,로그 수집부, 및연관성 분석부;를 포함하고,상기 로그 수집부는, 상기 쿠버네티스 시스템에서 동작하는 적어도 하나의 컨테이너의 시스템 이벤트를 감시하고, 상기 감시를 통해 상기 컨테이너와 관련된 시스템 이벤트를 감지하고, 상기 시스템 이벤트에 대응하여, 상기 컨테이너 내부로부터 시스템 이벤트 정보를 수집하고, 상기 시스템 이벤트 정보에 기반하여 로그 데이터를 생성하고, 상기 로그 데이터를 상기 연관성 분석부에 제공하도록 구성되고,상기 연관성 분석부는, 상기 로그 데이터에 기반하여 실행 문맥 정보를 생성하고, 적어도 하나의 상기 실행 문맥 정보를 기반으로 상기 컨테이너 간의 관계를 포함하는 분산 추적 정보를 생성하도록 구성되는, 시스템.

15

제 14 항에 있어서,상기 시스템 이벤트는,상기 컨테이너 간의 통신 및 상기 컨테이너 내부의 파일 접근 중 적어도 하나를 포함하는 것을 특징으로 하는, 시스템.

16

제 14 항에 있어서,상기 수집부는,Extended Berkley Packet Filter(eBPF) 프로그램에 의하여 동작하는 것을 특징으로 하는, 시스템.

17

제 14 항에 있어서,상기 실행 문맥 정보는,상기 컨테이너 간의 통신 및 상기 컨테이너 내부의 시스템 정보를 포함하는 것을 특징으로 하는, 시스템.

18

제 14 항에 있어서,상기 컨테이너의 실행 문맥은,상기 컨테이너와 다른 컨테이너와의 통신 및 상기 컨테이너에 의한 특정 파일에 대한 접근 중 적어도 하나의 정보를 포함하는, 시스템.

19

제 14 항에 있어서,상기 연관성 분석부는, 상기 분산 추적 정보를 생성함에 있어서,제1 컨테이너로부터 제2 컨테이너로 이루어지는 통신에 관한 제1 실행 문맥 정보와, 상기 제2 컨테이너로부터 제3 컨테이너로 이루어지는 통신에 관한 제2 실행 문맥 정보를 기반으로, 상기 제1 컨테이너, 상기 제2 컨테이너, 및 상기 제3 컨테이너를 연결하는 분산 추적 정보를 도출하도록 구성되는, 시스템.

20

제 14 항에 있어서,상기 분산 추적 정보는, 그래프 형태로 생성되는 것을 특징으로 하는, 시스템.