KR20190070630A - 서버 토폴로지 생성 방법 - Google Patents

서버 토폴로지 생성 방법 Download PDF

Info

Publication number
KR20190070630A
KR20190070630A KR1020170171347A KR20170171347A KR20190070630A KR 20190070630 A KR20190070630 A KR 20190070630A KR 1020170171347 A KR1020170171347 A KR 1020170171347A KR 20170171347 A KR20170171347 A KR 20170171347A KR 20190070630 A KR20190070630 A KR 20190070630A
Authority
KR
South Korea
Prior art keywords
server
information
topology
servers
collected
Prior art date
Application number
KR1020170171347A
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 KR1020170171347A priority Critical patent/KR20190070630A/ko
Publication of KR20190070630A publication Critical patent/KR20190070630A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 목적은, 시스템에 구비된 에이전트를 통해 수집된 서버정보들을 이용하여, 상기 시스템을 구성하는 시스템들의 토폴로지를 자동적으로 생성할 수 있는, 서버 토폴로지 생성 방법을 제공하는 것이다. 이를 위해, 본 발명에 따른 서버 토폴로지 생성 방법은, 시스템에 구비된 에이전트로부터, 상기 시스템을 구성하는 서버들의, 서버 유형, 서버 ID, 서버 네임(Name), 서버 그룹 ID, 트랜잭션 연결 정보 중 적어도 하나를 포함하는 서버정보들을, 유디피(UDP: User Datagram Protocol)와 Apache Thrift를 통해, 주기적으로 수집하는 단계, 상기 서버정보들을 분석하여 상기 시스템의 서버 토폴로지를 생성하는 단계, 및 상기 시스템의 관리자 단말기로부터 상기 서버 토폴로지의 요청이 있으면, 상기 관리자 단말기로 상기 서버 토폴로지를 전송하는 단계를 포함한다.

Description

서버 토폴로지 생성 방법{SERVER TOPOLOGY GENERATION METHOD}
본 발명은 서버들에 대한 토폴로지를 생성하는 방법에 관한 것이다.
토폴로지는 각 노드들, 즉, 서버들이 네트워크에 연결되어 있는 형태를 의미한다.
하나의 서비스를 제공하는 시스템에는 다수의 서버들이 연결되어 있으며, 서버들 사이에서는 다양한 정보들이 송수신되고 있다.
상기 시스템을 운영하는 관리자는 상기 시스템이 정상적으로 운영되도록 하기 위해, 상기 서버들의 상태를 실시간으로 모니터링하고 있으며, 상기 시스템의 토폴로지를 생성하여 이용하고 있다.
상기 시스템의 토폴로지를 생성하기 위해, 종래에는, 관리자가 상기 서버들로부터 직접 정보를 수집한 후, 수집된 정보들을 각종 프로그램들을 이용하여 가공하였다.
그러나, 시스템이 복잡해 지고, 관리되어야할 서버들의 개수가 증가됨에 따라, 토폴로지의 생성 과정이 점점 더 복잡하고 어려워지고 있다.
상술한 문제점을 해결하기 위해 제안된 본 발명의 목적은, 시스템에 구비된 에이전트를 통해 수집된 서버정보들을 이용하여, 상기 시스템을 구성하는 시스템들의 토폴로지를 자동적으로 생성할 수 있는, 서버 토폴로지 생성 방법을 제공하는 것이다.
상술한 기술적 과제를 달성하기 위한 본 발명에 따른 서버 토폴로지 생성 방법은, 시스템에 구비된 에이전트로부터, 상기 시스템을 구성하는 서버들의, 서버 유형, 서버 ID, 서버 네임(Name), 서버 그룹 ID, 트랜잭션 연결 정보 중 적어도 하나를 포함하는 서버정보들을, 유디피(UDP: User Datagram Protocol)와 Apache Thrift를 통해, 주기적으로 수집하는 단계, 상기 서버정보들을 분석하여 상기 시스템의 서버 토폴로지를 생성하는 단계, 및 상기 시스템의 관리자 단말기로부터 상기 서버 토폴로지의 요청이 있으면, 상기 관리자 단말기로 상기 서버 토폴로지를 전송하는 단계를 포함한다. 상기 서버 토폴로지를 생성하는 단계는, 수집된 상기 서버정보들을 저장하는 단계, 수집된 상기 서버정보들 중 상기 서버 유형에 대응되는 서버 유형 마스터 정보를, 상기 서버들의 최초 구동시에 수집된 서버 유형 마스터 정보들에서 찾아내는 단계, 수집된 상기 서버정보들 중 상기 서버 ID, 상기 서버 네임, 상기 트랜잭션 연결 정보를 이용하여, 호출한 서버와 호출당한 서버의 연결정보를 추출하는 단계, 상기 트랜잭션 연결 정보를 이용하여, 트랜잭션 내에서 호출되는 각각의 메소드(Method)에 대한 호출순서, 호출 시간, 호출 함수 명, 호출시 사용된 파라메타, 함수 자체가 서비스를 위해서 소요된 시간을 추출하는 단계, 및 상기 서버 유형 마스터 정보, 상기 연결정보, 상기 호출순서, 상기 호출시간, 상기 호출 함수 명, 상기 파라메타 및 상기 소요된 시간을 이용하여 상기 서버 토폴로지를 생성하는 단계를 포함한다.
본 발명에 따라 시스템을 구성하는 서버들에 대한 서버 토폴로지가 자동으로 생성됨으로써, 관리자는 실시간으로 상기 시스템을 구성하는 서버들의 정보를 파악할 수 있고, 실시간으로 상기 서버들의 구성 정보 현행화를 수행할 수 있으며, 서버 관리 리소스를 최소화시킬 수 있다.
즉, 상기한 바와 같은 본 발명에 의하면, 관리자의 개입없이도, 서버 토폴로지가 자동으로 생성될 수 있으며, 따라서, 시스템 관리를 위한 관리 리소스가 최소화될 수 있다.
또한, 관리자는 실시간으로 생성된 상기 서버 토폴로지를 이용하여, 모니터링하고자 하는 특정 기간 내에서 운영된 서버 정보와, 해당 서버에서 발생된 트랜잭션 정보만을 시각적으로 신속하고 손쉽게 파악할 수 있다.
또한, 관리자는 서버 구성 정보 현황화를 실시간으로 수행할 수 있다.
도 1은 본 발명에 따른 서버 토폴로지 생성 방법이 적용되는 통신 시스템의 일실시예 구성도.
도 2는 본 발명에 따른 서버 토폴로지 생성 방법을 제공하는 토폴로지 시스템의 일실시예 구성도.
도 3은 본 발명에 따른 서버 토폴로지 생성 방법의 일실시예 흐름도.
도 4는 본 발명에 따른 서버 토폴로지 생성 방법에 의해 생성된 서버 토폴로지의 예시도.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.
도 1은 본 발명에 따른 서버 토폴로지 생성 방법이 적용되는 통신 시스템의 일실시예 구성도이며, 도 2는 본 발명에 따른 서버 토폴로지 생성 방법을 제공하는 토폴로지 시스템의 일실시예 구성도이다.
본 발명은 통합관리 시스템(이하, 간단히 시스템이라 함)(10)에서의 복잡한 기업용 어플리케이션 서버(이하, 간단히 서버라 함)(12)들에 대한 토폴로지를 자동으로 생성하는 방법에 관한 것이다.
특히, 본 발명은 복잡한 상기 서버(12)들의 구성 및 환경 정보들을, 상기 시스템(10)에 구비된 에이전트(13)를 이용하여 실시간으로 수집하여, 상기 시스템(10)의 관리자의 개입 없이, 자동으로 상기 시스템의 서버 토폴로지를 구성하는 방법에 관한 것이다.
본 발명에 따른 서버 토폴로지 생성 방법이 적용되는 통신 시스템은, 도 1에 도시된 바와 같이, 다양한 서비스들을 제공하는 시스템(10)들 및 상기 시스템(10)들 각각에 구비된 에이전트(13)들로부터 수집된 서버 정보들을 이용하여, 상기 시스템(10)들 각각의 서버 토폴로지를 생성하며, 생성된 상기 서버 토폴로지를 상기 시스템(10)들의 관리자에 의해 이용되는 관리자 단말기(14)로 제공하는 토폴로지 시스템(20)을 포함한다.
여기서, 상기 시스템(10)들에는, 쇼핑몰을 제공하는 시스템, 뉴스를 제공하는 시스템 및 정부의 정책을 제공하는 시스템 등이 포함될 수 있다.
상기 시스템(10)들 각각에는 서비스를 제공하기 위한 적어도 두 개의 서버(12)들이 구비되며, 상기 시스템(10)에는 상기 서버(12)들로부터 상기 서버(12)들의 정보를 수집하는 에이전트(13)가 구비된다. 또한, 상기 시스템(10)들 각각에는 상기 관리자 단말기(14)가 포함될 수 있다.
상기 토폴로지 시스템(20)은 상기 에이전트(12)들로부터 수집된 서버들의 정보들을 이용하여, 각 시스템(10) 별로 서버 토폴로지를 생성하여 상기 관리자 단말기(14)로 전송한다.
상기 토폴로지 시스템(20)은 도 2에 도시된 바와 같이, 상기 시스템(10)들에 구비된 상기 에이전트(12)들과 통신을 수행하여, 상기 시스템(10)들에 구비된 서버들에 대한 정보들을 수집하는 통신부(21), 상기 서버들에 대한 정보들을 분석하는 분석부(23), 상기 통신부(21)로부터 수집된 상기 서버들에 대한 정보들 및 상기 분석부(23)에서 생성된 분석정보들을 저장하는 스토리지(24), 상기 스토리지에 저장된 분석정보들을 이용하여 상기 시스템(10)들 각각의 서버 토폴로지를 생성하는 토폴로지 생성부(25) 및 상기 통신부, 상기 스토리지, 상기 분석부와 상기 토폴로지 생성부의 기능을 제어하는 제어부(22)를 포함한다.
도 3은 본 발명에 따른 서버 토폴로지 생성 방법의 일실시예 흐름도이며, 도 4는 본 발명에 따른 서버 토폴로지 생성 방법에 의해 생성된 서버 토폴로지의 예시도이다.
본 발명에 따른 서버 토폴로지 생성 방법은, 시스템(10)에 구비된 에이전트(13)로부터, 상기 시스템을 구성하는 서버(12)들의, 서버 유형, 서버 ID, 서버 네임(Name), 서버 그룹 ID 및 트랜잭션 연결 정보 중 적어도 하나를 포함하는 서버정보들을, 유디피(UDP: User Datagram Protocol)(이하, 간단히 UDP라 함)와 Apache Thrift를 통해, 주기적으로 수집하는 단계(502, 504), 상기 서버정보들을 분석하여 상기 시스템(10)의 서버 토폴로지를 생성하는 단계(506) 및 상기 시스템(10)의 관리자 단말기(14)로부터 상기 서버 토폴로지의 요청이 있으면, 상기 관리지 단말기(14)로 상기 서버 토폴로지를 전송하는 단계(508)를 포함한다.
< 1. 서버정보 수집 단계(502) >
상기 시스템(10) 각각에 구비된 상기 에이전트(13)는 상기 시스템(10)을 구성하는 서버(12)들로부터 서버정보들을 수집한다.
상기 서버정보에는, 상기 서버(12)의 유형, 상기 서버의 아이디(ID), 상기 서버의 네임(Name), 상기 서버가 포함된 서버 그룹의 ID 및 트랜잭션 연결 정보가 포함될 수 있다.
상기 에이전트(13)는 상기 서버(12)들이 최초로 구동될 때, 상기 서버정보들(유형, id, name, group id, 트랜잭션 연결 정보)를 수집할 수 있으며, 주기적으로 상기 서버(12)의 가동여부 정보를 수집할 수 있다.
부연하여 설명하면, 대규모로 서비스를 제공하는 상기 시스템(10), 예를 들어, 쇼핑몰 서비스를 제공하는 상기 시스템(10)은, 하나의 서버로 운영되기는 어렵다.
즉, 상기 시스템(10)이 24시간 운영되기 위해서는, 상기 시스템(10)에는 최소한 2대 이상의 서버(12)들이 구비되어야 한다. 예를 들어, 데이터를 저장하는 DB 서버, 결제를 수행하는 결제 서버, 상품 정보를 제공하는 상품 제공 서버 등의 복잡하고 다양한 서버(12)들이 상기 시스템(10)에 구비되어야만, 상기 시스템(10)은 다앙하고 복잡한 서비스들을 사용자들에게 제공할 수 있다.
이 경우, 상기 에이전트(13)는 각 서버(12)들에 대한 서버정보들을 수집하기 위해 상기 시스템(10)에 구비된다. 상기 에이전트(13)는 각 서버(12)와 1대1로 구비될 수도 있으나, 상기 시스템(10)에 하나만 구비될 수도 있다. 또한, 상기 에이전트(13)는 적어도 두 개의 서버(13)로부터 서버정보들을 수집할 수도 있으며, 이 경우, 상기 시스템(10)에는 적어도 두 개의 상기 에이전트(13)들이 구비될 수 있다. 도 1에는 하나의 에이전트(13)가 구비되어 있는 상기 시스템(10)이 도시되어 있다.
상기 시스템(10)이 쇼핑몰 서비스를 제공하는 시스템인 경우, 상기 에이전트(13)는 상기 서버(12)의 WAS 유형, 상기 서버의 아이디(ID), 상기 서버의 네임(Name), 서버 IP, JVM 옵션, 서버 상태(Run or Stop), 상기 서버가 포함된 서버 그룹의 ID, 트랜잭션 연결 정보, 서버의 각종 파라미터, 상기 시스템(10)에 사용자가 접속하는 정보 및 각 서버의 CPU, 각 서버의 메모리, 각 서버의 Thread, 각 서버의 Disk 정보들 중 적어도 하나를 포함하는 상기 서버정보들을 상기 토폴로지 시스템(20)으로 전송한다.
< 2. 서버정보 송신 및 수신 단계(504) >
상기 에이전트(13)는 UDP를 이용하여 상기 서버정보들을 상기 토폴로지 시스템(20)으로 전송하며, 상기 토폴로지 시스템(20)의 상기 통신부(21)는 UDP를 이용하여 상기 서버정보들을 수신한다.
수신된 상기 서버정보들은 상기 스토리지(24)에 저장된다.
이 경우, 상기 에이전트(13)는 실시간으로 상기 서버정보들을 수집할 수 있으며, 기 설정된 시간 마다 주기적으로 상기 서버정보들을 상기 토폴로지 시스템(20)으로 전송할 수 있다.
상기 에이전트(13)는 UDP 이외에도 Apache Thrift와 같은 다양한 프로토콜을 이용하여 상기 서버정보들을 상기 토폴로지 시스템(20)으로 전송함으로써, 서버 및 네트웍에 대한 부하를 최소화할 수 있다.
부연하여 설명하면, 사용자와 서버 간의 통신 및 서버와 서버 간의 통신에 적용되는 프로토콜에는 TCP, UDP, HTTP, SOAP 등이 있다.
예를 들어, 인터넷 익스플로어(Internet Explorer), 크롬(Chrome) 등)와 같은 웹 브라우저에서 URL 정보를 http://www.daum.net 라고 입력하는 경우 HTTP 프로토콜로 통신이 수행된다.
그러나, 서버와 서버 간의 통신은 굉장히 빨라야 하며, 네트워크 구성에 대한 영향을 최소화하기 위해 데이터 사이즈가 최소화되어야 한다.
TCP 방식은 서버1과 서버2 간의 데이터 통신시, 서버1이 서버2에 요청하고 서버2가 수행결과를 받아야 정상 처리된다.
그러나, UDP 방식은 서버1이 서버2로 데이터를 일방적으로 전송하며, 서버2가 메시지를 정상적으로 받았는지 여부는 확인하지 않기 때문에, 부하를 최소화시킬 수 있다.
상기 서버정보들에는 매우 많은 양의 데이터들이 포함되어 있기 때문에, 본 발명에서는 초당 많은 데이터의 처리를 위해, 빠른 성능을 가지고 있는 상기 UDP 방식이 적용될 수 있다.
Apache Thrift는 UDP 통신시 데이터를 텍스트로 전송하지 않고, 바이너리 형태로 변환해서 전송한다. 이것은, 전송되는 메시지를 최대한 적게하여 빠르게 전송함으로써 네트워크에 최소한의 부하를 줄 수 있다. 따라서, 본 발명에서는 Apache Thrift가 적용될 수도 있다.
즉, 본 발명은 UDP와 Apache Thrift를 이용하여 서버정보들을 수집할 수 있다.
부연하여 설명하면, 본 발명은 TCP, UDP 등과 같은 다양한 프로토콜들 중에서 UDP를 사용함으로써, 연결설정이 불필요하며, 패킷 사이즈가 감소되는 효과가 발생될 수 있다. 또한, 본 발명은 UDP로 메시지(서버정보)를 전송할때 Apache Thrift를 이용하여, 메시지를 압축해서 바이너리로 보냄으로써 네트웍 부하를 줄일 수 있다.
< 3. 서버 토폴로지 생성 단계(506) >
상기 토폴로지 시스템(20)은 상기 분석부(23)를 이용해 상기 서버정보들을 분석한 후, 상기 토폴로지 생성부(25)를 이용하여 상기 시스템(10)의 서버 토폴로지를 자동으로 생성한다.
상기 서버 토폴로지는, 도 4에 도시된 바와 같이, 시각적으로 생성될 수 있다.
상기 토폴로지 시스템(20)은 상기 분석을 위해, 상기 에이전트(13)로부터 수집된 상기 서버정보들을 상기 스토리지(24)에 저장한다. 이 경우, 상기 토폴로지 시스템(20)은 Apache Thrift 프로토콜로 전송받는 상기 서버정보들을 Json 유형으로 변환하여 저장할 수 있다.
즉, 상기 토폴로지 시스템(20)은 상기 분석부(23)가 상기 서버정보들을 가독성있게 처리하도록 하기 위해서, 상기 서버정보들을 Json 형태로 변환하여 저장할 수 있다.
예를 들면 ID, Name 데이터를 "SHOP#1,Shopping Mall"를 표시하는 것보다는 {id : "SHOP#1", name : "Shopping Mall"}로 보여주면, 가독성이 향상될 수 있다.
또한, Json 구조는 데이터 필드 추가 삭제를 손쉽게 할 수 있는 장점이 있다.
상기 분석부(23)에서 생성된 분석정보를 이용하여 상기 토폴로지 생성부(25)는 상기 서버 토폴로지를 생성한 후 저장한다.
상기 토폴로지 생성부(25)에서 생성된 상기 서버 토폴로지는 도 4에 도시된 바와 같이, 차트 형태로 시각화되어 생성될 수 있다.
본 발명에서 상기 서버 토폴로지는 도 4에 도시된 바와 같이 서버의 구성도를 의미한다. 이하에서는, 상기 시스템(10)이 쇼핑몰 서비스를 제공하는 경우를 일예로 하여 본 발명이 설명된다.
사용자가 상기 시스템(10), 즉, 쇼핑몰 사이트에서 주문을 했을 때, 주문 정보를 받는 Front-Web 서버(도 4에서 FRONT-WEB으로 표시됨)가 있을 것이고 Front-web 서버는 주문 정보 처리를 위해서 Backend-web 서버(도 4에서 BACKEND-WEB으로 표시됨)로 관련 정보를 전송할 수 있다.
상기 Backend-web 서버는 주문 처리를 위해서 사용자 정보와 주문 정보를 DB(도 4에서 MySQL로 표시됨)에 저장하고 정상 처리 및 주문 번호를 Front-web 서버로 돌려줄 수 있다.
이 경우, 상기 Front-web 서버는 주문 성공 정보를 사용자 컴퓨터로 전송할 수 있다.
상기 Front-Web 서버, 상기 Backend-web 서버 및 상기 DB는 상기 서버(10)가 될 수 있다.
하나의 서비스를 위해서는 상기한 바와 같이 복잡한 과정들이 수행된다. 따라서, 본 발명은 이러한 복잡한 처리 흐름을, 도 4에 도시된 바와 같은 형태로 자동으로 생성함으로써, 관리자가 시스템(10)의 어디에서 어떻게 부하가 발생하는지를 시각적으로 확인하도록 할 수 있다.
또한, 본 발명은 상기 시스템(10)에서 문제가 발생되면, 상기 관리자 단말기(14)로 알람을 전송할 수도 있다.
상기 서버정보들은 예를 들어, 도 4에 도시된 서버 토폴로지에 도시된, 여우, MySql, 구름 등의 이미지를 구성하는 정보로 활용될 수 있다.
예를 들어, 상기 서버정보들 증, 서버 ID는 각 서버(10) 마다 부여되는 고유 ID이며, 서버 네임은 도 4에 도시된 서버 토폴로지의 여우 이미지 아래에 기재되어 있는 FRONT-WEB 및 BACKEND-WEB의 표시에 이용될 수 있다.
상기 서버정보들 중 그룹 ID는 여러 개의 서버들을 하나의 그룹으로 단순화하여 표시하기 위해 이용될 수 있다. 여러 개의 서버들이 그룹 ID로 표시됨으로써, 서버들의 구성이 복잡할때 서버들의 구성이 쉽게 파악될 수 있다.
부연하여 설명하면, 상기 서버 토폴로지를 생성하는 단계는, 수집된 상기 서버정보들을 원본 그대로 저장하는 단계, 수집된 상기 서버정보들 중 상기 서버 유형에 대응되는 서버 유형 마스터 정보를, 상기 서버들의 최초 구동시에 수집된 서버 유형 마스터 정보들에서 찾아내는 단계, 수집된 상기 서버정보들 중 상기 서버 ID, 상기 서버 네임, 상기 트랜잭션 연결 정보를 이용하여, 호출한 서버와 호출당한 서버의 연결정보를 추출하는 단계, 상기 트랜잭션 연결 정보를 이용하여, 트랜잭션 내에서 호출되는 각각의 메소드(Method)에 대한 호출순서, 호출 시간, 호출 함수 명, 호출시 사용된 파라메타, 함수 자체가 서비스를 위해서 소요된 시간을 추출하는 단계 및 상기 서버 유형 마스터 정보, 상기 연결정보, 상기 호출순서, 상기 호출시간, 상기 호출 함수 명, 상기 파라메타 및 상기 소요된 시간을 이용하여 상기 서버 토폴로지를 생성하는 단계로 세분화될 수 있다.
즉, 본 발명에서는, 상기 서버 유형 마스터 정보, 상기 연결정보, 상기 호출순서, 상기 호출시간, 상기 호출 함수 명, 상기 파라메타 및 상기 소요된 시간 등과 관련된 정보들이 이용됨으로써, 도 4에 도시된 바와 같이, 시각적으로 표현될 수 있는 이미지 형태의 상기 서버 토폴로지가 생성될 수 있다.
< 4. 서버 토폴로지 전송 단계(508) >
상기 토폴로지 시스템(20)은 상기 시스템(10)의 관리자 단말기(14)로부터 상기 서버 토폴로지의 요청이 있으면, 상기 관리지 단말기(14)로 상기 서버 토폴로지를 전송한다.
상기한 바와 같은 본 발명에 의하면, 관리자의 개입없이도, 서버 토폴로지가 자동으로 생성될 수 있으며, 따라서, 시스템 관리를 위한 관리 리소스가 최소화될 수 있다.
또한, 관리자는 실시간으로 생상된 상기 서버 토폴로지를 이용하여, 모니터링하고자 하는 특정 기간 내에서 운영된 서버 정보와, 해당 서버에서 발생된 트랜잭션 정보만을 시각적으로 신속하고 손쉽게 파악할 수 있다.
예를 들어, 트랜잭션 정보는 사용자가 시스템(쇼핑몰)(10)에 로그인하거나, 상품 조회, 주문 등을 하는 모든 정보들을 의미한다. 상기 시스템(10)에서 부하(트랜잭션)가 얼마나 발생하고 있고 이 부하가 상기 시스템(10)이 제공하는 서비스에 문제가 될지 안될지 등을 관리자는 항상 파악해야 한다. 종래에는 서버 부하를 표 형태로 나열하고 트랜잭션 정보를 표시하는 방법이 이용되었으나, 이 경우, 관리자는 서버 부하를 한눈에 파악할 수 없다.
본 발명에 따라 제공되는 상기 서버 토폴로지에서는, 도 4에 도시된 바와 같이, 상기 서버(10)들의 구성 정보들이 맵 형태로 표시되며, 서버들 간의 부하(트랜잭션) 정보도 함께 표시될 수 있기 때문에, 관리자는 시스템(10)의 현황을 손쉽게 한눈에 파악할 수 있다.
예를 들어, 세일 등으로 인해서 하나의 서버(10)에 부하가 폭주하면, 상기 서버(10)에 부하가 폭주하는 것을 관리자 또는 상기 시스템(10)의 모니터링부가 상기 서버 토폴로지를 통해서 확인할 수 있고, 이에 따라, 관리자 또는 상기 시스템(10)의 모니터링부는 상기 서버(10)의 CPU 또는 Memory를 늘려주거나 증설을 할 수 있으며, 상기 서버(10)의 서버 부하가 줄어들면 CPU 또는 Memory를 줄여주는 작업을 할 수 있다.
또한, 관리자는 서버 구성 정보 현황화를 실시간으로 수행할 수 있다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.  그러므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 시스템 20: 토폴로지 시스템

Claims (3)

  1. 시스템에 구비된 에이전트로부터, 상기 시스템을 구성하는 서버들의, 서버 유형, 서버 ID, 서버 네임(Name), 서버 그룹 ID, 트랜잭션 연결 정보 중 적어도 하나를 포함하는 서버정보들을, 유디피(UDP: User Datagram Protocol)와 Apache Thrift를 통해, 주기적으로 수집하는 단계;
    상기 서버정보들을 분석하여 상기 시스템의 서버 토폴로지를 생성하는 단계; 및
    상기 시스템의 관리자 단말기로부터 상기 서버 토폴로지의 요청이 있으면, 상기 관리자 단말기로 상기 서버 토폴로지를 전송하는 단계를 포함하고,
    상기 서버 토폴로지를 생성하는 단계는,
    수집된 상기 서버정보들을 저장하는 단계;
    수집된 상기 서버정보들 중 상기 서버 유형에 대응되는 서버 유형 마스터 정보를, 상기 서버들의 최초 구동시에 수집된 서버 유형 마스터 정보들에서 찾아내는 단계;
    수집된 상기 서버정보들 중 상기 서버 ID, 상기 서버 네임, 상기 트랜잭션 연결 정보를 이용하여, 호출한 서버와 호출당한 서버의 연결정보를 추출하는 단계;
    상기 트랜잭션 연결 정보를 이용하여, 트랜잭션 내에서 호출되는 각각의 메소드(Method)에 대한 호출순서, 호출 시간, 호출 함수 명, 호출시 사용된 파라메타, 함수 자체가 서비스를 위해서 소요된 시간을 추출하는 단계; 및
    상기 서버 유형 마스터 정보, 상기 연결정보, 상기 호출순서, 상기 호출시간, 상기 호출 함수 명, 상기 파라메타 및 상기 소요된 시간을 이용하여 상기 서버 토폴로지를 생성하는 단계를 포함하는 서버 토폴로지 생성 방법.
  2. 제 1 항에 있어서,
    상기 서버 토폴로지에서는, 상기 서버들의 구성 정보들이 맵 형태로 표시되며, 상기 서버들 간의 부하 정보도 함께 표시되는 서버 토폴로지 생성 방법.
  3. 제 1 항에 있어서,
    유디피(UDP: User Datagram Protocol)와 Apache Thrift를 통해 수집된 상기 서버정보들은 Json 유형으로 변환되어 저장되는 서버 토폴로지 생성 방법.
KR1020170171347A 2017-12-13 2017-12-13 서버 토폴로지 생성 방법 KR20190070630A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170171347A KR20190070630A (ko) 2017-12-13 2017-12-13 서버 토폴로지 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170171347A KR20190070630A (ko) 2017-12-13 2017-12-13 서버 토폴로지 생성 방법

Publications (1)

Publication Number Publication Date
KR20190070630A true KR20190070630A (ko) 2019-06-21

Family

ID=67056751

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170171347A KR20190070630A (ko) 2017-12-13 2017-12-13 서버 토폴로지 생성 방법

Country Status (1)

Country Link
KR (1) KR20190070630A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448831A (zh) * 2022-03-18 2022-05-06 以萨技术股份有限公司 一种集群所属服务器状态监控方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448831A (zh) * 2022-03-18 2022-05-06 以萨技术股份有限公司 一种集群所属服务器状态监控方法及系统
CN114448831B (zh) * 2022-03-18 2023-09-01 以萨技术股份有限公司 一种集群所属服务器状态监控方法及系统

Similar Documents

Publication Publication Date Title
US10348809B2 (en) Naming of distributed business transactions
CN110310034B (zh) 一种应用于SaaS的服务编排、业务流程处理方法和装置
US10747592B2 (en) Router management by an event stream processing cluster manager
US10423469B2 (en) Router management by an event stream processing cluster manager
US8185619B1 (en) Analytics system and method
US6167448A (en) Management event notification system using event notification messages written using a markup language
CN111124819B (zh) 全链路监控的方法和装置
EP3796167A1 (en) Router management by an event stream processing cluster manager
US9729563B2 (en) Data transfer for network interaction fraudulence detection
KR102136583B1 (ko) 클라우드 환경 모니터링 시스템 및 방법
CN111917838B (zh) 基于微服务的处理方法及装置、存储介质、电子装置
KR102345082B1 (ko) 클라우드 기반 iec61850 정보 처리 방법
CN114090366A (zh) 一种监控数据的方法、装置和系统
WO2017074471A1 (en) Tracking contention in a distributed business transaction
US20240303388A1 (en) Systems and methods for simulating control panel state and control panel responses
KR101586587B1 (ko) 시스템 모니터링 방법 및 장치
KR20190070630A (ko) 서버 토폴로지 생성 방법
US20170223136A1 (en) Any Web Page Reporting and Capture
CN111176948A (zh) 个性化业务指标的监控方法及系统
KR100947114B1 (ko) 더미 메시지를 이용하여 웹 서비스의 품질 데이터를추출하는 방법
CN113114612B (zh) 分布式系统调用链的确定方法和装置
CN113067722A (zh) 数据管理平台及其工作方法
El Khaddar Middleware Solutions for the Internet of Things: A Survey
CN116880970A (zh) 应用功能的调用方法、装置、终端设备及存储介质
US20060031232A1 (en) Management tool programs message distribution

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application