KR100982034B1 - 데이터베이스 성능 모니터링 방법 및 시스템 - Google Patents

데이터베이스 성능 모니터링 방법 및 시스템 Download PDF

Info

Publication number
KR100982034B1
KR100982034B1 KR1020100044189A KR20100044189A KR100982034B1 KR 100982034 B1 KR100982034 B1 KR 100982034B1 KR 1020100044189 A KR1020100044189 A KR 1020100044189A KR 20100044189 A KR20100044189 A KR 20100044189A KR 100982034 B1 KR100982034 B1 KR 100982034B1
Authority
KR
South Korea
Prior art keywords
data
monitoring
database
normal range
time
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020100044189A
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 KR1020100044189A priority Critical patent/KR100982034B1/ko
Application granted granted Critical
Publication of KR100982034B1 publication Critical patent/KR100982034B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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/22Microcontrol or microprogram arrangements

Landscapes

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

Abstract

본 발명은 데이터베이스의 성능을 모니터링하는 방법 및 시스템에 관한 것으로 더욱 상세하게는 평균과 표준편차를 활용하여 동적인 임계치를 산출하여 다이나믹하고 효과적인 시스템 감시를 제공하는 모니터링 방법 및 시스템에 관한 것이다.
본 발명에 따르는 데이터베이스 성능 모니터링 방법은 시계열 데이터를 수집하는 단계; 시계열 데이터를 평균과 표준편차를 이용하여 데이터 패턴을 인식하되, 시구간별 동적 임계치를 산출하고 모니터링 항목별로 표준화된 모니터링 단위를 제공하기 위해, (a)모니터링 항목별 정상범위 구간 데이터와 임계치 데이터를 산출하는 단계 및 (b)상기 산출된 데이터를 이용하여 실시간으로 접근되는 데이터를 모니터링하는 단계를 포함하되, 상기 (a)단계는 (a1)지정된 구간의 성능 로깅 데이터를 추출하는 단계; (a2)평균과 표준편차를 산출하는 단계; (a3)모니터링 항목별 정상범위 구간 및 임계치 산출 단계; 및 (a4)데이터베이스에 저장하는 단계를 수행하는 일련의 절차를 포함하고, 상기 (b)단계는 (b1)실시간 데이터를 모니터링하는 단계; (b2)상기 (a3)단계에서 산출된 정상범위 구간 및 임계치를 데이터베이스로부터 추출하는 단계; (b3)실시간 데이터가 정상범위에 있는지를 판단한 후 정상범위인 경우 상기 (b1)단계에서부터 다시 수행하고, 정상범위를 벗어난 경우 다음 절차를 수행하도록 하는 단계; (b4)실시간 데이터가 미리 설정된 횟수만큼 반복적으로 정상범위를 이탈하는지 여부를 판단한 후 정상범위를 이탈하지 않은 경우 상기(b1)단계부터 절차를 다시 수행하고, 정상범위를 이탈한 경우는 다음 절차를 수행하도록 하는 단계; (b5)정상구간을 벗어났다는 경고에 관한 정보를 로깅한 후 데이터베이스에 저장하는 단계; 및 (b6)경고를 발생하는 단계를 수행하는 일련의 절차를 포함하는 시계열 데이터 분석단계; 및 클라이언트의 주기적 질의에 대한 응답 및 경고를 발생하는 단계를 포함하는 것을 특징으로 한다.

Description

데이터베이스 성능 모니터링 방법 및 시스템 {MONITORING METHOD AND SYSTEM FOR DATABASE PERFORMANCE}
본 발명은 데이터베이스의 성능을 모니터링하는 방법 및 시스템에 관한 것으로 더욱 상세하게는 평균과 표준편차를 활용하여 동적인 임계치를 산출하여 다이나믹하고 효과적인 시스템 감시를 제공하는 모니터링 방법 및 시스템에 관한 것이다.
시스템을 운영하는 기업들은 대부분 시스템을 모니터링하거나 Alerting을 받을 수 있는 다양한 형태의 소프트웨어를 사용하고 있다. 이러한 소프트웨어들은 시스템이나 데이터베이스의 특정 항목에 대하여 별도로 저장된 임계치를 통해 임계치 초과 여부를 검사하고, 임계치 초과 시 사용자에게 해당 사실을 Alerting 해주는 기능을 수행하고 있으나 현실적으로 많은 운영상의 문제점들을 가지고 있어 실질적인 효과를 기대하기 어려운 것이 사실이다. 특히, 1차원적인 획일적인 임계치 설정은 시스템이나 데이터베이스가 가지고 있는 다양한 운영상의 특성 (Peak-Time, 결산, 마감작업, 집중 Batch 수행 등이 몰리는 현상)을 반영할 수 없으므로 장애 또는 성능 저하 발생 시 빠른 대응을 통한 장애 시간 최소화를 기대하기 어렵다. 즉, 실질적인 의미에서의 효과적인 모니터링이 제대로 이루어지지 못하고 있다고 해도 과언이 아니다. 또한 다양한 장애나 성능 이슈로 인하여 수많은 모니터링 항목이 존재하고 이를 표준화한 단위가 존재하지 않아 적절한 시스템 감시를 위해서는 상당한 경력을 가진 전문엔지니어에 의해서 수행해야하므로 기업의 입장에서는 인력 수급 및 유지에 있어서 상당한 부담이 아닐 수 없다.
본 발명은 많은 기업들이 겪고 있는 상기의 다양한 모니터링의 어려운 문제점들을 해결하기 위하여 평균과 표준편차를 활용한 시계열 분석을 통해 자동으로 동적 임계치를 생성하고 패턴을 인식하여 장애를 사전에 감지하거나 즉시 감지할 수 있는 방법을 제시함으로써 다양한 장애나 성능 이슈로 인한 기업들의 손실을 획기적으로 최소화할 수 있다. 특히, 성능 모니터링과 관련된 수많은 항목들을 정규화를 통해 표준화하여 모니터링함으로써 전문 엔지이너들만이 할 수 있는 시스템이나 모니터링 분야를 다양한 인력들이 수행할 수 있도록 해줄 수 있는 방법 및 시스템의 제공을 목적으로 한다.
본 발명에 따르는 데이터베이스 성능 모니터링 방법은 시계열 데이터를 수집하는 단계; 시계열 데이터를 평균과 표준편차를 이용하여 데이터 패턴을 인식하되, 시구간별 동적 임계치를 산출하고 모니터링 항목별로 표준화된 모니터링 단위를 제공하기 위해, (a)모니터링 항목별 정상범위 구간 데이터와 임계치 데이터를 산출하는 단계 및 (b)상기 산출된 데이터를 이용하여 실시간으로 접근되는 데이터를 모니터링하는 단계를 포함하되, 상기 (a)단계는 (a1)지정된 구간의 성능 로깅 데이터를 추출하는 단계; (a2)평균과 표준편차를 산출하는 단계; (a3)모니터링 항목별 정상범위 구간 및 임계치 산출 단계; 및 (a4)데이터베이스에 저장하는 단계를 수행하는 일련의 절차를 포함하고, 상기 (b)단계는 (b1)실시간 데이터를 모니터링하는 단계; (b2)상기 (a3)단계에서 산출된 정상범위 구간 및 임계치를 데이터베이스로부터 추출하는 단계; (b3)실시간 데이터가 정상범위에 있는지를 판단한 후 정상범위인 경우 상기 (b1)단계에서부터 다시 수행하고, 정상범위를 벗어난 경우 다음 절차를 수행하도록 하는 단계; (b4)실시간 데이터가 미리 설정된 횟수만큼 반복적으로 정상범위를 이탈하는지 여부를 판단한 후 정상범위를 이탈하지 않은 경우 상기(b1)단계부터 절차를 다시 수행하고, 정상범위를 이탈한 경우는 다음 절차를 수행하도록 하는 단계; (b5)정상구간을 벗어났다는 경고에 관한 정보를 로깅한 후 데이터베이스에 저장하는 단계; 및 (b6)경고를 발생하는 단계를 수행하는 일련의 절차를 포함하는 시계열 데이터 분석단계; 및 클라이언트의 주기적 질의에 대한 응답 및 경고를 발생하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 데이터 수집단계는 데이터베이스 관리시스템(DBMS)의 메모리 구조를 직접 읽어들이는 직접 메모리 접근방식에 의해 데이터를 추출하는 방식에 의한 것을 특징으로 하고,
상기 데이터 수집단계는 데이터 손실을 방지하기 위하여 운영체제(OS)상의 메시지 큐를 이용하여 데이터를 버퍼링함으로써 데이터를 송수신하는 것을 특징으로 하며,
상기 데이터 수집단계는 데이터 손실을 방지하기 위하여 운영체제(OS)상의 파일(File) 로깅(logging) 방식을 이용하여 데이터를 저장하되, 별도의 데몬 프로세스에 의해 데이터를 수집하여 분석서버에 전송하는 것을 특징으로 한다.

