KR101357135B1 - 로그 정보 수집 장치 - Google Patents

로그 정보 수집 장치 Download PDF

Info

Publication number
KR101357135B1
KR101357135B1 KR1020120063959A KR20120063959A KR101357135B1 KR 101357135 B1 KR101357135 B1 KR 101357135B1 KR 1020120063959 A KR1020120063959 A KR 1020120063959A KR 20120063959 A KR20120063959 A KR 20120063959A KR 101357135 B1 KR101357135 B1 KR 101357135B1
Authority
KR
South Korea
Prior art keywords
log information
application
agent
unit
log
Prior art date
Application number
KR1020120063959A
Other languages
English (en)
Other versions
KR20130140508A (ko
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 KR1020120063959A priority Critical patent/KR101357135B1/ko
Publication of KR20130140508A publication Critical patent/KR20130140508A/ko
Application granted granted Critical
Publication of KR101357135B1 publication Critical patent/KR101357135B1/ko

Links

Images

Classifications

    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

로그 정보 수집 장치를 개시한다.
연계된 애플리케이션으로부터 상기 애플리케이션의 구동 과정에 발생한 로그(Log) 정보를 수집하는 소스(Source) 관리부; 상기 로그 정보에 따른 프레임워크(FrameWork) 또는 데이터 사이즈에 근거하여 연계된 DB로 동기화하는 동기화부; 및 상기 소스 관리부 및 상기 동기화부를 포함하는 에이전트(Agent) 그룹을 통합 관리하는 마스터(Master)부를 포함하는 것을 특징으로 하는 로그 정보 수집 장치를 제공한다.
본 실시예에 의하면, 관리해야 하는 복수 개의 애플리케이션으로부터 구동 과정에 발생한 로그 정보를 수집하고, 수집된 로그 정보에 따른 프레임워크 또는 데이터 사이즈에 근거하여 연계된 DB로 동기화하여 장애가 발생하는 경우 해당 로그 정보를 바로 확인하여 문제의 원인을 파악할 수 있는 효과가 있다.

Description

로그 정보 수집 장치{Apparatus for Collecting Log Information}
본 실시예는 로그 정보 수집 장치에 관한 것이다. 더욱 상세하게는 관리해야 하는 복수 개의 애플리케이션으로부터 구동 과정에 발생한 로그 정보를 수집하고, 수집된 로그 정보에 따른 프레임워크(FrameWork) 또는 데이터 사이즈에 근거하여 연계된 DB로 동기화하여 장애가 발생하는 경우 해당 로그 정보를 바로 확인하여 문제의 원인을 파악할 수 있도록 하는 로그 정보 수집 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
인터넷과 컴퓨팅 기술의 급속한 발달로 생활 환경이 바뀌고 있다. 인터넷과 같은 네트워크 연결이 보편화되면서 정보의 교환 및 업무처리 속도가 점점 단축되고 있으며 시공의 제약성도 없어지고 있다. 현재 컴퓨터에서 사용되는 대부분의 운영체제 또는 애플리케이션들은 시스템의 현재 상황을 로그 파일(Log File)에 저장한다. 이러한, 로그 파일을 생성함으로써 운영체제 또는 애플리케이션이 실행되는 과정 즉, 진행 상황을 기록하여 문제가 발생했을 때에 원인을 파악할 수 있는 근거로 활용될 수 있다. 즉, 장애가 발생한 경우 해당, 해당 로그 파일을 분석하여 그 원인을 파악할 수 있는 것이다.
하지만, 관리해야 하는 애플리케이션이 복수 개인 경우, 운영자는 오프라인 상에서 직접 애플리케이션이 설치된 장치마다 저장된 로그 파일을 확인해서 문제의 원인을 파악해야 하는 번거로움이 있다.
본 실시예는, 관리해야 하는 복수 개의 애플리케이션으로부터 구동 과정에 발생한 로그 정보를 수집하고, 수집된 로그 정보에 따른 프레임워크 또는 데이터 사이즈에 근거하여 연계된 DB로 동기화하여 장애가 발생하는 경우 해당 로그 정보를 바로 확인하여 문제의 원인을 파악할 수 있도록 하는 로그 정보 수집 장치를 제공하는 데 주된 목적이 있다.
본 실시예의 일 측면에 의하면, 연계된 애플리케이션으로부터 상기 애플리케이션의 구동 과정에 발생한 로그(Log) 정보를 수집하는 소스(Source) 관리부; 상기 로그 정보에 따른 프레임워크(FrameWork) 또는 데이터 사이즈에 근거하여 연계된 DB로 동기화하는 동기화부; 및 상기 소스 관리부 및 상기 동기화부를 포함하는 에이전트(Agent) 그룹을 통합 관리하는 마스터(Master)부를 포함하는 것을 특징으로 하는 로그 정보 수집 장치를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 관리해야 하는 복수 개의 애플리케이션으로부터 구동 과정에 발생한 로그 정보를 수집하고, 수집된 로그 정보에 따른 프레임워크 또는 데이터 사이즈에 근거하여 연계된 DB로 동기화하여 장애가 발생하는 경우 해당 로그 정보를 바로 확인하여 문제의 원인을 파악할 수 있는 효과가 있다.
도 1은 본 실시예에 따른 로그 정보 수집 시스템을 나타낸 블럭 구성도,
도 2는 본 실시예에 따른 로그 정보 수집 장치의 아키텍처를 나타낸 블럭 구성도,
도 3은 본 실시예에 따른 마스터부를 설명하기 위한 예시도,
도 4는 본 실시예에 따른 소스 관리부를 설명하기 위한 예시도,
도 5는 본 실시예에 따른 동기화부를 설명하기 위한 예시도,
도 6은 본 실시예에 따른 로그 정보 수집 방식을 나타낸 예시도이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 실시예에 따른 로그 정보 수집 시스템을 나타낸 블럭 구성도이다.
본 실시예에 따른 로그 정보 수집 시스템은 애플리케이션부(110), 통신망(120), 로그 정보 수집 장치(130) 및 DB(140)를 포함한다. 본 실시예에서는 로그 정보 수집 시스템이 애플리케이션부(110), 통신망(120), 로그 정보 수집 장치(130) 및 DB(140)만을 포함하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 로그 정보 수집 시스템에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다.
애플리케이션부(110)는 복수의 애플리케이션을 의미하며, 기본적으로 각 단말기에 탑재되어, 사용자의 키 조작 또는 명령에 의해 각종 기능을 수행하는 프로그램을 말한다. 본 실시예에서는 설명의 편의상 애플리케이션부(110)를 제 1 애플리케이션(112) 내지 제 N 애플리케이션(116)으로 구분하여 설명하도록 한다.
한편, 전술한 바와 같이, 이러한 애플리케이션부(110)는 단말기에 탑재되어 구동될 수 있는데, 본 실시예에 기재된 단말기란 사용자의 키 조작에 따라 통신망(120)을 경유하여 각종 데이터를 송수신할 수 있는 단말기를 말하는 것이며, 태블릿 PC(Tablet PC), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 스마트폰(Smart Phone), 개인휴대용 정보단말기(PDA: Personal Digital Assistant) 및 이동통신 단말기(Mobile Communication Terminal) 등 중 어느 하나일 수 있다. 즉, 단말기는 통신망(120)을 이용하여 음성 또는 데이터 통신을 수행하는 단말기이며, 통신망(120)을 경유하여 서버와 통신하기 위한 프로그램 또는 프로토콜을 저장하기 위한 메모리, 해당 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 단말기를 의미한다. 즉, 단말기는 로그 정보 수집 장치(130)와 서버-클라이언트 통신이 가능하다면 그 어떠한 단말기도 가능하며, 노트북 컴퓨터, 이동통신 단말기, PDA 등 여하한 통신 컴퓨팅 장치를 모두 포함하는 넓은 개념이다. 본 실시예에서 단말기는 로그 정보 수집 장치(130)와 별도의 장치로 구현된 것으로 기재하고 있으나, 실제 실시예의 구현에 있어서, 단말기는 로그 정보 수집 장치(130)를 모두 포함하는 형태의 자립형(Stand Alone) 장치로 구현될 수 있을 것이다.
즉, 단말기는 사용자의 조작 또는 명령에 의해 탑재된 애플리케이션부(110)를 구동한다. 애플리케이션부(110)는 구동 중에 로그(Log) 정보를 생성하며, 생성된 로그 정보를 기 설정된 주기 또는 실시간 요청 명령에 의해 로그 정보 수집 장치(130)로 전송한다. 한편, 일반적으로 애플리케이션부(110)에 포함되는 각종 애플리케이션은 구동 시 로그 정보를 생성하게 되는데, 이러한, 로그 정보란 각종 장애로부터의 복원(Recovery)에 필요한 정보(로그 데이터)를 수집하여 기록하는 데이터로서, 온라인 시스템에서 메시지를 주고 받는 상황을 기록하거나 일괄 처리 등에서 처리의 회계 정보(처리 시간의 비용 산정 데이터)를 기록하고자 할 때 사용되는 데이터(파일)를 말한다. 더 구체적으로, 로그 정보는 스탠다드 스트림 로그 정보(Stdout_log), 액세스 로그 정보(Access_log) 및 에러 로그 정보(Error_log) 중 적어도 하나 이상의 정보를 포함한다. 여기서, 스탠다드 스트림이란 표준 스트림(Standard Stream)으로서, 특정한 프로그래밍 언어 인터페이스뿐 아니라 유닉스 및 유닉스 계열 운영 체제에서 컴퓨터 프로그램과 그 환경 사이에 미리 연결된 입출력 통로를 말한다. 가령, 세 개의 입출력 연결이 있는 경우 표준 입력(Stdin), 표준 출력(Stdout), 표준 오류(Stderr)이 될 수 있다.
한편, 애플리케이션부(110)는 로그 정보 수집 장치(130)와 연동하기 위한 에이전트를 포함하여 로그 정보 수집 장치(130)와 통신을 수행할 수 있다. 이러한 에이전트는 특정 목적에 대해 사용자를 대신하여 작업을 수행하는 자율적 프로세스(Autonomous Process)로서, 독자적으로 존재하지 않고 어떤 환경(가령, 운영 체제, 애플리케이션, 네트워크 등)의 일부이거나 그 안에서 동작하는 시스템을 말한다. 즉, 에이전트는 지식 기반(Knowledge Base) 기능과 추론 기능을 가지며, 자원 또는 다른 에이전트와의 정보 교환 또는 통신을 통해 문제를 해결할 수 있다.
통신망(120)은 인터넷망, 인트라넷망, 이동통신망, 위성 통신망 등 다양한 유무선 통신 기술을 이용하여 인터넷 프로토콜로 데이터를 송수신할 수 있는 망을 말한다. 또한, 통신망(120)은 로그 정보 수집 장치(130)와 결합되어 하드웨어, 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 해당 단말기로 제공할 수 있는 클라우드 컴퓨팅망을 포함할 수 있다. 여기서, 클라우드 컴퓨팅이란 정보가 인터넷 상의 서버에 영구적으로 저장되고, 데스크톱, 태블릿 컴퓨터, 노트북, 넷북, 스마트폰 등의 클라이언트 단말기에는 일시적으로 보관되는 컴퓨터 환경을 의미하며, 클라우드 컴퓨팅은 이용자의 모든 정보를 인터넷 상의 서버에 저장하고, 이 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있도록 하는 컴퓨터 환경 접속망을 의미한다. 이러한, 통신망(120)은 LAN(Local Area Network), WAN(Wide Area Network)등의 폐쇄형 네트워크, 인터넷(Internet)과 같은 개방형 네트워크뿐만 아니라, CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), GSM(Global System for Mobile Communications), LTE(Long Term Evolution), EPC(Evolved Packet Core) 등의 네트워크와 향후 구현될 차세대 네트워크 및 클라우드 컴퓨팅 네트워크를 통칭하는 개념이다.
로그 정보 수집 장치(130)는 하드웨어적으로는 통상적인 서버(Server)와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등 여하한 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다. 로그 정보 수집 장치(130)는 서버의 형태로 구현될 수 있으며, 이러한 서버는 일반적으로 인터넷과 같은 개방형 컴퓨터 네트워크를 통하여 불특정 다수 클라이언트 및/또는 다른 서버와 연결되어 있고, 클라이언트 또는 다른 서버의 작업수행 요청을 접수하고 그에 대한 작업 결과를 도출하여 제공하는 컴퓨터 시스템 및 그를 위하여 설치되어 있는 컴퓨터 소프트웨어(서버 프로그램)를 뜻하는 것이다. 그러나, 전술한 서버 프로그램 이외에도, 서버 상에서 동작하는 일련의 응용 프로그램(Application Program)과 경우에 따라서는 내부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다. 이러한 로그 정보 수집 장치(130)는 일반적인 서버용 하드웨어에 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 매킨토시(Macintosh)등의 운영체제에 따라 다양하게 제공되고 있는 서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 사이트(Site), IIS(Internet Information Server)와 유닉스환경에서 사용되는 CERN, NCSA, APPACH등이 이용될 수 있다. 또한, 로그 정보 수집 장치(130)는 로그 정보 수집을 위한 인증 시스템 및 결제 시스템과 연동할 수도 있다.
본 실시예에 따른 로그 정보 수집 장치(130)는 연계된 애플리케이션부(110)로부터 애플리케이션의 구동 과정에 발생한 로그 정보를 수집하고, 로그 정보에 따른 프레임워크(FrameWork) 또는 데이터 사이즈에 근거하여 연계된 DB(140)로 동기화하며, 애플리케이션부(110)에 포함된 복수의 애플리케이션과 연동하는 에이전트들을 통합 관리하는 한다.
이하, 로그 정보 수집 장치(130)가 수집된 로그 정보를 DB(140)와 동기화하는 과정에 대해 설명하자면 다음과 같다. 로그 정보 수집 장치(130)는 애플리케이션부(110)로부터 수집된 로그 정보를 동기화하기 위해 로그 정보를 분석하여 로그 정보에 대한 프레임워크를 확인하거나 데이터 사이즈를 확인하며, 확인된 프레임워크 또는 데이터 사이즈에 근거하여 연계된 복수 개의 DB(140) 중 확인된 프레임워크 또는 상기 데이터 사이즈에 따라 기 설정된 DB로 로그 정보를 동기화한다.
이하, 로그 정보 수집 장치(130)가 탑재된 에이전트를 관리하는 동작하는 과정에 대해 설명하도록 한다. 로그 정보 수집 장치(130)는 연계된 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)에 따라 제 1 에이전트(230) 내지 제 N 에이전트(250)를 포함하는 에이전트 그룹(220)을 통합 관리한다. 또한, 로그 정보 수집 장치(130)는 관리자(관리자 단말기)의 명령에 따라 에이전트 그룹(220)에 포함되는 에이전트가 증가 또는 감소하는 경우 해당 에이전트만으로 에이전트 그룹을 관리한다.
한편, 로그 정보 수집 장치(130)는 애플리케이션부(110) 또는 DB(140)와 무관하게 독립적으로 로그 정보를 수집할 수 있는데, 구체적으로 설명하자면 로그 정보 수집 장치(130)는 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)에서 로그 정보를 생성하는 프로세스와 무관하게 로그 정보를 수집한다. 또한, 로그 정보 수집 장치(130)는 연계된 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)에 오류가 발생하는 경우, 에이전트 그룹(220)이 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)과 무관하게 독립적으로 동작되도록 제어한다. 또한, 로그 정보 수집 장치(130)는 DB(140)에 오류가 발생하는 경우, 에이전트 그룹(220)이 DB(140)와 무관하게 독립적으로 동작되도록 제어한다. 이러한, 로그 정보 수집 장치(130)는 관리자(관리자 단말기)에 의한 로그 정보 요청 명령이 발생한 경우 DB(140)에 기 저장된 로그 정보 중 로그 정보 요청 명령에 해당하는 정보를 추출한 로그 정보 응답 명령을 생성한다.
이하, 로그 정보 수집 장치(130)가 애플리케이션부(110)와 연동하여 로그 정보를 수집하는 과정에 대해 설명하도록 한다. 로그 정보 수집 장치(130)는 연계된 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)으로부터 로그 정보를 수집한다. 또한, 로그 정보 수집 장치(130)는 로그 정보의 수집 대상이 되는 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)의 소스로 로그 정보의 소스를 설정한다. 이때, 로그 정보 수집 장치(130)는 별도의 JVM(Java Virtual Machine)을 이용하여 연계된 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)으로부터 로그 정보를 수집한다. 또한, 로그 정보 수집 장치(130)는 실시간 또는 기 설정된 주기로 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)으로부터 로그 정보를 수집한다. 로그 정보 수집 장치(130)는 로그 정보 호출이 있는 경우 실시간으로 로그 정보를 수집한다.
DB(140)는 분산 처리 환경으로 구성되며, 로그 정보 수집 장치(130)와 연동하여 수집된 각종 로그 정보를 분류하여 데이터베이스(Database)에 저장시키고 관리하는데, 이러한 DB(140)는 로그 정보 수집 장치(130)의 내부 또는 외부에 구현될 수 있다. 또한, DB(140)는 기본적으로 데이터베이스 관리 프로그램(DBMS)을 이용하여 컴퓨터 시스템의 저장공간(하드디스크 또는 메모리)에 구현된 일반적인 데이터구조를 의미하는 것으로, 데이터의 검색(추출), 삭제, 편집, 추가 등을 자유롭게 행할 수 있는 데이터 저장형태를 뜻하는 것으로, 오라클(Oracle), 인포믹스(Infomix), 사이베이스(Sybase), DB2와 같은 관계형 데이터베이스 관리 시스템(RDBMS: Relational Data Base Management System)이나, 겜스톤(Gemston), 오리온(Orion), O2 등과 같은 객체 지향 데이타베이스 관리 시스템(OODBMS) 및 엑셀론(Excelon), 타미노(Tamino), 세카이주(Sekaiju) 등의 XML 전용 데이터베이스(XML Native Database)를 이용하여 본 실시예의 목적에 맞게 구현될 수 있고, 자신의 기능을 달성하기 위하여 적당한 필드(Field) 또는 엘리먼트들을 가지고 있다.
또한, 이러한 DB(140)는 No SQL DB 또는 RDBMS를 포함할 수 있다. 여기서, SQL(Structured Query Language)은 데이터베이스를 사용할 때, 데이터베이스에 접근할 수 있는 데이터베이스 하부 언어를 말한다. 또한, 이러한 DB(140)는 수집된 로그 정보의 프레임워크 또는 데이터 사이즈에 따라 구분된 복수의 저장모듈(예컨대, 제 1 DB 내지 제 N DB)을 구비한다. 한편, 이러한 DB(140)는 HBase, 카산드라(Cassandra), 몽고DB(MongoDB), 카우치DB(CouchDB), Riak, 레디스(Redis) 등에 오픈 소스 DB로 구현될 수 있다.
전술한 도 1에 기재된 각 구성 요소인 애플리케이션부(110), 로그 정보 수집 장치(130) 및 DB(140)를 이용한 로그 정보 수집 시스템에 대해 전반적으로 설명하자면, 애플리케이션부(110)에 생성된 로그 정보를 외부로 전송하도록 하는 에이전트를 추가(탑재)하는 경우, 로그 정보 수집 장치(130)는 애플리케이션부(110)와 기 설정된 주기 또는 실시간으로 로그 정보를 수집할 수 있는 것이다. 이때, 로그 정보 수집 장치(130)를 통해 수집된 로그 정보는 이론적으로 무제한으로 늘어날 수도 있으므로 수시로 확장이 가능하고 빅데이터(Big Data) 처리가 가능한 스토리지(Storage)인 DB(140)와 연동하여 DB(140)에 포함된 복수의 저장 모듈 중 어느 하나의 저장모듈로 수집된 로그 정보가 저장되도록 한다. 애플리케이션부(110)에 탑재된 에이전트는 네트워크인 통신망(120)을 통해 로그 정보 수집 장치(130)로 로그 정보를 기 설정된 주기 또는 실시간으로 전송한다. 만약, 로그 정보 수집 장치(130)에 장애(오류)가 발생하는 경우 페일오버(Failover) 기능을 이용하여 장애(오류)가 발생한 동안 전송하지 못했던 로그 정보를 임시 저장하며, 로그 정보 수집 장치(130)에 장애(오류)가 해결된 후 임시 저장된 로그 정보를 로그 정보 수집 장치(130)로 전송할 수 있다. 즉, 페일오버 기능이란 장애 발생기간 동안 생성된 로그 정보를 임시로 저장하고 있다가 장애가 해결되면 이를 한꺼번에 전송할 수 있는 기능을 말한다. 또한, 이러한 로그 정보 수집 장치(130)는 분산 처리 환경으로 구성된 복수의 스토리지 중 어느 하나에 로그 정보를 저장하도록 한다.
도 2는 본 실시예에 따른 로그 정보 수집 장치의 아키텍처를 나타낸 블럭 구성도이다.
본 실시예에 따른 로그 정보 수집 장치(130)는 마스터부(210), 에이전트 그룹(220)을 포함하며, 에이전트 그룹(220)은 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)) 및 동기화부(제 1 동기화부(234) 내지 제 N 동기화부(254))를 포함한다. 본 실시예에서는 로그 정보 수집 장치(130)가 마스터부(210), 에이전트 그룹(220)을 포함하고, 에이전트 그룹(220)이 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)) 및 동기화부(제 1 동기화부(234) 내지 제 N 동기화부(254))를 포함하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 로그 정보 수집 장치(130)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다.
한편, 본 실시예에는 제 1 애플리케이션(112), 제 2 애플리케이션(114) 및 제 N 애플리케이션(116), 제 1 소스 관리부(232), 제 2 소스 관리부(242) 및 제 N 소스 관리부(252), 제 1 동기화부(234), 제 2 동기화부(244) 및 제 N 동기화부(254)가 기재되어 있다. 여기서, 제 1 애플리케이션(112)은 제 1 서비스를 제공하는 운영체제 또는 프로그램으로서, 제 1 소스 관리부(232)와 연동하여 동작하는 모듈을 말하며, 이러한 제 1 소스 관리부(232)는 제 1 동기화부(234)와 연동하여 동작하는 모듈을 말한다. 또한, 제 2 애플리케이션(114)은 제 2 서비스를 제공하는 운영체제 또는 프로그램으로서, 제 2 소스 관리부(242)와 연동하여 동작하는 모듈을 말하며, 이러한 제 2 소스 관리부(242)는 제 1 동기화부(234)와 연동하여 동작하는 모듈을 말한다. 또한, 제 N 애플리케이션(116)은 제 N 서비스를 제공하는 운영체제 또는 프로그램으로서, 제 N 소스 관리부(252)와 연동하여 동작하는 모듈을 말하며, 이러한 제 N 소스 관리부(252)는 제 N 동기화부(254)와 연동하여 동작하는 모듈을 말한다.
로그 정보 수집 장치(130)는 마스터부(210), 에이전트 그룹(220)을 포함한다. 즉, 로그 정보 수집 장치(130)는 하나의 마스터부(210)와 복수 개의 에이전트를 포함하는 에이전트 그룹(220)이 통신하는 구조로 구현될 수 있다. 본 실시예에서는 설명의 편의상 제 1 에이전트(230) 내지 제 N 에이전트(250)를 에이전트 그룹(220)으로 정의하여 설명하도록 한다. 이러한, 에이전트 그룹(220)에 포함된 제 1 에이전트(230) 내지 제 N 에이전트(250)는 각각 소스 관리부 및 동기화부를 포함하는데, 본 실시예에서는 설명의 편의상 소스 관리부가 제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)를 포함하는 것으로 정의하여 설명하고, 동기화부가 제 1 동기화부(234) 내지 제 N 동기화부(254)를 포함하는 것으로 정의하여 설명토록 한다.
마스터부(210)는 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)) 및 동기화부(제 1 동기화부(234) 내지 제 N 동기화부(254))를 포함하는 에이전트 그룹(220)을 통합 관리한다. 이러한, 마스터부(210)는 연계된 애플리케이션부(110)의 제 1 애플리케이션(112) 내지 제 N 애플리케이션(116)에 따라 제 1 에이전트(230) 내지 제 N 에이전트(250)를 포함하는 에이전트 그룹(220)을 통합 관리하되, 에이전트 그룹(220)에 포함된 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252))와 동기화부(제 1 동기화부(234) 내지 제 N 동기화부(254))에 기 설정된 정보에 따라 에이전트 그룹(220)에 포함된 제 1 에이전트(230) 내지 제 N 에이전트(250)가 동작하도록 제어한다. 또한, 마스터부(210)는 관리자(관리자 단말기)에 의한 로그 정보 요청 명령이 발생한 경우 DB(140)에 기 저장된 로그 정보 중 로그 정보 요청 명령에 해당하는 정보를 추출한 로그 정보 응답 명령을 생성한다.
한편, 마스터부(210)는 에이전트 그룹(220)을 관리하는 데 있어서, 에이전트 그룹(220)에 포함된 에이전트의 수가 변경된 경우, 이를 인식하여 적용할 수 있다. 즉, 마스터부(210)는 관리자(관리자 단말기)의 명령에 따라 에이전트 그룹(220)에 포함되는 제 1 에이전트(230) 내지 제 N 에이전트(250)가 증가 또는 감소하는 경우 해당 에이전트만으로 에이전트 그룹(220)이 운용되도록 관리한다.
이러한, 마스터부(210)는 로그 정보 수집 장치(130)가 연동하는 애플리케이션부(110) 및 DB(140)의 동작과 무관하게 독립적으로 운영될 수 있다. 즉, 마스터부(210)는 연계된 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)에 오류가 발생하는 경우, 에이전트 그룹(220)이 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)과 무관하게 독립적으로 동작되도록 제어한다. 또한, 마스터부(210)는 DB(140)에 오류가 발생하는 경우, 에이전트 그룹(220)에 포함된 제 1 에이전트(230) 내지 제 N 에이전트(250)가 DB(140)와 무관하게 독립적으로 동작되도록 제어한다.
소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252))의 기본적인 동작 과정에 대해 설명하자면, 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252))는 연계된 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)으로부터 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)의 구동 과정 시 발생한 로그 정보를 수집한다. 이후 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252))가 수집된 로그 정보를 전달하는 과정에 대해 설명하자면, 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252))는 마스터부(210)로부터 수신된 정보에 근거하여 연계된 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)로부터 로그 정보를 수집하며, 수집된 로그 정보에 대한 승인 이벤트가 발생하면, 수집된 로그 정보를 동기화부(제 1 동기화부(234) 내지 제 N 동기화부(254))로 전달한다. 이때, 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252))는 로그 정보의 수집 대상이 되는 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)의 소스로 로그 정보의 소스를 설정한다.
또한, 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252))는 애플리케이션부(110)와 연동하기 위해 별도의 JVM을 이용하여 연계된 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)로부터 로그 정보를 수집한다. 이때, 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252))는 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)에서 로그 정보를 생성하는 프로세스와 무관하게 로그 정보를 수집한다. 즉, 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252))는 실시간 또는 기 설정된 주기로 애플리케이션부(110)의 특정 애플리케이션(제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나)으로부터 로그 정보를 수집한다. 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252))는 기본적으로 기 설정된 주기로 애플리케이션부(110)로부터 로그 정보를 수집하나 관리자(관리자 단말기)로부터 로그 정보 호출이 있는 경우 실시간으로 로그 정보를 수집할 수 있다.
동기화부(제 1 동기화부(234) 내지 제 N 동기화부(254))의 기본적인 동작 과정에 대해 설명하자면, 동기화부(제 1 동기화부(234) 내지 제 N 동기화부(254))는 로그 정보에 따른 프레임워크 또는 데이터 사이즈에 근거하여 연계된 DB(140)로 동기화한다. 이때, 동기화부(제 1 동기화부(234) 내지 제 N 동기화부(254))는 로그 정보를 분석하여 로그 정보에 대한 프레임워크를 확인하거나 데이터 사이즈를 확인하며, 확인된 프레임워크 또는 데이터 사이즈에 근거하여 연계된 복수 개의 DB 중 확인된 프레임워크 또는 데이터 사이즈에 따라 기 설정된 DB(140)로 로그 정보를 동기화한다.
전술한 도 2의 구성 요소인 마스터부(210)와 에이전트 그룹(220)을 이용하여 로그 정보 수집 장치(130)의 아키텍처에 대해 전반적으로 설명하자면 다음과 같다. 에이전트 그룹(220)에 포함된 각 에이전트(제 1 에이전트(230) 내지 제 N 에이전트(250))들은 마스터부(210)에서 설정한 값에 근거하여 로그 정보를 수집하며, 수집된 로그 정보에 대한 이벤트가 발생하면 수집된 로그 정보를 해당 동기화부(제 1 동기화부(234) 내지 제 N 동기화부(254))에 전송하는 것이다. 이후 동기화부(제 1 동기화부(234) 내지 제 N 동기화부(254))는 수신된 로그 정보를 DB(140)에 동기화한다.
도 3은 본 실시예에 따른 마스터부를 설명하기 위한 예시도이다.
도 3에 도시된 바와 같이 마스터부(210)는 분산되어있는 에이전트 그룹(220)에 포함된 제 1 에이전트(230) 내지 제 N 에이전트(250)를 통합 관리한다. 즉, 마스터부(210)는 이러한 제 1 에이전트(230) 내지 제 N 에이전트(250)의 소스, 동기화 여부에 대해 설정할 수 있다. 또한, 하나의 마스터부(210)와 복수 개의 에이전트가 연동하는 형태로 구현될 수 있으며, 마스터부(210)는 에이전트 그룹(220)의 수가 증가 또는 감소하는 경우, 마스터부(210)에서 이를 적용하여 에이전트 그룹(220)을 운용할 수 있다.
마스터부(210)는 소스 관리부(제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)) 및 동기화부(제 1 동기화부(234) 내지 제 N 동기화부(254))를 포함하는 에이전트 그룹(220)을 통합 관리한다. 만약, 제 1 애플리케이션(112)을 웹서버에서 동작하는 웹서버 애플리케이션으로 가정하고, 이러한 웹서버 애플리케이션과 연동하는 제 1 에이전트(230)를 도 3에 도시된 웹서버 에이전트로 가정하는 경우, 마스터부(210)는 연계된 웹서버 애플리케이션에 따라 웹서버 에이전트를 관리하되, 웹서버 에이전트에 포함된 제 1 소스 관리부(232)와 제 1 동기화부(234)에 기 설정된 정보에 따라 웹서버 에이전트가 동작하도록 제어한다. 또한, 마스터부(210)는 웹서버 관리자(관리자 단말기)에 의한 로그 정보 요청 명령이 발생한 경우 DB(140)에 기 저장된 로그 정보 중 로그 정보 요청 명령에 해당하는 정보를 추출한 로그 정보 응답 명령을 생성한다. 한편, 제 2 애플리케이션(114)을 쇼핑 서버에서 동작하는 쇼핑 서버 애플리케이션으로 가정하고, 이러한 쇼핑 서버 애플리케이션과 연동하는 제 2 에이전트(240)를 도 3에 도시된 쇼핑 서버 에이전트로 가정하는 경우, 마스터부(210)는 연계된 쇼핑 서버 애플리케이션에 따라 쇼핑 서버 에이전트를 관리하되, 쇼핑 서버 에이전트에 포함된 제 2 소스 관리부(242)와 제 2 동기화부(244)에 기 설정된 정보에 따라 쇼핑 서버 에이전트가 동작하도록 제어한다. 또한, 마스터부(210)는 쇼핑 서버 관리자(관리자 단말기)에 의한 로그 정보 요청 명령이 발생한 경우 DB(140)에 기 저장된 로그 정보 중 로그 정보 요청 명령에 해당하는 정보를 추출한 로그 정보 응답 명령을 생성한다.
한편, 마스터부(210)는 도 3에 도시된 에이전트 그룹(220)을 관리하는 데 있어서, 에이전트 그룹(220)에 포함된 에이전트의 수가 변경된 경우, 이를 인식하여 적용할 수 있다. 즉, 마스터부(210)는 관리자(관리자 단말기)의 명령에 따라 에이전트 그룹(220)에 포함되는 웹서버 에이전트, 쇼핑 서버 에이전트, WAS-1 에이전트, WAS-2 에이전트, WAS-3 에이전트, WAS-4 에이전트가 증가 또는 감소하는 경우 해당 에이전트만으로 에이전트 그룹(220)이 운용되도록 관리한다.
이러한, 마스터부(210)는 로그 정보 수집 장치(130)가 연동하는 애플리케이션부(110) 및 DB(140)의 동작과 무관하게 독립적으로 운영될 수 있다. 즉, 마스터부(210)는 연계된 애플리케이션부(110)의 특정 애플리케이션(웹서버 애플리케이션, 쇼핑 서버 애플리케이션, WAS-1 애플리케이션, WAS-2 애플리케이션, WAS-3 애플리케이션, WAS-4 애플리케이션)에 오류가 발생하는 경우, 에이전트 그룹(220)이 특정 애플리케이션(웹서버 애플리케이션, 쇼핑 서버 애플리케이션, WAS-1 애플리케이션, WAS-2 애플리케이션, WAS-3 애플리케이션, WAS-4 애플리케이션)과 무관하게 독립적으로 동작되도록 제어한다. 또한, 마스터부(210)는 DB(140)에 오류가 발생하는 경우, 에이전트 그룹(220)에 포함된 제 1 에이전트(230) 내지 제 N 에이전트(250)가 DB(140)와 무관하게 독립적으로 동작되도록 제어한다.
도 4는 본 실시예에 따른 소스 관리부를 설명하기 위한 예시도이다.
일반적으로 애플리케이션부(110)에 포함되는 각종 애플리케이션은 구동 시 로그 정보를 생성하게 되는데, 이러한, 로그 정보란 각종 장애로부터의 복원에 필요한 정보(로그 데이터)를 수집하여 기록하는 데이터로서, 온라인 시스템에서 메시지를 주고 받는 상황을 기록하거나 일괄 처리 등에서 처리의 회계 정보(처리 시간의 비용 산정 데이터)를 기록하고자 할 때 사용되는 데이터(파일)를 말한다. 더 구체적으로, 로그 정보는 도 4에 도시된 바와 같이 스탠다드 스트림 로그 정보(Stdout_Log), 액세스 로그 정보(Access_Log) 및 에러 로그 정보(Error_Log) 중 적어도 하나 이상의 정보를 포함한다. 여기서, 스탠다드 스트림이란 표준 스트림으로서, 특정한 프로그래밍 언어 인터페이스뿐 아니라 유닉스 및 유닉스 계열 운영 체제에서 컴퓨터 프로그램과 그 환경 사이에 미리 연결된 입출력 통로를 말한다. 가령, 세 개의 입출력 연결이 있는 경우 표준 입력(Stdin), 표준 출력(Stdout), 표준 오류(Stderr)이 될 수 있다.
도 4에 도시된 바와 같이, 제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)는 로그 정보의 수집의 대상이 되는 에이전트의 소스로 설정한다. 이러한 소스는 다양한 시스템 상황에 맞게 설정할 수 있으며, 별도의 JVM로 수행되기 때문에 로그를 발생시키는 프로세스와 별개로 언제든지 설정이 변경 가능하고 수집 대상이 되는 애플리케이션이 다운(Down) 되어도 해당 에이전트는 다시 시작할 필요가 없다.
제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)는 연계된 제 1 애플리케이션(112) 내지 제 N 애플리케이션(116)으로부터 구동 과정 시 발생한 로그 정보를 수집한다. 이후 제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)가 수집된 로그 정보를 전달하는 과정에 대해 설명하자면, 제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)는 마스터부(210)로부터 수신된 정보에 근거하여 연계된 제 1 애플리케이션(112) 내지 제 N 애플리케이션(116)으로부터 로그 정보를 수집하며, 수집된 로그 정보에 대한 승인 이벤트가 발생하면, 수집된 로그 정보를 제 1 동기화부(234) 내지 제 N 동기화부(254)로 전달한다. 이때, 제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)는 로그 정보의 수집 대상이 되는 제 1 애플리케이션(112) 내지 제 N 애플리케이션(116)의 소스로 로그 정보의 소스를 설정한다. 여기서, 로그 정보는 도 4에 도시된 바와 같이 스탠다드 스트림 로그 정보(Stdout_Log), 액세스 로그 정보(Access_Log) 및 에러 로그 정보(Error_Log) 중 적어도 하나 이상의 정보를 포함한다.
또한, 제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)는 제 1 애플리케이션내지 제 N 애플리케이션(116)과 연동하기 위해 별도의 JVM을 이용하여 연계된 제 1 애플리케이션(112) 내지 제 N 애플리케이션(116)으로부터 로그 정보를 수집한다. 이때, 제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)는 제 1 애플리케이션(112) 내지 제 N 애플리케이션(116)에서 로그 정보를 생성하는 프로세스와 무관하게 로그 정보를 수집한다. 즉, 제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)는 실시간 또는 기 설정된 주기로 제 1 애플리케이션(112) 내지 제 N 애플리케이션(116)으로부터 로그 정보를 수집한다. 제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)는 기본적으로 기 설정된 주기로 제 1 애플리케이션 내지 제 N 애플리케이션(116)으로부터 로그 정보를 수집하나 관리자(관리자 단말기)로부터 로그 정보 호출이 있는 경우 실시간으로 로그 정보를 수집할 수 있다.
도 5는 본 실시예에 따른 동기화부를 설명하기 위한 예시도이다.
도 5에 도시된 바와 같이, 제 1 동기화부(234) 내지 제 N 동기화부(254)는 수집한 로그 정보를 저장할 에이전트의 타겟(Target)인 특정 DB를 지정한다. DB는 파일 또는 메모리 등 다양한 형태로 수집된 로그 정보를 저장할 수 있다. 제 1 동기화부(234) 내지 제 N 동기화부(254)는 제 1 소스 관리부(232) 내지 제 N 소스 관리부(252)와 동일하게 저장소(해당 DB)가 다운(Down)되더라도 수집 대상이 되는 애플리케이션에 영향을 미치지 않고, 해당 에이전트를 다시 시작할 필요가 없도록 동작한다.
한편, 이러한 DB(140)는 분산 처리 환경으로 구성되며, 로그 정보 수집 장치(130)와 연동하여 수집된 각종 로그 정보를 분류하여 데이터베이스(Database)에 저장시키고 관리하는데, 이러한 DB(140)는 로그 정보 수집 장치(130)의 내부 또는 외부에 구현될 수 있다. 즉, DB(140)는 No SQL DB 또는 RDBMS를 포함할 수 있다. DB(140)는 수집된 로그 정보의 프레임워크 또는 데이터 사이즈에 따라 구분된 별도의 저장모듈을 구비할 수 있으며 HBase, 카산드라, 몽고DB, 카우치DB, Riak, 레디스 등에 오픈 소스 DB로 구현될 수 있다.
제 1 동기화부(234) 내지 제 N 동기화부(254)는 로그 정보를 로그 정보에 따른 프레임워크 또는 데이터 사이즈에 근거하여 DB(140)에 포함된 복수의 저장모듈 중 어느 하나로 동기화한다. 이때, 제 1 동기화부(234) 내지 제 N 동기화부(254)는 로그 정보를 분석하여 로그 정보에 대한 프레임워크를 확인하거나 데이터 사이즈를 확인하며, 확인된 프레임워크 또는 데이터 사이즈에 근거하여 연계된 복수 개의 DB 중 확인된 프레임워크 또는 데이터 사이즈에 따라 기 설정된 DB(140)로 로그 정보를 동기화한다.
도 6은 본 실시예에 따른 로그 정보 수집 방식을 나타낸 예시도이다.
도 6에 도시된 바와 같이, 제 1 애플리케이션(112) 내지 제 N 애플리케이션(116) 중 어느 하나에 대한 특정 디텍토리(Directory)의 로그파일을 수집 대상 파일로 지정하면 수집 에이전트에 이벤트가 발생할 때마다 로그 정보를 DB(140)에 저장한다. 이러한, 방식으로 구성된 설정으로 상황에 맞는 다양한 형식으로 로그를 수집할 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110: 애플리케이션부 120: 통신망
130: 로그 정보 수집 장치 140: DB
210: 마스터부 220: 에이전트 그룹
232, 242, 252: 제 1 소스 관리부, 제 2 소스 관리부, 제 N 소스 관리부
234, 244, 254: 제 1 동기화부, 제 2 동기화부, 제 N 동기화부,

