KR20230119535A - 멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법 - Google Patents

멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법 Download PDF

Info

Publication number
KR20230119535A
KR20230119535A KR1020220015799A KR20220015799A KR20230119535A KR 20230119535 A KR20230119535 A KR 20230119535A KR 1020220015799 A KR1020220015799 A KR 1020220015799A KR 20220015799 A KR20220015799 A KR 20220015799A KR 20230119535 A KR20230119535 A KR 20230119535A
Authority
KR
South Korea
Prior art keywords
log
cloud
log file
file
files
Prior art date
Application number
KR1020220015799A
Other languages
English (en)
Inventor
염근혁
박준석
정수민
엄정빈
송현아
아로겨 커렐
Original Assignee
부산대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 부산대학교 산학협력단 filed Critical 부산대학교 산학협력단
Priority to KR1020220015799A priority Critical patent/KR20230119535A/ko
Publication of KR20230119535A publication Critical patent/KR20230119535A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3068Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3404Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Abstract

멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법이 개시된다. 본 발명의 일실시예에 따른, 멀티 프라이빗 클라우드의 로그 관리 시스템은, 다수의 클라우드 플랫폼으로 구성된 멀티 프라이빗 클라우드 환경에 있어, 상기 다수의 클라우드 플랫폼 각각에서 생성되는 다수의 로그 파일을 수집하는 클라우드 서버(Cloud Server); 상기 다수의 로그 파일을 전달하기 위한 파이프라인(pipeline)인 비츠(Beats); 및 상기 비츠에 의해 전달된 상기 다수의 로그 파일을 분석하고, 상기 다수의 로그 파일 간의 공통된 내용에 기초하여, 로그 파일 각각을 일원화하는 로깅 시스템(Logging System)을 포함 할 수 있다.

Description

멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법{LOG MANAGEMENT SYSTEM AND METHOD FOR MULTI-PRIVATE CLOUD PLATFORM}
본 발명은 멀티 프라이빗 클라우드의 환경에 있어, 클라우드 플랫폼에서 생성되는 로그 파일을 정제하여 일원화하여 처리 함으로써, 안정적인 멀티 프라이빗 클라우드 운영 환경을 구축하기 위한, 멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법에 관한 것이다.
종래 발명-1 : 등록번호 10-1741108(2017.05.23) "시스템 결함 분석 장치, 방법 및 시스템 결함을 분석하기 위한 프로그램을 저장하는 저장매체"
종래 발명-1은, 하나 이상의 서버에서 발생하는 이벤트 로그 데이터를 통해 시스템 결함을 분석하는 방법 및 시스템에 관하여 설명한다. 수집한 이벤트 로그 데이터는, 대문자를 소문자로 바꾸고 비단어적 요소를 제거하는 등의 정규화 과정을 거친 후 미리 설정한 기준에 따라 군집화 된다. 종래 발명-1은, 이러한 이벤트 로그 데이터의 발생 시간 패턴에 따라 연관성을 분석하고 이를 통해 전체적인 시스템 결함을 분석하여 원인을 분석한다. 또한, 종래 발명-1은, 로그 데이터 분류 시 비지도 학습을 기반으로 그룹화함으로써 모델 생성 시 관리자가 메시지를 분류해주어야 하는 어려움을 해결한다.
종래 발명-2 : 등록번호 10-1810762(2017.12.13) "클라우드 환경에서 HDFS 기반의 도커 컨테이너 보안 로그 분석 방법 및 시스템"
종래 발명-2는, 클라우드 환경에서 HDFS(Hadoop Distributed File System) 기반의 도커 컨테이너 보안 로그 분석 시스템 및 그 방법에 관하여 설명한다. 종래 발명-2에서 제안하는 시스템은, HDFS를 이용하여 도커 컨테이너가 실행될 때 발생되는 로그 데이터를 저장 및 관리한다. 종래 발명-2는, 저장한 로그 데이터를 기반으로 도커 컨테이너에서 발생되는 공격 또는 침입을 탐지하는 도커 컨테이너 보안 로그 분석 방법 및 시스템을 제공한다.
클라우드 플랫폼이 설치된 서버는, 해당 클라우드 플랫폼을 구성하는 컴포넌트와 데이터베이스에 관련된 로그 파일을 생성한다. 이러한 로그 파일에는 클라우드 플랫폼이 수행하는 모든 동작의 내용이 기록된다. 이에 따라, 에러 발생과 같은 특정 상황에서 원인을 파악하고 처리하기 위해서는, 로그 파일을 확인하는 과정이 필수적일 수 있다. 하지만 종래의 클라우드 플랫폼에서는, 클라우드 플랫폼마다 생성하는 로그 파일이 모두 다르게 생성되고 있고, 각 컴포넌트마다 기록되는 로그 파일의 형태도 다르게 생성되고 있는 실정이다.
따라서 멀티 프라이빗 클라우드를 구축 및 운영 시, 각기 다른 클라우드 플랫폼에서 발생하는 로그 파일을 정제하여 일원화하기 위한, 새로운 기법이 절실히 요구되고 있다.
본 발명의 실시예는, 멀티 프라이빗 클라우드의 환경에 있어, 클라우드 플랫폼에서 생성되는 로그 파일을 정제하여 일원화하여 처리 함으로써, 안정적인 멀티 프라이빗 클라우드 운영 환경을 구축하기 위한, 멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 일실시예에 따른, 멀티 프라이빗 클라우드의 로그 관리 시스템은, 다수의 클라우드 플랫폼으로 구성된 멀티 프라이빗 클라우드 환경에 있어, 상기 다수의 클라우드 플랫폼 각각에서 생성되는 다수의 로그 파일을 수집하는 클라우드 서버(Cloud Server); 상기 다수의 로그 파일을 전달하기 위한 파이프라인(pipeline)인 비츠(Beats); 및 상기 비츠에 의해 전달된 상기 다수의 로그 파일을 분석하고, 상기 다수의 로그 파일 간의 공통된 내용에 기초하여, 로그 파일 각각을 일원화하는 로깅 시스템(Logging System)을 포함할 수 있다.
또한, 본 발명의 실시예에 따른, 멀티 프라이빗 클라우드의 로그 관리 방법은, 로그 관리 시스템에 의해 구현되는 로그 관리 방법에 있어서, 다수의 클라우드 플랫폼으로 구성된 멀티 프라이빗 클라우드 환경에 있어, 상기 로그 관리 시스템의 클라우드 서버에서, 상기 다수의 클라우드 플랫폼 각각에서 생성되는 다수의 로그 파일을 수집하는 단계; 상기 로그 관리 시스템의 비츠에서, 상기 다수의 로그 파일을 전달하는 단계; 및 상기 로그 관리 시스템의 로깅 시스템에서, 상기 다수의 로그 파일을 분석하고, 상기 다수의 로그 파일 간의 공통된 내용에 기초하여, 로그 파일 각각을 일원화하는 단계를 포함하여 구성할 수 있다.
본 발명의 일실시예에 따르면, 멀티 프라이빗 클라우드의 환경에 있어, 클라우드 플랫폼에서 생성되는 로그 파일을 정제하여 일원화하여 처리 함으로써, 안정적인 멀티 프라이빗 클라우드 운영 환경을 구축하기 위한, 멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 멀티 프라이빗 클라우드의 로그 관리 시스템의 구성을 도시한 블록도이다.
도 2는 오픈스택과 클라우드스택에서의 로그 파일의 저장 위치를 설명하기 위한 도이다.
도 3은 본 발명에 따른 클라우드 서버와 로깅 시스템의 구조를 설명하기 위한 도이다.
도 4는 본 발명에 따른 로그 관리 시스템의 논리상 흐름도 이다.
도 5는 CloudStack agent에서 생성된 로그 파일의 내용을 예시하기 위한 도이다.
도 6은 OpenStack nova에서 생성된 로그 파일의 내용을 예시하기 위한 도이다.
도 7은 grok 패턴의 내용을 예시하기 위한 도이다.
도 8은 Kibana에 의한 대시보드의 생성을 예시하기 위한 도이다.
도 9는 CloudStack-Management에 의해 생성된 로그 파일을 정제하는 과정을 설명하기 위한 도이다.
도 10은 OpenStack-Nova에 의해 생성된 로그 파일을 정제하는 과정을 설명하기 위한 도이다.
도 11은 멀티 프라이빗 클라우드의 환경하에서의 로그 관리 시스템에 관한 대시보드를 설명하기 위한 도이다.
도 12는 로그 파일에 대한 추출 현황을 보여주기 위한 도이다.
도 13은 본 발명의 일실시예에 따른, 멀티 프라이빗 클라우드의 로그 관리 방법을 도시한 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 일실시예에 따른 멀티 프라이빗 클라우드의 로그 관리 시스템의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른, 멀티 프라이빗 클라우드의 로그 관리 시스템(100)는 클라우드 서버(Cloud Server, 110), 비츠(Beats, 120), 및 로깅 시스템(Logging System, 130)을 포함하여 구성할 수 있다.
본 발명의 로그 관리 시스템(100)은 다수의 클라우드 플랫폼으로 구성된 멀티 프라이빗 클라우드 환경에서 구현될 수 있다.
클라우드 서버(110)는, 상기 다수의 클라우드 플랫폼 각각에서 생성되는 다수의 로그 파일을 수집한다. 즉, 클라우드 서버(110)는 클라우드 플랫폼에서 정기적 또는 비정기적으로 생성되는 다수의 로그 파일을 획득하는 역할을 할 수 있다.
클라우드 서버(110)는 다수의 클라우드 플랫폼으로 구성되고, 이들 클라우드 플랫폼에 의해 IT 리소스가 사용되어 정해진 기간 동안 생성되는 로그 파일을 수집 할 수 있다.
클라우드 서버(110)는 오픈스택(OpenStack)과 클라우드스택(CloudStack)을 적어도 포함하여 상기 멀티 프라이빗 클라우드 환경을 유지 할 수 있다.
오픈스택은 IaaS(Infrastructure as a Service, 인프라 서비스) 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트로서, 클라우드 컴퓨팅 플랫폼을 개발하고 관리할 수 있는 공개 소스 소프트웨어 기반의 클라우드 운영 체제 일 수 있다.
클라우드스택은 인프라스트럭처 클라우드 서비스를 생성, 관리, 디플로이하기 위한 오픈 소스 클라우드 컴퓨팅 소프트웨어로서, 가상화를 위해 KVM, VM웨어 ESXi|VM웨어 vcenter, 젠서버/XCP와 같은 하이퍼바이저를 사용할 수 있다.
비츠(120)는 상기 다수의 로그 파일을 전달하기 위한 파이프라인(pipeline)이다. 즉, 비츠(120)는 클라우드 서버(110)와 후술의 로깅 시스템(130)을 연결하여, 생성된 로그 파일을 클라우드 서버에서 로깅 시스템으로 전달하는 역할을 할 수 있다.
비츠(120)는 단일 목적의 데이터 수집기 무료 오픈 소스 플랫폼으로서, 다수의 클라우드 플랫폼으로부터, 로깅 시스템(130)의 Logstash 및 Elasticsearch로 데이터인 로그 파일을 전송 할 수 있다.
로깅 시스템(130)은 상기 비츠에 의해 전달된 상기 다수의 로그 파일을 분석하고, 상기 다수의 로그 파일 간의 공통된 내용에 기초하여, 로그 파일 각각을 일원화한다. 즉, 로깅 시스템(130)은 다수의 로그 파일에서 주요 정보를 추출하고, 추출된 주요 정보에 대해 공통된 형식으로 전환 및 일치시키는 역할을 할 수 있다.
로깅 시스템(130)은 수집된 다수의 로그 파일을 기록하여 이력 자료로서 관리할 수 있다.
로깅 시스템은, 로그스태시(Logstash); 엘라스틱서치(Elasticsearch); 및 키바나(Kibana)를 포함하여 구성할 수 있다.
로그스태시는 상기 로그 파일을, 규정된 형태로 가공할 수 있다.
로그스태시는 오픈소스 서버 사이드 데이터 처리 파이프라인으로, 다양한 소스에서 데이터인 로그 파일을 전달받아 변환한 후에 저장소에 보내고, 또한 필터링을 거친 후 출력할 수 있다.
엘라스틱서치는, 인덱스 패턴을 통해, 상기 가공한 로그 파일을, 컴포넌트 별로 구분하여 저장할 수 있다.
엘라스틱서치는 루씬 기반의 검색 엔진으로서, HTTP 웹 인터페이스와 스키마에서 자유로운 JSON 문서와 함께 분산 멀티테넌트 지원 전문 검색 엔진을 제공할 수 있다.
키바나는 상기 엘라스틱서치에 저장된 로그 파일을 시각화 할 수 있다.
키바나는, 오픈소스 웹기반 분석 및 시각화 도구로서, 엘라스틱서치에 저장된 데이터인 로그 파일을 다양한 테이블과 지도, 차트 등을 사용해 시각화 할 수 있다. 키바나는, 사용자로 하여금 간단한 인터페이스를 사용해 손쉽게 엘라스틱서치에 저장된 많은 양의 로그 파일을 탐색하고 실시간으로 로그 파일을 분석 할 수 있게 한다.
일래스틱서치는 로그스태시의 데이터 수집 및 로그 파싱 엔진, 그리고 키바나의 분석 및 시각화 플랫폼과 함께 개발되어 있고, 3개의 연동 솔루션을 일래스틱 스택(Elastic Stack)이라 할 수 있다.
상기 로그스태시는, 전달되는 다수의 로그 파일 내, log_date, log_level, log_location, 및 log_message 중 적어도 하나의 필드를, 동일하게 정규화하여 가공할 수 있다.
상기 log_date는 로그 파일이 생성된 날짜와 시간이고, 상기 log_level은 로그 파일이 나타내는 컴포넌트의 상태이며, 상기 log_location은 로그 파일을 생성한 클라우드 플랫폼의 위치이고, 상기 log_message는 로그 파일에 포함되는 메시지 일 수 있다.
로그 파일의 일원화를 위해, 로깅 시스템(130)은, 상기 로그스태시에서, 상기 로그 파일로부터 메시지를 확인하여, 상기 로그 파일에 관한 컴포넌트를 추출할 수 있다.
또한, 로깅 시스템(130)은, 상기 엘라스틱서치에서, 상기 추출된 컴포넌트에 상응하는 인덱스를 로그 파일 각각에 할당하고, 동일한 인덱스가 할당되는 적어도 하나의 로그 파일을 구분하여 저장할 수 있다.
Read API에 의한 읽기 명령이 입력 됨에 따라, 로깅 시스템(130)은, 상기 키바나에서, 읽기 명령된 인덱스를 식별하고, 상기 식별된 인덱스와 연관되어 저장되는 적어도 하나의 로그 파일을, 발생 빈도에 관한 그래프를 이용하여 시각화 할 수 있다.
본 발명의 일실시예에 따르면, 멀티 프라이빗 클라우드의 환경에 있어, 클라우드 플랫폼에서 생성되는 로그 파일을 정제하여 일원화하여 처리 함으로써, 안정적인 멀티 프라이빗 클라우드 운영 환경을 구축하기 위한, 멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법을 제공할 수 있다.
본 발명의 로그 관리 시스템(100)은, 안정적으로 멀티 프라이빗 클라우드를 운영하기 위해, ELK(Elasticsearch, Logstash, Kibana) Stack을 기반으로, 다수의 클라우드 플랫폼이 설치된 클라우드 서버의 로그 파일을 정제하고 분석하기 위한 로깅 시스템을 포함 할 수 있다.
로그 관리 시스템(100)은, 멀티 프라이빗 클라우드의 에러 분석 및 서버 운영에 도움을 줄 수 있다.
종래 발명-1은 하나 이상의 서버에서 발생하는 결함 원인을 분석하기 위해 비지도 학습을 기반을 하는 이벤트 로그 메시지의 연관성 분석 시스템 및 방법을 제시한다. 종래 발명-1은 분류를 수행하기 전 정규화 과정을 거치며 이를 통해 미리 설정한 군집화 기준에 따라 이벤트 로그 메시지를 구분한다.
종래 발명-1은 시스템 로그를 분석하여 결함 원인을 파악한다는 목적을 가지고 있다. 하지만 종래 발명-1은 하나의 클라우드 플랫폼에 국한된 이벤트 로그 발생 패턴을 분석하고 있고, 또한, 로그 데이터의 단어적 정제에 초점을 두고 있다.
이에 반해, 본 발명의 로그 관리 시스템(100)은, 다수의 클라우드 플랫폼으로 구성된 멀티 프라이빗 클라우드 환경에서 공통된 내용을 추출하여 분석하는 구성을 포함하고, 또한 서로 다른 멀티 프라이빗 클라우드 환경의 로그 파일의 추출 및 로그 파일의 수준(레벨) 구분을 통해 멀티 프라이빗 클라우드의 로그 파일을 일원화시켜 관리할 수 있는 통합 구조를 제시할 수 있다.
종래 발명-2는 HDFS를 이용함으로써, 도커 컨테이너의 로그 데이터를 저장하고 분석하여 관리하는 도커 컨테이너 보안 로그 분석 방법 및 시스템을 제시한다. 종래 발명-2는 배포 환경의 구성요소로부터 로그를 수집하고 분석하여 전체 시스템의 안정적인 운영을 목표로 한다. 하지만 종래 발명-2는 복수의 도커 컨테이너의 보안 로그 데이터를 분석하고 있고, 또한 컨테이너의 특성에 따른 공격을 분류하고, 이에 따른 로그 분류체계를 제시하고 있다.
이에 반해, 본 발명의 로그 관리 시스템(100)은, 다수의 클라우드 플랫폼에서 생성되는 다수의 로그 파일을 분석하는 구성을 포함하고 있고, 또한 다수의 로그 파일을 분류하는 체계를 구성하고, 이를 적용한 모니터링 시스템도 제시할 수 있다.
도 2는 오픈스택과 클라우드스택에서의 로그 파일의 저장 위치를 설명하기 위한 도이다.
도 2에는 대표적인 클라우드 플랫폼인 오픈스택(OpenStack)과 클라우드스택(CloudStack)에서 컴포넌트 별로 구분되어 저장되는 로그 파일의 위치를 예시한다.
도 2에 예시한 바와 같이, 오픈스택(OpenStack)은, 컴포넌트 nava를 포함하여 "/var/log/nava/*.log" 등으로 위치 표시할 수 있고, 클라우드스택은 컴포넌트 cloudstack을 포함하여 "/var/log/cloudstack/agent/*.log" 등으로 위치 표시할 수 있다.
도 3은 본 발명에 따른 클라우드 서버와 로깅 시스템의 구조를 설명하기 위한 도이다.
도 3에서와 같이, 본 발명의 로그 관리 시스템(100)은 다수의 클라우드 플랫폼을 유지하는 클라우드 서버(Cloud Server)와, 로그 파일을 분석하고 정제하는 로깅 시스템(Logging System)을 포함하여 구성할 수 있다.
클라우드 서버는 클라우드 플랫폼인 오픈스택(OpenStack)과 클라우드스택(CloudStack)을 유지할 수 있다.
로깅 시스템은, 오픈스택과 클라우드스택에서 생성되는 로그 파일을 실시간으로 전송받아 분석 및 정제 할 수 있다.
도 2와 도 3에서의 '*.log'은, 클라우드 플랫폼이 생성하는 로그 파일을 의미할 수 있다. 각 클라우드 플랫폼은 "/var/log"의 하위 경로에 로그 파일과 연관되는 컴포넌트로 디렉토리와 파일을 생성하고 로그 파일을 기록 할 수 있다.
각 클라우드 플랫폼은, 하나의 컴포넌트에도 다양한 로그 파일을 생성할 수 있다. 예를 들어, 오픈스택의 컴퓨팅 서비스를 담당하는 Nova의 경우는, [표 1]에 해당하는 로그 파일을 생성 할 수 있다.
표 1은 오픈스택의 Nova에 생성할 수 있는 로그 파일의 목록을 나열한다.
Figure pat00001
[표 1]에서, 예컨대, Log file 'nova-api.log'은 Service name을 'openstack-nova-api'와, 'nova-api'로 할당하여 생성될 수 있다.
도 3에서의 'Beats'는, 클라우드 플랫폼으로부터 수집한 로그 파일을, 로깅 시스템으로 전달하기 위한 파이프라인 역할을 수행한다. 에이전트로 설치되며 대표적인 Beats 소프트웨어로는, Filebeat를 예시할 수 있다. Beats는 파이프라인의 설정에서 지정한 로그 파일 및 로그 파일의 위치를 실시간으로 모니터링하여 로그 파일을 수집하고, 이를 정제를 위해 로깅 시스템의 Logstash로 전달 할 수 있다.
도 3에서의 'Logstash'는, Beats으로 전달받은 로그 파일을 원하는 형태로 가공하고 정제하는 역할을 수행할 수 있다. Logstash 는 grok 패턴을 이용한 정규표현식을 통해 로그 파일의 분석에 필요한 필드만을 선택하여 추출하고, 서로 다른 형태의 로그 파일을 모두 같은 형식으로 정규화 할 수 있다. 또한, Logstash 는, 각 컴포넌트의 로그 파일이 구분되어 저장될 수 있도록 컴포넌트를 필드에 추가하여 Elasticsearch로 전달할 수 있다.
도 3에서의 'Elasticsearch'는 아파치 루씬(Apache Lucene) 기반의 java 오픈소스 검색 엔진이다. Elasticsearch는 미리 정의한 인덱스 패턴을 통해 Logstash로부터 전달받은 로그 파일을 컴포넌트 별로 구분하여 저장 할 수 있다. Elasticsearch에 저장된 로그 파일은 REST API를 통해 CRUD(Create, Read, Update, Delete)가 가능할 수 있다.
로그 관리 시스템(100)은 Elasticsearch의 Read API를 통해 로그 파일을 확인할 수 있다.
도 3에서의 'Kibana'는, Elasticsearch 에 저장된 로그 파일을 시각화하여, 로그 파일의 발생 빈도를 그래프 형태로 확인할 수 있게 해주는 오픈 소스 인터페이스이다. Kibana는 Elasticsearch의 인덱스 내에 존재하는 다양한 필드로 대시보드를 생성할 수 있다. Kibana는 Logstash에서 추출한 timestamp 필드를 통해, 로그 파일이 생성된 시간 별로 구분하여 대시보드를 생성할 수 있다.
도 4는 본 발명에 따른 로그 관리 시스템의 논리상 흐름도 이다.
도 4는 안정적인 멀티 프라이빗 클라우드의 환경을 구축하기 위한 로그 관리 시스템(100)의 흐름도를 나타낸 것이다.
단계 401에서, 로그 관리 시스템(100)은, Beats에서 수집할 로그 파일 및 경로 설정을 할 수 있다.
단계 402에서, 로그 관리 시스템(100)은, 해당 경로의 로그 파일을 실시간으로 Logstash로 전달 할 수 있다.
단계 403에서, 로그 관리 시스템(100)은, 메시지를 포함하는 로그 파일인가를 판단 할 수 있다.
메시지 포함의 로그 파일이 아니면(단계 403에서 No 방향), 로그 관리 시스템(100)은, 동작을 종료 할 수 있다.
메시지 포함의 로그 파일이면(단계 403에서 Yes 방향), 단계 404에서, 로그 관리 시스템(100)은, Logstash에서 로그 생성 날짜, 컴포넌트, 로그 레벨, 로그 메시지 추출을 수행 할 수 있다.
단계 405에서, 로그 관리 시스템(100)은, Elastic Search에 컴포넌트 별 인덱스를 생성할 수 있다.
단계 404 및 단계 405의 수행 후, 단계 406에서, 로그 관리 시스템(100)은, Elastic Search로 정제한 로그 파일을 전달 할 수 있다.
단계 407에서, 로그 관리 시스템(100)은, Elastic Search의 Read API로 로그 파일을 읽기 할 수 있다.
단계 408에서, 로그 관리 시스템(100)은, 읽은 로그 파일을 데이터베이스에 저장할 수 있다.
단계 409에서, 로그 관리 시스템(100)은, 플랫폼, 컴포넌트, 로그 레벨 별로 구분된 로그 파일을 확인 할 수 있다.
이하, 도 5와 도 6에서는, 정제 과정을 거치지 않은 클라우드 플랫폼의 로그 파일을 예시한다.
도 5는 CloudStack agent에서 생성된 로그 파일의 내용을 예시하기 위한 도이다.
도 6은 OpenStack nova에서 생성된 로그 파일의 내용을 예시하기 위한 도이다.
도 5 및 도 6에서와 같이, 클라우드 플랫폼과 컴포넌트 별로 로그 파일의 위치와 형태는, 모두 다를 수 있다.
도 7은 grok 패턴의 내용을 예시하기 위한 도이다.
도 7은 도 5 및 도 6의 로그 파일로부터 공통되는 내용을 추출하기 위한, grok 패턴을 예시한다.
로그 파일은, 로그가 발생한 함수를 추적하기 위한 데이터와, 실제 로그 메시지가 포함된 데이터로 나뉠 수 있다.
로그 관리 시스템(100)은, 로그 메시지의 내용을 분석하여, 사용자가 시스템의 결함을 수월하게 찾도록 하는 것을 목적으로 한다.
로그 관리 시스템(100)은, 각 클라우드 플랫폼 별로 로그 파일이 생성되는 형태가 다르므로, 이를 구분하기 위해 비츠인 Filebeat에서, 로그 파일이 생성되는 컴포넌트를 나타내는 log_type 필드를 로그 파일에 추가하여 로깅 시스템으로 전송 할 수 있다.
log_type 필드를 전달받은 로깅 시스템의 Logstash는, 도 7과 같은 grok 패턴을 통해 log_type에 따라 로그 파일을 정제하는 패턴을 구분 할 수 있다.
구분된 패턴에 따른 필드는 log_date, log_level, log_location, log_message 등 일 수 있다.
log_date는 로그 파일이 생성된 날짜와 시간을 나타낸다. log_date는 대부분 로그 파일의 앞부분에 존재할 수 있다. 따라서 로그 관리 시스템(100)은, 가장 먼저 TIMESTAMP_ISO8601의 날짜 형태와 일치하는 데이터를 추출하여 log_date로 저장한다.
log_level은 로그 파일이 나타내는 컴포넌트의 상태를 나타낸다. log_level은 크게 FATAL, ERROR, WARN, INFO, DEBUG, TRACE 등으로 구분 될 수 있다. 각 레벨이 뜻하는 내용은 [표 2]에 나열한다.
Figure pat00002
[표 2]에서는 log_level 이 나타내는 내용을 나열한다.
log_location은 로그 파일을 생성한 실제 클라우드 플랫폼의 위치를 나타낸다.
본 발명에서는 오픈스택과 클라우드스택으로 멀티 프라이빗 클라우드의 환경을 구성하였으며, 각 클라우드 플랫폼 모두 로그 파일을 생성한 위치를, 루트부터 '.'으로 구분된 tree 형태로 나타낼 수 있다.
마지막으로 log_message는 로그 파일에 포함되는 메시지를 뜻한다. 로그 관리 시스템(100)은, 로그 파일의 앞부분에 존재하는 필요 필드/데이터를 제외한 나머지 필드/데이터를 메시지로 구분 할 수 있다.
상기 Logstash는 로그 파일로부터 공통되어 추출된 정보를 이용하여, 로그 파일을, 규정된 형태로 가공, 정제 할 수 있다.
Elasticsearch는 가공, 정제된 로그 파일을 저장하여 관리할 수 있다. 이때 로그 관리 시스템(100)은, log_type 필드의 값에 따라 미리 설정된 Elasticsearch의 index pattern에 매칭하여, 상기 가공, 정제된 로그 파일을 각 컴포넌트 별로 구분하여 저장 할 수 있다.
Kibana는 저장된 로그 파일에 관해, 원하는 값을 기준으로 그래프를 생성하여 대시보드를 구성할 수 있다.
결론적으로, 본 발명의 로그 관리 시스템(100)은, 각 클라우드 플랫폼에서 생성되는 서로 다른 형태의 로그 파일을 통일된 형태로 바꾸고 대시보드를 생성함으로써, 멀티 프라이빗 클라우드의 결함 발견 속도 증가 및 시스템 관리 효율성 증가 효과를 기대할 수 있다.
도 8은 Kibana에 의한 대시보드의 생성을 예시하기 위한 도이다.
도 8에서는 로그 파일이 생성되는 시간인 log_date를 기준으로, "DEBUG" 레벨의 로그 파일이 생성되는 횟수를 대시보드에 나타낸 그래프를 생성하는 예시이다.
도 8에는, 예컨대 2021-08-14~2021-08-17 에서, 멀티 프라이빗 클라우드의 환경 하에서, 오픈스택과 클라우드스택에 의해 로그 파일이 집중적으로 생성되었음을, 그래프를 통해 시각적으로 표시할 수 있다.
로그 관리 시스템(100)은, 오픈스택과 클라우드스택에서 생성되는 로그 파일을, Logstash의 정제 과정을 거친 후 Elasticsearch에 저장할 수 있다.
도 9는 CloudStack-Management에 의해 생성된 로그 파일을 정제하는 과정을 설명하기 위한 도이다.
도 9에서는 CloudStack의 Management에서 생성되는 로그 파일이 Logstash의 정제를 거쳐 구조화된 형태로 매핑되는 과정을 예시한다.
CloudStack의 Management에 생성된 로그 파일은, 비츠인 Filebeat를 통해 실시간으로 Logstash로 전송될 수 있다. 도 9에서 로그 파일은 Row Log Data 이다.
로그 파일 Row Log Data를 전송받은 Logstash는, 정제를 수행하여, Row Log Data 을 JSON 형태로 사용자가 보기 쉽게 구조화 할 수 있다.
CloudStack의 로그 파일을 정제하는 과정은 도 9를 참조하여 다음과 같이 진행될 수 있다.
Logstash는 도 9의 Row Log Data의 형태를 분석하여, log_type을 "management"로 정제 할 수 있다.
또한, Logstash는 도 9의 Row Log Data에서 가장 앞에 있는 TIMESTAMP를 이용하여, log_data "2021-09-02 01:47:17"로 정제 할 수 있다.
또한, Logstash는 log_data 에 활용된 TIMESTAMP 이후에 문자열을 이용하여, log_level "DEBUG"로 정제 할 수 있다.
또한, Logstash는 log_level에 활용된 문자열 이후의, 공백을 제외하고 나오는 문자열을 log_location으로 정제 할 수 있다.
또한, Logstash는 공백을 생략한 후 남은 나머지 전체를 log_message로 정제 할 수 있다.
도 10은 OpenStack-Nova에 의해 생성된 로그 파일을 정제하는 과정을 설명하기 위한 도이다.
도 10에서는 OpenStack의 Nova에서 생성되는 로그 파일이 Logstash의 정제를 거쳐 구조화된 형태로 매핑되는 과정을 예시한다.
OpenStack의 Nova에서 생성된 그 파일은, 비츠인 Filebeat를 통해 실시간으로 Logstash로 전송될 수 있다. 도 10에서 로그 파일은 Row Log Data 이다.
CloudStack과 마찬가지로, 로그 파일 Row Log Data를 전송받은 Logstash는, 정제를 수행하여, Row Log Data 을 JSON 형태로 사용자가 보기 쉽게 구조화 할 수 있다.
OpenStack의 로그 파일을 정제하는 과정은 도 10을 참조하여 다음과 같이 진행될 수 있다.
Logstash는 도 10의 Row Log Data의 형태를 분석하여, log_type을 "nava"로 정제 할 수 있다.
또한, Logstash는 도 10의 Row Log Data에서 가장 앞에 있는 TIMESTAMP를 이용하여, log_data "2021-09-02 01:47:17"로 정제 할 수 있다.
또한, Logstash는 log_data 에 활용된 TIMESTAMP 이후에 문자열을 이용하여, log_level "ERROR"로 정제 할 수 있다.
또한, Logstash는 log_level에 활용된 문자열 이후의, 공백을 제외하고 나오는 문자열을 log_location으로 정제 할 수 있다.
또한, Logstash는 공백을 생략한 후 남은 나머지 전체를 log_message로 정제 할 수 있다.
로그 관리 시스템(100)은, 공백과 문자열의 구조가 다른 형태의 로그 파일이라도 JSON 형식의 통일된 형태로 로그 파일을 나타낼 수 있다. 이를 통해 로그 관리 시스템(100)은, 사용자로 하여금, 원활하게 멀티 프라이빗 클라우드를 운영할 수 있게 한다.
도 11은 멀티 프라이빗 클라우드의 환경하에서의 로그 관리 시스템에 관한 대시보드를 설명하기 위한 도이다.
도 11은 본 발명의 시스템을 적용한 대시보드 진입 화면이다.
도 11에 도시한 바와 같이, 로그 관리 시스템(100)은 오픈스택에 생성한 다양한 로그 파일에 대해, Elasticsearch의 인덱스 내에 존재하는 다양한 필드로 대시보드를 생성할 수 있다.
도 12는 로그 파일에 대한 추출 현황을 보여주기 위한 도이다.
도 12에서는 추출된 로그 파일을 표현한다.
도 12에 도시한 바와 같이, 로그 관리 시스템(100)은, Created, Component, Level, Massage 항목 별로 로그 파일과 관련한 내용을 정리하여 표현 할 수 있다.
이하, 도 13에서는 본 발명의 실시예들에 따른 멀티 프라이빗 클라우드의 로그 관리 시스템(100)의 작업 흐름을 상세히 설명한다.
도 13은 본 발명의 일실시예에 따른, 멀티 프라이빗 클라우드의 로그 관리 방법을 도시한 흐름도이다.
본 실시예에 따른 멀티 프라이빗 클라우드의 로그 관리 방법은 멀티 프라이빗 클라우드의 로그 관리 시스템(100)에 의해 수행될 수 있다.
로그 관리 방법은 다수의 클라우드 플랫폼으로 구성된 멀티 프라이빗 클라우드 환경에서 구현될 수 있다.
로그 관리 시스템(100)의 클라우드 서버에서, 상기 다수의 클라우드 플랫폼 각각에서 생성되는 다수의 로그 파일을 수집한다(1310). 단계(1310)는 클라우드 플랫폼에서 정기적 또는 비정기적으로 생성되는 다수의 로그 파일을 획득하는 과정일 수 있다.
클라우드 서버는 다수의 클라우드 플랫폼으로 구성되고, 이들 클라우드 플랫폼에 의해 IT 리소스가 사용되어 정해진 기간 동안 생성되는 로그 파일을 수집 할 수 있다.
클라우드 서버는 오픈스택(OpenStack)과 클라우드스택(CloudStack)을 적어도 포함하여 상기 멀티 프라이빗 클라우드 환경을 유지 할 수 있다.
오픈스택은 IaaS(Infrastructure as a Service, 인프라 서비스) 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트로서, 클라우드 컴퓨팅 플랫폼을 개발하고 관리할 수 있는 공개 소스 소프트웨어 기반의 클라우드 운영 체제 일 수 있다.
클라우드스택은 인프라스트럭처 클라우드 서비스를 생성, 관리, 디플로이하기 위한 오픈 소스 클라우드 컴퓨팅 소프트웨어로서, 가상화를 위해 KVM, VM웨어 ESXi|VM웨어 vcenter, 젠서버/XCP와 같은 하이퍼바이저를 사용할 수 있다.
또한, 로그 관리 시스템(100)의 비츠에서, 상기 다수의 로그 파일을 전달한다(1320). 단계(1320)는 클라우드 서버와 로깅 시스템을 연결하는 비츠를 통해, 생성된 로그 파일을 클라우드 서버에서 로깅 시스템으로 전달하는 과정일 수 있다.
비츠는 단일 목적의 데이터 수집기 무료 오픈 소스 플랫폼으로서, 다수의 클라우드 플랫폼으로부터, 로깅 시스템의 Logstash 및 Elasticsearch로 데이터인 로그 파일을 전송 할 수 있다.
계속해서, 로그 관리 시스템(100)의 로깅 시스템에서, 상기 비츠에 의해 전달된 상기 다수의 로그 파일을 분석하고, 상기 다수의 로그 파일 간의 공통된 내용에 기초하여, 로그 파일 각각을 일원화한다(1330). 단계(1330)는 다수의 로그 파일에서 주요 정보를 추출하고, 추출된 주요 정보에 대해 공통된 형식으로 전환 및 일치시키는 과정일 수 있다.
로깅 시스템은 수집된 다수의 로그 파일을 기록하여 이력 자료로서 관리할 수 있다.
로깅 시스템은, 로그스태시(Logstash); 엘라스틱서치(Elasticsearch); 및 키바나(Kibana)를 포함하여 구성할 수 있다.
로그스태시는 상기 로그 파일을, 규정된 형태로 가공할 수 있다.
로그스태시는 오픈소스 서버 사이드 데이터 처리 파이프라인으로, 다양한 소스에서 데이터인 로그 파일을 전달받아 변환한 후에 저장소에 보내고, 또한 필터링을 거친 후 출력할 수 있다.
엘라스틱서치는, 인덱스 패턴을 통해, 상기 가공한 로그 파일을, 컴포넌트 별로 구분하여 저장할 수 있다.
엘라스틱서치는 루씬 기반의 검색 엔진으로서, HTTP 웹 인터페이스와 스키마에서 자유로운 JSON 문서와 함께 분산 멀티테넌트 지원 전문 검색 엔진을 제공할 수 있다.
키바나는 상기 엘라스틱서치에 저장된 로그 파일을 시각화 할 수 있다.
키바나는, 오픈소스 웹기반 분석 및 시각화 도구로서, 엘라스틱서치에 저장된 데이터인 로그 파일을 다양한 테이블과 지도, 차트 등을 사용해 시각화 할 수 있다. 키바나는, 사용자로 하여금 간단한 인터페이스를 사용해 손쉽게 엘라스틱서치에 저장된 많은 양의 로그 파일을 탐색하고 실시간으로 로그 파일을 분석 할 수 있게 한다.
일래스틱서치는 로그스태시의 데이터 수집 및 로그 파싱 엔진, 그리고 키바나의 분석 및 시각화 플랫폼과 함께 개발되어 있고, 3개의 연동 솔루션을 일래스틱 스택(Elastic Stack)이라 할 수 있다.
상기 로그스태시는, 전달되는 다수의 로그 파일 내, log_date, log_level, log_location, 및 log_message 중 적어도 하나의 필드를, 동일하게 정규화하여 가공할 수 있다.
상기 log_date는 로그 파일이 생성된 날짜와 시간이고, 상기 log_level은 로그 파일이 나타내는 컴포넌트의 상태이며, 상기 log_location은 로그 파일을 생성한 클라우드 플랫폼의 위치이고, 상기 log_message는 로그 파일에 포함되는 메시지 일 수 있다.
로그 파일의 일원화를 위해, 로깅 시스템은, 상기 로그스태시에서, 상기 로그 파일로부터 메시지를 확인하여, 상기 로그 파일에 관한 컴포넌트를 추출할 수 있다.
또한, 로깅 시스템은, 상기 엘라스틱서치에서, 상기 추출된 컴포넌트에 상응하는 인덱스를 로그 파일 각각에 할당하고, 동일한 인덱스가 할당되는 적어도 하나의 로그 파일을 구분하여 저장할 수 있다.
Read API에 의한 읽기 명령이 입력 됨에 따라, 로깅 시스템은, 상기 키바나에서, 읽기 명령된 인덱스를 식별하고, 상기 식별된 인덱스와 연관되어 저장되는 적어도 하나의 로그 파일을, 발생 빈도에 관한 그래프를 이용하여 시각화 할 수 있다.
본 발명의 일실시예에 따르면, 멀티 프라이빗 클라우드의 환경에 있어, 클라우드 플랫폼에서 생성되는 로그 파일을 정제하여 일원화하여 처리 함으로써, 안정적인 멀티 프라이빗 클라우드 운영 환경을 구축하기 위한, 멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법을 제공할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
100 : 멀티 프라이빗 클라우드의 로그 관리 시스템
110 : 클라우드 서버
120 : 비츠
130 : 로깅 시스템

Claims (11)

  1. 다수의 클라우드 플랫폼으로 구성된 멀티 프라이빗 클라우드 환경에 있어,
    상기 다수의 클라우드 플랫폼 각각에서 생성되는 다수의 로그 파일을 수집하는 클라우드 서버(Cloud Server);
    상기 다수의 로그 파일을 전달하기 위한 파이프라인(pipeline)인 비츠(Beats); 및
    상기 비츠에 의해 전달된 상기 다수의 로그 파일을 분석하고, 상기 다수의 로그 파일 간의 공통된 내용에 기초하여, 로그 파일 각각을 일원화하는 로깅 시스템(Logging System)
    을 포함하는 멀티 프라이빗 클라우드의 로그 관리 시스템.
  2. 제1항에 있어서,
    상기 클라우드 서버는,
    상기 다수의 클라우드 플랫폼으로서, 오픈스택(OpenStack)과 클라우드스택(CloudStack)을 적어도 포함하여 상기 멀티 프라이빗 클라우드 환경을 유지하는,
    멀티 프라이빗 클라우드의 로그 관리 시스템.
  3. 제1항에 있어서,
    상기 로깅 시스템은,
    상기 로그 파일을, 규정된 형태로 가공하는 로그스태시(Logstash);
    인덱스 패턴을 통해, 상기 가공한 로그 파일을, 컴포넌트 별로 구분하여 저장하는 엘라스틱서치(Elasticsearch); 및
    상기 엘라스틱서치에 저장된 로그 파일을 시각화하는 키바나(Kibana)
    를 포함하는 멀티 프라이빗 클라우드의 로그 관리 시스템.
  4. 제3항에 있어서,
    상기 로그스태시는,
    전달되는 다수의 로그 파일 내, log_date, log_level, log_location, 및 log_message 중 적어도 하나의 필드를, 동일하게 정규화하여 가공하고,
    상기 log_date는 로그 파일이 생성된 날짜와 시간이고, 상기 log_level은 로그 파일이 나타내는 컴포넌트의 상태이며, 상기 log_location은 로그 파일을 생성한 클라우드 플랫폼의 위치이고, 상기 log_message는 로그 파일에 포함되는 메시지인,
    멀티 프라이빗 클라우드의 로그 관리 시스템.
  5. 제3항에 있어서,
    상기 로깅 시스템은,
    상기 로그스태시에서, 상기 로그 파일로부터 메시지를 확인하여, 상기 로그 파일에 관한 컴포넌트를 추출하고,
    상기 엘라스틱서치에서, 상기 추출된 컴포넌트에 상응하는 인덱스를 로그 파일 각각에 할당하고, 동일한 인덱스가 할당되는 적어도 하나의 로그 파일을 구분하여 저장하며,
    Read API에 의한 읽기 명령이 입력 됨에 따라, 상기 키바나에서, 읽기 명령된 인덱스를 식별하고, 상기 식별된 인덱스와 연관되어 저장되는 적어도 하나의 로그 파일을, 발생 빈도에 관한 그래프를 이용하여 시각화하는
    멀티 프라이빗 클라우드의 로그 관리 시스템.
  6. 로그 관리 시스템에 의해 구현되는 로그 관리 방법에 있어서,
    다수의 클라우드 플랫폼으로 구성된 멀티 프라이빗 클라우드 환경에 있어,
    상기 로그 관리 시스템의 클라우드 서버에서, 상기 다수의 클라우드 플랫폼 각각에서 생성되는 다수의 로그 파일을 수집하는 단계;
    상기 로그 관리 시스템의 비츠에서, 상기 다수의 로그 파일을 전달하는 단계; 및
    상기 로그 관리 시스템의 로깅 시스템에서, 상기 다수의 로그 파일을 분석하고, 상기 다수의 로그 파일 간의 공통된 내용에 기초하여, 로그 파일 각각을 일원화하는 단계
    를 포함하는 멀티 프라이빗 클라우드의 로그 관리 방법.
  7. 제6항에 있어서,
    상기 클라우드 서버에서, 상기 다수의 클라우드 플랫폼으로서, 오픈스택과 클라우드스택을 적어도 포함하여 상기 멀티 프라이빗 클라우드 환경을 유지하는 단계
    를 더 포함하는 멀티 프라이빗 클라우드의 로그 관리 방법.
  8. 제6항에 있어서,
    상기 로깅 시스템의 로그스태시에서, 상기 로그 파일을, 규정된 형태로 가공하는 단계;
    상기 로깅 시스템의 엘라스틱서치에서, 인덱스 패턴을 통해, 상기 가공한 로그 파일을, 컴포넌트 별로 구분하여 저장하는 단계; 및
    상기 로깅 시스템의 키바나에서, 상기 저장된 로그 파일을 시각화하는 단계
    를 더 포함하는 멀티 프라이빗 클라우드의 로그 관리 방법.
  9. 제8항에 있어서,
    상기 로그스태시에서, 전달되는 다수의 로그 파일 내, log_date, log_level, log_location, 및 log_message 중 적어도 하나의 필드를, 동일하게 정규화하여 가공하는 단계
    를 더 포함하고,
    상기 log_date는 로그 파일이 생성된 날짜와 시간이고, 상기 log_level은 로그 파일이 나타내는 컴포넌트의 상태이며, 상기 log_location은 로그 파일을 생성한 클라우드 플랫폼의 위치이고, 상기 log_message는 로그 파일에 포함되는 메시지인,
    멀티 프라이빗 클라우드의 로그 관리 방법.
  10. 제8항에 있어서,
    상기 로그스태시에서, 상기 로그 파일로부터 메시지를 확인하여, 상기 로그 파일에 관한 컴포넌트를 추출하는 단계;
    상기 엘라스틱서치에서, 상기 추출된 컴포넌트에 상응하는 인덱스를 로그 파일 각각에 할당하고, 동일한 인덱스가 할당되는 적어도 하나의 로그 파일을 구분하여 저장하는 단계; 및
    Read API에 의한 읽기 명령이 입력 됨에 따라, 상기 키바나에서, 읽기 명령된 인덱스를 식별하고, 상기 식별된 인덱스와 연관되어 저장되는 적어도 하나의 로그 파일을, 발생 빈도에 관한 그래프를 이용하여 시각화하는 단계
    를 더 포함하는 멀티 프라이빗 클라우드의 로그 관리 방법.
  11. 제6항 내지 제10항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
KR1020220015799A 2022-02-07 2022-02-07 멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법 KR20230119535A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220015799A KR20230119535A (ko) 2022-02-07 2022-02-07 멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220015799A KR20230119535A (ko) 2022-02-07 2022-02-07 멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20230119535A true KR20230119535A (ko) 2023-08-16

Family

ID=87848486

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220015799A KR20230119535A (ko) 2022-02-07 2022-02-07 멀티 프라이빗 클라우드의 로그 관리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20230119535A (ko)

Similar Documents

Publication Publication Date Title
US9734005B2 (en) Log analytics for problem diagnosis
JP6669156B2 (ja) アプリケーション自動制御システム、アプリケーション自動制御方法およびプログラム
US20170109657A1 (en) Machine Learning-Based Model for Identifying Executions of a Business Process
US20170109676A1 (en) Generation of Candidate Sequences Using Links Between Nonconsecutively Performed Steps of a Business Process
US20170109668A1 (en) Model for Linking Between Nonconsecutively Performed Steps in a Business Process
US10761974B2 (en) Cognitive manufacturing systems test repair action
US20170109667A1 (en) Automaton-Based Identification of Executions of a Business Process
US20200012728A1 (en) Unstructured data clustering of information technology service delivery actions
US20160098390A1 (en) Command history analysis apparatus and command history analysis method
US10832164B2 (en) Generating streaming analytics applications using a glossary
US10180872B2 (en) Methods and systems that identify problems in applications
US20170109639A1 (en) General Model for Linking Between Nonconsecutively Performed Steps in Business Processes
US11113142B2 (en) Early risk detection and management in a software-defined data center
CN114579412A (zh) 使用自然语言处理的聚类
US9858168B2 (en) Method for estimating format of log message and computer and computer program therefor
US20170109638A1 (en) Ensemble-Based Identification of Executions of a Business Process
US11513930B2 (en) Log-based status modeling and problem diagnosis for distributed applications
US20220182294A1 (en) Dynamic graphing for managing an it operation system
JP6256115B2 (ja) 操作探索プログラム、操作探索方法、および操作探索装置
US20190026174A1 (en) Integrated statistical log data mining for mean time auto-resolution
US8086997B2 (en) Detecting aspectual behavior in unified modeling language artifacts
US20170109640A1 (en) Generation of Candidate Sequences Using Crowd-Based Seeds of Commonly-Performed Steps of a Business Process
US9286036B2 (en) Computer-readable recording medium storing program for managing scripts, script management device, and script management method
US20170109670A1 (en) Crowd-Based Patterns for Identifying Executions of Business Processes
US20170109637A1 (en) Crowd-Based Model for Identifying Nonconsecutive Executions of a Business Process