또한, 상기 (a)단계에 있어서 각 단계는 데이터를 추출한 후 시간, 날짜, 요일별로 구분하여 패턴화하여 정상범위 구간과 임계치 산출 저장하는 단계를 수행하는 것을 특징으로 하고, (b)단계에 있어서도 시간, 날짜, 요일별 특성을 반영하여 실시간 데이터를 모니터링하는 일련의 절차를 수행하는 것을 특징으로 하고,
상기 (a)단계에서 데이터를 추출하는 단계는 다수의 원격 소스서버에 구비된 데이터 송신모듈로부터 데이터가 송신되는 단계와 분석서버에 구비된 데이터 수신모듈을 통해 데이터를 수신하는 단계를 더 포함하는 것을 특징으로 하며,
상기 (b)단계는 (b2)단계와 (b3)단계 사이에 모니터링 항목의 단위 표준화를 위하여 평균값과 모니터링한 값의 차를 표준편차로 나누어 정규화된 값을 제공하는 단계를 더 포함하는 것을 특징으로 한다.

본 발명에 따른 데이터베이스 성능 모니터링 시스템은 데이터베이스 성능정보를 수집하기 위한 모듈을 구비한 데이터 베이스 또는 어플리케이션이 구동되는 하나 또는 둘 이상의 소스서버; 상기 소스서버로부터 수집된 시계열 데이터를 평균과 표준편차를 이용하여 데이터베이스 성능정보에 관한 패턴을 인식하고, 시구간별 동적 임계치를 산출하며, 모니터링 항목별 정규화를 통해 표준화된 모니터링 데이터를 산출함으로써 시계열 데이터에 대한 성능분석을 수행하기 위해, (a)모니터링 항목별 정상범위 구간 데이터와 임계치 데이터를 산출하는 단계 및 (b)상기 산출된 데이터를 이용하여 실시간으로 접근되는 데이터를 모니터링하는 단계를 포함하되, 상기 (a)단계는 (a1)지정된 구간의 성능 로깅 데이터를 추출하는 단계; (a2)평균과 표준편차를 산출하는 단계; (a3)모니터링 항목별 정상범위 구간 및 임계치 산출 단계; 및 (a4)데이터베이스에 저장하는 단계를 수행하는 일련의 절차를 포함하고, 상기 (b)단계는 (b1)실시간 데이터를 모니터링하는 단계; (b2)상기 (a3)단계에서 산출된 정상범위 구간 및 임계치를 데이터베이스로부터 추출하는 단계; (b3)실시간 데이터가 정상범위에 있는지를 판단한 후 정상범위인 경우 상기 (b1)단계에서부터 다시 수행하고, 정상범위를 벗어난 경우 다음 절차를 수행하도록 하는 단계; (b4)실시간 데이터가 미리 설정된 횟수만큼 반복적으로 정상범위를 이탈하는지 여부를 판단한 후 정상범위를 이탈하지 않은 경우 상기(b1)단계부터 절차를 다시 수행하고, 정상범위를 이탈한 경우는 다음 절차를 수행하도록 하는 단계; (b5)정상구간을 벗어났다는 경고에 관한 정보를 로깅한 후 데이터베이스에 저장하는 단계; 및 (b6)경고를 발생하는 단계를 수행하는 일련의 절차를 수행하는 분석서버; 및 주기적으로 분석 데이터에 대한 질의를 수행하고, 그에 대한 응답 및 경고를 수신하는 하나 또는 둘 이상의 클라이언트 단말기를 포함하는 것을 특징으로 한다.

또한, 상기 소스서버는 분석서버로부터 원격으로 구성되되, 성능정보 수집을 위한 모듈로서 별도의 응용프로그램 인터페이스(application programming interface)로 구현된 성능정보추출 및 센드 데몬(Send Demon)을 구비하고, 상기 분석서버는 성능정보를 수신하기 위한 리시브 데몬(Receive Demon)을 더 포함하는 것을 특징으로 하고,
상기 소스서버내 구비된 성능정보 수집을 위한 모듈은 데이터베이스 관리시스템(DBMS)의 메모리 구조를 직접 읽어들이는 직접 메모리 접근방식에 의해 데이터를 추출하는 방식에 의한 것을 특징으로 하며,
상기 소스서버내 구비된 성능정보 수집을 위한 모듈은 데이터 손실을 방지하기 위하여 운영체제(OS)상의 메시지 큐를 이용하여 데이터를 버퍼링함으로써 데이터를 송수신하는 것을 특징으로 하고,
상기 소스서버내 구비된 성능정보 수집을 위한 모듈은 데이터 손실을 방지하기 위하여 운영체제(OS)상의 파일(FILE) 로깅(logging) 방식을 이용하여 데이터를 저장하되, 별도의 데몬 프로세스에 의해 데이터를 수집하여 분석서버로 전송하는 것을 특징으로 한다.

또한, 상기 (a)단계에 있어서 각 단계는 데이터를 추출한 후 시간, 날짜, 요일별로 구분하여 패턴화하여 정상범위 구간과 임계치 산출 저장하는 단계를 수행하는 것을 특징으로 하고, (b)단계에 있어서도 시간, 날짜, 요일별 특성을 반영하여 실시간 데이터를 모니터링하는 일련의 절차를 수행하는 것을 특징으로 하고,
상기 (a)단계에서 데이터를 추출하는 단계는 다수의 원격서버에 구비된 데이터 송신모듈로부터 데이터가 송신되는 단계와 분석서버에 구비된 데이터 수신모듈을 통해 데이터를 수신하는 단계를 더 포함하는 것을 특징으로 하며,
상기 (b)단계는 (b2)단계와 (b3)단계 사이에 모니터링 항목의 단위 표준화를 위하여 평균값과 모니터링한 값의 차를 표준편차로 나누어 정규화된 값을 제공하는 단계를 더 포함하는 것을 특징으로 한다.

또한, 상기 분석서버는 성능분석 정보를 저장하는데 있어서 관계형 데이터베이스(relational database)를 사용하는 것을 특징으로 하는 데이터베이스 성능 모니터링 시스템.
본 발명에 따른 데이터베이스 성능 모니터링 방법 및 시스템은 성능 데이터의 시계열적 패턴을 인식할 수 있고, 계절적 변동요인인 시간대, 월별, 요일별 데이터 성능 변화의 특성을 반영한 동적인 임계치를 제공하므로 평일, 유일, 결산기간, 정기 PM 등 다양한 요인에 의해 영향을 받는 시스템에 효과적인 감시 체계를 제공할 수 있다. 또한, 정규화를 통해 모니터링 항목의 단위 표준화를 제공함으로써 무수히 많은 모니터링 항목을 하나의 단위로 통일함으로써 복잡하고 다양한 항목을 표준화된 기준하에 감시할 수 있어 고도의 전문 엔지니어가 아니더라도 일정한 교육에 의해 누구나 손쉽고 빠르게 장애 사실을 모니터링할 수 있다는 장점이 있다.
도1은 본 발명에 따른 데이터베이스 성능 모니터링 시스템 개요도.
도2은 본 발명에 따른 데이터베이스 성능 모니터링 방법에 관한 블록도.
도3는 본 발명에 따른 시계열 데이터 분석 및 모니터링을 위한 일련의 절차를 도시한 블록도.
도4는 본 발명에 따른 일 실시예를 표시한 그래프.
도5a는 일 실시예에서 CPU 사용량의 시간대별 변화를 도시한 그래프.
도5b는 일 실시예에서 CPU 사용량의 일별 변화를 도시한 그래프.
도6는 본 발명에 따른 일 실시예의 동적 임계치를 통한 시간대별 모니터링을 도시한 그래프.
도7는 본 발명에 따른 일 실시예에서 모니터링 대상 정보의 발생 추이 및 표준화를 적용하여 임계치 초과여부를 조회하는 UI화면.
본 발명에 따른 데이터베이스 성능 모니터링 방법 및 시스템에 관한 구체적인 내용 및 실시예를 도면을 첨부하여 설명하면 다음과 같다.
도1은 본 발명에 따른 데이터베이스 성능 모니터링 시스템의 아키텍쳐(Architecture)를 도시한 개요도이다. 도시된 바와 같이 본 시스템의 기본적 구조는 데이터베이스 성능정보를 수집하기 위한 모듈을 구비한 데이터 베이스 또는 어플리케이션이 구동되는 하나 또는 둘 이상의 소스서버(1)와 상기 소스서버로부터 수집된 시계열 데이터를 평균과 표준편차를 이용하여 데이터베이스 성능정보에 관한 패턴을 인식하고, 시구간별 동적 임계치를 산출하며, 모니터링 항목별 정규화를 통해 표준화된 모니터링 데이터를 산출함으로써 시계열 데이터에 대한 성능분석을 수행하는 분석서버(2) 및 주기적으로 분석 데이터에 대한 질의를 수행하고, 그에 대한 응답 및 경고를 수신하는 하나 또는 둘 이상의 클라이언트 단말기(3)를 포함하는 것을 특징으로 한다.
상기 소스서버(1)는 수집분석서버로부터 원격으로 구성되되, 성능정보 수집을 위한 모듈로서 별도의 응용프로그램 인터페이스(application programming interface)로 구현된 성능정보추출 및 센드 데몬(Send Demon)(11)을 구비하고, 상기 수집분석서버(2)는 성능정보를 수신하기 위한 리시브 데몬(Receive Demon)(21)을 더 포함할 수 있다.
또한, 상기 소소서버내 구비된 성능정보 수집을 위한 모듈은 데이터베이스 관리시스템(DBMS)의 메모리 구조를 직접 읽어들이는 직접 메모리 접근방식에 의해 데이터를 추출하는 방식에 의해 구현할 수 있다.
상기 소소서버(1)내 구비된 성능정보 수집을 위한 모듈은 데이터 손실을 방지하기 위하여 운영체제(OS)상의 메시지 큐를 이용하여 데이터를 버퍼링함으로써 데이터를 송수신하는 방법과 데이터 손실을 방지하기 위하여 운영체제(OS)상의 파일(FILE) 로깅(logging) 방식을 이용하여 데이터를 저장하되, 별도의 데몬 프로세스에 의해 데이터를 수집하여 분석서버(2)로 전송하는 방법을 이용할 수 있다.
상기 분석서버(2)는 시계열 데이터 분석을 위하여, (a)모니터링 항목별 정상범위 구간 데이터와 임계치 데이터를 산출하는 단계 및 (b)상기 산출된 데이터를 이용하여 실시간으로 접근되는 데이터를 모니터링하는 단계를 포함하되, 상기 (a)단계는 (a1)지정된 구간의 성능 로깅 데이터를 추출하는 단계; (a2)평균과 표준편차를 산출하는 단계; (a3)모니터링 항목별 정상범위 구간 및 임계치 산출 단계; 및 (a4)데이터베이스에 저장하는 단계를 수행하는 일련의 절차를 포함하고, 상기 (b)단계는 (b1)실시간 데이터를 모니터링하는 단계; (b2)상기 (a3)단계에서 산출된 정상범위 구간 및 임계치를 데이터베이스로부터 추출하는 단계; (b3)실시간 데이터가 정상범위에 있는지를 판단한 후 정상범위인 경우 상기 (b1)단계에서부터 다시 수행하고, 정상범위를 벗어난 경우 다음 절차를 수행하도록 하는 단계; (b4)실시간 데이터가 미리 설정된 횟수만큼 반복적으로 정상범위를 이탈하는지 여부를 판단한 후 정상범위를 이탈하지 않은 경우 상기(b1)단계부터 절차를 다시 수행하고, 정상범위를 이탈한 경우는 다음 절차를 수행하도록 하는 단계; (b5)정상구간을 벗어났다는 경고에 관한 정보를 로깅한 후 데이터베이스에 저장하는 단계; 및 (b6)경고를 발생하는 단계를 수행하는 일련의 절차를 수행하는 것을 특징으로 한다.
상기 (a)단계에 있어서 각 단계는 데이터를 추출한 후 시간, 날짜, 요일별로 구분하여 패턴화하여 정상범위 구간과 임계치 산출 저장하는 단계를 수행하는 것을 특징으로 하고, (b)단계에 있어서도 시간, 날짜, 요일별 특성을 반영하여 실시간 데이터를 모니터링 하는 일련의 절차를 수행할 수 있다.
또한, 상기 (a)단계에서 데이터를 추출하는 단계는 다수의 원격서버에 구비된 데이터 송신모듈로부터 데이터가 송신되는 단계와 분석서버에 구비된 데이터 수신모듈을 통해 데이터를 수신하는 단계를 더 포함할 수 있다.
상기 (b)단계는 (b2)단계와 (b3)단계 사이에 모니터링 항목의 단위 표준화를 위하여 평균값과 모니터링한 값의 차를 표준편차로 나누어 정규화된 값을 제공하는 단계를 더 포함할 수 있다.
또한, 상기 분석서버(2)는 성능분석 정보를 저장하는데 있어서 관계형 데이터베이스(relational database)를 사용하는 것을 특징으로 할 수 있다.
이하, 본 발명에 따른 시스템 아키텍쳐에 관하여 보다 구체적으로 설명하면 하기와 같다.
OS/DB 성능정보 추출모듈은 OS 상에서 성능 저하 및 장애가 발생하는 경우 나타나는 증상에 대하여 모니터링 할 수 있는 항목을 선정하고 주기적으로 관련 데이터를 추출하여 Send 데몬에게 제공한다. 이때 OS 정보의 경우 CPU, Memory, Disk 사용량 등의 리소스(Resource) 사용량을 주기적으로 추출하여 로깅하고, DB 정보의 경우 DBMS 엔진을 OS상에서 메모리를 직접 액세스하여 성능정보를 추출한다.
성능정보 추출모듈은 데몬 프로그램으로 구현될 수 있는데, 본 발명에서는 이하 센드데몬(Send Demon)(11)이라 한다. 센드데몬은 OS의 성능 정보를 추출하기 위해서는 직접 명령(Command)을 하는 것이 아니라 별도의 응용프로그램 인터페이스(API)를 통해 관련정보를 추출하며, 이러한 수집 기술은 대형 서버의 성능에 영향을 미치지 않도록 고안되어 개발된 데몬에 의해 실행된다. 특히, 데이터를 수신하는 서버에 문제가 발생하거나 기타 예상하지 못한 이유로 데이터 송수신에 문제가 발생할 가능성이 있으므로 수집된 데이터가 일정 사이즈 이상 증가하면, OS에 별도의 파일(File) 형태로 수집 데이터를 저장하고, 송수신관련 문제가 해결된 다음 자동으로 파일로 저장된 데이터를 다시 송신할 수 있는 장애 극복 알고리즘이 내장할 수 있다.
분석서버(2)내에 구비된 리시브 데몬(Recive Demon)(21)은 상기 센드데몬(11)으로부터 송신된 데이터를 수신하고 수신된 데이터를 분석용 DB(22)에 저장한다. 수신된 데이터에 대한 성능 진단을 수행하여 성능 문제가 있는 지를 검사하고 확인한다. 수신된 데이터를 분석하여 성능상의 문제점이 발견되면 수집 서버의 관계형 데이터베이스(RDB) 내의 별도 테이블에 경고 메시지를 저장함으로써 해당 서버의 성능 문제 발생 사실을 확인할 수 있다.
분석서버(2)는 관계형 데이터베이스(RDB)를 활용하여 시계열 데이터를 분석하게되는데, 소스 서버로부터 수신된 데이터는 RDB 테이블에 저장된다. 예를들어 1분마다 수신되어 저장된 데이터는 지정된 주기마다 일괄프로그램(BATCH Program)에 의해 분석데이터를 생성하는데 활용된다. 관계형 데이터베이스(RDB)를 사용하는 이유는 파일형태의 데이터 활용에 따른 성능 문제를 극복하기 위해서이며, 다양한 데이터 질의 방식(SQL)을 통해 원하는 분석 데이터를 쉽게 생성하고 활용할 수 있기 때문이다. 분석 데이터를 생성하기 위해서는 별도의 일괄프로그램(BATCH program)이 필요하며, 이 때 과거 특정시점 이후의 데이터를 분석하여 평균, 표준편차를 생성하고, 각 모니터링 항목에 대한 표준화 작업이 이루어진다. 분석 항목별 평균과 표준편차 및 정규화 작업을 통해 기준 데이터를 생성하고 모니터링에 활용한다. 상기 일련의 프로세스를 제어하는 도1에서 도시된 경보관리자(Alert Manager)(23)는 별도의 물리적 장치는 물론 어플리케이션 또는 데몬형태의 프로그램 등 다양한 형태로 구현될 수 있다.
클라이언트 단말기(3)은 수집서버의 RDB에 저장된 모니터링 데이터 및 분석 데이터를 주기적으로 질의 하여 현재 모니터링 대상 서버에 성능 이슈가 발생했는지를 확인하고 경보(Alert)를 해주는 응용프로그램이 인스톨되어 있다. 지정된 주기마다 모니터링 대상 서버의 성능 정보를 확인하고 해당 서버의 모든 성능 정보를 손쉽게 확인할 수 있도록 별도 UI 화면(통합관제 화면)을 통해 모니터링이 가능하다.
본 발명에 있어서 종래의 기술과 차별화되는 특징 중의 하나인 데이터 추출방법에 대해 보다 구체적으로 설명하면 하기와 같다.
본 발명에 따른 데이터 추출방법의 특징은 신속한 장애 감지를 위한 데이터베이스 관리 시스템(DBMS) 엔진에서 데이터를 직접 읽어들이는 방식에 있다.
2-Tier (클라이언트 서버시스템) 구조의 데이터 수집 방식을 활용하는 제품의 경우 DB에 성능 문제가 발생하면 성능데이터의 수집이 불가능한 단점을 가지고 있다. 이러한 단점을 극복하기 위하여 OS 메모리상에서의 DBMS 엔진의 메모리 구조를 직접 READ하여 읽어냄으로써 DB에 성능 문제가 발생되더라도 문제점이 무엇인지 모니터링 할 수 있는 3-Tier 방식의 구조로 모니터링한다.
이러한 3-Tier 방식의 메모리 직접접근방식(DMA, Drect Memory Access)를 통하지 않고서는 진정한 의미에서의 장애 사전감지가 불가능하다. 즉, 고객사 DB에 문제가 발생하더라도 모니터링 프로그램은 영향을 받지 않아야 한다는 전제하에서 장애 사전감지 기술이 완성되는 것이므로 기존의 모니터링 솔루션들과는 차별화되는 장애 사전감지 기술이라고 할 수 있다.
상기 DMA 방식이란 성능성보를 모니터링 하기 위하여 대상 DBMS에 접속한 후 성능 데이터를 추출하는 방식이 아니고, OS상에서 보이는 DBMS엔진을 직접 READ한 후 메모리 구조를 분석하여 성능 정보를 읽어내는 기술로서, DBMS에 접속하지 않으므로, 해당 DB에 성능 문제가 있더라도 모니터링이 가능한 기술이다.
본 발명은 메시지 큐 방식 및 FILE 로깅 구조 활용을 통하여 수집 데이터의 손실 방지할 수 있는 솔루션을 제공하는 바, 송수신 대상 서버의 성능 문제 또는 기타 시스템의 네트워크 문제로 인하여 데이터 송수신에 문제가 발생할 수 있는데, 이러한 경우 데이터의 유실이 발생할 수 있으므로, 아래와 같은 방식으로 데이터 유실을 방지 한다.
첫째, 데이터 송수신을 위해 OS상의 메시지 큐에 데이터를 저장하여 송수신함으로써 데이터의 정합성(integrity)을 확보할 수 있다. 데이터 송수신에 문제가 발생할 경우 메시지 큐에 FULL이 발생할 수 있으므로 이때 추가적으로 발생하는 메시지 데이터를 메모리에 저장한다(버퍼링, DEFAULT: 30분).
둘째, 파일 로깅 구조를 통한 수집 데이터의 손실 방지할 수 있는데, 일정 시간 이상 문제가 해결되지 않을 경우는 추가적으로 발생하는 데이터는 OS상에 파일로 저장을 한다. OS 상에 파일로 저장된 메시지는 문제가 해결될 때까지 지속적으로 관리되며, 향후 송수신 문제가 해결된 후에 별도 데몬 프로세스에 의해 수집 서버에 전송됨으로써 데이터의 정합성이 확보되고 손실을 방지할 수 있다.
도2는 본 발명의 핵심기술이라 할 수 있는 시계열 데이터를 분석하기 위한 모니터링 방법을 블록도로 도시한 것이다.
본 발명에 따른 데이터베이스 성능 모니터링 방법은 크게 시계열 데이터를 수집하는 단계(S1)와 시계열 데이터를 평균과 표준편차를 이용하여 데이터 패턴을 인식하되, 시구간별 동적 임계치를 산출하고 모니터링 항목별로 표준화된 모니터링 단위를 제공하는 시계열 데이터 분석단계(S2) 및 클라이언트의 주기적 질의에 대한 응답 및 경고를 발생하는 단계(S3)를 포함하는 것을 특징으로 한다.
상술한 바와 같이 상기 데이터 수집단계(S1)는 데이터베이스 관리시스템(DBMS)의 메모리 구조를 직접 읽어들이는 직접 메모리 접근방식에 의해 데이터를 추출하는 방식(S11)에 의할 수 있고, 데이터 손실을 방지하기 위하여 운영체제(OS)상의 메시지 큐를 이용하여 데이터를 버퍼링함(S12)으로써 데이터를 송수신하거나, 운영체제(OS)상의 파일(File) 로깅(logging) 방식(S13)을 이용하여 데이터를 저장하되, 별도의 데몬 프로세스에 의해 데이터를 수집하여 분석서버에 전송할 수 있다.
상기 시계열 데이터 분석을 위한 일련단계는 도3에서 도시된 바와 같이 (a)모니터링 항목별 정상범위 구간 데이터와 임계치 데이터를 산출하는 단계(S100) 및 (b)상기 산출된 데이터를 이용하여 실시간으로 접근되는 데이터를 모니터링하는 단계(S200)를 포함하되, 상기 (a)단계는 (a1)지정된 구간의 성능 로깅 데이터를 추출하는 단계(S110)와 (a2)평균과 표준편차를 산출하는 단계(S120)와 (a3)모니터링 항목별 정상범위 구간 및 임계치 산출 단계(S130) 및 (a4)데이터베이스에 저장하는 단계(S140)를 수행하는 일련의 절차를 포함하고, 상기 (b)단계는 (b1)실시간 데이터를 모니터링하는 단계(S210)와 (b2)상기 (a3)단계에서 산출된 정상범위 구간 및 임계치를 데이터베이스로부터 추출하는 단계(S220)와 (b3)실시간 데이터가 정상범위에 있는지를 판단한 후 정상범위인 경우 상기 (b1)단계에서부터 다시 수행하고, 정상범위를 벗어난 경우 다음 절차를 수행하도록 하는 단계(S230)와 (b4)실시간 데이터가 미리 설정된 횟수만큼 반복적으로 정상범위를 이탈하는지 여부를 판단한 후 정상범위를 이탈하지 않은 경우 상기(b1)단계부터 절차를 다시 수행하고, 정상범위를 이탈한 경우는 다음 절차를 수행하도록 하는 단계(S240)와 (b5)정상구간을 벗어났다는 경고에 관한 정보를 로깅(S250)한 후 데이터베이스에 저장(S251)하는 단계 및 (b6)경고를 발생하는 단계(S260)를 수행하는 일련의 절차를 포함하는 것을 특징한다. 필요에 따라 (a)단계에서는 극한치의 데이터를 보정하는 절차(S111) 부가할 수 있다.
또한, 상기 (a)단계에 있어서 각 단계는 데이터를 추출한 후 시간, 날짜, 요일별로 구분하여 패턴화하여 정상범위 구간과 임계치 산출 저장하는 단계를 수행하는 것을 특징으로 하고, (b)단계에 있어서도 시간, 날짜, 요일별 특성을 반영하여 실시간 데이터를 모니터링 하는 일련의 절차를 수행할 수 있다.
소스서버와 분석서버가 원격으로 분리된 시스템에서의 절치를 위하여 상기 (a)단계에서 데이터를 추출하는 단계는 다수의 원격 소스서버에 구비된 데이터 송신모듈로부터 데이터가 송신되는 단계와 분석서버에 구비된 데이터 수신모듈을 통해 데이터를 수신하는 단계를 더 포함할 수 있다.
상기 (b)단계는 (b2)단계와 (b3)단계 사이에 모니터링 항목의 단위 표준화를 위하여 평균값과 모니터링한 값의 차를 표준편차로 나누어 정규화된 값을 제공하는 단계를 더 포함할 수 있다.
이하 시계열 분석을 통한 장애감지 방법에 대한 상세한 내용을 설명한다.
고객사 시스템의 장애 또는 성능 이슈가 발생하는 패턴을 보면 모니터링 데이터가 기존과는 다른 패턴의 양상을 보이며, 이러한 패턴이 일정 시간 지속된 후에 어플리케이션(Application) 사용자에 의해 성능저하가 감지되거나 모니터링 솔루션에 의해 감지가 된다.
이때, 사용자 또는 모니터링 솔루션에 의해 감지가 된다는 것은 이미 장애 상황이 일정기간 지속이 된 이후라는 점에 주목해야 한다. 따라서, 장애 상황이 이미 진행된 이후가 아닌 장애 발생 즉시 감지하기 위해서는 아래와 같은 3가지 조건이 충족되어야 한다.
가. 성능 데이터의 패턴 인식기술.
나. 시간대별, 월별, 요일별 동적 임계치 생성 및 활용.
다. 모니터링 항목의 단위 표준화.
우선 패턴인식과 관련하여, 성능 데이터의 패턴 인식 기술은 모니터링 대상 항목들이 이상 현상을 보인다는 사실을 시스템적으로 계산하여 인식하기 위해서는 아래와 같이 평균과 표준편차(시그마)를 활용한다. (평균 : 모니터링 대상 항목들의 일정구간에서의 평균을 의미, 표준편차(시그마) : 모니터링 대상 데이터가 평균으로부터 얼마나 떨어져 있는지를 나타내는 산포도를 도수로 표현한 값)
시그마 활용법의 예로서 이하 3시그마를 기준으로 설명한다.
◆ 1시그마 : 평균 ± 1 * 표준편차 → 68.3%
즉, 전체 데이터의 68.3%가 평균 ± 1 * 표준편차의 범위내에 포함된다는 의미,
◆ 2시그마 : 평균 ± 2 * 표준편차 → 95.3%
전체 데이터의 95.3%가 평균 ± 2 * 표준편차의 범위내에 포함된다는 의미,
◆ 3시그마 : 평균 ± 3 * 표준편차 → 97.3%
전체 데이터의 97.3%가 평균 ± 3* 표준편차의 범위내에 포함된다는 의미,
즉, 모니터링 된 값이 상기 3시그마의 범위를 벗어나는 경우 비정상적인 값으로 볼 수 있다. 사용자에 따라 시그마의 수준(1시그마 내지 6시그마) 사이에서 적절한 모니터링 수준을 조절할 수 있다.
비정상 여부의 감지방법은 모니터링 데이터가 지정된 시그마 범위를 벗어난 경우 일시적인 현상일 수 있으므로, 지정된 횟수 이상 연속을 벗어난 경우를 장애로 감지한다. 특정시간대에 반복적으로 실행되는 일괄(BATCH)작업의 경우 부하를 유발할 수 있으나, 이러한 경우 장애로 간주하지 않는 경우가 있으므로 반복적으로 발생하는 패턴을 인식할 수 있어야 한다. 이러한 경우를 감지하기 위하여 모니터링 데이터의 저장시 1분간 발행한 성능 데이터의 평균 값 외에 1분간 발생한 성능 데이터의 최대값도 저장하여 활용한다.
장애감지를 위한 모니터링 데이터의 저장방법의 예는 다음과 같다. 서버 및 DB의 성능 데이터를 1초에 1회에서 100회까지 폴링(수집)이 가능하며, 지정된 횟수만큼 폴링한다. 수집된 데이터는 1분에 한 번 수집분석서버의 관계형 데이터베이스(RDB)에 저장되며 1분간 수집된 데이터의 평균값과 최대값을 저장한다. 평균값과 표준편차는 비정상적 패턴을 인식하기 위해 사용되며, 최대값은 비정상적인 패턴이 반복적으로 발생하는지 여부를 인식하기 위해 사용된다.
도4는 평균과 표준편차를 활용한 임계치를 생성하는데 있어서 "평균+2*표준편차"를 이용한 이상발생 감지의 실시예를 도시한 도면이다. 일부 데이터를 제외한 대부분의 성능관련 데이터들은 평균값을 중심으로 정규분포를 이루고 있으므로, 평균과 어느 정도 떨어져 있는지를 알 수 있는 표준편차를 이용하여 다이나믹(Dynamic)한 임계치를 도출할 수 있다.
동적 임계치 생성 및 활용과 관련하여, 기존 모니터링 솔루션들은 사용자가 정의한 임계치를 초과했는지 여부를 체크하여 장애 사실을 감지하고 경보(Alerting)를 제공한다. 이러한 경우 시스템이나 DB의 다양한 시간대별, 요일별, 월별 특성을 반영하지 못해 실질적인 모니터링이 이루어지지 못하고 있다. 따라서, 본 발명은 요일별,월별 특성을 반영한 시간대별 임계치를 생성하여 저장함으로써 모니터링된 데이터가 정상인지 여부를 판단하는데 활용함으로서 실질적인 모니터링 효과를 기대할 수 있다.
시간대별 동적 임계치를 생성하는 예는 다음과 같다. 지정된 기간 (Default:30일) 동안의 시간대별 평균과 표준편차, 최대값과 최대값의 표준편차를 구하여 저장하고, 지정된 기간 동안에 발생한 이상 값(극단치)은 장애상황으로 간주하여 통계 데이터 생성 시 제외하며, 전일자 기준으로 시간대별 임계치 데이터를 미리 생성함으로써 실시간으로 성능 저하 및 장애를 판단한다.
현재 대다수의 성능관리 솔루션 및 통합 모니터링 솔루션은 사전에 정의된 임계치를 통해 문제 발생 사실을 감지하고 경보(Alerting) 하는 구조로 되어 있다. 그러나 고객사의 시스템 성능은 평일과 휴일, 결산 기간, 정기 PM등 다양한 요인에 의해 영향을 받고 있으며, 시간대별로도 다른 형태의 성능 패턴을 보이고 있다. 따라서 획일적인 임계치로는 정확한 성능 저하 또는 장애를 감지하는데 한계가 있다.
도5a는 시간대별 CPU 사용량 추이를 도시한 예이고, 도5b는 일별사용량 추이를 도시한 예이다. 도시된 바와 같이 시간대별로 다른 추이를 보이고 있으므로 시간대별로 차별화된 임계치가 필요하며 월말로 갈수록 CPU 사용량이 증가하고 있으므로 고객사의 특성에 맞는 일자별 또는 요일별 다른 임계치가 필요하다.
성능관련 시계열 데이터의 4가지 요소로는 ① CPU, 리소스 사용량의 지속적인 증가/하락을 반영하는 장기적 추세, ② 결산작업 등 요일별, 월별, 분기별 일정한 주기로 반복되는 변동에 의한 계절적 변동, ③ 리오그/통계정보 생성 등 어느정도 주기를 가지고 상승/하락을 반복하는 순환변동, 그리고 ④ 비정상적인 리소스 사용량 증가 등 예측이 어려운 이슈/장애 발생 등 즉각적인 장애 감지 대상이 되는 불규칙 변동을 들 수 있다. 이 중 평균과 표준편차를 이용한 임계치를 활용할 경우 시계열 데이터의 4가지 요소 중 특히 ③ 계절적 변동(시간대별, 날짜별, 요일별 변동)에 의한 영향을 반영하지 않을 경우 정확성을 확보하기 어려우므로 계절적 변동 요인을 임계치 생성시 반영하여야 한다.
시간대별 변동의 특성은 오전, 오후 업무 시간대는 다른 시간대에 비해 리소스 사용률이 높으며 새벽 시간대에는 사용률이 낮은 편을 보인다. 날짜별 변동의 특성은 월말로 갈 수 록 결산 등의 이유로 사용량이 증가함에 따라 리소스 사용률도 증가하는 패턴을 보인다. 요일별 변동의 특성은 매주 월요일은 다른 평일보다 출근 직후인 08시~10시 사이에 높은 리소스 사용률을 보이는 경우가 있으며, 공휴일은 평일보다 급격히 낮은 사용률을 보인다. 이러한 점을 고려하여 시간대별 동적임계치를 산출하는데 있어서, 최근 N일간의 시간대별 평균과 표준편차를 산출한 후 휴일 가중치(휴일인 경우 '-' 가중치), 요일별 가중치(월요일인 경우 '+' 가중치), 일자별 가중치(결산기간인 경우 '+' 가중치)를 가감할 수 있을 것이다. 상기 가중치 데이터의 산출은 각 고객사의 실 데이터를 기준으로 산출하는 것이 바람직하다. 도6은 동적 임계치를 통한 시간대별 모니터링의 실시예를 그래프로 도시한 것이다.
모니터링 항목의 단위 표준화와 관련하여, 서버 및 DB의 모니터링 항목을 수백가지에 이른다. 이러한 모니터링 항목들은 모두 단위가 각각 다르며, 데이터의 수치도 각기 다른 범위를 가지고 있다. 이러한 수많은 항목들에 대하여 단위 및 데이터의 발생 범위나 분포를 기억하고 모니터링 하는 것 현실적으로 불가능하며, 이러한 사유로 인하여 효과적인 모니터링이 이루어지지 못하고 있다.
따라서, 이러한 모니터링 데이터의 다양성을 하나의 단위로 통일함으로써 어떠한 항목에 대해서도 똑 같은 기준으로 모니터링이 가능하며, 누구나 성능 저하 및 장애 발생 사실을 손쉽게 모니터링 할 수 있다.
모니터링 항목의 정규화는 평균값과 모니터링 값의 차를 표준편차로 나누어 산출할 수 있다.
◆ 정규화(Z) = (평균값 - 모니터링 값) / 표준편차
모니터링된 데이터를 미리 생성된 평균과 표준편차를 활용하여 모니터링함으로써 모든 항목으로 같은 단위로 모니터링할 수 있으며, 장애 발생 사실을 직관적으로 확인할 수 있는데 그 예는 하기와 같다.
(활용의 예)
- Z 값이 0 ~ 2 사이 : 정상
- Z 값이 2 ~ 3 사이 : Warning (경고)
- Z 값이 3 이상 : Critical (장애)
모든 모니터링 데이터는 정규화를 통해서 위와 같이 항목과 상관없이 같은 단위로 모니터링할 수 있으므로, 누구나 쉽고 빠르게 장애 및 성능 저하 사실을 인지할 수 있다. 도7은 모니터링 대상 정보의 발생추이 및 표준화를 적용하여 임계치를 초과하는지 여부를 조회하는 실시예을 도시한 것이다.
상기 본 발명의 구체적인 내용은 바람직한 실시예로서 설명된 것이므로 상술한 내용에 의해 본 발명의 청구범위가 제한적으로 해석되어서는 아니되고 예시적인 사항으로 고려되어야 할 것이다. 또한 본 발명의 권리범위는 청구범위와 균등하게 볼 수 있는 범위까지 미침은 물론이다.
1: 소스서버, 11: 센드데모,
2: 분석서버, 21: 리시브데모,
22: 데이터베이스, 23: 경고 관리자 모듈,
3: 클라이언트 단말기.

Claims (18)

  1. 시계열 데이터를 수집하는 단계;
    시계열 데이터를 평균과 표준편차를 이용하여 데이터 패턴을 인식하되, 시구간별 동적 임계치를 산출하고 모니터링 항목별로 표준화된 모니터링 단위를 제공하기 위해, (a)모니터링 항목별 정상범위 구간 데이터와 임계치 데이터를 산출하는 단계 및 (b)상기 산출된 데이터를 이용하여 실시간으로 접근되는 데이터를 모니터링하는 단계를 포함하되,

    상기 (a)단계는
    (a1)지정된 구간의 성능 로깅 데이터를 추출하는 단계;
    (a2)평균과 표준편차를 산출하는 단계;
    (a3)모니터링 항목별 정상범위 구간 및 임계치 산출 단계; 및
    (a4)데이터베이스에 저장하는 단계를 수행하는 일련의 절차를 포함하고,

    상기 (b)단계는
    (b1)실시간 데이터를 모니터링하는 단계;
    (b2)상기 (a3)단계에서 산출된 정상범위 구간 및 임계치를 데이터베이스로부터 추출하는 단계;
    (b3)실시간 데이터가 정상범위에 있는지를 판단한 후 정상범위인 경우 상기 (b1)단계에서부터 다시 수행하고, 정상범위를 벗어난 경우 다음 절차를 수행하도록 하는 단계;
    (b4)실시간 데이터가 미리 설정된 횟수만큼 반복적으로 정상범위를 이탈하는지 여부를 판단한 후 정상범위를 이탈하지 않은 경우 상기(b1)단계부터 절차를 다시 수행하고, 정상범위를 이탈한 경우는 다음 절차를 수행하도록 하는 단계;
    (b5)정상구간을 벗어났다는 경고에 관한 정보를 로깅한 후 데이터베이스에 저장하는 단계; 및
    (b6)경고를 발생하는 단계를 수행하는 일련의 절차를 포함하는 시계열 데이터 분석단계; 및
    클라이언트의 주기적 질의에 대한 응답 및 경고를 발생하는 단계를 포함하는 것을 특징으로 하는 데이터베이스 성능 모니터링 방법.
  2. 제1항에 있어서, 상기 데이터 수집단계는 데이터베이스 관리시스템(DBMS)의 메모리 구조를 직접 읽어들이는 직접 메모리 접근방식에 의해 데이터를 추출하는 방식에 의한 것을 특징으로 하는 데이터베이스 성능 모니터링 방법.
  3. 제1항에 있어서, 상기 데이터 수집단계는 데이터 손실을 방지하기 위하여 운영체제(OS)상의 메시지 큐를 이용하여 데이터를 버퍼링함으로써 데이터를 송수신하는 것을 특징으로 하는 데이터베이스 성능 모니터링 방법.
  4. 제1항에 있어서, 상기 데이터 수집단계는 데이터 손실을 방지하기 위하여 운영체제(OS)상의 파일(File) 로깅(logging) 방식을 이용하여 데이터를 저장하되, 별도의 데몬 프로세스에 의해 데이터를 수집하여 분석서버에 전송하는 것을 특징으로 하는 데이터베이스 성능 모니터링 방법.
  5. 삭제
  6. 제1항에 있어서, 상기 (a)단계에 있어서 각 단계는 데이터를 추출한 후 시간, 날짜, 요일별로 구분하여 패턴화하여 정상범위 구간과 임계치 산출 저장하는 단계를 수행하는 것을 특징으로 하고, (b)단계에 있어서도 시간, 날짜, 요일별 특성을 반영하여 실시간 데이터를 모니터링하는 일련의 절차를 수행하는 것을 특징으로 하는 데이터베이스 성능 모니터링 방법.
  7. 제1항에 있어서, 상기 (a)단계에서 데이터를 추출하는 단계는 다수의 원격 소스서버에 구비된 데이터 송신모듈로부터 데이터가 송신되는 단계와 분석서버에 구비된 데이터 수신모듈을 통해 데이터를 수신하는 단계를 더 포함하는 것을 특징으로 하는 데이터베이스 성능 모니터링 방법.
  8. 제1항에 있어서, 상기 (b)단계는 (b2)단계와 (b3)단계 사이에 모니터링 항목의 단위 표준화를 위하여 평균값과 모니터링한 값의 차를 표준편차로 나누어 정규화된 값을 제공하는 단계를 더 포함하는 것을 특징으로 하는 데이터베이스 성능 모니터링 방법.
  9. 데이터베이스 성능정보를 수집하기 위한 모듈을 구비한 데이터 베이스 또는 어플리케이션이 구동되는 하나 또는 둘 이상의 소스서버;
    상기 소스서버로부터 수집된 시계열 데이터를 평균과 표준편차를 이용하여 데이터베이스 성능정보에 관한 패턴을 인식하고, 시구간별 동적 임계치를 산출하며, 모니터링 항목별 정규화를 통해 표준화된 모니터링 데이터를 산출함으로써 시계열 데이터에 대한 성능분석을 수행하기 위해, (a)모니터링 항목별 정상범위 구간 데이터와 임계치 데이터를 산출하는 단계 및 (b)상기 산출된 데이터를 이용하여 실시간으로 접근되는 데이터를 모니터링하는 단계를 포함하되,

    상기 (a)단계는
    (a1)지정된 구간의 성능 로깅 데이터를 추출하는 단계;
    (a2)평균과 표준편차를 산출하는 단계;
    (a3)모니터링 항목별 정상범위 구간 및 임계치 산출 단계; 및
    (a4)데이터베이스에 저장하는 단계를 수행하는 일련의 절차를 포함하고,

    상기 (b)단계는
    (b1)실시간 데이터를 모니터링하는 단계;
    (b2)상기 (a3)단계에서 산출된 정상범위 구간 및 임계치를 데이터베이스로부터 추출하는 단계;
    (b3)실시간 데이터가 정상범위에 있는지를 판단한 후 정상범위인 경우 상기 (b1)단계에서부터 다시 수행하고, 정상범위를 벗어난 경우 다음 절차를 수행하도록 하는 단계;
    (b4)실시간 데이터가 미리 설정된 횟수만큼 반복적으로 정상범위를 이탈하는지 여부를 판단한 후 정상범위를 이탈하지 않은 경우 상기(b1)단계부터 절차를 다시 수행하고, 정상범위를 이탈한 경우는 다음 절차를 수행하도록 하는 단계;
    (b5)정상구간을 벗어났다는 경고에 관한 정보를 로깅한 후 데이터베이스에 저장하는 단계; 및
    (b6)경고를 발생하는 단계를 수행하는 일련의 절차를 수행하는 분석서버; 및
    주기적으로 분석 데이터에 대한 질의를 수행하고, 그에 대한 응답 및 경고를 수신하는 하나 또는 둘 이상의 클라이언트 단말기를 포함하는 것을 특징으로 하는 데이터베이스 성능 모니터링 시스템.
  10. 제9항에 있어서, 상기 소스서버는 분석서버로부터 원격으로 구성되되, 성능정보 수집을 위한 모듈로서 별도의 응용프로그램 인터페이스(application programming interface)로 구현된 성능정보추출 및 센드 데몬(Send Demon)을 구비하고, 상기 분석서버는 성능정보를 수신하기 위한 리시브 데몬(Receive Demon)을 더 포함하는 것을 특징으로 하는 데이터베이스 성능 모니터링 시스템.
  11. 제9항에 있어서, 상기 소스서버내 구비된 성능정보 수집을 위한 모듈은 데이터베이스 관리시스템(DBMS)의 메모리 구조를 직접 읽어들이는 직접 메모리 접근방식에 의해 데이터를 추출하는 방식에 의한 것을 특징으로 하는 데이터베이스 성능 모니터링 시스템
  12. 제9항에 있어서, 상기 소스서버내 구비된 성능정보 수집을 위한 모듈은 데이터 손실을 방지하기 위하여 운영체제(OS)상의 메시지 큐를 이용하여 데이터를 버퍼링함으로써 데이터를 송수신하는 것을 특징으로 하는 데이터베이스 성능 모니터링 시스템.
  13. 제9항에 있어서, 상기 소스서버내 구비된 성능정보 수집을 위한 모듈은 데이터 손실을 방지하기 위하여 운영체제(OS)상의 파일(FILE) 로깅(logging) 방식을 이용하여 데이터를 저장하되, 별도의 데몬 프로세스에 의해 데이터를 수집하여 분석서버로 전송하는 것을 특징으로 하는 데이터베이스 성능 모니터링 시스템.
  14. 삭제
  15. 제9항에 있어서, 상기 (a)단계에 있어서 각 단계는 데이터를 추출한 후 시간, 날짜, 요일별로 구분하여 패턴화하여 정상범위 구간과 임계치 산출 저장하는 단계를 수행하는 것을 특징으로 하고, (b)단계에 있어서도 시간, 날짜, 요일별 특성을 반영하여 실시간 데이터를 모니터링하는 일련의 절차를 수행하는 것을 특징으로 하는 데이터베이스 성능 모니터링 시스템.
  16. 제9항에 있어서, 상기 (a)단계에서 데이터를 추출하는 단계는 다수의 원격서버에 구비된 데이터 송신모듈로부터 데이터가 송신되는 단계와 분석서버에 구비된 데이터 수신모듈을 통해 데이터를 수신하는 단계를 더 포함하는 것을 특징으로 하는 데이터베이스 성능 모니터링 시스템.
  17. 제9항에 있어서, 상기 (b)단계는 (b2)단계와 (b3)단계 사이에 모니터링 항목의 단위 표준화를 위하여 평균값과 모니터링한 값의 차를 표준편차로 나누어 정규화된 값을 제공하는 단계를 더 포함하는 것을 특징으로 하는 데이터베이스 성능 모니터링 시스템.
  18. 제9항에 있어서, 상기 분석서버는 성능분석 정보를 저장하는데 있어서 관계형 데이터베이스(relational database)를 사용하는 것을 특징으로 하는 데이터베이스 성능 모니터링 시스템.
KR1020100044189A 2010-05-11 2010-05-11 데이터베이스 성능 모니터링 방법 및 시스템 Active KR100982034B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100044189A KR100982034B1 (ko) 2010-05-11 2010-05-11 데이터베이스 성능 모니터링 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100044189A KR100982034B1 (ko) 2010-05-11 2010-05-11 데이터베이스 성능 모니터링 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR100982034B1 true KR100982034B1 (ko) 2010-09-13

Family

ID=43010096

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100044189A Active KR100982034B1 (ko) 2010-05-11 2010-05-11 데이터베이스 성능 모니터링 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR100982034B1 (ko)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101599718B1 (ko) * 2015-02-27 2016-03-04 삼성에스디에스 주식회사 데이터베이스 성능 관리 방법 및 장치
KR101656725B1 (ko) * 2015-03-04 2016-09-13 삼성에스디에스 주식회사 데이터베이스 성능 저하 분석 방법 및 장치
CN107247649A (zh) * 2016-10-12 2017-10-13 北京奇虎科技有限公司 检测系统健康状况的方法、装置及网关
KR20180076172A (ko) * 2016-12-27 2018-07-05 주식회사 씨에스리 데이터베이스 시스템의 이상을 탐지하는 장치 및 방법
KR20200011416A (ko) * 2018-05-07 2020-02-03 산동 유니버시티 오브 사이언스 앤드 테크놀로지 동적 경보 임계치 설계와 경보 제거의 방법 및 시스템
CN112464260A (zh) * 2020-11-25 2021-03-09 四川易诚智讯科技有限公司 一种核电站周边敏感数据传输方法
CN113377560A (zh) * 2021-04-27 2021-09-10 国网吉林省电力有限公司 一种数据库的智能化模式检测方法、系统及存储介质
KR102368147B1 (ko) * 2021-10-19 2022-02-25 강동원 서버 모니터링 시스템 및 그 구동 방법
KR20220071451A (ko) * 2020-11-24 2022-05-31 스트라토 주식회사 데이터 모니터링 시스템 및 그 제어방법
CN115761142A (zh) * 2022-12-06 2023-03-07 上海瞰融信息技术发展有限公司 一种基于多gpu协同的高性能实景建模方法
CN117423052A (zh) * 2023-10-20 2024-01-19 山东运泰通信工程有限公司 一种基于数据分析的监控设备调测系统及方法
KR20240080314A (ko) 2022-11-29 2024-06-07 주식회사 카카오 시계열 데이터베이스를 이용하여 모니터링하는 방법, 모니터링 서버 및 모니터링 시스템
WO2024169470A1 (zh) * 2023-02-16 2024-08-22 中兴通讯股份有限公司 一种数据库的管理方法、电子设备及存储介质
CN119135884A (zh) * 2024-08-19 2024-12-13 深圳柏成科技有限公司 一种数据可视化监控平台

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090080065A (ko) * 2006-10-05 2009-07-23 스플렁크 인코퍼레이티드 시계열 검색 엔진

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090080065A (ko) * 2006-10-05 2009-07-23 스플렁크 인코퍼레이티드 시계열 검색 엔진

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101599718B1 (ko) * 2015-02-27 2016-03-04 삼성에스디에스 주식회사 데이터베이스 성능 관리 방법 및 장치
KR101656725B1 (ko) * 2015-03-04 2016-09-13 삼성에스디에스 주식회사 데이터베이스 성능 저하 분석 방법 및 장치
CN107247649A (zh) * 2016-10-12 2017-10-13 北京奇虎科技有限公司 检测系统健康状况的方法、装置及网关
KR20180076172A (ko) * 2016-12-27 2018-07-05 주식회사 씨에스리 데이터베이스 시스템의 이상을 탐지하는 장치 및 방법
KR101981310B1 (ko) 2016-12-27 2019-05-22 주식회사 씨에스리 데이터베이스 시스템의 이상을 탐지하는 장치 및 방법
KR20200011416A (ko) * 2018-05-07 2020-02-03 산동 유니버시티 오브 사이언스 앤드 테크놀로지 동적 경보 임계치 설계와 경보 제거의 방법 및 시스템
KR102160202B1 (ko) 2018-05-07 2020-09-25 산동 유니버시티 오브 사이언스 앤드 테크놀로지 동적 경보 임계치 설계와 경보 제거의 방법
KR20220071451A (ko) * 2020-11-24 2022-05-31 스트라토 주식회사 데이터 모니터링 시스템 및 그 제어방법
KR102457031B1 (ko) * 2020-11-24 2022-10-21 스트라토 주식회사 데이터 모니터링 시스템 및 그 제어방법
CN112464260A (zh) * 2020-11-25 2021-03-09 四川易诚智讯科技有限公司 一种核电站周边敏感数据传输方法
CN113377560A (zh) * 2021-04-27 2021-09-10 国网吉林省电力有限公司 一种数据库的智能化模式检测方法、系统及存储介质
CN113377560B (zh) * 2021-04-27 2024-02-27 国网吉林省电力有限公司 一种数据库的智能化模式检测方法、系统及存储介质
KR102368147B1 (ko) * 2021-10-19 2022-02-25 강동원 서버 모니터링 시스템 및 그 구동 방법
KR20240080314A (ko) 2022-11-29 2024-06-07 주식회사 카카오 시계열 데이터베이스를 이용하여 모니터링하는 방법, 모니터링 서버 및 모니터링 시스템
CN115761142A (zh) * 2022-12-06 2023-03-07 上海瞰融信息技术发展有限公司 一种基于多gpu协同的高性能实景建模方法
CN115761142B (zh) * 2022-12-06 2023-11-28 上海瞰融信息技术发展有限公司 一种基于多gpu协同的高性能实景建模方法
WO2024169470A1 (zh) * 2023-02-16 2024-08-22 中兴通讯股份有限公司 一种数据库的管理方法、电子设备及存储介质
CN117423052A (zh) * 2023-10-20 2024-01-19 山东运泰通信工程有限公司 一种基于数据分析的监控设备调测系统及方法
CN119135884A (zh) * 2024-08-19 2024-12-13 深圳柏成科技有限公司 一种数据可视化监控平台

Similar Documents

Publication Publication Date Title
KR100982034B1 (ko) 데이터베이스 성능 모니터링 방법 및 시스템
US10558545B2 (en) Multiple modeling paradigm for predictive analytics
US20190222503A1 (en) System Event Analyzer and Outlier Visualization
US7444263B2 (en) Performance metric collection and automated analysis
CN109688188A (zh) 监控告警方法、装置、设备及计算机可读存储介质
US20150067153A1 (en) Remote monitoring of data facility in real-time using wireless sensor network
CN105323111A (zh) 一种运维自动化系统及方法
EP2324406B1 (en) Method and apparatus for monitoring the performance of a power delivery control system
CN107104848B (zh) 信息技术系统监控方法及装置
CN117391261B (zh) 一种基于低功耗超声波测量的物联网ai智慧水务系统
CN114531338A (zh) 一种基于调用链数据的监控告警和溯源方法及系统
CN117955245B (zh) 电网的运行状态的确定方法、装置、存储介质和电子设备
CN108390793A (zh) 一种分析系统稳定性的方法及装置
CN113472881B (zh) 在线终端设备的统计方法和装置
CN114552770A (zh) 管理智能警报的系统和方法
CN111736579B (zh) 基于日志问询留存的工业控制设备安全检测方法
CN115499302B (zh) 业务系统的监测方法、装置、可读存储介质及电子设备
CN110633165B (zh) 故障处理方法、装置、系统服务器及计算机可读存储介质
CN117857285A (zh) 一种油气管网的分布式数据处理系统
CN117081965A (zh) 一种内网应用负载在线监测系统
CN119127904B (zh) 一种制造业设备数据采集和处理系统
CN120066747B (zh) 基于xxl-job定时任务调用springboot服务接口时切换数据源的方法
Chakraborty et al. Observability
CN113656207B (zh) 故障处理方法、装置、电子设备和介质
KR20190140535A (ko) 실시간 전력 데이터의 수집, 저장 및 분석을 위한 전력 시스템

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20100511

PA0201 Request for examination
A302 Request for accelerated examination
PA0302 Request for accelerated examination

Patent event date: 20100608

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20100511

Patent event code: PA03021R01I

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20100714

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20100831

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20100907

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20100907

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20130910

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20130910

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20140620

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20140620

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20150720

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20150720

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20160926

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20160926

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20171010

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20171010

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20180917

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20180917

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20201007

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20210804

Start annual number: 12

End annual number: 12

PR1001 Payment of annual fee

Payment date: 20220705

Start annual number: 13

End annual number: 13

PR1001 Payment of annual fee

Payment date: 20230720

Start annual number: 14

End annual number: 14

PR1001 Payment of annual fee

Payment date: 20240820

Start annual number: 15

End annual number: 15

PR1001 Payment of annual fee

Payment date: 20250630

Start annual number: 16

End annual number: 16