Claims (15)

  1. 연계된 애플리케이션에 생성된 로그(Log) 정보를 외부로 전송하도록 하는 에이전트(Agent)가 탑재되어 있는 경우, 상기 에이전트로부터 이벤트가 발생할 때마다 상기 애플리케이션의 구동 과정에 발생한 로그 정보를 수집하는 소스(Source) 관리부;
    용량 제한과 무관하게 빅데이터(Big Data) 처리가 가능한 분산 처리 환경의 스토리지(Storage)인 DB에 포함된 복수의 저장 모듈 중 어느 하나의 저장모듈로 상기 로그 정보가 저장되도록 하며, 상기 로그 정보가 상기 로그 정보에 따른 프레임워크(FrameWork) 또는 데이터 사이즈 별로 저장되도록 하는 동기화부; 및
    상기 소스 관리부 및 상기 동기화부를 포함하는 에이전트 그룹을 제어하며, 상기 동기화부에 장애가 발생하는 경우 페일오버(Failover) 기능을 이용하여 장애 발생 기간 동안 상기 DB로 미전송되는 상기 로그 정보가 임시 저장되도록 하며, 상기 동기화부의 장애가 해결되는 경우 임시 저장된 상기 로그 정보가 한꺼번에 상기 DB로 전송되도록 제어하는 마스터(Master)부
    를 포함하는 것을 특징으로 하는 로그 정보 수집 장치.
  2. 제 1 항에 있어서,
    상기 동기화부는,
    상기 로그 정보를 분석하여 상기 로그 정보에 대한 상기 프레임워크를 확인하거나 상기 데이터 사이즈를 확인하며, 상기 복수의 저장 모듈 중 확인된 상기 프레임워크 또는 상기 데이터 사이즈에 따라 어느 하나의 저장 모듈로 상기 로그 정보가 저장되도록 하는 것을 특징으로 하는 로그 정보 수집 장치.
  3. 제 1 항에 있어서,
    상기 마스터부는,
    상기 애플리케이션에 따라 제 1 에이전트 내지 제 N 에이전트를 포함하는 상기 에이전트 그룹을 제어하며, 상기 에이전트 그룹에 포함된 각각의 상기 소스 관리부와 상기 동기화부에 기 설정된 정보에 근거하여 상기 에이전트 그룹이 동작되도록 제어하는 것을 특징으로 하는 로그 정보 수집 장치.
  4. 제 1 항에 있어서,
    상기 마스터부는,
    관리자 명령에 근거하여 상기 에이전트 그룹에 포함되는 에이전트가 증가 또는 감소하는 경우, 증가 또는 감소한 에이전트만을 제어하는 것을 특징으로 하는 로그 정보 수집 장치.
  5. 제 1 항에 있어서,
    상기 마스터부는,
    상기 애플리케이션에 오류가 발생하는 경우, 상기 에이전트 그룹이 상기 애플리케이션과 무관하게 독립적으로 동작되도록 제어하는 것을 특징으로 하는 로그 정보 수집 장치.
  6. 제 1 항에 있어서,
    상기 마스터부는,
    상기 DB에 오류가 발생하는 경우, 상기 에이전트 그룹이 상기 DB와 무관하게 독립적으로 동작되도록 제어하는 것을 특징으로 하는 로그 정보 수집 장치.
  7. 제 1 항에 있어서,
    상기 마스터부는,
    로그 정보 요청 명령이 발생한 경우, 상기 DB에 기 저장된 로그 정보 중 상기 로그 정보 요청 명령에 해당하는 정보를 추출한 로그 정보 응답 명령을 생성하는 것을 특징으로 하는 로그 정보 수집 장치.
  8. 제 1 항에 있어서,
    상기 소스 관리부는,
    상기 마스터부로부터 수신된 정보에 근거하여 상기 에이전트로부터 상기 로그 정보를 수집하며, 수집된 상기 로그 정보에 대한 승인 이벤트가 발생하면, 수집된 상기 로그 정보를 상기 동기화부로 전달하는 것을 특징으로 하는 로그 정보 수집 장치.
  9. 제 1 항에 있어서,
    상기 소스 관리부는,
    상기 로그 정보의 수집 대상이 되는 애플리케이션의 소스로 상기 로그 정보의 소스를 설정하는 것을 특징으로 하는 로그 정보 수집 장치.
  10. 제 1 항에 있어서,
    상기 소스 관리부는,
    JVM(Java Virtual Machine)을 이용하여 상기 애플리케이션으로부터 상기 로그 정보를 수집하는 것을 특징으로 하는 로그 정보 수집 장치.
  11. 제 10 항에 있어서,
    상기 소스 관리부는,
    상기 애플리케이션에서 상기 로그 정보를 생성하는 프로세스와 무관하게 상기 에이전트로부터 상기 로그 정보를 수신하는 것을 특징으로 하는 로그 정보 수집 장치.
  12. 제 1 항에 있어서,
    상기 소스 관리부는,
    실시간 또는 기 설정된 주기로 상기 애플리케이션으로부터 상기 로그 정보를 수집하는 것을 특징으로 하는 로그 정보 수집 장치.
  13. 제 12 항에 있어서,
    상기 소스 관리부는,
    로그 정보 호출이 있는 경우 실시간으로 상기 로그 정보를 수집하는 것을 특징으로 하는 로그 정보 수집 장치.
  14. 제 1 항에 있어서,
    상기 DB는,
    상기 프레임워크 또는 상기 데이터 사이즈에 따라 구분된 별도의 저장모듈을 구비하는 것을 특징으로 하는 로그 정보 수집 장치.
  15. 제 1 항에 있어서,
    상기 로그 정보는,
    스탠다드 스트림 로그 정보(Stdout_log), 액세스 로그 정보(Access_log) 및 에러 로그 정보(Error_log) 중 적어도 하나 이상의 정보를 포함하는 것을 특징으로 하는 로그 정보 수집 장치.
KR1020120063959A 2012-06-14 2012-06-14 로그 정보 수집 장치 KR101357135B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120063959A KR101357135B1 (ko) 2012-06-14 2012-06-14 로그 정보 수집 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120063959A KR101357135B1 (ko) 2012-06-14 2012-06-14 로그 정보 수집 장치

Publications (2)

Publication Number Publication Date
KR20130140508A KR20130140508A (ko) 2013-12-24
KR101357135B1 true KR101357135B1 (ko) 2014-02-05

Family

ID=49985112

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120063959A KR101357135B1 (ko) 2012-06-14 2012-06-14 로그 정보 수집 장치

Country Status (1)

Country Link
KR (1) KR101357135B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102326683B1 (ko) * 2020-07-22 2021-11-16 웹케시 주식회사 큐를 이용한 비동기 로그 적재 시스템 및 방법과 이를 위한 컴퓨터 프로그램

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101668713B1 (ko) * 2014-01-07 2016-10-24 주식회사 프로브테크놀로지 어플리케이션에 관한 로그를 핸들링하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
KR101865317B1 (ko) * 2014-01-14 2018-07-13 한국전자통신연구원 데이터 분산처리 시스템을 위한 빅 데이터의 전처리 장치 및 방법
KR101503701B1 (ko) * 2014-04-30 2015-03-20 (주)아이비즈소프트웨어 빅데이터 기반 정보 보호 방법 및 장치
KR101870271B1 (ko) * 2016-06-02 2018-07-20 대우조선해양 주식회사 육상관제 시스템 및 데이터 구조와 그 운영 방법
US10791134B2 (en) * 2016-12-21 2020-09-29 Threat Stack, Inc. System and method for cloud-based operating system event and data access monitoring
KR102189125B1 (ko) * 2018-11-30 2020-12-10 주식회사 리얼타임테크 로그 수집 시스템 및 그 수집 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020012855A (ko) * 2000-08-09 2002-02-20 전창오 통합로그 분석 및 관리 시스템 및 그 방법
JP2003058395A (ja) * 2001-06-04 2003-02-28 Sony Computer Entertainment Inc ログ収集解析システム、ログ収集方法、コンピュータに実行させるためのログ収集プログラム、ログ解析方法、コンピュータに実行させるためのログ解析プログラム、ログ収集装置、ログ解析装置、ログ収集端末、ログサーバ
KR20050046373A (ko) * 2003-11-14 2005-05-18 엘지엔시스(주) 로그 파일 관리 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020012855A (ko) * 2000-08-09 2002-02-20 전창오 통합로그 분석 및 관리 시스템 및 그 방법
JP2003058395A (ja) * 2001-06-04 2003-02-28 Sony Computer Entertainment Inc ログ収集解析システム、ログ収集方法、コンピュータに実行させるためのログ収集プログラム、ログ解析方法、コンピュータに実行させるためのログ解析プログラム、ログ収集装置、ログ解析装置、ログ収集端末、ログサーバ
KR20050046373A (ko) * 2003-11-14 2005-05-18 엘지엔시스(주) 로그 파일 관리 방법 및 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102326683B1 (ko) * 2020-07-22 2021-11-16 웹케시 주식회사 큐를 이용한 비동기 로그 적재 시스템 및 방법과 이를 위한 컴퓨터 프로그램

Also Published As

Publication number Publication date
KR20130140508A (ko) 2013-12-24

Similar Documents

Publication Publication Date Title
KR101357135B1 (ko) 로그 정보 수집 장치
CN109074377B (zh) 用于实时处理数据流的受管理功能执行
US11392416B2 (en) Automated reconfiguration of real time data stream processing
US10944628B2 (en) Network operation support system and network device management method
US20210314273A1 (en) Enabling multi-tenant virtual servers in a cloud system
US10089307B2 (en) Scalable distributed data store
CN107220142B (zh) 执行数据恢复操作的方法及装置
US20170061296A1 (en) Three-stage predictor for time series
CN108536778B (zh) 一种数据应用共享平台及方法
CN103414579A (zh) 一种适用于云计算的跨平台监控系统及其监控方法
CN102073540A (zh) 分布式事务提交方法和装置
CN103986786A (zh) 一种远程云桌面操作系统
CN109144785A (zh) 用于备份数据的方法和装置
CN104320482A (zh) 一种银行柜员前端系统
CN103077034B (zh) 混合虚拟化平台java应用迁移方法与系统
US10855750B2 (en) Centralized management of webservice resources in an enterprise
CN106547790B (zh) 一种关系型数据库服务系统
EP4348933A1 (en) Managing keys across a series of nodes, based on snapshots of logged client key modifications
CN113177088B (zh) 一种材料辐照损伤多尺度模拟大数据管理系统
CN106412094A (zh) 一种以公有云方式组织管理分散资源的方法
CN106657360A (zh) 一种Linux系统下NIS服务器的同步方法和系统
CN115344633A (zh) 数据处理方法、装置、设备和存储介质
CN103473281A (zh) 数字影音图书馆系统
CN202652266U (zh) 一种企业云计算公共信息服务平台核心架构和系统应用
CN107330089B (zh) 跨网络结构化数据收集系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170103

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190114

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200210

Year of fee payment: 7