KR102669784B1 - 이종 가상화 환경에서의 근본원인 분석 시스템 및 근본원인 분석 방법 - Google Patents

이종 가상화 환경에서의 근본원인 분석 시스템 및 근본원인 분석 방법 Download PDF

Info

Publication number
KR102669784B1
KR102669784B1 KR1020230130795A KR20230130795A KR102669784B1 KR 102669784 B1 KR102669784 B1 KR 102669784B1 KR 1020230130795 A KR1020230130795 A KR 1020230130795A KR 20230130795 A KR20230130795 A KR 20230130795A KR 102669784 B1 KR102669784 B1 KR 102669784B1
Authority
KR
South Korea
Prior art keywords
software
analysis
root cause
unit
target
Prior art date
Application number
KR1020230130795A
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 KR1020230130795A priority Critical patent/KR102669784B1/ko
Application granted granted Critical
Publication of KR102669784B1 publication Critical patent/KR102669784B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • 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/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 일 실시예에 따른 근본원인 분석 시스템은, 마이크로 서비스 환경에서 동작되며 분석 대상의 소프트웨어인 대상 소프트웨어와 대응되도록 기능별로 구분된 독립모듈인 대응독립모듈들로 구성된 비교 소프트웨어를 기초로 상기 대상 소프트웨어의 근본원인을 분석하는 수단인 대응분석툴을 산출하는 분석툴 산출부; 및 상기 대응분석툴을 이용하여 상기 대상 소프트웨어에서 발생되는 비 정상 동작에 대한 근본 원인을 분석하는 원인 분석부;를 포함할 수 있다.

Description

