KR102181625B1 - Real time monitoring system and method for multi cloud - Google Patents

Real time monitoring system and method for multi cloud Download PDF

Info

Publication number
KR102181625B1
KR102181625B1 KR1020190149772A KR20190149772A KR102181625B1 KR 102181625 B1 KR102181625 B1 KR 102181625B1 KR 1020190149772 A KR1020190149772 A KR 1020190149772A KR 20190149772 A KR20190149772 A KR 20190149772A KR 102181625 B1 KR102181625 B1 KR 102181625B1
Authority
KR
South Korea
Prior art keywords
monitoring
real
monitoring information
agent
information
Prior art date
Application number
KR1020190149772A
Other languages
Korean (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 KR1020190149772A priority Critical patent/KR102181625B1/en
Application granted granted Critical
Publication of KR102181625B1 publication Critical patent/KR102181625B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

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

Abstract

Disclosed are a multi-cloud real-time monitoring system and a method thereof. According to one aspect of the present invention, the multi-cloud real-time monitoring system comprises: a cloud service providing device in which a server agent for monitoring each operating virtual machine is installed; a client terminal in which a client agent for monitoring in accordance with the use of the virtual machine is installed; and a monitoring device which periodically acquires monitoring information from the server agent or the client agent, and processes multiple types of monitoring information stored in the ETCD after a certain period of time elapses after storing the information in the ETCD for real-time monitoring and storing the information as a TSDB.

Description

멀티클라우드 실시간 모니터링 시스템 및 방법{Real time monitoring system and method for multi cloud}Real time monitoring system and method for multi cloud}

본 발명은 모니터링에 관한 것으로, 멀티 클라우드 시스템에 대해 실시간으로 모니터링하는 시스템 및 방법에 관한 것이다.The present invention relates to monitoring, and to a system and method for monitoring a multi-cloud system in real time.

근래에는 클라이언트단에서 각종 프로그램을 직접 설치하여 이용하는 방식을 탈피하여 서버단에서 응용프로그램뿐 아니라 다양한 플랫폼까지도 서비스 방식으로 제공하는 클라우드 서비스에 대한 이용자가 늘고 있는 추세이다. In recent years, the number of users of the cloud service that provides not only application programs but also various platforms as a service method in the server side is increasing by breaking away from the method of directly installing and using various programs at the client side.

다시 말해, 클라우드 컴퓨팅은 인터넷 기술을 활용하여 다수의 고객들에게 높은 수준의 확장성을 가진 IT 자원들을 서비스로 제공하는 시스템으로, 사용자들은 가상화된 리소스를 할당 받아 개인의 데스크탑 환경처럼 사용할 수 있다. In other words, cloud computing is a system that provides IT resources with high level of scalability as a service to a large number of customers using Internet technology, and users can use virtualized resources as a personal desktop environment.

이러한 클라우드 서비스의 확장에 따라 많은 수의 CSP(cloud service provider)가 운영되는 형태의 멀티클라우드가 서비스되고 있다. 멀티 클라우드는 서로 다른 업체에서 2개 이상의 클라우드를 이용해 하나의 서비스를 운영하는 것을 말하는 것으로, 클라우드 시스템을 업체를 다르게 하여 이중 구성하는 형태로 업체 종속성을 피하고, 특정 업체의 클라우드 시스템에 장애가 발생했을 때 서비스에 타격을 주지 않기 위한 목적 등으로 이용된다. According to the expansion of such cloud services, multi-cloud services in which a large number of cloud service providers (CSPs) are operated are being serviced. Multi-cloud refers to the operation of one service by using two or more clouds by different companies, and in the form of a dual configuration of the cloud system with different companies, avoiding vendor dependency and when a failure occurs in the cloud system of a specific company. It is used for the purpose of not damaging the service.

이러한 멀티클라우드 환경에서는 안전한 운영 등의 목적으로 각 CSP에서 제공되는 클라우드 컴퓨팅 서비스를 위한 가상머신(vm : virtual machine)에 대한 모니터링이 필요하다.In such a multi-cloud environment, monitoring of virtual machines (vm) for cloud computing services provided by each CSP is required for the purpose of safe operation.

대한민국 공개특허 제10-2013-0083726 (공개일자 2013년07월23일) 클라우드 시스템에서의 가상 머신 통합 모니터링 장치 및 방법Republic of Korea Patent Publication No. 10-2013-0083726 (Publication date July 23, 2013) Virtual machine integrated monitoring device and method in a cloud system

따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 다수의 CSP에서 운영되는 각 VM(가상머신)에 대해 실시간으로 모니터링하기 위한 시스템 및 방법을 제공하기 위한 것이다.Accordingly, the present invention has been devised to solve the above-described problem, and is to provide a system and method for monitoring each VM (virtual machine) operated in a plurality of CSPs in real time.

또한, 본 발명은 안전하고 효율적으로 실시간 모니터링 정보를 수집하는 모니터링 시스템 및 방법을 제공하기 위한 것이다.In addition, the present invention is to provide a monitoring system and method for safely and efficiently collecting real-time monitoring information.

본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.Other objects of the present invention will become more apparent through preferred embodiments described below.

본 발명의 일 측면에 따르면, 운영하는 가상머신에 대해 각각 모니터링을 수행하는 서버에이전트가 설치되는 클라우드서비스 제공장치; 상기 가상 머신을 이용함에 따른 모니터링을 수행하는 클라이언트에이전트가 설치되는 클라이언트 단말; 및 상기 서버에이전트 또는 상기 클라이언트에이전트로부터 주기적으로 모니터링 정보를 취득하며, 실시간 모니터링을 위해 ETCD에 저장한 후 일정시간이 경과되면 상기 ETCD에 저장된 복수개의 모니터링 정보를 가공하여 TSDB로 저장하는 모니터링 장치를 포함하는, 멀티클라우드 실시간 모니터링 시스템이 제공된다.According to an aspect of the present invention, there is provided a cloud service providing apparatus in which a server agent for monitoring each operating virtual machine is installed; A client terminal installed with a client agent for monitoring according to the use of the virtual machine; And a monitoring device that periodically acquires monitoring information from the server agent or the client agent, and processes a plurality of monitoring information stored in the ETCD after a certain time elapses after storing it in ETCD for real-time monitoring and storing it in TSDB. A multi-cloud real-time monitoring system is provided.

여기서, 상기 모니터링 장치는 관리자로부터 실시간 모니터링이 요청되면, 관련 서버에이전트 또는 클라이언트에이전트 중 하나로 모니터링 생성 주기를 변경토록 명령함으로써, 상기 서버에이전트와 상기 클라이언트에이전트로부터 서로 다른 시점의 모니터링 정보가 수집되도록 하여 모두 상기 ETCD에 저장한다.Here, when real-time monitoring is requested from the administrator, the monitoring device commands one of the related server agent or client agent to change the monitoring generation period, so that monitoring information at different times is collected from the server agent and the client agent. Save to the ETCD.

또한, 상기 모니터링 장치는 상기 서버에이전트 및 클라이언트에이전트로부터 각각 모니터링 정보를 수집하고 서로 비교함으로써 모니터링정보에 대한 신뢰성을 검증하고, 검증된 경우에만 상기 실시간 모니터링 생성 주기의 변경을 처리한다.Further, the monitoring device verifies the reliability of the monitoring information by collecting monitoring information from the server agent and the client agent, respectively, and comparing them with each other, and processes the change of the real-time monitoring generation period only when verified.

또한, 신뢰성 검증이 실패되면, 상기 ETCD에는 동일시점의 상기 서버에이전트 및 클라이언트에이전트로부의 모니터링 정보를 모두 저장한다.In addition, when the reliability verification fails, all monitoring information of the server agent and the client agent at the same time is stored in the ETCD.

또한, 상기 모니터링 장치는 실시간 모니터링을 수행하는 경우, 상기 TSDB에 모니터링 정보를 저장하는 처리 주기를 짧게 변경한다.In addition, when performing real-time monitoring, the monitoring device shortly changes the processing period for storing monitoring information in the TSDB.

본 발명의 다른 측면에 따르면, 멀티클라우드 서비스에 따른 모니터링을 수행하는 모니터링 장치에서의 실시간 모니터링 방법에 있어서, 클라우드서비스 제공장치에서 운영되는 가상머신에 대한 모니터링을 수행하는 서버에이전트와, 클라이언트 단말에서 상기 가상머신을 이용함에 따른 모니터링을 수행하는 클라이언트에이전트로부터 주기적으로 모니터링 정보를 수집하는 단계; 관리자 단말에게 실시간 모니터링 정보로서 제공하기 위해, 수집된 모니터링 정보를 ETCD에 저장하는 단계; 및 일정시간이 경과되면 상기 ETCD에 저장된 복수개의 모니터링 정보를 가공하여 TSDB로 저장하는 단계를 포함하는, 멀티클라우드 실시간 모니터링 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체가 제공된다.According to another aspect of the present invention, in a real-time monitoring method in a monitoring device that performs monitoring according to a multi-cloud service, a server agent that monitors a virtual machine operated in a cloud service providing device, and the client terminal Periodically collecting monitoring information from a client agent performing monitoring according to the use of the virtual machine; Storing the collected monitoring information in the ETCD to provide real-time monitoring information to the manager terminal; And processing a plurality of monitoring information stored in the ETCD and storing it in a TSDB when a predetermined time elapses. A multi-cloud real-time monitoring method and a recording medium on which a program executing the method is recorded are provided.

여기서, 상기 관리자 단말로부터 실시간 모니터링이 요청되면, 관련 서버에이전트 또는 클라이언트에이전트 중 하나로 모니터링 생성 주기를 변경토록 명령하는 단계를 더 포함하되, 상기 서버에이전트와 상기 클라이언트에이전트로부터 서로 다른 시점의 모니터링 정보가 수집되도록 하여 모두 상기 ETCD에 저장한다.Here, when real-time monitoring is requested from the manager terminal, further comprising the step of instructing to change the monitoring generation period to one of the related server agent or the client agent, wherein monitoring information at different times is collected from the server agent and the client agent. If possible, all are stored in the ETCD.

또한, 상기 서버에이전트 및 클라이언트에이전트로부터 각각 모니터링 정보를 수집하고 서로 비교함으로써 모니터링정보에 대한 신뢰성을 검증하고, 검증된 경우에만 상기 실시간 모니터링 생성 주기의 변경을 처리한다.In addition, the reliability of the monitoring information is verified by collecting and comparing monitoring information from the server agent and the client agent, respectively, and the change of the real-time monitoring generation period is processed only when verified.

또한, 신뢰성 검증이 실패되면, 상기 ETCD에는 동일시점의 상기 서버에이전트 및 클라이언트에이전트로부의 모니터링 정보를 모두 저장한다.In addition, when the reliability verification fails, all monitoring information of the server agent and the client agent at the same time is stored in the ETCD.

본 발명에 따르면, 다수의 CSP에서 운영되는 각 VM(가상머신)에 대해 모니터링 정보를 데이터베이스화할 뿐 아니라, 실시간으로도 모니터링할 수 있다.According to the present invention, monitoring information for each VM (virtual machine) operated by a plurality of CSPs can be converted into a database, and can be monitored in real time.

또한, 본 발명에 따르면 듀얼 방식으로 보다 안전하고 효율적이면서도 시간적으로 세밀한 실시간 모니터링 정보를 수집할 수 있다.In addition, according to the present invention, it is possible to collect detailed real-time monitoring information in time, which is safer and more efficient through a dual method.

도 1은 본 발명의 일 실시예에 따른 클라우드 가상 머신 통합 모니터링 시스템을 개략적으로 도시한 구성도.
도 2는 본 발명의 일 실시예에 따른 모니터링 장치의 구성을 도시한 블록도.
도 3은 본 발명의 일 실시예에 따른 에이전트가 배정된 수집기에 대한 정보를 예시한 테이블.
도 4는 본 발명의 일 실시예에 따른 모니터링 정보의 신뢰성 검증 과정을 도시한 흐름도.
도 5는 본 발명의 일 실시예에 따른 수집기가 페어링된 다른 수집기의 장애 발생 시에 신뢰성 검증을 위한 처리과정을 도시한 흐름도.
도 6은 본 발명의 일 실시예에 따른 모니터링 정보의 수집 및 저장 과정을 도시한 흐름도.
도 7은 본 발명의 일 실시예에 따른 실시간정보 저장부에 저장되는 정보를 예시한 테이블.
도 8은 본 발명의 다른 실시예에 따른 모니터링 정보의 수집 과정을 도시한 흐름도.
도 9는 본 발명의 다른 실시예에 따른 실시간정보 저장부에 저장되는 정보를 예시한 테이블.
1 is a block diagram schematically showing a cloud virtual machine integrated monitoring system according to an embodiment of the present invention.
2 is a block diagram showing the configuration of a monitoring device according to an embodiment of the present invention.
3 is a table illustrating information on a collector to which an agent is assigned according to an embodiment of the present invention.
4 is a flowchart illustrating a process of verifying reliability of monitoring information according to an embodiment of the present invention.
5 is a flowchart illustrating a process for verifying reliability when a failure occurs in another collector paired by a collector according to an embodiment of the present invention.
6 is a flowchart illustrating a process of collecting and storing monitoring information according to an embodiment of the present invention.
7 is a table illustrating information stored in a real-time information storage unit according to an embodiment of the present invention.
8 is a flowchart showing a process of collecting monitoring information according to another embodiment of the present invention.
9 is a table illustrating information stored in a real-time information storage unit according to another embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it is to be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the present invention.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 후술될 제1 임계값, 제2 임계값 등의 용어는 실질적으로는 각각 상이하거나 일부는 동일한 값인 임계값들로 미리 지정될 수 있으나, 임계값이라는 동일한 단어로 표현될 때 혼동의 여지가 있으므로 구분의 편의상 제1, 제2 등의 용어를 병기하기로 한다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. These terms are used only for the purpose of distinguishing one component from another component. For example, terms such as a first threshold value and a second threshold value to be described later may be pre-designated as threshold values that are substantially different or some of the same values, but when expressed in the same word as the threshold value, there is a confusion. There is room, so for the convenience of classification, terms such as first and second will be added together.

본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or a combination thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance.

또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.In addition, components of the embodiments described with reference to each drawing are not limited to the corresponding embodiments, and may be implemented to be included in other embodiments within the scope of maintaining the technical spirit of the present invention. Even if the description is omitted, it is natural that a plurality of embodiments may be implemented again as a unified embodiment.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. In addition, in the description with reference to the accompanying drawings, the same or related reference numerals are assigned to the same components regardless of the reference numerals, and redundant descriptions thereof will be omitted. In describing the present invention, when it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted.

도 1은 본 발명의 일 실시예에 따른 클라우드 가상 머신 통합 모니터링 시스템을 개략적으로 도시한 구성도이고, 도 2는 본 발명의 일 실시예에 따른 모니터링 장치의 구성을 도시한 블록도이다.1 is a block diagram schematically illustrating a cloud virtual machine integrated monitoring system according to an embodiment of the present invention, and FIG. 2 is a block diagram showing the configuration of a monitoring device according to an embodiment of the present invention.

도 1을 참조하면, 통합 모니터링 시스템은 복수개의 클라이언트 단말(10-1, 10-2, ..., 이하 10으로 통칭), 복수개의 클라우드서비스 제공장치(cloud service provider, 30-1, 30-2, ..., 이하 30으로 통칭) 및 모니터링 장치(50)를 포함한다.Referring to FIG. 1, the integrated monitoring system includes a plurality of client terminals (10-1, 10-2, ..., hereinafter referred to as 10), and a plurality of cloud service providers (cloud service providers, 30-1, 30-). 2, ..., hereinafter collectively referred to as 30) and a monitoring device 50.

클라이언트 단말(10)은 클라우드 컴퓨팅 서비스를 이용하는 이용자의 단말장치로서, 개인PC뿐 아니라, 스마트폰, 태블릿PC 등 통신망을 통한 통신수단을 구비한 컴퓨팅 장치일 수 있다.The client terminal 10 is a terminal device of a user using a cloud computing service, and may be a computing device having a communication means through a communication network, such as a smartphone or a tablet PC, as well as a personal PC.

클라우드서비스 제공장치(30)는 클라우드 컴퓨팅 서비스를 제공하는 하나 이상의 가상머신을 운용하는 서비스 제공자이다.The cloud service providing device 30 is a service provider that operates one or more virtual machines that provide cloud computing services.

클라이언트 단말(10) 및 클라우드서비스 제공장치(30)에는 클라우드 컴퓨팅 서비스에 따른 모니터링을 수행하여 모니터링 정보를 생성하는 에이전트가 설치된다.An agent for generating monitoring information by performing monitoring according to a cloud computing service is installed in the client terminal 10 and the cloud service providing device 30.

클라우드서비스 제공장치(30)에 설치된 에이전트인 서버에이전트는 가상머신(VM)의 운용체제(OS: Operating System) 또는 가상머신에서 운용되는 애플리케이션(application)의 운용현황(이용한 클라이언트 단말정보, 애플리케이션 이용정보 등) 또는 성능 정보(예를 들어 가상 서버의 CPU, Memory, Disk, Network 상황 등)를 모니터링하여 정보를 생성한다.The server agent, which is an agent installed in the cloud service providing device 30, is the operating system (OS: Operating System) of a virtual machine (VM) or the operation status of an application operated in a virtual machine (client terminal information used, application usage information). Etc.) or performance information (for example, CPU, memory, disk, network status of the virtual server) to generate information.

클라이언트 단말(10)에 설치된 클라이언트에이전트는 가상머신으로부터 제공받는 클라우드 컴퓨팅 서비스를 모니터링하여 가상머신 정보(예를 들어 일련번호 등), 애플리케이션 이용정보 등의 모니터링 정보를 생성한다.The client agent installed in the client terminal 10 monitors the cloud computing service provided from the virtual machine to generate monitoring information such as virtual machine information (eg, serial number, etc.) and application usage information.

모니터링 장치(50)는 서버에이전트 및 클라이언트에이전트에서 생성된 모니터링 정보를 수집하여 저장 및 관리한다.The monitoring device 50 collects, stores, and manages monitoring information generated by the server agent and the client agent.

일례에 따르면, 모니터링 장치(50)를 운용하는 CMP(Cloud Management Platform)에서 각 클라우드서비스 제공장치(30, CSP)로 가상머신을 배포할 때 에이전트 프로그램을 제공함으로써, 가상머신이 구동하게 되면 모니터링 장치(50)로 접근하여 모니터링 정보를 제공할 수집기(collector)를 할당받는다.According to an example, by providing an agent program when deploying a virtual machine from a cloud management platform (CMP) operating the monitoring device 50 to each cloud service providing device 30, the monitoring device when the virtual machine is driven. Approach to (50) and be assigned a collector to provide monitoring information.

유사한 방식으로, 가상머신에 접속하여 클라우드 컴퓨팅 서비스를 제공받고자 하는 클라이언트 단말(10)도 미리 CMP로부터 취득한 클라이언트에이전트 프로그램을 해당 가상머신으로부터 취득하여 설치한다.In a similar manner, the client terminal 10, which wants to access the virtual machine and receive cloud computing service, also acquires and installs a client agent program acquired from the CMP in advance from the virtual machine.

클라이언트 단말(10)에 설치된 클라이언트에이전트는 마찬가지로 모니터링 장치에 접속하여 모니터링 정보를 수집하는 수집기를 할당받는다.The client agent installed in the client terminal 10 is similarly assigned a collector that accesses the monitoring device and collects monitoring information.

다시 말하면, 모니터링 장치(50)는 CSP로 서버에이전트와 클라이언트에이전트를 제공하여 각 가상머신 및 클라이언트 단말(10)에 해당하는 모니터링을 위한 에이전트를 설치하도록 한다.In other words, the monitoring device 50 provides a server agent and a client agent to the CSP to install an agent for monitoring corresponding to each virtual machine and client terminal 10.

모니터링 장치(50)의 구성을 도시한 도 2를 참조하면, 모니터링 장치(50)는 복수개의 수집기(210-1, 210-2, ..., 210-n 이하 210으로 통칭, 211), 수집기 관리부(220), 보안처리부(230), 실시간정보 저장부(240) 및 데이터베이스부(250)을 포함한다.Referring to FIG. 2 showing the configuration of the monitoring device 50, the monitoring device 50 includes a plurality of collectors 210-1, 210-2, ..., 210-n or less, collectively referred to as 210, 211, and a collector. It includes a management unit 220, a security processing unit 230, a real-time information storage unit 240, and a database unit 250.

수집기(210)는 모니터링을 위한 에이전트에 의해 생성되는 모니터링 정보를 수집하는 기능을 수행하는데, 수집기(210)가 모니터링 정보를 수집할 대상은 수집기 관리부(220)에 의해 배정된다. 즉, 전술한 바와 같이, 수집기 관리부(220)는 접속된 서버에이전트 또는 클라이언트에이전트로부터 수집기 배정을 요청받으면, 각 수집기(210)의 부하를 고려하여 어느 하나를 배정한다.The collector 210 performs a function of collecting monitoring information generated by an agent for monitoring, and a target for which the collector 210 collects monitoring information is assigned by the collector management unit 220. That is, as described above, when the collector management unit 220 receives a request for assignment of collectors from the connected server agent or client agent, it allocates any one in consideration of the load of each collector 210.

그리고, 일례에 따르면, 수집기는 일반적인 모니터링 정보를 수집하는 제1 수집기(210)와 다른 일례에 따른 실시간 모니터링 정보를 수집하는 제2 수집기(211-1, 211-2)로 구분될 수 있다. 제2 수집기에 대해서는 차후 관련도면(도 8 및 도 9)을 참조하여 보다 상세히 설명하기로 한다.And, according to an example, the collector may be divided into a first collector 210 that collects general monitoring information and a second collector 211-1 and 211-2 that collect real-time monitoring information according to another example. The second collector will be described in more detail later with reference to related drawings (FIGS. 8 and 9 ).

도 3은 본 발명의 일 실시예에 따른 에이전트가 배정된 수집기에 대한 정보를 예시한 테이블이다.3 is a table illustrating information on a collector to which an agent is assigned according to an embodiment of the present invention.

도 3을 참조하면, 수집기 관리부(220)는 수집기1이 A그룹 서버에이전트(예를 들어, CSP1이 운용하는 VM에 설치된 서버에이전트들) 및 B그룹 클라이언트에이전트(예를 들어, CSP2가 운용하는 VM으로부터 클라우드 컴퓨팅 서비스를 제공받는 클라이언트 단말에 설치된 클라이언트에이전트)로부터 모니터링 정보를 수집하도록 배정한다.3, the collector management unit 220 includes a group A server agent (for example, server agents installed in a VM operated by CSP1) and a group B client agent (for example, a VM operated by CSP2). It is assigned to collect monitoring information from a client agent installed in a client terminal receiving a cloud computing service from

그리고 일례에 따르면 도면에 도시된 바와 같이, 수집기 관리부(220)는 수집기1과 대칭되도록 수집기2는 B그룹 서버에이전트(예를 들어, CSP2가 운용하는 VM에 설치된 서버에이전트들) 및 A그룹 클라이언트에이전트(예를 들어, CSP1이 운용하는 VM으로부터 클라우드 컴퓨팅 서비스를 제공받는 클라이언트 단말에 설치된 클라이언트에이전트)로부터 모니터링 정보를 수집하도록 배정한다. 본 실시예에 따르면, 두 수집기가 서로 대칭되도록 모니터링 정보를 취득하도록 함으로써, 하나의 수집기에 장애가 발생할 경우에 대처할 수 있는데, 이에 대해서는 추후 관련도면(도 5)을 참조하여 보다 상세히 설명하기로 한다.And according to an example, as shown in the figure, the collector management unit 220 is a group B server agent (for example, server agents installed in a VM operated by CSP2) and group A client agent so that collector 2 is symmetric with collector 1 Assigns to collect monitoring information from (for example, a client agent installed in a client terminal receiving a cloud computing service from a VM operated by CSP1). According to the present embodiment, by allowing two collectors to acquire monitoring information so as to be symmetrical to each other, it is possible to cope with a case of a failure in one collector, which will be described in more detail later with reference to the related drawing (FIG.

다시 도 2를 참조하면, 수집기에 의해 수집된 모니터링 정보는 데이터베이스부(250)에 저장된다.Referring back to FIG. 2, monitoring information collected by the collector is stored in the database unit 250.

여기서, 모니터링 장치(50)는 서버에이전트 및 클라이언트에이전트로부터 각각 수신되는 모니터링 정보를 모두 데이터베이스부(250)에 저장할 수 있으며, 다른 일례에 따르면 둘 중 어느 하나(예를 들어, 서버에이전트로부터의 모니터링 정보)만을 데이터베이스화할 수도 있다.Here, the monitoring device 50 may store all monitoring information received from the server agent and the client agent, respectively, in the database unit 250, and according to another example, either of the two (for example, monitoring information from the server agent) ) Can also be databaseized.

다만, 일례에 따르면, 보안처리부(230)는 수집기(210)에 의해 서버에이전트 및 클라이언트에이전트로부터 각각 모니터링 정보를 수집하여 서로 비교함으로써 신뢰성을 검증한다.However, according to an example, the security processing unit 230 verifies reliability by collecting monitoring information from the server agent and the client agent by the collector 210 and comparing them with each other.

도 4는 본 발명의 일 실시예에 따른 모니터링 정보의 신뢰성 검증 과정을 도시한 흐름도이다.4 is a flowchart illustrating a process of verifying reliability of monitoring information according to an embodiment of the present invention.

도 4를 참조하면, 모니터링 장치(50)는 수집기가 가상머신a로부터 모니터링 정보를 수집하면, 가상머신a의 서비스를 이용한 클라이언트 단말(10)로부터의 수집되어 저장된 모니터링 정보를 추출한다(S420).Referring to FIG. 4, when the collector collects monitoring information from the virtual machine a, the monitoring device 50 extracts the collected and stored monitoring information from the client terminal 10 using the service of the virtual machine a (S420).

이해의 편의를 위해 예를 들자면, 가상머신a가 2018년5월1일00시부터 2018년5월2일00시까지의 기간 동안 클라이언트 단말1 및 클라이언트 단말2에게 클라우드컴퓨팅 서비스를 제공하였다고 가정한다. 그리고, 모니터링 장치(50)가 가상머신a로부터 해당 기간(2018년5월1일00시부터 2018년5월2일00시까지) 동안의 모니터링 정보를 수집하였다면, 모니터링 장치(50)는 해당 기간 동안의 가상머신a로부터 클라우드컴퓨팅 서비스를 제공받은 클라이언트 단말1 및 2에 설치된 클라이언트에이전트들로부터 미리 수집된 모니터링 정보를 추출하는 것이다.For convenience of understanding, as an example, it is assumed that virtual machine a provided a cloud computing service to client terminal 1 and client terminal 2 during the period from 0:00 on May 1, 2018 to 0:00 on May 2, 2018. And, if the monitoring device 50 has collected monitoring information from the virtual machine a for the period (from 0:00 on May 1, 2018 to 0:00 on May 2, 2018), the monitoring device 50 This is to extract monitoring information previously collected from client agents installed in client terminals 1 and 2 that have received cloud computing service from virtual machine a.

그리고 가상머신a로부터 수집한 모니터링 정보와 추출된 그 두개의 클라이언트에이전트들로부터의 모니터링 정보를 서로 비교함으로써 신뢰성 검증을 수행한다(S430).Then, reliability verification is performed by comparing the monitoring information collected from the virtual machine a and the extracted monitoring information from the two client agents (S430).

예를 들어, 클라이언트 단말1과 클라이언트 단말2로부터의 모니터링 정보(이하 클라이언트 모니터링 정보) 중 제공받은 애플리케이션 정보(예를 들어 이용시간 등), 이용자 아이디와 가상머신a로부터 수신한 모니터링 정보(이하 머신 모니터링 정보라 칭함) 중 서비스 제공한 클라이언트 아이디, 서비스 제공 시간을 서로 비교하여 일치하는지 여부를 이용하여 신뢰성을 검증할 수 있다. 예를 들어, 클라이언트 모니터링 정보에 따른 이용자 아이디와 머신 모니터링 정보에 따른 클라이언트 아이디가 서로 상이하다면, 머신 모니터링 정보에 대해서는 신뢰성이 없는 것이라 판단될 수 있다.For example, among the monitoring information (hereinafter referred to as client monitoring information) from client terminal 1 and client terminal 2, application information (e.g., usage time, etc.) received, user ID and monitoring information received from virtual machine a (hereinafter, machine monitoring information) (Referred to as information), the reliability can be verified by comparing the client ID provided with the service and the service providing time to match each other. For example, if the user ID according to the client monitoring information and the client ID according to the machine monitoring information are different from each other, it may be determined that the machine monitoring information is not reliable.

본 실시예에 따르면, 서버측의 가상머신과 해당 가상머신을 이용했던 클라이언트로부터 각각 수신되는 모니터링 정보를 서로 비교분석함으로써 수집된 모니터링 정보에 대한 검증을 수행함으로써 위조 또는 변조된 모니터링 정보를 구별할 수 있어 보다 안전한 모니터링을 수행할 수 있게 된다.According to this embodiment, by comparing and analyzing the monitoring information received from the server-side virtual machine and the client that used the virtual machine, respectively, by performing verification on the collected monitoring information, it is possible to distinguish forged or altered monitoring information. It is possible to perform more secure monitoring.

그리고, 전술한 바와 같이 수집기 두개를 서로 서버측과 클라이언트측이 대칭되도록 페어(pair)하게 배정함으로써, 모니터링 장치는 서버에이전트로부터 수신된 머신 모니터링 정보와 비교할 클라이언트 모니터링 정보의 추출이 용이하게 된다. 즉, 도 3을 참조하면, 수집기1이 머신 모니터링 정보를 수집한 경우, 수집기2가 수집한 클라이언트 모니터링 정보를 추출하여 신뢰성 검증에 이용하면 되는 것이다.And, as described above, by assigning two collectors in a pair so that the server side and the client side are symmetrical to each other, the monitoring device can easily extract the client monitoring information to be compared with the machine monitoring information received from the server agent. That is, referring to FIG. 3, when the collector 1 collects machine monitoring information, the client monitoring information collected by the collector 2 can be extracted and used for reliability verification.

도 5는 본 발명의 일 실시예에 따른 수집기가 페어링된 다른 수집기의 장애 발생 시에 신뢰성 검증을 위한 처리과정을 도시한 흐름도이다.5 is a flowchart illustrating a process for verifying reliability when a failure occurs in another collector paired with a collector according to an embodiment of the present invention.

도 5를 참조하면, 임의의 수집기(본 실시예에서는 도 3의 수집기2)가 클라이언트에이전트로부터 클라이언트 모니터링 정보를 수집하면(S510), 페어링된 타 수집기(본 실시예에서는 도 3의 수집기1)에 장애가 발생되었는지 여부를 확인한다(S520).Referring to FIG. 5, when an arbitrary collector (collector 2 of FIG. 3 in this embodiment) collects client monitoring information from a client agent (S510), a paired other collector (collector 1 of FIG. 3 in this embodiment) It is checked whether a failure has occurred (S520).

만일 페어링된 수집기1에 장애가 없는 경우, 수집기2는 수집기1이 수집하는 머신 모니터링 정보에 대한 검증을 위해 클라이언트 모니터링 정보를 저장한다(S530). 즉, 수집기1이 정상 구동되는 경우 A그룹의 머신 모니터링 정보를 수집할 것이며, 해당 머신 모니터링 정보에 대한 신뢰성 검증을 수행할 수 있도록 A그룹의 클라이언트 모니터링 정보를 데이터베이스부에 저장하는 것이다.If there is no failure in the paired collector 1, collector 2 stores client monitoring information to verify machine monitoring information collected by collector 1 (S530). That is, when Collector 1 is normally operated, machine monitoring information of Group A will be collected, and client monitoring information of Group A is stored in the database so that reliability verification of the corresponding machine monitoring information can be performed.

이와 달리 페어링된 타 수집기인 수집기1에 장애가 발생된 것으로 확인된 경우, 수집기2는 해당하는 서버에이전트로 문의하여 신뢰성을 검증한다(S540). 예를 들어, 클라이언트 단말a로부터 클라이언트 모니터링 정보를 취득된 경우, 그 클라이언트 모니터링 정보에 포함된 가상머신 정보(식별정보 등)를 이용하여 클라이언트 단말a에게 클라우드 컴퓨팅 서비스를 제공한 가상머신a로 신뢰성을 문의하는 것이다. 그러면 가상머신a는 자신이 정상적으로 클라이언트 단말a로 클라이언트 모니터링 정보와 같이 서비스를 제공한 것이 맞는지를 확인함으로써 신뢰성을 검증한다.In contrast, when it is determined that a failure has occurred in Collector 1, which is another paired collector, Collector 2 checks the reliability by inquiring with the corresponding server agent (S540). For example, when client monitoring information is obtained from client terminal a, the reliability of the virtual machine a that provided cloud computing service to client terminal a using virtual machine information (identification information, etc.) included in the client monitoring information To inquire. Then, the virtual machine a verifies the reliability by confirming that it has normally provided the service to the client terminal a, such as client monitoring information.

수집기2는 신뢰성 검증 결과와 함께 클라이언트 모니터링 정보를 저장할 수 있을 것이다. 또는 서버에이전트로부터 신뢰성이 있는 것으로 확인된 경우에만 해당 클라이언트 모니터링 정보를 저장할 수도 있다.Collector 2 will be able to store client monitoring information along with the reliability verification result. Alternatively, the client monitoring information can be saved only when it is confirmed to be reliable from the server agent.

본 실시예에 따르면, 수집기에 장애가 발생하여 가상머신에 설치된 서버에이전트로부터의 모니터링 정보를 취득하지 못하더라도 신뢰성 있는 클라이언트 모니터링 정보를 취득하여 저장할 수 있게 된다.According to the present embodiment, reliable client monitoring information can be acquired and stored even if a failure occurs in the collector and monitoring information from the server agent installed in the virtual machine cannot be acquired.

그리고, 도면에는 도시되지 않았으나, 클라이언트에이전트로부터 보다 신뢰성 있는 모니터링 정보의 취득을 위해 모니터링 장치(50)는 클라우드서비스 제공장치(30)로 암호화키를 제공할 수 있다. 클라우드서비스 제공장치(30)는 접속된 클라이언트 단말(10)로 해당 암호화키를 제공함으로써, 클라이언트 단말(10)이 클라아인트 모니터링 정보를 해당 암호화키로 암호화하여 모니터링 장치(50)로 전송하도록 한다. 따라서, 모니터링 장치(50)는 자신이 발송한 암호화키를 이용하여 클라이언트 단말(10)이 암호화하여 모니터링 정보를 제공하는지 여부를 확인하여 클라이언트 단말(10)뿐 아니라 클라우드서비스 제공장치(30)까지도 인증까지도 수행할 수 있게 된다. 즉, 모니터링 장치(50)는 클라우드서비스 제공장치(30)를 경유하여 클라이언트 단말(10)에게 암호화키를 제공함으로써, 두 장치간의 정상적인 통신이 수행되는지 여부까지도 확인할 수 있는 것이다.Further, although not shown in the drawing, the monitoring device 50 may provide an encryption key to the cloud service providing device 30 in order to obtain more reliable monitoring information from the client agent. The cloud service providing device 30 provides the corresponding encryption key to the connected client terminal 10 so that the client terminal 10 encrypts the client monitoring information with the corresponding encryption key and transmits it to the monitoring device 50. Therefore, the monitoring device 50 authenticates not only the client terminal 10 but also the cloud service providing device 30 by checking whether the client terminal 10 encrypts and provides monitoring information using the encryption key sent by itself. You can even perform. That is, the monitoring device 50 provides an encryption key to the client terminal 10 via the cloud service providing device 30, so that it is possible to check whether or not normal communication between the two devices is performed.

이하에서는 모니터링 장치(50)가 실시간 모니터링 정보를 수집하여 관리자단말(미도시)로 제공하는 방식에 대해 설명하고자 한다.Hereinafter, a method of collecting real-time monitoring information by the monitoring device 50 and providing it to a manager terminal (not shown) will be described.

도 6은 본 발명의 일 실시예에 따른 모니터링 정보의 수집 및 저장 과정을 도시한 흐름도이고, 도 7은 본 발명의 일 실시예에 따른 실시간정보 저장부에 저장되는 정보를 예시한 테이블이다.6 is a flowchart illustrating a process of collecting and storing monitoring information according to an embodiment of the present invention, and FIG. 7 is a table illustrating information stored in a real-time information storage unit according to an embodiment of the present invention.

도 2와 함께 도 6을 참조하면, 수집기(210)에서 수집된 모니터링 정보는 바로 데이터베이스부(250)에 저장되는 것이 아니라 실시간정보 저장부(240)에 먼저 저장된다. 실시간정보 저장부는 통상적으로 키값 저장소로서 이용되는 ETCD가 활용될 수 있다.Referring to FIG. 6 along with FIG. 2, the monitoring information collected by the collector 210 is not immediately stored in the database unit 250, but is first stored in the real-time information storage unit 240. The real-time information storage unit may use an ETCD, which is typically used as a key value storage.

일 실시예에 따르면, 서버 또는 클라이언트에 설치되는 모니터링을 위한 에이전트는 2초단위로 모니터링 정보를 생성하여 모니터링 장치(50)의 수집기로 전송하며, 모니터링 장치(50)는 10초 단위로 모니터링 정보를 가공하여 데이터베이스부(250)에 저장한다. According to an embodiment, an agent for monitoring installed on a server or client generates monitoring information every 2 seconds and transmits it to the collector of the monitoring device 50, and the monitoring device 50 transmits the monitoring information every 10 seconds. It is processed and stored in the database unit 250.

즉, 모니터링 장치(50)는 모니터링 정보가 수집되면(S610), 먼저 실시간정보 저장부(240)에 저장한다(S620). 따라서, 모니터링 장치(50)는 관리자 단말로부터 실시간 모니터링 정보가 요청되면, 실시간정보 저장부(240)의 마지막 저장된 데이터를 제공함으로써, 최근의 모니터링 정보를 제공할 수 있어 관리자는 실시간으로 모니터링할 수 있게 된다.That is, when monitoring information is collected (S610), the monitoring device 50 first stores it in the real-time information storage unit 240 (S620). Therefore, when the real-time monitoring information is requested from the manager terminal, the monitoring device 50 can provide the latest monitoring information by providing the last stored data of the real-time information storage unit 240 so that the manager can monitor in real time. do.

도 7을 참조하면, 상술한 바와 같이 실시간정보 저장부(240)인 ETCD가 활용되어, 2초 단위로 수집된 모니터링 정보에 대한 key(즉 시간)/value(정보 값)로서 저장된다. 본 실시예에서는 모니터링 정보를 서버에이전트로부터 수집한 경우를 예시한 것으로, 클라이언트에이전트로부터 취득된 경우라면, value에는 해당 클라이언트의 정보가 저장될 것이다.Referring to FIG. 7, as described above, the ETCD, which is the real-time information storage unit 240, is utilized and stored as a key (ie, time)/value (information value) for monitoring information collected in units of 2 seconds. In this embodiment, the monitoring information is collected from the server agent. If the monitoring information is obtained from the client agent, the information of the corresponding client will be stored in the value.

다시 도 6을 참조하면, 가공주기(즉, 상술한 바와 같이 10초)가 되면 그동안 실시간정보 저장부(240)에 저장된 데이터(즉, 2초 단위로 생성된 5개의 모니터링 정보)를 가공하여 시간순으로 데이터베이스부(250)에 저장한다.Referring back to FIG. 6, when the processing cycle (i.e., 10 seconds as described above) is reached, data stored in the real-time information storage unit 240 (i.e., 5 monitoring information generated in units of 2 seconds) is processed in chronological order. As stored in the database unit 250.

일례로 데이터베이스부(250)는 시계열로 데이터가 저장 및 관리되는 TSDB(Time series database)가 이용될 수 있을 것이다.For example, the database unit 250 may use a time series database (TSDB) in which data is stored and managed in a time series.

가공방식으로서, 통계 기준에 따라 모여진 5개의 데이터에 대해 min/max/avg/last(즉, 최소 크기 데이터, 최대 크기 데이터, 평균크기 데이터 또는 최근 데이터에 대한 가공데이터를 원본 모니터링 데이터와 함께 저장할 수 있다.As a processing method, min/max/avg/last (i.e., minimum size data, maximum size data, average size data, or processing data for the latest data) can be saved with the original monitoring data for 5 data collected according to statistical criteria. have.

본 실시예에서는 동일 시간(즉, 동일 시점 및 동일 시간 주기)에 서버 에이전트와 클라이언트 에이전트가 모니터링 정보를 생성하여 전송하는 경우를 가정한 것이다. 상술한 바와 같이 에이전트에 문제가 발생하거나 신뢰성 검증을 위한 것이다.In the present embodiment, it is assumed that the server agent and the client agent generate and transmit monitoring information at the same time (ie, the same time period and the same time period). As described above, a problem occurs in the agent or is for reliability verification.

다른 일례에 따르면, 실시간 모니터링 시에는 보다 세밀한 관찰이 필요할 수 있으므로, 서버 에이전트와 클라이언트 에이전트가 서로 다른 시점에 모니터링 정보를 생성하도록 함으로써, 부하를 높이지 않으면서도 시간상 보다 정교한 정보를 획득할 수도 있다.According to another example, since more detailed observation may be required during real-time monitoring, by allowing the server agent and the client agent to generate monitoring information at different times, more sophisticated information in time can be obtained without increasing the load.

도 8은 본 발명의 다른 실시예에 따른 모니터링 정보의 수집 과정을 도시한 흐름도이고, 도 9는 본 발명의 다른 실시예에 따른 실시간정보 저장부에 저장되는 정보를 예시한 테이블이다.FIG. 8 is a flowchart illustrating a process of collecting monitoring information according to another embodiment of the present invention, and FIG. 9 is a table illustrating information stored in a real-time information storage unit according to another embodiment of the present invention.

먼저 도 9를 참조하면, 에이전트는 2초 단위로 모니터링 정보를 생성하되, 서버측와 클라이언트측이 서로 다른 시점을 기반으로 함으로써, 두개의 데이터를 모두 ETCD에 저장함으로써 1초 단위의 모니터링 정보를 생성할 수 있게 된다.First, referring to FIG. 9, the agent generates monitoring information in units of 2 seconds, but the server side and the client side are based on different time points, so that both data are stored in ETCD to generate monitoring information in units of 1 second. You will be able to.

그 과정을 도시한 도 8을 참조하면, 모니터링 장치(50)의 실시간수집기(211)는 관리자단말로부터 실시간 모니터링이 요청된 가상머신을 식별하여 실시간 모니터링을 수행할 클라이언트 에이전트를 확인한다(S810). 본 실시예에서는 클라이언트 에이전트를 이용하는 것을 위주로 설명하겠으나, 반대로 서버 에이전트를 활용할 수도 있음은 이하의 설명을 통해 보다 자명하게 될 것이다.Referring to FIG. 8 showing the process, the real-time collector 211 of the monitoring device 50 identifies a virtual machine for which real-time monitoring is requested from the manager terminal, and checks a client agent to perform real-time monitoring (S810). In this embodiment, the use of the client agent will be mainly described, but it will be more apparent through the following description that the server agent may be used on the contrary.

그러면, 실시간수집기(211)는 확인된 클라이언트 에이전트(800)에게 실시간 모니터링을 요청하며(S820), 이를 수신한 클라이언트 에이전트(800)는 모니터링 정보의 생성주기를 변경하고 그에 따라 모니터링 정보를 생성한다(S830, S840). 예를 들어, 짝수 초단위로(즉 00초, 02초, 04초 순) 모니터링 정보를 생성하다가, 실시간 모니터링을 요청받으면 홀수초단위(즉, 01초, 03초, 05초 등)로 모니터링 정보를 생성하는 것이다.Then, the real-time collector 211 requests real-time monitoring from the verified client agent 800 (S820), and the client agent 800 receiving the request changes the generation period of monitoring information and generates monitoring information accordingly ( S830, S840). For example, when monitoring information is generated in even-numbered seconds units (i.e. 00 seconds, 02 seconds, 04 seconds in order), when real-time monitoring is requested, monitoring information in odd seconds units (i.e. 01 seconds, 03 seconds, 05 seconds, etc.) Is to create.

그리고, 실시간수집기(211)가 직접 또는 해당 클라이언트에이전트(800)에 배정된 수집기가 모니터링 정보를 수집하여 ETCD에 저장한다(S850, S860).Then, the real-time collector 211 directly or a collector assigned to the corresponding client agent 800 collects monitoring information and stores it in the ETCD (S850 and S860).

따라서 ETCD에는 도 8에 도시된 바와 같이 일반적으로 수집된 서버에전트로부터의 모니터링 정보와, 대응된 클라이언트 에이전트(즉, 실시간 모니터링을 요청받은 에이전트)로부터 취득된 모니터링 정보의 서로 다른 키값(즉, 시점)의 value를 확인할 수 있어 도 7에 비해 두배 정교한 정보를 확인할 수 있게 된다.Therefore, in ETCD, as shown in FIG. 8, different key values (i.e., time points) of monitoring information obtained from the corresponding client agent (that is, the agent that has requested real-time monitoring) and the monitoring information from the server agent that are generally collected ), you can check the information twice as detailed as in FIG. 7.

이후 데이터베이스부(250)에 저장될때에는 서버측으로부터의 5개 정보만이 이용될 수 있으며, 물론 그 10개 모두 또는 그중 일부가 이용될 수도 있을 것이다.Thereafter, when stored in the database unit 250, only five pieces of information from the server side may be used, and of course, all or part of them may be used.

다른 실시예에 따르면, 모니터링 장치(50)는 상술한 바와 같이 10초 주기로 모니터링 정보를 가공하여 데이터베이스부(250)에 저장할 수도 있으나, 실시간 모니터링이 수행되고 있는 경우 보다 정교한 정보이기 때문에 보다 짧은 주기(예를 들어 5초 주기)로 데이터베이스화를 수행할 수도 있다. 예를 들어 1초 단위의 모니터링 정보 5개가 가공처리되어 TSDB에 저장된다.According to another embodiment, the monitoring device 50 may process the monitoring information in a 10-second period and store it in the database unit 250 as described above, but when real-time monitoring is being performed, since it is more sophisticated information, a shorter period ( For example, it is possible to perform databaseization at a 5-second interval). For example, 5 pieces of monitoring information per second are processed and stored in TSDB.

그리고, 일례에 따르면, 모니터링 장치(50)는 전술한 바와 같이, 서버에이전트 및 클라이언트에이전트로부터 각각 모니터링 정보를 수집하고 서로 비교함으로써 모니터링정보에 대한 신뢰성을 검증할 수 있는데, 이때 검증이 성공된 경우에만 도 9와 같은 교차되는 실시간 모니터링 정보를 취득한다. 예를 들어, 신뢰성에 문제가 존재하는 경우에는 동일 시점의 두 모니터링 정보를 모두 ETCD에 저장하거나 데이터베이스화하여 관리자가 확인할 수 있도록 한다.And, according to an example, as described above, the monitoring device 50 may verify the reliability of the monitoring information by collecting monitoring information from the server agent and the client agent, respectively, and comparing them with each other, but only when the verification is successful. Real-time monitoring information is acquired as shown in FIG. 9. For example, if there is a problem with reliability, both monitoring information at the same time can be stored in ETCD or converted into a database so that the administrator can check it.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to preferred embodiments of the present invention, those of ordinary skill in the relevant technical field can variously modify the present invention within the scope not departing from the spirit and scope of the present invention described in the following claims. It will be appreciated that it can be modified and changed.

10-1, 10-2, ... : 클라이언트 단말
30-1, 30-2, ... : 클라우드서비스 제공장치
50 : 모니터링 장치
10-1, 10-2, ...: Client terminal
30-1, 30-2, ...: Cloud service providing device
50: monitoring device

Claims (10)

운영하는 가상머신에 대해 각각 모니터링을 수행하는 서버에이전트가 설치되는 클라우드서비스 제공장치;
상기 가상머신을 이용함에 따른 모니터링을 수행하는 클라이언트에이전트가 설치되는 클라이언트 단말; 및
상기 서버에이전트 및 상기 클라이언트에이전트로부터 동일 주기로 모니터링 정보를 취득하여 서로 비교함으로써 신뢰성 검증을 수행하며, 신뢰성 검증이 성공되면 실시간 모니터링을 위해 어느 하나의 모니터링 정보를 ETCD에 저장하며, 일정시간이 경과되면 상기 ETCD에 저장된 복수개의 모니터링 정보를 가공하여 TSDB로 저장하는 모니터링 장치를 포함하되,
상기 모니터링 장치는 관리자로부터 실시간 모니터링이 요청되면, 관련 서버에이전트 또는 클라이언트에이전트 중 하나로 모니터링 생성 주기를 변경토록 명령함으로써, 상기 서버에이전트와 상기 클라이언트에이전트로부터 서로 다른 시점의 모니터링 정보가 수집되도록 하여 모두 상기 ETCD에 저장하는, 멀티클라우드 실시간 모니터링 시스템.
A cloud service providing device in which a server agent for monitoring each operating virtual machine is installed;
A client terminal in which a client agent for monitoring according to the use of the virtual machine is installed; And
Reliability verification is performed by acquiring monitoring information from the server agent and the client agent at the same period and comparing each other. If the reliability verification is successful, any one of the monitoring information is stored in ETCD for real-time monitoring. Including a monitoring device that processes a plurality of monitoring information stored in ETCD and stores it in TSDB,
When real-time monitoring is requested from the administrator, the monitoring device commands the server agent or the client agent to change the monitoring generation period, thereby collecting monitoring information at different times from the server agent and the client agent. Stored in a multi-cloud real-time monitoring system.
삭제delete 청구항 1에 있어서,
상기 모니터링 장치는
상기 신뢰성 검증이 성공된 경우에만 상기 실시간 모니터링 생성 주기의 변경을 처리하는, 멀티클라우드 실시간 모니터링 시스템.
The method according to claim 1,
The monitoring device
A multi-cloud real-time monitoring system that processes a change of the real-time monitoring generation period only when the reliability verification is successful.
청구항 1에 있어서,
상기 신뢰성 검증이 실패되면, 상기 ETCD에는 동일시점의 상기 서버에이전트 및 클라이언트에이전트로부의 모니터링 정보를 모두 저장하는, 멀티클라우드 실시간 모니터링 시스템.
The method according to claim 1,
When the reliability verification fails, the ETCD stores all of the monitoring information of the server agent and the client agent at the same time point in the multi-cloud real-time monitoring system.
청구항 1에 있어서,
상기 모니터링 장치는 실시간 모니터링을 수행하는 경우, 상기 TSDB에 모니터링 정보를 저장하는 처리 주기를 짧게 변경하는, 멀티클라우드 실시간 모니터링 시스템.
The method according to claim 1,
When the monitoring device performs real-time monitoring, the multi-cloud real-time monitoring system shortly changes a processing period for storing monitoring information in the TSDB.
멀티클라우드 서비스에 따른 모니터링을 수행하는 모니터링 장치에서의 실시간 모니터링 방법에 있어서, 
클라우드서비스 제공장치에서 운영되는 가상머신에 대한 모니터링을 수행하는 서버에이전트와, 클라이언트 단말에서 상기 가상머신을 이용함에 따른 모니터링을 수행하는 클라이언트에이전트로부터 동일 주기로 모니터링 정보를 수집하는 단계;
수집된 각 모니터링 정보를 서로 비교함으로써 신뢰성 검증을 수행하는 단계;
상기 신뢰성 검증이 성공되면 관리자 단말에게 실시간 모니터링 정보로서 제공하기 위해, 어느 하나의 모니터링 정보를 ETCD에 저장하는 단계; 및 
일정시간이 경과되면 상기 ETCD에 저장된 복수개의 모니터링 정보를 가공하여 TSDB로 저장하는 단계를 포함하되,
관리자로부터 실시간 모니터링이 요청되면, 관련 서버에이전트 또는 클라이언트에이전트 중 하나로 모니터링 생성 주기를 변경토록 명령함으로써, 상기 서버에이전트와 상기 클라이언트에이전트로부터 서로 다른 시점의 모니터링 정보가 수집되도록 하여 모두 상기 ETCD에 저장하는, 멀티클라우드 실시간 모니터링 방법.
In a real-time monitoring method in a monitoring device that performs monitoring according to a multi-cloud service,
Collecting monitoring information at the same period from a server agent performing monitoring on a virtual machine operated by a cloud service providing device and a client agent performing monitoring according to the use of the virtual machine in a client terminal;
Performing reliability verification by comparing the collected monitoring information with each other;
Storing any one monitoring information in the ETCD to provide real-time monitoring information to the manager terminal when the reliability verification is successful; And
Including the step of processing a plurality of monitoring information stored in the ETCD and storing it as a TSDB when a predetermined time elapses,
When real-time monitoring is requested from the administrator, by instructing to change the monitoring generation period to one of the related server agent or client agent, monitoring information at different times is collected from the server agent and the client agent, and all are stored in the ETCD. Multi-cloud real-time monitoring method.
삭제delete 삭제delete 청구항 6에 있어서,
상기 신뢰성 검증이 실패되면, 상기 ETCD에는 동일시점의 상기 서버에이전트 및 클라이언트에이전트로부의 모니터링 정보를 모두 저장하는, 멀티클라우드 실시간 모니터링 방법.
The method of claim 6,
When the reliability verification fails, the ETCD stores all monitoring information of the server agent and the client agent at the same time point.
제 6항의 방법을 수행하기 위한 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는, 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium containing computer-executable instructions such as an application or program module executed by a computer for performing the method of claim 6.
KR1020190149772A 2019-11-20 2019-11-20 Real time monitoring system and method for multi cloud KR102181625B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190149772A KR102181625B1 (en) 2019-11-20 2019-11-20 Real time monitoring system and method for multi cloud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190149772A KR102181625B1 (en) 2019-11-20 2019-11-20 Real time monitoring system and method for multi cloud

Publications (1)

Publication Number Publication Date
KR102181625B1 true KR102181625B1 (en) 2020-11-23

Family

ID=73680291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190149772A KR102181625B1 (en) 2019-11-20 2019-11-20 Real time monitoring system and method for multi cloud

Country Status (1)

Country Link
KR (1) KR102181625B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5027623B2 (en) * 2007-11-13 2012-09-19 アズビル株式会社 Remote monitoring information collection system, remote monitoring information collection device, monitoring terminal, and remote monitoring information collection method
KR20130083726A (en) 2012-01-13 2013-07-23 주식회사 케이티 Virtual machine integration monitoring apparatus and method for cloud system
KR101320386B1 (en) * 2012-03-06 2013-10-23 포항공과대학교 산학협력단 Virtual Instances Behavior analysis apparatus and method in Cloud systems
KR20180068002A (en) * 2016-12-13 2018-06-21 나무기술 주식회사 Cloud infra real time analysis system based on big date and the providing method thereof
KR20190047284A (en) * 2017-10-27 2019-05-08 (주)엔키아 Metering and monitoring data integration management apparatus and method for cloud service
KR102010442B1 (en) * 2018-06-04 2019-08-13 주식회사 이노그리드 Total monitoring method and system for cloud virtual machines

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5027623B2 (en) * 2007-11-13 2012-09-19 アズビル株式会社 Remote monitoring information collection system, remote monitoring information collection device, monitoring terminal, and remote monitoring information collection method
KR20130083726A (en) 2012-01-13 2013-07-23 주식회사 케이티 Virtual machine integration monitoring apparatus and method for cloud system
KR101320386B1 (en) * 2012-03-06 2013-10-23 포항공과대학교 산학협력단 Virtual Instances Behavior analysis apparatus and method in Cloud systems
KR20180068002A (en) * 2016-12-13 2018-06-21 나무기술 주식회사 Cloud infra real time analysis system based on big date and the providing method thereof
KR20190047284A (en) * 2017-10-27 2019-05-08 (주)엔키아 Metering and monitoring data integration management apparatus and method for cloud service
KR102010442B1 (en) * 2018-06-04 2019-08-13 주식회사 이노그리드 Total monitoring method and system for cloud virtual machines

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
etcd는 분산 key-value store* *
시계열 데이터베이스* *

Similar Documents

Publication Publication Date Title
US8667096B2 (en) Automatically generating system restoration order for network recovery
US9940208B2 (en) Generating reverse installation file for network restoration
US10997063B1 (en) System testing from production transactions
US8990368B2 (en) Discovery of network software relationships
CN109800160B (en) Cluster server fault testing method and related device in machine learning system
CN110636131A (en) Internet of things testing system based on cloud technology
CN109361517A (en) A kind of virtualization cloud cipher machine system and its implementation based on cloud computing
US20080275962A1 (en) Remote access providing computer system and method for managing same
CN108667639B (en) Resource management method and management server in private cloud environment
US10621651B2 (en) Automatic recharge system and method, and server
US10521325B2 (en) Managing configuration drift
CN109995523B (en) Activation code management method and device and activation code generation method and device
CN105162775A (en) Logging method and device of virtual machine
CN104702624A (en) Method and system for logging virtual machine based on Cloud Stack platform
CN113505354B (en) Data processing method, device and storage medium
CN112838951B (en) Operation and maintenance method, device and system of terminal equipment and storage medium
CN112313629A (en) Backup and restore verification
US10009220B2 (en) In-vehicle information system and information processing method thereof
CN112162925A (en) Test method and system based on service virtualization
KR102010442B1 (en) Total monitoring method and system for cloud virtual machines
CN111865897A (en) Cloud service management method and device
CN114338684A (en) Energy management system and method
KR102181625B1 (en) Real time monitoring system and method for multi cloud
CN108076092A (en) Web server resources balance method and device
CN111905361B (en) Game service system, game processing method, storage medium and device

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant