KR20160097502A - 이엠에스 서버 및 이의 로그 데이터 관리 방법 - Google Patents

이엠에스 서버 및 이의 로그 데이터 관리 방법 Download PDF

Info

Publication number
KR20160097502A
KR20160097502A KR1020150019233A KR20150019233A KR20160097502A KR 20160097502 A KR20160097502 A KR 20160097502A KR 1020150019233 A KR1020150019233 A KR 1020150019233A KR 20150019233 A KR20150019233 A KR 20150019233A KR 20160097502 A KR20160097502 A KR 20160097502A
Authority
KR
South Korea
Prior art keywords
data
packet data
real
storing
client
Prior art date
Application number
KR1020150019233A
Other languages
English (en)
Other versions
KR101736382B1 (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 KR1020150019233A priority Critical patent/KR101736382B1/ko
Publication of KR20160097502A publication Critical patent/KR20160097502A/ko
Application granted granted Critical
Publication of KR101736382B1 publication Critical patent/KR101736382B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/024Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 초당 수십만 건 이상의 로그 데이터를 실시간으로 저장, 모니터링 및 조회할 수 있도록 하는 이엠에스 서버 및 이의 로그 데이터 관리 방법에 관한 것이다.
본 발명에 따른 이엠에스 서버는 외부장비로부터 패킷 데이터를 수신하여 저장하고 클라이언트의 요청에 따라 저장 정보를 조회할 수 있도록 관리하는 장치로서, 상기 패킷 데이터의 벌크 삽입이 이루어지는 리포트 데이터베이스; 및 상기 패킷 데이터의 파싱에 의해 추출된 데이터가 테이블 구조로 삽입 갱신되고, 사용량 순에 따라 정렬된 상위 N개의 항목에 대응하는 인덱싱 파일의 저장이 실시간으로 이루어지는 실시간 메모리 테이블을 포함하는 것을 특징으로 한다.

Description

이엠에스 서버 및 이의 로그 데이터 관리 방법{EMS SERVER AND LOG DATA MANAGEMENT METHOD THEREOF}
본 발명은 이엠에스에 관한 것으로서, 보다 상세하게는 초당 수십만 건 이상의 로그 데이터를 실시간으로 저장, 모니터링 및 조회할 수 있도록 하는 이엠에스 서버 및 이의 로그 데이터 관리 방법에 관한 것이다.
대규모의 종합 정보 통신망을 운용하고 있는 공중 통신망에서는 집중화 및 자동화가 통신망을 구성하는 필수 구성요소로 등장하였다. 이에 따라 각 통신망을 구성하는 구성요소(Element)에 대한 관리 및 제어 기능을 수행하는 것이 필요하게 되었다. 이러한 필요성에 따라 ITU-T에서는 요소관리시스템(EMS :Element Management System)을 제안하였다. 즉, 요소관리시스템(EMS :Element Management System)은 EMS서버가 TCP프로토콜에 의해 통신망에 접속된 상태에서 SNMP 프로토콜을 이용하여 통신망을 구성하는 각 구성에 대한 제어 및 망 감시 기능을 수행한다.
도 1은 종래 이엠에스 구성을 나타낸 시스템 구성도이다. 도 1을 참조하면, 종래 이엠에스는 외부장비(5)와 이엠에스 서버(1)와 클라이언트(6a,6b)로 구성되고, 특히 이엠에스 서버(1)는 데이터 컬렉터(2), 중앙 데이터 베이스(3), 웹 서버(4)로 이루어져 있다.
이와 같은 종래 이엠에스의 로그 데이터 관리 방법을 살펴보면, 데이터 컬렉터(2)가 외부장비(5)로부터 전송되는 패킷 데이터를 수집하여 중앙 데이터 베이스(3)에 이를 저장하고, 클라이언트(6a,6b)가 웹 서버(4)를 통해 로그 정보를 요청하면, 이엠에스 서버(1)는 중앙 데이터 베이스(3)를 조회하여 그 처리 결과를 출력하도록 구성된다. 한편, 클라이언트는 브라우저(6a)를 통해 웹 서버(4)로 접속하여 데이터를 조회하거나 또는 C/S앱(6b)을 통해 중앙 데이터 베이스(3)에 접근하여 데이터를 요청할 수도 있다.
그런데, 이와 같은 종래 이엠에스 서버(1)는 외부장비(5)로부터 수신되는 로그 데이터를 일정 기간 집계 후, 중앙 데이터 베이스(3)에 일괄 저장하고, 대량 데이터를 저장하면서 실시간으로 조회가 이루어지므로 서버의 성능에 전적으로 의존하게 된다.
즉, 중앙 집중화된 단일의 대용량 데이터 베이스 엔진을 사용하기 때문에, 수십만 건 이상의 대량의 로그 데이터가 수신될 경우 이를 초 단위로 저장하거나 실시간으로 모니터링 내지 조회할 수 없게 되는 한계가 있었다.
이에 따라, 종래 이엠에스 서버는 분 단위로 집계된 모니터링 기능과, 집계된 정적 자료의 분석 위주 기능을 제공함에 그치고 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 초당 수십만 건 이상의 대량 로그 데이터 발생 시에도 서버의 성능에 문제없이 안정적으로 실시간 저장 및 모니터링 기능을 구현할 수 있는 이엠에스 서버 및 이의 로그 데이터 관리 방법을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명에 따른 이엠에스 서버는, 외부장비로부터 패킷 데이터를 수신하여 저장하고 클라이언트의 요청에 따라 저장 정보를 조회할 수 있도록 관리하는 이엠에스 서버로서, 상기 패킷 데이터의 벌크 삽입이 이루어지는 리포트 데이터베이스; 및 상기 패킷 데이터의 파싱에 의해 추출된 데이터가 테이블 구조로 삽입 갱신되고, 사용량 순에 따라 정렬된 상위 N개의 항목에 대응하는 인덱싱 파일의 저장이 실시간으로 이루어지는 실시간 메모리 테이블을 포함하는 것을 특징으로 한다.
본 발명에 따른 이엠에스 서버의 로그 데이터 관리 방법은 외부장비로부터 패킷 데이터를 수신하는 단계와; 수신된 패킷 데이터를 상호 구분되는 다수 개의 용도별로 구분하여 저장하는 단계; 및 클라이언트로부터 요청을 수신하는 단계를 포함한다.
그리고, 상기 다수 개의 용도 중 제1 용도로 저장하는 단계는, 상기 수신된 패킷 데이터를 파싱하는 제1 단계와; 상기 파싱에 의해 추출된 데이터를 실시간 메모리 테이블에 테이블 구조로 삽입 갱신하는 제2 단계와; 사용량이 많은 항목 순으로 정렬하여 상위 N개의 항목을 선정하는 제3 단계; 및 상기 상위 N개의 항목에 대응하는 인덱싱 파일을 생성하여 상기 실시간 메모리 테이블에 저장하는 제4 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 이엠에스 서버 및 이의 로그 데이터 관리 방법에 의하면, 로컬 아이피 초당 수십만 개 이상의 로그 데이터를 실시간으로 저장 및 모니터링할 수 있고, 수 개월 전의 과거 데이터를 초 단위로 조회 가능하면서 동시에 서버의 성능과 안정성은 확보할 수 있는 효과가 있다.
도 1은 종래 이엠에스 구성을 나타낸 시스템 구성도.
도 2는 본 발명에 따른 이엠에스 서버를 포함하는 이엠에스 구조를 도시한 블록 구성도.
도 3은 본 발명에 따른 실시간 메모리 테이블의 데이터 갱신을 보여주는 일례.
도 4는 본 발명의 인덱싱 파일 생성 과정의 json 형식으로 표현된 데이터의 일례.
도 5는 본 발명의 json 포맷으로 생성된 인덱싱 파일의 일례.
도 6은 본 발명에 따른 이엠에스 서버의 로그 데이터 관리 방법의 블록 순서도.
도 7은 본 발명의 실시간 메모리 테이블용 로그 데이터 관리 방법의 블록 순서도.
본 발명에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에서, "~ 상에 또는 ~ 상부에" 라 함은 대상 부분의 위 또는 아래에 위치함을 의미하는 것이며, 반드시 중력 방향을 기준으로 상 측에 위치하는 것을 의미하는 것은 아니다. 또한, 영역, 판 등의 부분이 다른 부분 "상에 또는 상부에" 있다고 할 때, 이는 다른 부분 "바로 상에 또는 상부에" 접촉하여 있거나 간격을 두고 있는 경우 뿐 아니라 그 중간에 또 다른 부분이 있는 경우도 포함한다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예, 장점 및 특징에 대하여 상세히 설명하도록 한다.
도 2는 본 발명에 따른 이엠에스 서버를 포함하는 이엠에스 구조를 도시한 블록 구성도이다. 도 2를 참조하면, 본 발명에 따른 이엠에스 서버(100)는 외부장비(200)로부터 패킷 데이터를 수신하여 저장하고 클라이언트(300)의 요청시 저장된 정보를 조회할 수 있도록 관리하는 장치로서, 데이터 컬렉터(10), 이엠에스 제어부(미도시), 데이터 저장부(20,30,40,50) 및 웹 서버(60)를 포함하여 구성된다.
특히 본 발명의 이엠에스 서버(100)는 수신된 패킷 데이터를 다양한 형태 내지 용도로 구분하여 가공하고, 이렇게 가공되는 데이터는 데이터 저장부에 상호 구분되어 저장되는 것을 특징으로 한다.
이에 따라, 본 발명의 데이터 저장부는 다수 개로 구분될 수 있는데, 바람직한 실시예에 따르면, 실시간 모니터링의 용도로 가공되는 데이터를 저장하는 실시간 메모리 테이블(20)과, 리포팅의 용도로 가공되는 데이터를 저장하는 리포트 데이터베이스(30)와, 분석용 데이터를 저장하는 분석 데이터베이스(40)와, 다양한 로그 데이터를 저장하는 NoSQL 데이터베이스(50)를 포함하여 구성되는 것을 특징으로 한다.
여기서, 본 발명의 실시간 메모리 테이블(20), 리포트 데이터베이스(30), 분석 데이터베이스(40), 및 NoSQL 데이터베이스(50)는 기능적으로 상호 구분 및 분리되는 구성인 바, 물리적으로는 상호 별개로 또는 하나의 형태로 구성될 수도 있음은 물론이다.
이러한 이엠에스 서버(100)는 망을 구성하는 각 네트워크 엘리먼트에 통신망을 통해 접속되어 QoS 프로토콜, DPI 프로토콜, TCP/IP 프로토콜 또는 SNMP 프로토콜 등에 의해 로그 정보를 수신 및 관리함으로써 전체 망의 실시간 모니터링, 리포팅 및 분석 기능을 제공할 수 있게 된다.
이하에서는 이엠에스 서버(100)를 구성하는 각 구성에 대하여 상세히 설명하도록 한다.
본 발명의 데이터 컬렉터(10)는 외부장비(200)로부터 전송되는 패킷 데이터 즉, 로그 정보를 수집하는 장치로서, 데이터 컬렉터(10)에 의해 수집된 패킷 데이터는 이엠에스 제어부에 의해 다양한 형태로 가공 처리된 후 그 가공 형태에 따라 리포트 데이터베이스(30), 실시간 메모리 테이블(20), 분석 데이터베이스(40) 및 NoSQL 데이터베이스(50) 중에서 선택된 어느 하나의 구성에 저장된다.
여기서, 이엠에스 서버(100)로 전송되는 데이터 패킷 구조는 메시지 헤더(시작점) (Message Header) 정보, 모니터링 헤더(시작점)(Monitoring Header) 정보, 링크(LINK) 정보, 로컬 아이피(LOCIP) 정보, 플로우(FLOW) 정보, 어플리케이션 그룹(APPGRP)별 정보, 이더 타입(ETHE)별 정보, 물리 포트(PORT RMON)별 정보, 어플리케이션(APP)별 정보, 모니터링 푸터(끝점)(Monitoring footer) 정보, 메시지 푸터(끝점)(Message footer) 정보 등을 포함할 수 있다.
그리고, 데이터 컬렉터(10)는 이벤트 발생시 이를 실시간으로 클라이언트(300)에게 알려주도록 구성될 수 있다.
여기서 이벤트란 네트워크 관련 일반 이벤트, VOIP 이벤트, 설정 변경에 따른 이벤트 등일 수 있다.
상기 경우, 데이터 컬렉터(10)가 수집한 패킷 데이터에 해당 이벤트가 포함되어 있을 경우, 데이커 컬렉터(10)는 메시징 서버를 통해 클라이언트(300) 측으로 이벤트 발생 알림 내지 메시지를 실시간으로 푸싱하도록 구성될 수 있다.
본 발명의 실시간 메모리 테이블(20)은 실시간 모니터링의 용도로 가공되는 데이터를 데이터 데이블 구조로 저장하는 구성으로서, 데이터 컬렉터(10)에 의해 수신된 패킷 데이터의 파싱 및 정렬을 통해 생성되는 인덱싱 파일의 저장이 실시간으로 이루어지는 것을 특징으로 한다.
구체적으로, 이엠에스 서버(100)는 외부장비(200)로부터 수신한 패킷 데이터에 대하여, 압축 해제, 패킷 파싱, 데이터 갱신, 정렬, 상위 항목 선정, 데이터 추출 과정을 순차적으로 수행함으로써 최종적으로 인덱싱 파일을 생성하고, 이렇게 생성되는 인덱싱 파일은 실시간 메모리 테이블(20)에 저장되도록 구성된다.
여기서, 압축 해제는 수신된 이진 데이터를 압축 해제하는 것을 의미한다.
패킷 파싱은 원본 이진 데이터를 파싱하여 데이터를 추출하는 것을 의미한다.
데이터 갱신은 실시간 메모리 테이블(20)에 기저장되어 있는 정보에 파싱된 데이터를 업데이트하는 것을 의미한다. 따라서, 파싱에 의해 추출된 데이터는 데이터 테이블 구조로 삽입 갱신되게 된다.
도 3은 본 발명에 따른 실시간 메모리 테이블의 데이터 갱신을 보여주는 일례이다. 도 3을 참조하면, 데이터 갱신 과정은 새로 들어온 데이터를 실시간 메모리 테이블(20)에 기저장되어 있는 데이터와 비교하면서, 추가, 업데이트, 삭제가 이루어지도록 구성된다. 일 실시예에 따르면, 이엠에스 서버(100)는 상기와 같이 데이터 갱신 과정을 통해 최근 들어온 120개의 데이터만 관리하도록 구성할 수 있다.
정렬은 데이터 갱신이 완료되면 사용량이 많은 항목 순으로 정렬하는 것을 의미한다.
상위 항목 선정은 정렬된 항목 중에서 상위 N개의 항목을 선정하는 것을 의미한다. 바람직한 실시예에 따르면, 상위 N개의 항목은 사용량이 많은 상위 100개의 항목으로 구성된다.
데이터 추출은 정렬 및 상위 항목 선정 과정을 통해 결정된 상위 N개의 항목에 대한 세부 데이터를 추출하는 것을 의미한다.
인덱싱 파일 생성은 데이터 추출 과정을 통해 추출된 데이터의 실시간 모니터링을 구현할 수 있도록 이에 적합한 포맷을 갖는 인덱싱 파일을 생성하는 과정이다.
바람직한 실시예에 따르면, 전술한 인덱싱 파일 생성 과정을 통해 생성되는 인덱싱 파일은 'json' 포맷의 파일로 형성할 수 있다. 참고로, 도 4는 본 발명의 인덱싱 파일 생성 과정의 json 형식으로 표현된 데이터의 일례이고, 도 5는 본 발명의 json 포맷으로 생성된 인덱싱 파일의 일례이다.
이와 같은 'json' 포맷의 인덱싱 파일은 자바스크립트(javascript)에서 객체로 역직렬화(deserialization) 처리함으로써 데이터로 활용될 수 있다.
예컨대, 웹 페이지에서 에이잭스(AJAX)로 이엠에스 서버(100)에 데이터를 요청하면, 이엠에스 서버(100)는 생성된 인덱싱 파일을 읽어 해당 웹 페이지로 전송하고, 이를 수신한 웹 페이지는 해당 데이터를 차트나 그리드에 바인딩하는 방식으로 활용될 수 있다.
한편, 전술한 압축 해제, 패킷 파싱, 데이터 갱신, 정렬, 상위 항목 선정, 데이터 추출 과정은 이엠에스 제어부에 의해 수행될 수 있다.
본 발명의 리포트 데이터베이스(30)는 리포팅의 용도로 가공되는 데이터를 저장하는 구성으로서, 데이터 컬렉터(10)에 의해 수신된 패킷 데이터의 벌크 삽입이 이루어지는 것을 특징으로 한다.
구체적으로, 이엠에스 서버(100)는 외부장비(200)로부터 수신한 패킷 데이터를 그대로 파일로 저장한 후 리포트 데이터베이스(30)에 벌크 삽입이 가능한 구조의 파일로 변환 생성한다.
벌크 삽입용 백업 파일을 사전에 만든 후 스케줄러에 의해 리포트 데이터베이스(30)에 초(Sec) 단위로 벌크 삽입을 수행하도록 구성된다. 상기 벌크 삽입의 수행시 리포트 데이터베이스(30)에 해당 데이터가 없으면 백업 경로를 통해 벌크 파일로 복원하게 된다.
본 발명의 분석 데이터베이스(40)는 분석용 데이터를 저장하는 구성으로서, 리포트 데이터베이스(30)에 저장되어 있는 로그 데이터를 스케줄러에 의해 일정 기간 집계하는 과정을 거친 후 이에 따라 산출되는 분석용 데이터를 주기적으로 저장하도록 구성된다.
따라서, 클라인언트가 로그 데이터의 분석 조회를 위한 요청시, 웹 서버(60)는 전술한 분석 데이터베이스(40)를 통해 일/주/월/년 단위의 분석용 데이트를 검색하여 출력할 수 있게 된다.
본 발명의 NoSQL 데이터베이스(50)는 NoSQL 방식으로 데이터를 저장 및 관리하는 데이터베이스로서, 이러한 NoSQL 데이터베이스(50)는 외부장비(200)로부터 수신한 패킷 데이터의 이벤트 또는 시스템 로그 데이터의 저장이 이루어진다.
본 발명의 웹 서버(60)는 클라이언트(300)의 요청시, 실시간 메모리 테이블(20)의 인덱싱 파일을 조회하고 그 처리 결과를 클라이언트(300)에게 응답함으로써, 외부장비(200)로부터 수신된 로그 데이터에 대해 모니터링을 수행하도록 구성된다.
특히, 실시간 메모리 테이블(20)에는 파싱에 의해 추출된 데이터와 이를 기반으로 생성되는 인덱싱 파일이 실시간으로 삽입 갱신되는 바, 초 단위의 로그 정보 모니터링을 구현할 수 있게 된다.
구체적으로, 로컬 아이피 초당 100,000 개 이상의 로그 데이터를 실시간으로 모니터링할 수 있게 된다.
이와 같이 실시간 메모리 테이블(20)을 통해 조회되는 모니터링 정보는 링크, 로컬 호스트, 어플리케이션 그룹, 로컬 아이피별, 어플리케이션별, 어플리케이션 유형별 정보 등을 포함한다.
그리고, 웹 서버(60)는 클라이언트(300)의 요청시, 리포트 데이터베이스(30)를 통해 리포팅 데이터를 조회하고 그 처리 결과를 클라이언트(300)에게 응답하도록 기능한다.
특히, 리포트 데이터베이스(30)는 벌크 삽입용 백업 파일을 사전에 만든 후 스케줄러에 의해 리포트 데이터베이스(30)에 초(Sec) 단위로 벌크 삽입을 수행하도록 구성되는 바, 각종 분류별 데이터에 대한 초 단위의 리포팅 조회를 구현할 수 있게 된다.
이와 같이 리포트 데이터베이스(30)를 통해 조회되는 리포팅 정보는 원격 호스트, 프로토콜, 서비스 포트, 이더 타입, 포트별, 노드 그룹별, VOIP, URL 필터링, 정책 등의 분류별 정보를 포함한다.
또한, 웹 서버(60)는 클라이언트(300)의 요청시, 분석 데이터베이스(40)를 통해 분석용 데이터를 조회하고 그 처리 결과를 클라이언트(300)에게 응답하도록 기능한다.
분석 데이터베이스(40)의 데이터는 리포트 데이터베이스(30)에 저장되어 있는 로그 데이터를 스케줄러에 의해 일정 기간 집계하여 저장되는 바, 웹 서버(60)는 분석 데이터베이스(40)를 통해 일/주/월/년 단위의 분석 데이트를 조회하여 클라이언트(300)에 출력할 수 있다.
이와 같이 분석 데이터베이스(40)를 통해 조회되는 분석 정보는 로컬 호스트, 어플리케이션, 어플리케이션 그룹, 프로토콜, 서비스, URL 필터링, 정책, VOIP, 원격 호스트 등을 포함하고, 로컬 호스트별 어플리케이션과 같이 2단계로 그룹을 설정하여 조회할 수도 있다.
한편, 웹 서버(60)에 로그 정보의 조회 및 그 처리 결과의 출력을 요구하는 클라이언트(300)는 컴퓨터, 스마트폰, PDA 등과 같이 웹 서버(60)와 유무선 통신망으로 연결 가능한 전기 전자 장치를 포함하고, 이러한 전기 전자 장치는 브라우저와 같은 프로그램을 탑재하고 있다.
클라이언트(300)에 탑재된 프로그램은 네트워크를 통하여 기 구동 중인 이엠에스 서버(100)에 접속을 시도하고, 이엠에스 서버(100)는 정해진 인터페이스를 통하여 클라이언트(300)의 요청에 해당하는 작업을 수행하여 그 처리 결과를 클라이언트(300)에게 제공하게 된다.
한편, 클라이언트(300)는 RESTful 방식, XML 방식, SOAP 방식과 같이 공지된 다양한 데이터 전송 방식 중에서 선택된 어느 하나를 이용하여 웹 서버(60)에 로그 정보 요청을 시도할 수 있다.
본 발명의 이엠에스 제어부는 수집된 패킷 데이터를 용도에 따라 다양한 형태로 가공 처리하고, 이에 따른 결과물을 그 가공 형태에 따라 리포트 데이터베이스(30), 실시간 메모리 테이블(20), 분석 데이터베이스(40) 및 NoSQL 데이터베이스(50) 중에서 선택적으로 저장하도록 기능한다.
예컨대, 이엠에스 제어부는 실시간 메모리 테이블(20)에 정보 저장을 위해, 압축 해제, 패킷 파싱, 데이터 갱신, 정렬, 상위 항목 선정, 데이터 추출 및 인덱싱 파일 생성을 위한 처리를 수행할 수 있다.
또한, 이엠에스 제어부는 리포트 데이터베이스(30)에 정보 저장을 위해, 수신한 패킷 데이터를 그대로 파일로 저장한 후 리포트 데이터베이스(30)에 벌크 삽입이 가능한 구조의 파일로 변환하는 처리를 수행할 수 있다.
더 나아가, 이엠에스 제어부는 전술한 초 단위 스케줄링, 주기적 집계 스케줄링을 수행하는 스케줄러를 포함할 수도 있다.
이하에서는, 상기에서 설명 및 도시한 이엠에스 서버(100)의 로그 데이터 관리 방법에 대해 설명하도록 한다.
도 6은 본 발명에 따른 이엠에스 서버의 로그 데이터 관리 방법의 흐름도이다. 도 6을 참조하면, 본 발명에 따른 이엠에스 서버의 로그 데이터 관리 방법은 크게 패킷 데이터 수신 단계(S10)와, 용도별 구분 저장 단계(S20)와, 클라이언트 요청 수신 단계(S30)와, 선택적 조회 단계(S40)와, 처리 결과 출력 단계(S50)를 포함한다.
패킷 데이터 수신 단계(S10)는 이엠에스 서버(100)의 데이터 컬렉터(10)가 외부장비(200)로부터 전송되는 패킷 데이터 즉, 로그 정보를 수집하는 단계이다.
용도별 구분 저장 단계(S20)는 수신된 패킷 데이터를 상호 구분되는 다수 개의 용도 별로 구분하여 저장하는 단계이다.
바람직한 실시예에 따르면, 상기 다수 개의 용도는 초 단위의 실시간 모니터링을 위한 제1 용도, 초 단위의 리포팅 조회를 위한 제2 용도, 분석 조회를 제3 용도, 및 이벤트/시스템 로그 데이터 저장을 위한 제4 용도를 포함한다.
클라이언트 요청 수신 단계(S30)는 웹 서버(60)와 연결되어 있는 클라이언트 프로그램으로부터 RESTful 방식, XML 방식, SOAP 방식 등을 통해 로그 정보의 조회 내지 검색을 요청받는 단계이다.
선택적 조회 단계(S40)는 클라이언트(300)의 요청에 따라 실시간 메모리 테이블(20), 리포트 데이터베이스(30), 분석 데이터베이스(40) 및 NoSQL 데이터베이스(50) 중에서 선택된 적어도 하나 이상의 데이터 저장부를 조회하는 단계이다.
처리 결과 출력 단계(S50)는 상기 선택적 조회 단계를 통해 처리된 결과를 클라이언트(300)에게 제공하는 단계이다.
이하에서는 본 발명의 제1 용도로 저장하는 단계에 대해 상세히 설명하도록 한다.
도 7은 본 발명의 실시간 메모리 테이블용 로그 데이터 관리 방법을 나타낸 블록 순서도이다. 도 7을 참조하면, 본 발명의 제1 용도로 저장하는 단계는 수신된 패캣(S21)의 압축 해제 단계(S22)와, 패킷 파싱 단계(S23)와, 데이터 갱신(S24) 단계와, 정렬 단계(S25)와, 상위 항목 선정 단계(S26)와, 데이터 추출 단계(S27)와, 인덱싱 파일 생성 단계(S28)를 포함한다.
압축 해제 단계(S22)는 수신된 이진 데이터를 압축 해제하는 단계이고, 패킷 파싱 단계(S23)는 원본 이진 데이터를 파싱하여 데이터를 추출하는 단계이다.
데이터 갱신(S24) 단계는 실시간 메모리 테이블(20)에 기저장되어 있는 정보에 파싱된 데이터를 업데이트하는 단계이다. 파싱에 의해 추출된 데이터는 데이터 테이블 구조로 삽입 갱신되게 된다.
정렬 단계(S25)는 데이터 갱신이 완료되면 사용량이 많은 항목 순으로 정렬하는 단계이고, 상위 항목 선정 단계(S26)는 정렬된 항목 중에서 상위 N개의 항목을 선정하는 단계이다. 바람직한 실시예에 따르면, 상위 N개의 항목은 사용량이 많은 상위 100개의 항목으로 구성된다.
데이터 추출 단계(S27)는 정렬 및 상위 항목 선정 과정을 통해 결정된 상위 N개의 항목에 대한 세부 데이터를 추출하는 단계이다.
인덱싱 파일 생성 단계(S28)는 데이터 추출 과정을 통해 추출된 데이터의 실시간 모니터링을 구현할 수 있도록 이에 적합한 포맷을 갖는 인덱싱 파일을 생성하는 단계이다. 바람직한 실시예에 따르면, 인덱싱 파일 생성 단계(S28)을 통해 생성되는 인덱싱 파일은 'json' 포맷의 파일로 형성될 수 있다.
상기 경우, 실시간 모니터링을 위한 클라이언트(300) 요청 수신시, 선택적 조회 단계(S40)는 실시간 메모리 테이블(20)에 저장된 인덱싱 파일을 조회하여 클라이언트(300)에게 응답하도록 구성된다.
본 발명의 제2 용도로 저장하는 단계는 수신된 패킷 데이터를 그대로 파일로 저장한 후 리포트 데이터베이스(30)에 벌크 삽입이 가능한 구조의 파일로 변환하는 단계와, 이에 따라 생성된 벌크 삽입용 파일을 리포트 데이터베이스(30)에 삽입 저장하는 단계를 포함한다.
여기서, 벌크 삽입용 백업 파일을 사전에 만든 후 스케줄러에 의해 리포트 데이터베이스(30)에 초(Sec) 단위로 벌크 삽입을 수행하도록 구성된다. 그리고 벌크 삽입의 수행시 리포트 데이터베이스(30)에 해당 데이터가 없으면 백업 경로에서 벌크 파일로 복원하게 된다.
상기 경우, 초 단위의 리포팅 조회를 위한 클라이언트 요청 수신시, 선택적 조회 단계(S40)는 리포트 데이터베이스(30)를 조회 검색하여 그 처리 결과를 클라이언트(300)에게 제공하도록 구성된다.
본 발명의 제3 용도로 저장하는 단계는 리포트 데이터베이스(30)에 저장되어 있는 로그 데이터를 스케줄러에 의해 일정 기간 집계하는 과정을 거친 후 이에 따라 산출되는 분석용 데이터를 주기적으로 저장하는 단계를 포함한다.
상기 경우, 분석 조회를 위한 클라이언트 요청 수신시, 선택적 조회 단계(S40)는 분석 데이터베이스(40)를 통해 일/주/월/년 단위의 분석용 데이트를 검색하여 그 처리 결과를 출력하게 된다.
마직막으로, 본 발명의 제4 용도로 저장하는 단계는 패킷 데이터의 이벤트 또는 시스템 로그 데이터를 NoSQL 데이터베이스(50)에 저장하는 단계를 포함한다.
전술한 바와 같이, 본 발명의 이엠에스 서버는 수신된 패킷 데이터를 상호 구분되는 다수 개의 용도 별로 구분하여 가공, 저장 및 관리하도록 구성함으로써,초당 수십만 개 이상의 로그 데이터를 실시간으로 저장 및 모니터링할 수 있고, 수 개월 전의 과거 데이터를 초 단위로 조회 가능하면서도 서버의 성능과 안정성은 보장할 수 있게 되었다.
상기에서 본 발명의 바람직한 실시예가 특정 용어들을 사용하여 설명 및 도시되었지만 그러한 용어는 오로지 본 발명을 명확히 설명하기 위한 것일 뿐이며, 본 발명의 실시예 및 기술된 용어는 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러가지 변경 및 변화가 가해질 수 있는 것은 자명한 일이다.
이와 같이 변형된 실시예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안되며, 본 발명의 청구범위 안에 속한다고 해야 할 것이다.
10: 데이터 컬렉터
20: 실시간 메모리 테이블
30: 리포트 데이터베이스
40: 분석 데이터베이스
50: NoSQL 데이터베이스
60: 웹 서버
100: 이엠에스 서버
200: 외부장비
300: 클라이언트

Claims (11)

  1. 이엠에스 서버의 로그 데이터 관리 방법으로서,
    외부장비로부터 패킷 데이터를 수신하는 단계; 수신된 패킷 데이터를 상호 구분되는 다수 개의 용도별로 구분하여 저장하는 단계; 및 클라이언트로부터 요청을 수신하는 단계를 포함하고,
    상기 다수 개의 용도 중 제1 용도로 저장하는 단계는,
    상기 수신된 패킷 데이터를 파싱하는 제1 단계;
    상기 파싱에 의해 추출된 데이터를 실시간 메모리 테이블에 테이블 구조로 삽입 갱신하는 제2 단계;
    사용량이 많은 항목 순으로 정렬하여 상위 N개의 항목을 선정하는 제3 단계; 및
    상기 상위 N개의 항목에 대응하는 인덱싱 파일을 생성하여 상기 실시간 메모리 테이블에 저장하는 제4 단계;를 포함하는 것을 특징으로 하는 이엠에스 서버의 로그 데이터 관리 방법.
  2. 제1 항에 있어서,
    상기 클라이언트로부터 요청을 수신시, 상기 실시간 메모리 테이블에 저장된 상기 인덱싱 파일을 조회하여 응답하는 단계를 더 포함하는 것을 특징으로 하는 이엠에스 서버의 로그 데이터 관리 방법.
  3. 제1 항에 있어서,
    상기 다수 개의 용도 중 제2 용도로 저장하는 단계는,
    상기 수신된 패킷 데이터를 벌크 삽입이 가능한 구조의 파일(이하, '벌크 삽입용 파일'이라 함)로 변환하는 단계; 및
    상기 벌크 삽입용 파일을 리포트 데이터베이스에 삽입하는 단계를 포함하는 것을 특징으로 하는 이엠에스 서버의 로그 데이터 관리 방법.
  4. 제1 항에 있어서,
    상기 다수 개의 용도 중 제3 용도로 저장하는 단계는, 상기 리포트 데이터베이스에 저장되어 있는 데이터를 집계한 분석용 데이터를 저장하는 단계를 포함하는 것을 특징으로 하는 이엠에스 서버의 로그 데이터 관리 방법.
  5. 외부장비로부터 패킷 데이터를 수신하여 저장하고 클라이언트의 요청에 따라 저장 정보를 조회할 수 있도록 관리하는 이엠에스 서버로서,
    상기 패킷 데이터의 벌크 삽입이 이루어지는 리포트 데이터베이스; 및
    상기 패킷 데이터의 파싱에 의해 추출된 데이터가 테이블 구조로 삽입 갱신되고, 사용량 순에 따라 정렬된 상위 N개의 항목에 대응하는 인덱싱 파일의 저장이 실시간으로 이루어지는 실시간 메모리 테이블;을 포함하는 것을 특징으로 하는 이엠에스 서버.
  6. 제5 항에 있어서,
    상기 클라이언트의 요청을 수신하고, 클라이언트의 요청시 상기 실시간 메모리 테이블의 상기 상위 N개의 항목에 대응하는 인덱싱 파일을 조회하는 웹 서버를 더 포함하는 것을 특징으로 하는 이엠에스 서버.
  7. 제5 항에 있어서,
    상기 인덱싱 파일은 json 포맷으로 생성된 것을 특징으로 하는 이엠에스 서버.
  8. 제5 항에 있어서,
    상기 리포트 데이터베이스는 스케줄러에 의해 초(Sec) 단위로 상기 패킷 데이터의 벌크 삽입이 수행되는 것을 특징으로 하는 이엠에스 서버.
  9. 제5 항에 있어서,
    상기 리포트 데이터베이스에 저장되어 있는 데이터를 일정 기간 집계한 분석용 데이터를 저장하는 분석 데이터베이스를 더 포함하는 것을 특징으로 하는 이엠에스 서버.
  10. 제5 항에 있어서,
    상기 패킷 데이터의 이벤트 또는 시스템 로그 데이터를 저장하는 NoSQL 데이터베이스를 더 포함하는 것을 특징으로 하는 이엠에스 서버.
  11. 제8 항에 있어서,
    상기 클라이언트의 요청을 수신하고, 클라이언트의 요청시 상기 리포트 데이터베이스의 상기 초 단위의 데이터를 조회하는 웹 서버를 더 포함하는 것을 특징으로 하는 이엠에스 서버.
KR1020150019233A 2015-02-09 2015-02-09 이엠에스 서버 및 이의 로그 데이터 관리 방법 KR101736382B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150019233A KR101736382B1 (ko) 2015-02-09 2015-02-09 이엠에스 서버 및 이의 로그 데이터 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150019233A KR101736382B1 (ko) 2015-02-09 2015-02-09 이엠에스 서버 및 이의 로그 데이터 관리 방법

Publications (2)

Publication Number Publication Date
KR20160097502A true KR20160097502A (ko) 2016-08-18
KR101736382B1 KR101736382B1 (ko) 2017-05-16

Family

ID=56874034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150019233A KR101736382B1 (ko) 2015-02-09 2015-02-09 이엠에스 서버 및 이의 로그 데이터 관리 방법

Country Status (1)

Country Link
KR (1) KR101736382B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101890805B1 (ko) * 2018-04-17 2018-08-22 (주)시큐레이어 머신 러닝 기반 실시간 비정형 로그 처리 방법 및 이를 사용한 서버
KR101966356B1 (ko) * 2018-11-30 2019-04-08 (주)시큐레이어 머신러닝 기반 무중단 파서 업데이트 방법 및 이를 이용한 솔루션 서버
KR102542052B1 (ko) 2023-02-03 2023-06-13 주식회사 피앤피시큐어 커널 레벨에서의 로그 카운트 처리장치와 처리시스템 및 이를 이용한 로그 카운트 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101890805B1 (ko) * 2018-04-17 2018-08-22 (주)시큐레이어 머신 러닝 기반 실시간 비정형 로그 처리 방법 및 이를 사용한 서버
KR101966356B1 (ko) * 2018-11-30 2019-04-08 (주)시큐레이어 머신러닝 기반 무중단 파서 업데이트 방법 및 이를 이용한 솔루션 서버
KR102542052B1 (ko) 2023-02-03 2023-06-13 주식회사 피앤피시큐어 커널 레벨에서의 로그 카운트 처리장치와 처리시스템 및 이를 이용한 로그 카운트 방법

Also Published As

Publication number Publication date
KR101736382B1 (ko) 2017-05-16

Similar Documents

Publication Publication Date Title
US10977147B2 (en) System for continuous monitoring of data quality in a dynamic feed environment
CN109918349B (zh) 日志处理方法、装置、存储介质和电子装置
CN103942210A (zh) 海量日志信息的处理方法、装置与系统
CN105677842A (zh) 基于Hadoop大数据处理技术的日志分析系统
US20100088197A1 (en) Systems and methods for generating remote system inventory capable of differential update reports
CN104834582B (zh) 一种监控事件展示方法
CN103095819A (zh) 推送数据信息的方法及数据信息推送系统
CN105512201A (zh) 数据收集和加工方法及装置
CN111338814A (zh) 消息处理方法和装置、存储介质和电子装置
CN103853743A (zh) 一种分布式系统及其日志查询方法
CN105577411B (zh) 基于服务起源的云服务监控方法和装置
CN101902505A (zh) 一种分布式dns查询日志的实时统计装置及方法
JP5487864B2 (ja) データ収集装置、データ収集方法およびデータ収集プログラム
CN110858192A (zh) 一种日志查询方法和系统、日志排查系统和查询终端
KR101736382B1 (ko) 이엠에스 서버 및 이의 로그 데이터 관리 방법
CN113868248A (zh) 指标数据预聚合方法
CN112867989A (zh) 基于流的组成以及监视服务器系统和方法
CN104486116A (zh) 多维度查询流量数据的方法及系统
CN109714222A (zh) 高可用的分布式计算机监控系统及其监控方法
CN105162622A (zh) 一种存储方法和系统
CN106326280B (zh) 数据处理方法、装置及系统
CN114090529A (zh) 一种日志管理方法、装置、系统和存储介质
US8725703B2 (en) Management of an inventory of websites
CN110929130B (zh) 一种基于分布式调度的公安部级审计数据查询方法
CN108430067A (zh) 一种基于xdr的互联网业务质量分析方法及系统

Legal Events

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