이종 가상화 환경에서의 근본원인 분석 시스템 및 근본원인 분석 방법 {A ROOT CAUSE ANALYSIS SYSTEM E BASED ON HETEROGENEOUS VIRTUALIZATION AND A ANALYSIS METHOD FOR ROOT CAUSE}
본 발명은 이종 가상화 환경에서의 마이크로 서비스 소프트웨어의 근본원인 분석을 위한 솔루션을 제공하기 위한, 근본원인 분석 시스템 및 근본원인 분석 방법에 대한 것이다.
많은 산업 분야에서 컴퓨팅 장치가 활용되는 것에 따라, 사용 목적과 용도에 따라 다양한 소프트웨어들이, 예를 들면 애플리케이션, 필요로 하고 있다. 이를 위해, 다양한 방법으로 소프트웨어가 개발되고 출시되고 있는 상황이다. 대표적으로, 소프트웨어가 개발되는 방법은 크게 두 가지로 구분될 수 있다. 첫번째는 모놀로스 서비스 개발 방식이고, 두번째는 마이크로 서비스 개발 방식이다.
모놀로스 서비스 개발 방식은 모든 프로세스가 긴밀하게 결합된 단일 서비스로서, 초반 구조 설계 및 개발이 간단하며 내부 프로세스 간의 지연 시간이 짧은 장점이 있다. 다만, 모놀로스 서비스 개발 방식은 낮은 모듈성, 낮은 확장성 및 빌드 시간이 긴 단점을 가지고 있다. 마이크로 서비스 개발 방식은 애플리케이션이 독립적인 구성 요소로 구축되어 각 애플리케이션 프로세스가 연결되어 서비스로 실행되는 방식이다. 마이크로 서비스 개발 방식은 개발자 생산성을 향상시키고, 빠르고 지속적인 배포가 가능하며, 테스트 용이성과 안정성을 증가시키는 장점이 있다. 하지만, 마이크로 서비스 개발 방식은 소스 저장소 및 서버가 분리되어 불편함을 가지며, 각 마이크로서비스 간 네트워크 문제가 발생될 수 있다. 특히, 마이크로 서비스 환경 하에서는 마이크로 서비스 별 모니터링 방식과 오류 처리 방식이 서로 상이해서, 마이크로 서비스 전체를 통합적으로 모니터링하는데 어려움이 존재한다.
대한민국 등록특허공보 10-2027749 (2019.10.02. 공고)
본 발명은 상술한 문제점을 해결하기 위한 것으로, 마이크로 서비스의 이상 징후 및 근본원인을 효과적으로 모니터링할 수 있는 근본원인 분석 시스템 및 근본원인 분석 방법을 제공하고자 한다.
본 발명의 일 실시예에 따른 근본원인 분석 시스템은, 마이크로 서비스 환경에서 동작되며 분석 대상의 소프트웨어인 대상 소프트웨어와 대응되도록 기능별로 구분된 독립모듈인 대응독립모듈들로 구성된 비교 소프트웨어를 기초로 상기 대상 소프트웨어의 근본원인을 분석하는 수단인 대응분석툴을 산출하는 분석툴 산출부; 및 상기 대응분석툴을 이용하여 상기 대상 소프트웨어에서 발생되는 비 정상 동작에 대한 근본 원인을 분석하는 원인 분석부;를 포함할 수 있다.
또한, 상기 분석툴 산출부는, 상기 대응독립모듈을 외부 서버로부터 수집하는 모듈수집부, 상기 대응독립모듈들을 이용해 상기 비교 소프트웨어를 구축하고 미리 정해진 제어방법을 통해 상기 비교 소프트웨어를 시뮬레이션하는 시뮬레이션부 및 상기 비교 소프트웨어가 시뮬레이션되면서 발생되는 데이터인 결과정보를 기초로 상기 대응분석툴을 산출하는 근본분석부를 구비할 수 있다.
또한, 상기 분석툴 산출부는, 서로 다른 데이터 수집 수단을 활용하여 시뮬레이션 과정에서 발생되는 로그정보, 메트릭정보 및 트레이스정보로 이루어진 상기 결과정보를 수집하는 데이터수집부를 더 구비할 수 있다.
또한, 상기 데이터수집부는, 상기 로그정보는 Fluentd 데이터 수집 수단을 이용하고, 상기 메트릭 정보는 Prometheus 데이터 수집 수단을 이용하고, 상기 트레이스정보는 Jaeger 데이터 수집 수단을 이용할 수 있다.
또한, 상기 근본분석부는, 상기 미리 정해진 제어방법과 상기 결과정보를 기초로 딥러닝하여 상기 대응분석툴을 산출할 수 있다.
또한, 상기 분석툴 산출부는, 상기 대상 소프트웨어를 이루는 독립모듈인 대상독립모듈과 동일한 상기 대응독립모듈을 구성하여 상기 비교 소프트웨어를 구성하는 비교구성부를 더 구비하고, 상기 비교구성부는, 상기 모듈수집부가 상기 대상독립모듈과 일치한 상기 대응독립모듈을 수집하지 못한 경우, 미리 정해진 보완조건이 만족되는 범위에서 상기 대상독립모듈과 유사한 대응독립모듈을 적어도 하나 포함하여 상기 비교 소프트웨어를 구성할 수 있다.
또한, 상기 분석툴 산출부는, 두 개의 소프트웨어에 대해서 미리 정해진 비교방법으로 근본원인에 대한 결과정보의 일치율을 산출하는 대응도분석부를 더 구비하고, 상기 미리 정해진 보완조건은, 소정 기준 이상의 일치율 이상일 조건일 수 있다.
또한, 상기 분석툴 산출부는, 상기 근본분석부가 딥러닝하여 상기 대응분석툴을 산출하는데 소요될 것으로 예상되는 시간인 생성시간을 산출하는 시간예측부를 더 구비하고, 상기 원인분석부는, 과거에 마이크로 서비스 환경에서 동작되는 소프트웨어인 과거 소프트웨어의 근본원인을 분석했던 수단인 과거분석툴이 저장된 원인저장부 및 미리 정해진 대체조건이 만족되는 경우, 상기 대응분석툴이 산출되는 시간 동안 미리 정해진 선별방법으로 상기 과거분석툴 중 하나를 선별하여, 선별된 과거분석툴을 기초로 상기 대상 소프트웨어의 근본 원인을 분석하는 모니터링부를 구비할 수 있다.
또한, 상기 미리 정해진 대체조건은, 상기 생성시간이 기준시간 초과될 조건이며, 상기 모니터링부는, 상기 대상독립모듈과 동일한 상기 대응독립모듈만으로 상기 비교 소프트웨어가 결정되는 경우의 기준시간과 상기 대상독립모듈과 동일하지 않고 유사한 상기 대응독립모듈이 포함되어 상기 비교 소프트웨어가 결정된 경우의 기준시간을 서로 다르게 고려할 수 있다.
또한, 상기 미리 정해진 선별 방법은, 미리 정해진 순서에 따라 세부 정보가 일치하는지 여부를 기준으로 선별하는 방법인 제1 선별방법 및 미리 정해진 선별방법은 가장 높은 대응률을 선별하는 방법인 제2 선별방법을 구비할 수 있다.
또한, 대상 소프트웨어의 근본원인 분석을 요청한 요청자에게 사용자 인터페이스를 제공하는 인터페이스부;를 더 포함하고, 상기 인터페이스부는, 상기 모듈수집부가 상기 대상독립모듈과 일치한 상기 대응독립모듈을 수집하지 못한 상태에서 학습된 대응분석툴로 상기 대상 소프트웨어의 근본원인을 분석하고 있는 상태에서, 상기 대상독립모듈과 동일한 대응독립모듈로만 비교 소프트웨어를 구성할 수 있는 상황이 발생되는 경우, 소정의 알림을 요청자에게 제공할 수 있다.
본 발명의 일 실시예에 따른 근본원인 분석 시스템은, 마이크로 서비스 환경에서 동작되며 분석 대상의 소프트웨어인 대상 소프트웨어와 대응되도록 기능별로 구분된 독립모듈인 대응독립모듈들로 구성된 비교 소프트웨어를 기초로 상기 대상 소프트웨어의 근본원인을 분석하는 수단인 대응분석툴을 산출하는 분석툴 산출부;을 포함할 수 있다.
본 발명의 일 실시예에 따른 근본원인 분석 방법은, 근본원인 분석 시스템에 의해 구현되며, 마이크로 서비스 환경에서 동작되는 소프트웨어의 근본원인을 분석하기 위한, 근본원인 분석 방법에 있어서, 분석툴 산출부에 의해, 분석 대상의 소프트웨어인 대상 소프트웨어와 대응되도록 기능별로 구분된 독립모듈인 대응독립모듈들로 구성된 비교 소프트웨어를 기초로 상기 대상 소프트웨어의 근본원인을 분석하는 수단인 대응분석툴이 산출되는 단계; 및 원인 분석부에 의해, 상기 대응분석툴이 활용되어 상기 대상 소프트웨어에서 발생되는 비 정상 동작에 대한 근본 원인이 분석되는 단계;를 포함할 수 있다.
본 발명에 따른 이종 가상화 환경에서의 근본원인 분석 시스템 및 근본원인 분석 방법은, 장애 분석 효율성을 높일 수 있다.
또한, 마이크로 서비스의 신뢰도를 향상시킬 수 있다.
다만, 본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 근본원인 분석 시스템의 관계도
도 2는 본 발명의 일 실시예에 따른 근본원인 분석 시스템의 구성도
도 3은 본 발명의 일 실시예에 따른 근본원인 분석 시스템이 실행하는 근본원인 분석 방법의 순서도
도 4는 본 발명의 일 실시예에 따른 근본원인 분석 시스템의 구동을 설명하기 위한 도면
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
도 1은 본 발명의 일 실시예에 따른 근본원인 분석 시스템의 관계도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 근본원인 분석 시스템(100)은 외부서버, 요청자의 컴퓨팅 장치와 유/무선으로 네트워크 가능하게 연결될 수 있다.
본 발명에서 언급하는 무선 네트워크라 함은 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어 망일 수도 있고, TCP/IP 프로토콜 및 그 상위 계층에 존재하는 여러 서비스, 즉 HTTP(Hyper Text Transfer Protocol), HTTPS(Hyper Text Transfer Protocol Secure), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol) 등을 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미할 수 있으며, 이러한 예에 한정하지 않고 다양한 형태로 데이터를 송수신할 수 있는 데이터 통신망을 포괄적으로 의미하는 것이다.
외부 서버(S10)는 기능별로 구분된 독립모듈들을 인터넷 망을 통해 공유하는 서버를 의미할 수 있다.
일례로, 외부 서버는 마켓 플레이스, SockShop일 수 있다.
다만, 이에 한정하지 않고, 상기 외부 서버의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
각각의 독립모듈들은 공유나 프로세스 간 통신이 없이도 독립적으로 실행되며 운영 관리 될 수 있다.
일례로, 독립모듈들은 API를 통해 서로 소통할 수 있다. 독립모듈들은 수직 방향의 기능 별로 소프트웨어 아키텍처가 절단되어 구분될 수 잇다.
일례로, 독립모듈은 컨테이너일 수 있다.
다만, 이에 한정하지 않고, 독립모듈의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
요청자(P10)는 대응 소프트웨어를 사용하며, 대응 소프트웨어의 근본원인 분석을 요청하는 사람 또는 기업일 수 있다.
이하, 요청자의 컴퓨팅 장치와 요청자를 서로 동일한 의미로서 사용될 수 있다.
대상 소프트웨어는 요청자의 컴퓨팅 장치에서 동작되는 소프트웨어로서, 근본원인 분석이 진행되는 소프트웨어를 의미할 수 있다.
소프트웨어는 컴퓨터에게 동작 방법을 지시하는 명령어 집합의 모임을 의미하여, 애플리케이션을 포함할 수 있다.
여기서, 소프트웨어는 클라우드 서버의 가상머신 상에서 구현될 수 있다.
또한, 소프트웨어는 이종 가상화 환경에서 동작되는 소프트웨어일 수 있다.
본 발명에서 언급하는 컴퓨팅 장치는 정보 처리 연산을 처리할 수 있는 장치를 의미할 수 있다.
일례로, 컴퓨팅 장치는 데스크탑 컴퓨터, 노트북, 스마트폰, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 휴대용 단말기 등이 포함되는 이동 단말기 및/또는 스마트 TV 등이 포함될 수 있다.
본 발명에서 언급하는 서버는 서버의 서버 환경을 수행하기 위한 다른 구성들이 포함될 수도 있다. 서버는 임의의 형태의 장치는 모두 포함할 수 있다.
일례로, 서버는 디지털 기기로서, 랩탑 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 웹 패드, 이동 전화기와 같이 프로세서를 탑재하고 메모리를 구비한 연산 능력을 갖춘 디지털 기기일 수 있다.
일례로, 서버는 웹 서버일 수 있다. 다만, 이에 한정하지 않고, 서버의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변경 가능하다.
근본원인 분석 시스템(100)은 요청자(P10)의 근본원인 분석 요청에 따라, 외부서버로부터 독립모듈을 수집하여, 근본원인 분석을 수행할 수 있다.
근본원인 분석 시스템(100)은, 일종의 서버 또는 컴퓨팅 장치일 수 있다.
근본원인 분석 시스템(100)은 가상머신을 요청자에게 제공하여, 근본원인을 분석할 수 있다.
이하, 근본원인 분석 시스템에 대해서 자세하게 서술하도록 한다.
도 2는 본 발명의 일 실시예에 따른 근본원인 분석 시스템의 구성도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 근본원인 분석 시스템은, 마이크로 서비스 환경에서 동작되며 분석 대상의 소프트웨어인 대상 소프트웨어와 대응되도록 기능별로 구분된 독립모듈인 대응독립모듈들로 구성된 비교 소프트웨어를 기초로 상기 대상 소프트웨어의 근본원인을 분석하는 수단인 대응분석툴을 산출하는 분석툴 산출부(110) 및 상기 대응분석툴을 이용하여 상기 대상 소프트웨어에서 발생되는 비 정상 동작에 대한 근본 원인을 분석하는 원인 분석부(120)를 포함할 수 있다.
또한, 상기 근본원인 분석 시스템은, 분석툴 산출부(110), 원인 분석부(120) 및 요청자 간의 소통을 위한 인터페이스를 산출하여 요청자에게 송신하는 인터페이스부(130)를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 분석툴 산출부(110)는, 상기 대응독립모듈을 외부 서버로부터 수집하는 모듈수집부(111), 상기 대응독립모듈들을 이용해 상기 비교 소프트웨어를 구축하고 미리 정해진 제어방법을 통해 상기 비교 소프트웨어를 시뮬레이션하는 시뮬레이션부(112) 및 상기 비교 소프트웨어가 시뮬레이션되면서 발생되는 데이터인 결과정보를 기초로 상기 대응분석툴을 산출하는 근본분석부(113)를 구비할 수 있다.
또한, 상기 분석툴 산출부(110)는, 서로 다른 데이터 수집 수단을 활용하여 시뮬레이션 과정에서 발생되는 로그정보, 메트릭정보 및 트레이스정보로 이루어진 상기 결과정보를 수집하는 데이터수집부(114)를 더 구비할 수 있다.
또한, 상기 분석툴 산출부(110)는, 상기 대상 소프트웨어를 이루는 독립모듈인 대상독립모듈과 동일한 상기 대응독립모듈을 구성하여 상기 비교 소프트웨어를 구성하는 비교구성부(115)를 더 구비할 수 있다.
또한, 상기 분석툴 산출부(110)는, 두 개의 소프트웨어에 대해서 미리 정해진 비교방법으로 근본원인에 대한 결과정보의 일치율을 산출하는 대응도분석부(116) 및 상기 근본분석부(113)가 딥러닝하여 상기 대응분석툴을 산출하는데 소요될 것으로 예상되는 시간인 생성시간을 산출하는 시간예측부(117)를 더 구비할 수 있다.
모듈수집부(111)는 대상 소프트웨어와 대응되도록 기능별로 구분된 독립모듈인 대응독립모듈을 외부서버로부터 수집할 수 있다.
대상 소프트웨어를 구성하는 대상독립모듈과 동일하거나 유사한 독립모듈이 대응독립모듈일 수 있다.
모듈수집부(111)는 비교구성부(115)가 구성한 비교 소프트웨어를 이루는 독립모듈들을 외부 서버로부터 수집하여 비교구성부(115)로 전달할 수 있다.
모듈수집부(111)는 외부서버를 통해 수집할 수 있는 독립모듈들에 대한 정보를 수집할 수 있으며, 수집할 수 있는 독립모듈들에 대한 정보를 비교구성부(115)에 전달할 수 있다.
일례로, 독립모듈에 대한 정보는 독립모듈의 기능, 버전, 제조사, 프로그래밍언어의 종류 등을 포함할 수 있다.
다만, 이에 한정하지 않고, 독립모듈에 대한 정보의 구체적인 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
시뮬레이션부(112)는 비교구성부(115)가 대응독립모듈들로 구성된 비교 소프트웨어를 시뮬레이션할 수 있다.
즉, 시뮬레이션부(112)는 미리 정해진 제어방법으로 비교 소프트웨어를 시뮬레이션할 수 있다.
여기서, 미리 정해진 제어방법은 정상적인 상황과 비 정상적인(장애) 상황으로 각각 비교 소프트웨어를 동작시키는 방법일 수 있다.
일례로, 정상적인 상황은 비교 소프트웨어의 사용목적에 부합되게 동작되는 상황을 의미할 수 있다.
일례로, 정상적인 상황은 비교 소프트웨어가 온라인 쇼핑을 위한 어플리케이션일 때, 검색, 주문, 결제, 배송 정보 송신 등의 일련의 프로세스가 오류없이 구현되는 상황을 의미할 수 있다.
일례로, 비 정상적인 상황은 비교 소프트웨어가 온라인 쇼핑을 위한 어플리케이션일 때, 검색이 안되는 상황, 주문 후에 결재 페이지가 오류가 나는 상황 등, 쇼핑의 일련 프로세스에 오류가 발생되는 상황을 의미할 수 있다.
데이터수집부(114)는 서로 다른 데이터 수집 수단을 활용하여 시뮬레이션 과정에서 발생되는 로그정보, 메트릭정보 및 트레이스정보로 이루어진 상기 결과정보를 수집할 수 있다.
즉, 데이터수집부(114)는 각각의 대응독립모듈에 데이터 수집 수단을 설치하여, 필요한 결과정보를 수집할 수 있다.
일례로, 상기 로그정보는 Fluentd 데이터 수집 수단을 이용하고, 상기 메트릭 정보는 Prometheus 데이터 수집 수단을 이용하고, 상기 트레이스정보는 Jaeger 데이터 수집 수단을 이용할 수 있다.
다만, 이에 한정하지 않고, 상기 데이터수집부(114)가 활용하는 데이터 수집 수단의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
근본분석부(113)는 미리 정해진 제어방법과 미리 정해진 제어방법을 통해 구현된 방법에 대응되는 결과정보를 기초로 대응분석툴을 산출할 수 있다.
구체적으로, 상기 미리 정해진 제어방법과 상기 결과정보를 기초로 딥러닝하여 상기 대응분석툴을 산출할 수 있다. 미리 정해진 제어방법에는 근본원인이 무엇인지를 기준으로 비교 소프트웨어를 제어하는 방법일 수 있다.
여기서, 딥러닝은 출력 레이어의 레이블 된 데이터(labeled data)를 이용하여 신경망의 가중치(weight)를 업데이트하는 알고리즘인 백 프로파게이션(Back Propagation) 알고리즘을 이용한 것일 수 있으나, 이에 한정하는 것은 아니다.
또한, 심층 신경망 및 백 프로파게이션(Back Progation) 알고리즘은 종래에 공지된 바와 같으므로, 이에 대한 구체적인 설명은 생략될 수 있다
비교구성부(115)는 상기 모듈수집부(111)가 상기 대상독립모듈과 일치한 상기 대응독립모듈을 수집하지 못한 경우, 미리 정해진 보완조건이 만족되는 범위에서 상기 대상독립모듈과 유사한 대응독립모듈을 적어도 하나 포함하여 상기 비교 소프트웨어를 구성할 수 있다.
상기 미리 정해진 보완조건은 소정 기준 이상의 일치율 이상일 조건일 수 있다.
일례로, 소정 기준은 일치율 90% 일 수 있다.
다만, 이에 한정하지 않고, 소정 기준의 구체적인 수치는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
우선, 비교구성부(115)는 요청자의 요청정보 내에 있는 대상 소프트웨어를 구성하는 대상독립모듈에 대한 정보를 기초로, 대상독립모듈과 동일한 독립모듈들로 대응독립모듈을 설정할 수 있다.
다만, 대상독립모듈과 동일한 독립모듈을 외부서버로부터 수집할 수 없다면, 비교구성부(115)는 미리 정해진 보완 조건이 만족되는 범위에서 대상독립모듈과 유사한 독립모듈은 대응독립모듈로 설정할 수 있다.
대상독립모듈은 외부서버에서 수집할 수 없는 대상독립모듈과 동일한 독립모듈을 대체하였을 때 미리 정해진 보완조건이 만족되는 독립모듈을 선정하여, 비교 소프트웨어를 구성할 수 있다.
이러한 판단을 위해서, 비교구성부(115)는 대응도분석부(116)에 대상 소프트웨어와 후보의 비교 소프트웨어와의 일치율의 판단을 요청할 수 있다.
대응도분석부(116)는 소프트웨어에 대한 정보, 소프트웨어의 제어방법, 제어방법에 따른 소프트웨어의 결과정보 및 결과정보에 대한 일치율을 딥러닝하여, 소프트웨어 정보만으로 소프트웨어 간의 결과정보에 대한 일치율을 산출하는 일치율모델을 학습할 수 있다.
여기서 소프트웨어의 정보는 소프트웨어를 이루는 독립모듈들에 대한 정보(독립모듈의 기능, 버전, 제조사, 프로그래밍언어의 종류, 독립모듈들 관의 연결 관계 등)를 포함할 수 있다.
일례로, 일치율은 0% 내지 100% 사이의 수치로 표현될 수 있다.
다만, 이에 한정하지 않고, 일치율을 나타내는 표현 방법은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
시간예측부(117)는 근본분석부(113)가 딥러닝하여 상기 대응분석툴을 산출하는데 소요될 것으로 예상되는 시간을 산출할 수 있다.
일례로, 시간예측부(117)는 과거의 비교 소프트웨어에 대한 정보(독립모듈의 기능, 버전, 제조사, 프로그래밍언어의 종류, 독립모듈들 관의 연결 관계 등)과 그 과거의 대응분석툴의 학습시간을 기초로 딥러닝하여 시간예측모델을 학습할 수 있다.
여기서, 딥러닝 알고리즘에 대한 구체적인 설명은 공지된 기술과 중복되는 한도에서 생략될 수 있다.
시간예측부(117)는 근본분석부(113) 및/또는 비교구성부(115)로부터 비교 대응소프트웨어에 대한 정보를 전달받아 시간예측모델을 활용하여 대응분석툴의 학습시간인 생성시간을 산출할 수 있다.
본 발명의 일 실시예에 따른 원인 분석부(120)는, 과거에 마이크로 서비스 환경에서 동작되는 소프트웨어인 과거 소프트웨어의 근본원인을 분석했던 수단인 과거분석툴이 저장된 원인저장부(121) 및 미리 정해진 대체조건이 만족되는 경우, 상기 대응분석툴이 산출되는 시간 동안 미리 정해진 선별방법으로 상기 과거분석툴 중 하나를 선별하여, 선별된 과거분석툴을 기초로 상기 대상 소프트웨어의 근본 원인을 분석하는 모니터링부(122)를 구비할 수 있다.
원인저장부(121)는 과거의 소프트웨어에 대한 정보와 과거분석툴이 서로 매칭되어 저장되어 있을 수 있다.
일례로, 과거의 소프트웨어에 대한 정보는 소프트웨어를 구성하는 독립모듈의 기능, 버전, 제조사, 프로그래밍언어의 종류, 독립모듈들 관의 연결 관계를 포함할 수 있다.
원인저장부(121)는 분석툴이 구동되었던 히스토리를 모두 저장할 수 있다.
일례로, 분석툴에 입력되었던 동작정보, 분석툴이 분석하였던 근본원인 결과 등에 대한 히스토리가 원인저장부(121)에 저장될 수 있다.
모니터링부(122)는 요청자의 컴퓨팅 장치 또는 가상머신에서 구동되는 대상 소프트웨어에서 발생되면서 발생되는 데이터인 동작정보들을 모니터링하여, 대상 소프트웨어가 비 정상적으로 동작되는지 여부를 판단할 수 있다.
여기서, 동작정보는 대상 소프트웨어의 로그정보, 메트릭정보 및 트레이스정보를 포함할 수 있다.
또한, 모니터링부(122)의 장애 판단 기능을 수행하기 위해서, 딥러닝 기반의 장애판단모델이 활용될 수 있으며, 이에 대한 자세한 설명은 공지된 기술과 중복되는 한도에서 생략될 수 있다.
모니터링부(122)는 대상 소프트웨어가 비 정상적으로 동작한다고 판단하는 경우, 비 정상 판단한 동작정보를 기초로 인과분석을 수행할 수 있다.
이러한, 인과 분석을 수행하기 위해서, 딥러닝 기반의 인과분석모델이 활용될 수 있으며, 이에 대한 자세한 설명은 공지된 기술과 중복되는 한도에서 생략될 수 있다.
모니터링부(122)는 대응분석툴에 동작정보를 입력하여, 대상 소프트웨어의 장애의 근본원인이 무엇인지 파악할 수 있다.
모니터링부(122)가 파악한 근본원인에 대한 정보는 인터페이스부(130)에 전달되며, 인터페이스부(130)는 근본원인을 대응독립모듈들의 관계 이미지에 오버랩되어 표시되는 인터페이스를 산출하여 요청자에 송신할 수 있다.
여기서, 장애 판단, 인과분석 및 근본원인 분석은 차례로 진행될 수 있으나, 이에 본 발명이 한정되는 것은 아니고, 각각의 판단/분석의 순서는 변경되거나 병렬적으로 수행될 수 있다.
모니터링부(122)는 대응분석툴 또는 선별된 과거분석툴 중 하나로 대상 소프트웨어의 장애의 근본원인이 무엇인지 분석할 수 있다.
구체적으로, 모니터링부(122)는 대응분석툴이 근본분석부(113)에 의해 학습되는 도중에 선별된 과거분석툴을 활용할 수 있다. 다만, 대응분석툴이 생성되면, 모니터링부(122)는 선별된 과거분석툴이 아닌 대응분석툴을 활용할 수 있다.
미리 정해진 대체조건은 대응분석툴의 생성시간이 기준시간 초과될 조건일 수 있다.
여기서, 상기 모니터링부(122)는 상기 대상독립모듈과 동일한 상기 대응독립모듈만으로 상기 비교 소프트웨어가 결정되는 경우의 기준시간과 상기 대상독립모듈과 동일하지 않고 유사한 상기 대응독립모듈이 포함되어 상기 비교 소프트웨어가 결정된 경우의 기준시간을 서로 다르게 고려할 수 있다.
일례로, 상기 대상독립모듈과 동일한 상기 대응독립모듈만으로 상기 비교 소프트웨어가 결정되는 경우의 기준시간은 제1 기준시간이라고 정의할 수 있고, 상기 대상독립모듈과 동일하지 않고 유사한 상기 대응독립모듈이 포함되어 상기 비교 소프트웨어가 결정된 경우의 기준시간은 제2 기준시간이라고 정의할 수 있다.
상기 제1 기준시간은 상기 제2 기준시간보다 더 길 수 있다.
이는, 요청자에게 더 좋은 서비스를 제공하기 위해서, 제2 기준시간을 더 짧게 고려하여, 대응분석툴이 학습되는 시간 동안의 서비스 공백을 완화하기 위함일 수 있다.
또한, 미리 정해진 대체조건은 요청자가 대응분석툴의 학습 시간 동안 과거분석툴을 통해 근본원인 분석을 허용한다는 승인이 있을 조건을 더 구비할 수 있다.
또한, 미리 정해진 대체조건은 미리 정해진 선별방법으로 선별되는 과거의 분석툴이 적어도 하나 존재할 조건일 수 있다.
모니터링부(122)는 대응분석툴과 원인저장부(121)에 저장된 과거분석툴 간의 대응율을 산출하는 모델을 학습할 수 있다.
모니터링부(122)는 분석툴에 동일한 동작정보가 입력되었을 때, 분석툴이 분석하는 근본원인이 일치하는지 여부로서 대응률을 산출하는 대응률모델을 딥러닝을 통해 학습할 수 있다.
이를 위해, 모니터링부(122)는 과거에 수행되었던 근본원인 분석들에 대한 정보(일례로, 분석툴, 분석툴에 입력되는 동작정보 및 분석툴에 의해 산출되는 장애의 근본원인 등)를 원인저장부(121)로부터 전달받을 수 있으며, 모니터링부(122)는 원인저장부(121)로부터 전달받은 정보를 기초로 딥러닝하여 대응률모델을 학습할 수 있다.
대응률이 높을수록 근원원인의 분석 결과가 일치할 확률이 높아지고, 대응률이 낮을수록 근본원인의 분석 결과가 일치할 확률이 낮아질 수 있다.
일례로, 대응률을 0% 내지 100% 사이의 수치로 표현될 수 있다.
다만, 이에 한정하지 않고, 상기 대응률을 표시하는 구체적인 수치는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
미리 정해진 선별방법은 대응분석툴의 근본원인 분석 결과와 소정 기준(대응률) 초과로 일치하는 과거분석툴을 선별하는 방법일 수 있다. 이를 위해, 모니터링부(122)는 대응률모델을 이용하여 대응분석툴과 원
원인저장부(121)에 저장된 과거분석툴의 대응률을 산출할 수 있다.
일례로, 소정 기준(대응률)은 90%일 수 있다.
다만, 이에 한정하지 않고, 소정 기준의 구체적인 수치는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
구체적으로, 미리 정해진 순서에 따라 세부 정보가 일치하는지 여부를 기준으로 선별하는 방법인 제1 선별방법 및 미리 정해진 선별방법은 가장 높은 대응률을 선별하는 방법인 제2 선별방법을 구비할 수 있다.
모니터링부(122)는 제1 대응률구간이 존재할 경우, 제1 선별방법에 따라 과거 분석툴 중에 하나의 분석툴을 선별할 수 있다.
일례로, 제1 대응률구간은 대응률 95% 초과 100% 미만의 구간일 수 있다.
다만, 이에 한정하지 않고, 제1 대응률구간의 구체적인 수치는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
이와 달리, 모니터링부(122)는 제1 대응률구간이 존재하지 않고, 제2 대응률구간이 존재할 경우, 제1 선별방법이 아닌, 제2 선별방법에 따라 과거 분석툴 중에 하나의 분석툴을 선별할 수 있다.
일례로, 제2 대응률구간은 대응률 90% 초과 95% 이하의 구간일 수 있다.
다만, 이에 한정하지 않고, 제2 대응률구간의 구체적인 수치는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
제1 선별방법은 제1 대응률구간 만큼 대응분석툴과 대응되는 과거의 분석툴 중에서 대응분석툴의 세부 정보와 일치되는 세부 정보를 가지는 과거의 분석툴을 선별하는 방법일 수 있다.
세부 정보는 대응분석툴의 기초가 되는 소프트웨어에 대한 정보들을 의미할 수 있다.
일례로, 세부 정보는 분석툴의 기초가 되는 소프트웨어의 프로그래밍언어, 소프트웨어의 버전 및 소프트웨어의 제조사를 포함할 수 있다.
다만, 이에 한정하지 않고, 세부 정보의 구체적인 내용은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
여기서, 일치하는 세부 정보가 복수일 경우, 미리 정해진 순서에 따라 일치되는 세부 정보를 확인하여, 과거 분석툴 중에서 하나를 선별할 수 있다.
일례로, 제1 대응률구간 만큼 대응분석툴과 대응되는 과거의 분석툴 'A', 'B', 'C'가 있다고 가정할 수 있다. 여기서, 대응분석툴의 세부 정보는 'Java' 프로그래밍 언어, '3.0 Ver.', 'Q제조사'일 수 있고, 'A' 분석툴의 세부 정보는 'C언어'프로그래밍 언어, '2.1 Ver', 'Q제조사'일 수 있고, 'B' 분석툴의 세부 정보는 'Java'프로그래밍 언어, '3.1 Ver', 'Q제조사'일 수 있고, 'C' 분석툴의 세부 정보는 'C언어'프로그래밍 언어, '3.0 Ver', 'Q제조사'라고 가정할 경우, 모든 과거 분석툴의 제조사가 대응분석툴의 제조사와 동일할지라도, 미리 정해진 순서에 따라 프로그래밍 언어가 일치하는 'B' 분석툴이 선정될 수 있다.
일례로, 미리 정해진 순서는, 프로그래밍 언어, 버전 및 제조사 순일 수 있다.
다만, 이에 한정하지 않고, 미리 정해진 순서의 구체적인 순서는 통상의 기술자에게 자명한 수준에서 다양하게 변경 가능하다.
프로그래밍 언어가 일치해야 근본원인 분석의 일치율이 높기 때문에, 프로그래밍 언어를 첫번째 순서로서 고려되는 것일 수 있다.
인터페이스부(130)는 대상 소프트웨어의 근본원인 분석을 요청한 요청자에게 사용자 인터페이스를 제공할 수 있다.
구체적으로, 인터페이스부(130)는 요청자와 분석툴 산출부(110) 및 원인 분석부(120)가 서로 소통할 수 있는 사용자 인터페이스를 산출하여 요청자에게 제공할 수 있다.
일례로, 인터페이스부(130)는 요청자가 근원원인의 분석을 요청하는 이미지 및 아이콘이 표시된 사용자 인터페이스를 산출하여 요청자에게 제공할 수 있다.
일례로, 인터페이스부(130)는 요청자가 요청정보를 입력할 수 있는 사용자 인터페이스를 산출하여 요청자에게 제공할 수 있다.
여기서, 요청정보는 근본원인 분석을 의뢰하는 신청서 및 대상 소프트웨어에 대한 정보(독립모듈의 기능, 버전, 제조사, 프로그래밍언어의 종류, 독립모듈들 관의 연결 관계 등)들을 포함할 수 있다.
일례로, 인터페이스부(130)는 비교 소프트웨어에 대한 정보를 표시하고, 비교 소프트웨어를 확정하는 승낙을 요청하는 사용자 인터페이스를 산출하여 요청자에게 제공할 수 있다. 이 때, 대상독립모듈과 유사한 대응독립모듈에 대해서 요청자에게 선택을 요청하는 구성이 사용자 인터페이스에 표시될 수 있다.
일례로, 미리 정해진 대체조건이 만족될 때, 대응분석툴이 학습되는 동안에 과거의 분석툴로 대신하여 모니터링 업무를 수행할지에 대해서 요청자에게 질의하고 요청자의 결정을 회신할 수 있는 사용자 인터페이스를 인터페이스부(130)는 산출할 수 있다.
미리 정해진 보완조건이 만족되는 범위에서 상기 대상독립모듈과 유사한 대응독립모듈을 적어도 하나 포함하여 비교 소프트웨어가 구성된 후, 대응분석툴 혹은 과거의 분석툴에 의해 근본원인 분석이 실시되고 있는 상황에서, 상기 대상독립모듈과 동일한 대응독립모듈로만 비교 소프트웨어를 구성할 수 있는 상황이 발생되는 경우, 인터페이스부(130)는 소정의 알람을 요청자에게 제공할 수 있다.
여기서, 소정의 알람은 요청자에게 대응분석툴을 업데이트할 수 있다는 알람일 수 있다.
이를 통해, 요청자는 더욱 정확할 수 있는 대응분석툴로 변경할 수 있다.
이를 위해서, 모듈수집부(111)는 실시간으로 과거에 존재하지 않았던 독립모듈들을 검색하고 수집할 수 있다.
이하, 근본원인 분석 시스템에 의해 구현되는 근본원인 분석 방법에 대해서 자세하게 서술하도록 한다.
도 3은 본 발명의 일 실시예에 따른 근본원인 분석 시스템이 실행하는 근본원인 분석 방법의 순서도이고, 도 4는 본 발명의 일 실시예에 따른 근본원인 분석 시스템의 구동을 설명하기 위한 도면이다.
도 3 및 도 4를 참조하면, 본 발명의 일 실시예에 따른 근본원인 분석 방법은, 근본원인 분석 시스템에 의해 구현되며, 마이크로 서비스 환경에서 동작되는 소프트웨어의 근본원인을 분석하기 위한, 근본원인 분석 방법에 있어서, 분석툴 산출부(110)에 의해, 분석 대상의 소프트웨어인 대상 소프트웨어와 대응되도록 기능별로 구분된 독립모듈인 대응독립모듈들로 구성된 비교 소프트웨어를 기초로 상기 대상 소프트웨어의 근본원인을 분석하는 수단인 대응분석툴이 산출되는 단계 및 원인 분석부(120)에 의해, 상기 대응분석툴이 활용되어 상기 대상 소프트웨어에서 발생되는 비 정상 동작에 대한 근본 원인이 분석되는 단계를 포함할 수 있다.
요청자는 근본원인 분석의 요청 또는 대상 소프트웨어의 모니터링 업무를 인터페이스부(130)가 제공하는 사용자 인터페이스를 통해 요청할 수 있다.
요청자의 컴퓨팅 장치는 요청정보를 인터페이스부(130)로 전송할 수 있다.
인터페이스부(130)가 수신한 요청정보는 비교구성부(115) 및/또는 모듈수집부(111)로 전송될 수 있으며, 모듈수집부(111)는 요청정보에 기반하여 비교 소프트웨어를 구성하기 위한 독립모듈들을 외부 서버로부터 수집할 수 있다.
비교구성부(115)는 모듈수집부(111)가 수집하는 독립모듈들을 기초로 비교 소프트웨어를 구성할 수 있다.
여기서, 비교 소프트웨어는 대상독립모듈들과 모두 동일한 독립모듈들로 구성되거나, 대상독립모듈과 동일한 독립모듈과 대상독립모듈과 유사한 독립모듈로 구성될 수 있다. 이를 위해, 대응도분석부(116)는 일치율 분석을 실시하고, 분석 결과를 비교구성부(115)로 전달할 수 있다. 이에 대한 자세한 설명은 상술한 내용과 중복되는 한도에서 생략될 수 있다.
비교구성부(115)가 결정한 비교 소프트웨어에 대해서 인터페이스부(130)는 요청자에게 확임 받을 수 있다.
이는, 비교 소프트웨어가 대상독립모듈과 동일하지 않은 독립모듈을 포함할 수 있기 때문일 수 있다. 이 때, 대상독립모듈과 동일하지 않은 독립모듈에 대한 정보(기능, 프로그래밍언어, 제조사, 버전 등)를 다른 정보보다 부각하여 사용자 인터페이스 상에 표시될 수 있다.
요청자가 특정된 비교 소프트웨어에 대해서 승낙할 경우, 비교 구성부는 비교 소프트웨어를 시뮬레이션부(112)에 제공하며, 시뮬레이션부(112)는 비교 소프트웨어에 대해서 미리 정해진 방법으로 시뮬레이션할 수 있다.
데이터수집부(114)는 시뮬레이션 과정에서 발생되는 결과정보를 수집하여 근본분석부(113)로 전달할 수 있으며, 근본분석부(113)는 전달받은 정보를 기초로 대응분석툴을 딥러닝 학습할 수 있다.
시간예측부(117)는 대응분석툴의 학습시간을 예측하여, 근본분석부(113)에 전달할 수 있다. 근본분석부(113)는 대응분석툴과 예측된 생성시산을 모니터링부(122)에 전달할 수 있다.
대응분석툴의 생성시간이 기준시간 초과되고, 미리 정해진 선별방법으로 선별되는 과거의 분석툴이 적어도 하나 존재할 경우, 모니터링부(122)는 인터페이스부(130)를 통해 대응분석툴의 학습 시간 동안 과거분석툴을 통해 근본원인 분석을 허용하는지에 대해서 문의할 수 있다.
이에 대해, 요청자의 승낙이 있을 경우, 미리 정해진 대체조건이 만족되는 것으로서, 모니터링부(122)는 미리 정해진 선별방법으로 상기 과거분석툴 중 하나를 선별하여, 대응분석툴이 학습되는 동안에 선별된 과거분석툴을 기초로 상기 대상 소프트웨어의 근본 원인을 분석할 수 있다.
요청자의 모니터링 프로세스의 승낙이 있는 경우, 모니터링부(122)는 대응분석툴 혹은 과거의 분석툴을 이용하여 대상 소프트웨어의 이상 동작을 실시간 감시할 수 있다.
이를 위해, 요청자의 컴퓨팅 장치는 동작정보를 인터페이스부(130)를 통해 모니터링부(122)로 전송할 수 있다.
모니터링부(122)는 대상 소프트웨어의 이상징후 탐지, 인과분석 및 근본원인 분석을 실시할 수 있다.
본 발명의 근본원인 분석 시스템은 복수개의 소프트웨어를 동시적으로 모니터링하여, 근본원인을 분석할 수 있다.
더욱이, 본 발명의 근본원인 분석 시스템은 이종 가상화 환경에서 동작되는 복수개의 소프트웨어를 동시적으로 모니터링하여, 근본원인을 분석할 수 있다.
일례로, 일반적인 가상머신 환경과 컨테니어 환경의 가상화 환경에서 동작되는 복수개의 소프트웨어를 동시적으로 모니터링하여, 근본원인을 분석할 수 있다.
이하, 상술한 내용과 중복되는 한도에서, 자세한 설명은 생략될 수 있다.
상술한 발명으로 인해, 마이크로 서비스의 근본원인 분석을 이상탐지에 기반하여 쉽고 정확하게 분석할 수 있다.
이에, 대한 자세한 설명은 상술한 내용과 중복되는 한도에서 생략될 수 있다.
첨부된 도면은 본 발명의 기술적 사상을 보다 명확하게 표현하기 위해, 본 발명의 기술적 사상과 관련성이 없거나 떨어지는 구성에 대해서는 간략하게 표현하거나 생략하였다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
100 : 근본원인 분석 시스템 110 : 분석툴 산출부
120 : 원인분석부 130 : 인터페이스부

Claims (13)

  1. 마이크로 서비스 환경에서 동작되며 분석 대상의 소프트웨어이며 독립모듈인 대상독립모듈들로 이루어진 대상 소프트웨어와 대응되도록 기능별로 구분된 독립모듈인 대응독립모듈들로 구성된 비교 소프트웨어를 기초로 상기 대상 소프트웨어의 근본원인을 분석하는 수단인 대응분석툴을 산출하는 분석툴 산출부; 및
    상기 대응분석툴을 이용하여 상기 대상 소프트웨어에서 발생되는 비 정상 동작에 대한 근본 원인을 분석하는 원인 분석부;를 포함하고,
    상기 분석툴 산출부는,
    상기 대응독립모듈을 외부 서버로부터 수집하는 모듈수집부, 상기 대상독립모듈과 동일한 상기 대응독립모듈로 상기 비교 소프트웨어를 구성하는 비교구성부, 상기 대응독립모듈들을 이용해 상기 비교 소프트웨어를 구축하고 미리 정해진 제어방법을 통해 상기 비교 소프트웨어를 시뮬레이션하는 시뮬레이션부, 상기 비교 소프트웨어가 시뮬레이션되면서 발생되는 데이터인 결과정보를 기초로 상기 대응분석툴을 산출하는 근본분석부를 구비하고,
    상기 비교구성부는,
    상기 모듈수집부가 상기 대상독립모듈과 일치한 상기 대응독립모듈을 수집하지 못한 경우, 수집할 수 없는 상기 대상독립모듈과 동일한 독립모듈 대체해 미리 정해진 보완조건이 만족되는 범위에서 상기 대상독립모듈과 유사한 상기 대응독립모듈을 적어도 하나 포함하여 상기 비교 소프트웨어를 구성하는,
    근본원인 분석 시스템.
  2. 제1항에 있어서,
    상기 미리 정해진 제어방법은,
    정상적인 상황과 비 정상적인 상황으로 각각 상기 비교 소프트웨어를 동작시키는 방법인,
    근본원인 분석 시스템.
  3. 제1항에 있어서,
    상기 분석툴 산출부는,
    서로 다른 데이터 수집 수단을 활용하여 시뮬레이션 과정에서 발생되는 로그정보, 메트릭정보 및 트레이스정보로 이루어진 상기 결과정보를 수집하는 데이터수집부를 더 구비하는,
    근본원인 분석 시스템.
  4. 제3항에 있어서,
    상기 데이터수집부는,
    상기 로그정보는 Fluentd 데이터 수집 수단을 이용하고, 상기 메트릭 정보는 Prometheus 데이터 수집 수단을 이용하고, 상기 트레이스정보는 Jaeger 데이터 수집 수단을 이용하는,
    근본원인 분석 시스템.
  5. 제3항에 있어서,
    상기 근본분석부는,
    상기 미리 정해진 제어방법과 상기 결과정보를 기초로 딥러닝하여 상기 대응분석툴을 산출하는,
    근본원인 분석 시스템.
  6. 제1항에 있어서,
    상기 분석툴 산출부는,
    상기 근본분석부가 딥러닝하여 상기 대응분석툴을 산출하는데 소요될 것으로 예상되는 시간인 생성시간을 산출하는 시간예측부를 더 구비하고,
    상기 원인분석부는,
    과거에 마이크로 서비스 환경에서 동작되는 소프트웨어인 과거 소프트웨어의 근본원인을 분석했던 수단인 과거분석툴이 저장된 원인저장부 및 미리 정해진 대체조건이 만족되는 경우, 상기 대응분석툴이 산출되는 시간 동안 미리 정해진 선별방법으로 상기 과거분석툴 중 하나를 선별하여, 선별된 과거분석툴을 기초로 상기 대상 소프트웨어의 근본 원인을 분석하는 모니터링부를 구비하는,
    근본원인 분석 시스템.
  7. 제1항에 있어서,
    상기 분석툴 산출부는,
    두 개의 소프트웨어에 대해서 미리 정해진 비교방법으로 근본원인에 대한 결과정보의 일치율을 산출하는 대응도분석부를 더 구비하고,
    상기 미리 정해진 보완조건은,
    소정 기준 이상의 일치율 이상일 조건인,
    근본원인 분석 시스템.
  8. 마이크로 서비스 환경에서 동작되며 분석 대상의 소프트웨어이며 독립모듈인 대상독립모듈들로 이루어진 대상 소프트웨어와 대응되도록 기능별로 구분된 독립모듈인 대응독립모듈들로 구성된 비교 소프트웨어를 기초로 상기 대상 소프트웨어의 근본원인을 분석하는 수단인 대응분석툴을 산출하는 분석툴 산출부; 및
    상기 대응분석툴을 이용하여 상기 대상 소프트웨어에서 발생되는 비 정상 동작에 대한 근본 원인을 분석하는 원인 분석부;를 포함하고,
    상기 분석툴 산출부는,
    상기 대응독립모듈을 외부 서버로부터 수집하는 모듈수집부, 상기 대응독립모듈들을 이용해 상기 비교 소프트웨어를 구축하고 미리 정해진 제어방법을 통해 상기 비교 소프트웨어를 시뮬레이션하는 시뮬레이션부, 상기 비교 소프트웨어가 시뮬레이션되면서 발생되는 데이터인 결과정보를 기초로 상기 대응분석툴을 산출하는 근본분석부 및 상기 근본분석부가 딥러닝하여 상기 대응분석툴을 산출하는데 소요될 것으로 예상되는 시간인 생성시간을 산출하는 시간예측부를 구비하고,
    상기 원인분석부는,
    과거에 마이크로 서비스 환경에서 동작되는 소프트웨어인 과거 소프트웨어의 근본원인을 분석했던 수단인 과거분석툴이 저장된 원인저장부 및 미리 정해진 대체조건이 만족되는 경우, 상기 대응분석툴이 산출되는 시간 동안 미리 정해진 선별방법으로 상기 과거분석툴 중 하나를 선별하여, 선별된 과거분석툴을 기초로 상기 대상 소프트웨어의 근본 원인을 분석하는 모니터링부를 구비하는,
    근본원인 분석 시스템.
  9. 제8항에 있어서,
    상기 미리 정해진 대체조건은,
    상기 생성시간이 기준시간 초과될 조건이며,
    상기 모니터링부는,
    상기 대상독립모듈과 동일한 상기 대응독립모듈만으로 상기 비교 소프트웨어가 결정되는 경우의 기준시간과 상기 대상독립모듈과 동일하지 않고 유사한 상기 대응독립모듈이 포함되어 상기 비교 소프트웨어가 결정된 경우의 기준시간을 서로 다르게 고려하는,
    근본원인 분석 시스템.
  10. 제9항에 있어서,
    상기 미리 정해진 선별 방법은,
    미리 정해진 순서에 따라 세부 정보가 일치하는지 여부를 기준으로 선별하는 방법인 제1 선별방법 및 미리 정해진 선별방법은 가장 높은 대응률을 선별하는 방법인 제2 선별방법을 구비하는,
    근본원인 분석 시스템.
  11. 제1항에 있어서,
    대상 소프트웨어의 근본원인 분석을 요청한 요청자에게 사용자 인터페이스를 제공하는 인터페이스부;를 더 포함하고,
    상기 인터페이스부는,
    상기 모듈수집부가 상기 대상독립모듈과 일치한 상기 대응독립모듈을 수집하지 못한 상태에서 학습된 대응분석툴로 상기 대상 소프트웨어의 근본원인을 분석하고 있는 상태에서, 상기 대상독립모듈과 동일한 대응독립모듈로만 비교 소프트웨어를 구성할 수 있는 상황이 발생되는 경우, 소정의 알림을 요청자에게 제공하는,
    근본원인 분석 시스템.
  12. 마이크로 서비스 환경에서 동작되며 분석 대상의 소프트웨어이며 독립모듈인 대상독립모듈들로 이루어진 대상 소프트웨어와 대응되도록 기능별로 구분된 독립모듈인 대응독립모듈들로 구성된 비교 소프트웨어를 기초로 상기 대상 소프트웨어의 근본원인을 분석하는 수단인 대응분석툴을 산출하는 분석툴 산출부;를 포함하고,
    상기 분석툴 산출부는,
    상기 대응독립모듈을 외부 서버로부터 수집하는 모듈수집부, 상기 대상독립모듈과 동일한 상기 대응독립모듈로 상기 비교 소프트웨어를 구성하는 비교구성부, 상기 대응독립모듈들을 이용해 상기 비교 소프트웨어를 구축하고 미리 정해진 제어방법을 통해 상기 비교 소프트웨어를 시뮬레이션하는 시뮬레이션부, 상기 비교 소프트웨어가 시뮬레이션되면서 발생되는 데이터인 결과정보를 기초로 상기 대응분석툴을 산출하는 근본분석부를 구비하고,
    상기 비교구성부는,
    상기 모듈수집부가 상기 대상독립모듈과 일치한 상기 대응독립모듈을 수집하지 못한 경우, 수집할 수 없는 상기 대상독립모듈과 동일한 독립모듈 대체해 미리 정해진 보완조건이 만족되는 범위에서 상기 대상독립모듈과 유사한 상기 대응독립모듈을 적어도 하나 포함하여 상기 비교 소프트웨어를 구성하는,
    근본원인 분석 시스템.
  13. 근본원인 분석 시스템에 의해 구현되며, 마이크로 서비스 환경에서 동작되는 소프트웨어의 근본원인을 분석하기 위한, 근본원인 분석 방법에 있어서,
    분석툴 산출부에 의해, 분석 대상의 소프트웨어이며 독립모듈인 대상독립모듈들로 이루어진 대상 소프트웨어와 대응되도록 기능별로 구분된 독립모듈인 대응독립모듈들로 구성된 비교 소프트웨어를 기초로 상기 대상 소프트웨어의 근본원인을 분석하는 수단인 대응분석툴이 산출되는 단계; 및
    원인 분석부에 의해, 상기 대응분석툴이 활용되어 상기 대상 소프트웨어에서 발생되는 비 정상 동작에 대한 근본 원인이 분석되는 단계;를 포함하고,
    상기 대응분석툴이 산출되는 단계는,
    상기 분석툴 산출부의 모듈수집부에 의해, 외부서버로부터 상기 대응독립모듈이 수집되는 단계, 상기 분석툴 산출부의 비교구성부에 의해, 상기 모듈수집부가 수집하는 독립모듈들을 기초로 상기 비교 소프트웨어가 구성되는 단계, 상기 분석툴 산출부의 시뮬레이션부에 의해, 미리 정해진 제어방법을 통해 상기 비교 소프트웨어가 시뮬레이션되는 단계 및 상기 분석툴 산출부의 근본분석부에 의해, 상기 비교 소프트웨어가 시뮬레이션되면서 발생되는 데이터인 결과정보를 기초로 상기 대응분석툴이 산출되는 단계를 구비하고,
    상기 비교 소프트웨어가 구성되는 단계는,
    상기 대상독립모듈과 동일한 상기 대응독립모듈로 상기 비교 소프트웨어를 구성하거나, 상기 모듈수집부가 상기 대상독립모듈과 일치한 상기 대응독립모듈을 수집하지 못한 경우 수집할 수 없는 상기 대상독립모듈과 동일한 독립모듈 대체해 미리 정해진 보완조건이 만족되는 범위에서 상기 대상독립모듈과 유사한 상기 대응독립모듈을 적어도 하나 포함하여 상기 비교 소프트웨어를 구성하는 단계인,
    근본원인 분석 방법.
KR1020230130795A 2023-09-27 2023-09-27 이종 가상화 환경에서의 근본원인 분석 시스템 및 근본원인 분석 방법 KR102669784B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230130795A KR102669784B1 (ko) 2023-09-27 2023-09-27 이종 가상화 환경에서의 근본원인 분석 시스템 및 근본원인 분석 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230130795A KR102669784B1 (ko) 2023-09-27 2023-09-27 이종 가상화 환경에서의 근본원인 분석 시스템 및 근본원인 분석 방법

Publications (1)

Publication Number Publication Date
KR102669784B1 true KR102669784B1 (ko) 2024-05-28

Family

ID=91277093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230130795A KR102669784B1 (ko) 2023-09-27 2023-09-27 이종 가상화 환경에서의 근본원인 분석 시스템 및 근본원인 분석 방법

Country Status (1)

Country Link
KR (1) KR102669784B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180210810A1 (en) * 2017-01-24 2018-07-26 Dell Products, L.P. System and method for debugging software in an information handling system
US20190286504A1 (en) * 2018-03-15 2019-09-19 Ca, Inc. Graph-based root cause analysis
KR102027749B1 (ko) 2019-02-08 2019-10-02 아콘소프트 주식회사 마이크로서비스 시스템 및 방법
KR20210100600A (ko) * 2018-10-02 2021-08-17 타마스 씨저 소프트웨어 테스팅
US20230057720A1 (en) * 2021-08-13 2023-02-23 Kyndryl, Inc. Identifying root causes of software defects
CN116166505A (zh) * 2023-02-22 2023-05-26 优维科技(深圳)有限公司 金融行业双态it架构的监控平台、方法、存储介质及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180210810A1 (en) * 2017-01-24 2018-07-26 Dell Products, L.P. System and method for debugging software in an information handling system
US20190286504A1 (en) * 2018-03-15 2019-09-19 Ca, Inc. Graph-based root cause analysis
KR20210100600A (ko) * 2018-10-02 2021-08-17 타마스 씨저 소프트웨어 테스팅
KR102027749B1 (ko) 2019-02-08 2019-10-02 아콘소프트 주식회사 마이크로서비스 시스템 및 방법
US20230057720A1 (en) * 2021-08-13 2023-02-23 Kyndryl, Inc. Identifying root causes of software defects
CN116166505A (zh) * 2023-02-22 2023-05-26 优维科技(深圳)有限公司 金融行业双态it架构的监控平台、方法、存储介质及设备

Similar Documents

Publication Publication Date Title
US11870704B2 (en) Instant notification of load balance and resource scheduling based on resource capacities and event recognition
US11936536B2 (en) Method and device for evaluating the system assets of a communication network
US20160103750A1 (en) Application programming interface monitoring tool notification and escalation method and system
US11283863B1 (en) Data center management using digital twins
US11755955B2 (en) Anomaly detection and tuning recommendation system
US11609905B2 (en) Persona based analytics across DevOps
US11816584B2 (en) Method, apparatus and computer program products for hierarchical model feature analysis and decision support
US9736031B2 (en) Information system construction assistance device, information system construction assistance method, and information system construction assistance program
CN111708682B (zh) 数据预测方法、装置、设备及存储介质
JP2023036773A (ja) データ処理方法、データ処理装置、電子機器、記憶媒体およびコンピュータプログラム
KR102669784B1 (ko) 이종 가상화 환경에서의 근본원인 분석 시스템 및 근본원인 분석 방법
US10679162B2 (en) Self-organizing workflow
US11979333B2 (en) Systems and methods for adaptive multi-system operations with smart routing protocols
KR102676497B1 (ko) 시뮬레이션을 이용한 근본원인 분석 시스템 및 근본원인 분석 방법
US20240112065A1 (en) Meta-learning operation research optimization
CN110750423A (zh) 机器学习平台的运维方法和运维系统
US20220300821A1 (en) Hybrid model and architecture search for automated machine learning systems
US11971907B2 (en) Component monitoring framework with predictive analytics
US20240012833A1 (en) Systems and methods for seamlessly updating and optimizing a digital system
US11803358B1 (en) Adaptive issue type identification platform
Gördén Predicting resource usage on a Kubernetes platform using Machine Learning Methods
US20240078107A1 (en) Performing quality-based action(s) regarding engineer-generated documentation associated with code and/or application programming interface
Liang et al. Model-based evaluation and optimization of dependability for edge computing systems
US20230063880A1 (en) Performing quality-based action(s) regarding engineer-generated documentation associated with code and/or application programming interface
US20240176732A1 (en) Advanced application of model operations in energy

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant