KR101630088B1 - Method and apparatus for monitoring life-cycle of virtual machine - Google Patents

Method and apparatus for monitoring life-cycle of virtual machine Download PDF

Info

Publication number
KR101630088B1
KR101630088B1 KR1020140183119A KR20140183119A KR101630088B1 KR 101630088 B1 KR101630088 B1 KR 101630088B1 KR 1020140183119 A KR1020140183119 A KR 1020140183119A KR 20140183119 A KR20140183119 A KR 20140183119A KR 101630088 B1 KR101630088 B1 KR 101630088B1
Authority
KR
South Korea
Prior art keywords
virtual machine
monitoring
life cycle
log
information
Prior art date
Application number
KR1020140183119A
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 KR1020140183119A priority Critical patent/KR101630088B1/en
Application granted granted Critical
Publication of KR101630088B1 publication Critical patent/KR101630088B1/en

Links

Images

Classifications

    • 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

Landscapes

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

Abstract

Disclosed are a method and an apparatus for monitoring a life cycle of a virtual machine. A monitoring agent is included in a computing device providing at least one virtual machine in a cloud system. The monitoring agent comprises: a first monitoring unit monitoring a change in a life cycle of the virtual machine; a second monitoring unit monitoring resource information and state information of the virtual machine, when the change in the virtual machine life cycle is detected; and an interface unit transmitting the resource information and the state information of the virtual machine to an external monitoring server, by using a configured address. The present invention provides a method and an apparatus for monitoring a life cycle of a virtual machine installed in each computing device in a cloud environment.

Description

가상머신의 라이프사이클 모니터링 방법 및 그 장치{Method and apparatus for monitoring life-cycle of virtual machine} TECHNICAL FIELD The present invention relates to a method and apparatus for monitoring life cycle of a virtual machine,

본 발명은 클라우드 환경에서 각 컴퓨팅 장치에 설치된 가상머신의 라이프사이클을 모니터링하는 방법 및 그 장치에 관한 것이다.
The present invention relates to a method and apparatus for monitoring the life cycle of a virtual machine installed in each computing device in a cloud environment.

개인 및 기업에서 클라우드 컴퓨팅을 사용하기위해 오픈 클라우드 플랫폼을 이용하여 클라우드 인프라를 구축하고 있다. 이러한 클라우드 인프라의 가상자원의 관리, 문제점 파악, 성능 분석 등을 위해 다양한 모니터링 시스템이 이용되고 있다. We are building cloud infrastructures using open-cloud platforms to enable cloud computing for individuals and businesses. Various monitoring systems are being used to manage virtual resources, identify problems, and analyze performance of these cloud infrastructures.

오픈 클라우드 플랫폼으로 인프라를 구축할시 주로 사용되는 오픈 소스 기반 모니터링 솔루션(Nagios, Ganglia)은 물리자원(CPU, 메모리, 디스크, 네트워크 자원)의 사용률 과 시스템 장애 알림과 같은 기능 등을 주로 제공한다.Open-source-based monitoring solutions (Nagios, Ganglia), which are often used to build an infrastructure with an open-cloud platform, provide features such as utilization of physical resources (CPU, memory, disk and network resources) and notification of system failures.

이러한 종래의 오픈 소스 기반의 모니터링 솔루션들은 본래 컴퓨팅 서버를 모니터링 하는 것을 주로 하였기에 클라우드 환경의 물리자원 및 가상자원의 사용률은 모니터링 할 수 있으나, 가상머신의 정보와 상태 변화를 파악하지 못하는 단점에 있다.Such conventional open-source-based monitoring solutions are mainly used for monitoring computing servers, so that the utilization rate of physical resources and virtual resources in the cloud environment can be monitored, but the information and state changes of the virtual machines can not be grasped.

또한, 클라우드 환경에서는 가상머신이 실행되는 물리 서버인 컴퓨팅 장치(노드)의 수가 증가될 수 있으므로 모니터링 데이터 전송의 효율을 높이기 위한 방안이 필요한 실정이다.
Further, in the cloud environment, since the number of computing devices (nodes) which are physical servers on which the virtual machines are running can be increased, a method for increasing the efficiency of monitoring data transmission is needed.

본 발명은 클라우드 환경에서 각 컴퓨팅 장치에 설치된 가상머신의 라이프사이클을 모니터링하는 방법 및 그 장치를 제공하기 위한 것이다.The present invention provides a method and apparatus for monitoring the life cycle of a virtual machine installed in each computing device in a cloud environment.

또한, 본 발명은 RESTful API에 기반하여 가상머신의 라이프사이클을 모니터링함으로써 모니터링시의 데이터 전송의 효율을 높일 수 있는 가상머신의 라이프사이클 모니터링 방법 및 그 장치를 제공하기 위한 것이다.
It is another object of the present invention to provide a life cycle monitoring method and apparatus for a virtual machine that can increase the efficiency of data transfer during monitoring by monitoring the lifecycle of a virtual machine based on RESTful API.

본 발명의 일 측면에 따르면, 클라우드 환경에서 각 컴퓨팅 장치에 설치된 가상머신의 라이프사이클을 모니터링하는 장치가 제공된다.According to an aspect of the present invention, an apparatus for monitoring the life cycle of a virtual machine installed in each computing device in a cloud environment is provided.

본 발명의 일 실시예에 따르면, 클라우드 시스템내에서 적어도 하나의 가상머신을 제공하는 컴퓨팅 장치에 포함되는 모니터링 에이전트에 있어서, 상기 가상머신의 라이프사이클 변화를 모니터링하는 제1 모니터링부; 상기 가상머신의 라이프사이클 변화가 감지되면, 상기 가상머신의 자원 정보와 상태정보를 모니터링하는 제2 모니터링부; 및 설정된 주소를 이용하여 상기 가상머신의 자원정보와 상태정보를 외부의 모니터링 서버로 전송하는 인터페이스부를 포함하는 모니터링 에이전트가 제공될 수 있다.According to an embodiment of the present invention, there is provided a monitoring agent included in a computing device that provides at least one virtual machine in a cloud system, the monitoring agent comprising: a first monitoring unit monitoring a life cycle of the virtual machine; A second monitoring unit monitoring resource information and status information of the virtual machine when a change in the life cycle of the virtual machine is detected; And an interface unit transmitting the resource information and status information of the virtual machine to an external monitoring server using the set address.

상기 인터페이스부는, REST(Representational State Transfer) 어플리케이션 프로그램 인터페이스이되, 상기 모니터링 서버의 인터페이스부와 웹을 기반으로 통신을 수행할 수 있다.The interface unit is a Representational State Transfer (REST) application program interface, and can perform communication based on the web with the interface unit of the monitoring server.

상기 제1 모니터링부는 상기 가상머신의 로그 파일의 크기 변화를 주기적으로 확인하여 상기 가상머신의 라이프사이클의 변화 여부를 모니터링할 수 있다.The first monitoring unit may periodically check the size change of the log file of the virtual machine to monitor whether the life cycle of the virtual machine changes.

상기 가상머신의 라이프사이클은 상기 가상머신의 생성, 실행, 중지, 삭제 및 이동을 포함할 수 있다.The life cycle of the virtual machine may include creation, execution, suspension, deletion and movement of the virtual machine.

상기 가상머신의 자원정보는 프로세서, 메모리, 디스크 및 네트워크에 대한 정보이고, 상기 상태정보는 상기 가상머신의 식별정보와 상기 가상머신의 생성, 실행, 중지, 삭제 및 이동 중 적어도 하나를 포함할 수 있다.
Wherein the resource information of the virtual machine is information on a processor, a memory, a disk, and a network, and the status information may include at least one of identification information of the virtual machine and creation, execution, have.

본 발명의 다른 측면에 따르면, 클라우드 환경에서 각 컴퓨팅 장치에 설치된 가상머신의 라이프사이클을 모니터링하는 장치가 제공된다.According to another aspect of the present invention, an apparatus for monitoring a life cycle of a virtual machine installed in each computing device in a cloud environment is provided.

본 발명의 일 실시예에 따르면, 클라우드 시스템내에서 적어도 하나의 가상머신을 제공하는 컴퓨팅 장치에 포함되는 모니터링 에이전트가 상기 가상머신을 모니터링하는 방법에 있어서, 상기 가상머신의 라이프사이클 변화를 모니터링하는 단계; 상기 가상머신의 라이프사이클 변화가 감지되면, 상기 가상머신의 자원 정보와 상태정보를 모니터링하는 단계; 및 설정된 주소를 이용하여 상기 가상머신의 자원정보와 상태정보를 외부의 모니터링 서버로 전송하는 단계를 포함하는 모니터링 방법이 제공될 수 있다.According to an embodiment of the present invention, there is provided a method of monitoring a virtual machine, the monitoring agent being included in a computing device providing at least one virtual machine in a cloud system, the method comprising: monitoring a life- ; Monitoring resource information and status information of the virtual machine when a change in the life cycle of the virtual machine is detected; And transmitting the resource information and status information of the virtual machine to an external monitoring server using the set address.

상기 가상머신의 라이프사이클 변화를 모니터링하는 단계는, 상기 가상머신의 로그 파일의 크기 변화를 주기적으로 확인하여 상기 가상머신의 라이프사이클의 변화 여부를 모니터링할 수 있다.
The step of monitoring the change of the life cycle of the virtual machine may periodically check the change of the size of the log file of the virtual machine to monitor whether the life cycle of the virtual machine changes.

본 발명의 일 실시예에 따른 가상머신의 라이프사이클 모니터링 방법 및 그 장치를 제공함으로써, 클라우드 환경에서 각 컴퓨팅 장치에 설치된 가상머신의 라이프사이클을 모니터링할 수 있다.The life cycle monitoring method and apparatus of a virtual machine according to an embodiment of the present invention can monitor the life cycle of a virtual machine installed in each computing device in a cloud environment.

또한, 본 발명은 RESTful API에 기반하여 가상머신의 라이프사이클을 모니터링함으로써 모니터링시의 데이터 전송의 효율을 높일 수 있다.
In addition, the present invention can increase the efficiency of data transmission at the time of monitoring by monitoring the lifecycle of the virtual machine based on the RESTful API.

도 1은 본 발명의 일 실시예에 따른 클라우드 시스템에서 가상머신의 라이프사이클을 모니터링하기 위한 시스템 구성을 개략적으로 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 클라우드 시스템을 구성하는 각 컴퓨팅 장치에 각각 구비되는 모니터링 에이전트의 구성을 개략적으로 도시한 블록도.
도 3은 도 3에는 모니터링 에이전트(120)의 REST API 설계 명세 구조.
도 4는 도 3을 자바 랭귀지를 기반으로 구현한 의사코드를 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 모니터링 서버의 구성을 개략적으로 도시한 블록도.
도 6은 본 발명의 일 실시예에 따른 모니터링 서버의 REST API에 대한 설계 명세를 도시한 도면.
도 7은 도 6의 자바 랭귀지를 기반으로 구현한 의사코드를 도시한 도면.
도 8은 본 발명의 일 실시예에 따른 클라우드 시스템의 가상머신을 모니터링하는 방법을 나타낸 흐름도.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic diagram illustrating a system configuration for monitoring a life cycle of a virtual machine in a cloud system according to an embodiment of the present invention; FIG.
2 is a block diagram schematically illustrating a configuration of a monitoring agent provided in each computing device constituting a cloud system according to an embodiment of the present invention;
FIG. 3 is a REST API design specification structure of the monitoring agent 120 in FIG.
Figure 4 illustrates pseudo code implemented on a Java language based on Figure 3;
5 is a block diagram schematically illustrating a configuration of a monitoring server according to an embodiment of the present invention;
FIG. 6 illustrates a design specification for a REST API of a monitoring server according to an embodiment of the present invention; FIG.
FIG. 7 illustrates a pseudo code implemented on the basis of the Java language of FIG. 6; FIG.
8 is a flow diagram illustrating a method for monitoring a virtual machine in a cloud system in accordance with an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.BRIEF DESCRIPTION OF THE DRAWINGS The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the present invention, detailed description of known related arts will be omitted when it is determined that the gist of the present invention may be unnecessarily obscured. In addition, numerals (e.g., first, second, etc.) used in the description of the present invention are merely an identifier for distinguishing one component from another.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.Also, in this specification, when an element is referred to as being "connected" or "connected" with another element, the element may be directly connected or directly connected to the other element, It should be understood that, unless an opposite description is present, it may be connected or connected via another element in the middle.

이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명한다.
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 클라우드 시스템에서 가상머신의 라이프사이클을 모니터링하기 위한 시스템 구성을 개략적으로 도시한 도면이다.1 is a diagram schematically illustrating a system configuration for monitoring a life cycle of a virtual machine in a cloud system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 시스템은 모니터링 서버(110)와 적어도 하나의 모니터링 에이전트(120)를 포함하여 구성된다.Referring to FIG. 1, a system according to an embodiment of the present invention includes a monitoring server 110 and at least one monitoring agent 120.

모니터링 서버(110)는 클라우드 시스템을 구성하는 각 컴퓨팅 장치의 가상머신의 정보와 가상머신의 라이프사이클 변화에 대한 모니터링 정보를 수집, 분석하기 위한 기능을 한다.The monitoring server 110 collects and analyzes information on virtual machines of each computing device constituting the cloud system and monitoring information on changes in the life cycle of the virtual machine.

모니터링 서버(110)는 도 1에 도시된 바와 같이, 클라우드 시스템 외부에 존재한다. 모니터링 서버(110)는 REST(Representational State Transfer) 어플리케이션 프로그램 인터페이스(API: application programming interface)을 통해 모니터링 에이전트(120)를 제어할 수 있다. 즉, 모니터링 서버(110)는 해당 REST API를 통해 모니터링 에이전트(120)의 모니터링 실행 유무를 제어할 수 있다. 또한, 모니터링 서버(110)는 REST API를 통해 모니터링 에이전트(120)로부터 모니터링된 정보(예를 들어, 가상머신의 자원 정보와 상태 정보)를 획득할 수 있다.The monitoring server 110 exists outside the cloud system, as shown in FIG. The monitoring server 110 may control the monitoring agent 120 through a Representational State Transfer (REST) application program interface (API). That is, the monitoring server 110 may control the monitoring agent 120 to monitor the execution of the monitoring agent 120 through the corresponding REST API. Also, the monitoring server 110 can acquire the monitored information (for example, resource information and status information of the virtual machine) from the monitoring agent 120 through the REST API.

이와 같이, 모니터링 서버(110)는 클라우드 시스템의 외부에 위치한 상태에서 REST API를 이용하여 클라우드 시스템내에 위치한 각 컴퓨팅 장치에 구비된 모니터링 에이전트(120)를 통해 각 컴퓨팅 장치에서 제공되는 가상머신의 라이프사이클 변화를 모니터링하고, 가상머신의 자원정보 및 상태 정보를 웹을 기반으로 수집할 수 있다.In this way, the monitoring server 110 can monitor the lifecycle of the virtual machine provided in each computing device through the monitoring agent 120 provided in each computing device located in the cloud system by using the REST API in a state of being located outside the cloud system. Monitoring changes, and collecting resource information and status information of virtual machines based on the Web.

모니터링 에이전트(120)는 클라우드 시스템을 구성하는 각 컴퓨팅 장치의 내부에 구비된다.The monitoring agent 120 is provided inside each computing device constituting the cloud system.

모니터링 에이전트(120)는 모니터링 서버(110)와 REST API를 공유하고 있으며, 해당 REST API를 통해 모니터링 서버(110)로 가상머신의 자원정보 및 상태 정보를 전송하는 기능을 한다.The monitoring agent 120 shares the REST API with the monitoring server 110 and transmits resource information and status information of the virtual machine to the monitoring server 110 through the corresponding REST API.

또한, 클라우드 시스템내의 각 컴퓨팅 장치에서 실행되는 모니터링 에이전트(120)는 모니터링 서버(110)에 의해 동작을 개시할 수도 있으며, 동작을 종료할 수도 있다.
In addition, the monitoring agent 120 running on each computing device in the cloud system may initiate or terminate operations by the monitoring server 110.

도 2는 본 발명의 일 실시예에 따른 클라우드 시스템을 구성하는 각 컴퓨팅 장치에 각각 구비되는 모니터링 에이전트의 구성을 개략적으로 도시한 블록도이고, 도 3은 도 3에는 모니터링 에이전트(120)의 REST API 설계 구조이며, 도 4는 도 3을 자바 랭귀지를 기반으로 구현한 의사코드를 도시한 도면이다.2 is a block diagram schematically illustrating the configuration of a monitoring agent provided in each computing device constituting a cloud system according to an embodiment of the present invention. FIG. 4 is a diagram showing a pseudo code implemented on the basis of the Java language of FIG. 3. FIG.

도 2를 참조하면, 본 발명의 일 실시예에 따른 모니터링 에이전트(120)는 제1 모니터링부(210), 제2 모니터링부(215), 인터페이스부(220)를 포함하여 구성된다.Referring to FIG. 2, the monitoring agent 120 according to an exemplary embodiment of the present invention includes a first monitoring unit 210, a second monitoring unit 215, and an interface unit 220.

제1 모니터링부(210)는 당해 모니터링 에이전트(120)가 실행되는 컴퓨팅 장치에서 제공되는 적어도 하나의 가상머신의 라이프사이클 변화를 모니터링하는 기능을 한다.The first monitoring unit 210 monitors a change in the life cycle of at least one virtual machine provided in the computing device in which the monitoring agent 120 is executed.

여기서, 가상머신의 라이프사이클은 가상머신의 생성, 실행, 중지, 삭제 및 이동을 포함한다.Here, the life cycle of the virtual machine includes creation, execution, suspension, deletion, and movement of the virtual machine.

예를 들어, 제1 모니터링부(210)는 당해 모니터링 에이전트(120)가 실행되는 컴퓨팅 장치에서 제공되는 적어도 하나의 가상머신의 로그파일 크기 변화를 주기적으로 확인하여 해당 가상머신의 라이프사이클 변화를 모니터링할 수 있다.For example, the first monitoring unit 210 periodically checks the log file size change of at least one virtual machine provided in the computing device on which the monitoring agent 120 is executed, and monitors the change of the life cycle of the corresponding virtual machine can do.

즉, 제1 모니터링부(210)는 해당 가상머신의 로그파일의 크기 변화를 확인하여 로그파일의 크기가 변화한 경우, 새로운 로그가 발생한 것으로 결정할 수 있다. 즉, 해당 가상머신의 라이프사이클에 변화가 발생한 것으로 간주할 수 있다.That is, the first monitoring unit 210 can check the change in the size of the log file of the corresponding virtual machine and determine that a new log has occurred when the size of the log file changes. That is, it can be regarded that a change occurs in the life cycle of the corresponding virtual machine.

보다 상세하게, 제1 모니터링부(210)는 가상파일의 로그파일의 크기 변화를 주기적으로 확인한 후 로그파일의 크기 변화가 발생한 경우, 해당 로그의 타입을 확인하여 실제 가상머신의 라이프사이클에 관한 로그인지를 확인할 수도 있다.More specifically, the first monitoring unit 210 periodically checks the size change of the log file of the virtual file. When the size of the log file changes, the first monitoring unit 210 checks the type of the log, You can also check the site.

예를 들어, 제1 모니터링부(210)는 가상머신의 로그파일의 크기가 변화된 경우, 로그의 타입이 예를 들어, “VIRT_CONTROL”인지를 확인하여 가상머신의 라이프사이클에 관한 로그인지를 확인할 수 있다.For example, when the size of the log file of the virtual machine is changed, the first monitoring unit 210 can check the log-in regarding the life cycle of the virtual machine by checking whether the type of log is, for example, " VIRT_CONTROL " .

제2 모니터링부(215)는 가상머신의 자원정보와 상태 정보를 획득하는 기능을 한다.The second monitoring unit 215 acquires resource information and status information of the virtual machine.

예를 들어, 제2 모니터링부(215)는 가상머신의 라이프사이클에 관한 로그일시 로그를 분석하여 해당 가상머신의 식별정보(VM_name)를 수집할 수 있다.For example, the second monitoring unit 215 may collect the identification information (VM_name) of the corresponding virtual machine by analyzing the log / time log related to the life cycle of the virtual machine.

이어, 제2 모니터링부(215)는 획득된 가상머신의 식별정보를 기반으로, 해당 가상머신의 자원정보(예를 들어, CPU, 메모리, 디스크, 네트워크 등)와 상태정보(예를 들어, 생성, 시작, 종료, 중지, 이동 등)를 획득할 수 있다.Next, the second monitoring unit 215 generates resource information (e.g., CPU, memory, disk, network, etc.) of the virtual machine and status information (e.g., , Start, end, stop, move, etc.).

이때, 제2 모니터링부(215)는 해당 가상머신의 식별정보를 기반으로 하이퍼바이저로부터 가상머신의 자원정보 및 상태정보를 획득할 수 있다. 여기서, 하이퍼바이저는 컴퓨팅 장치에서 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼으로, 이는 이미 공지된 기술이므로 상세한 설명은 생략하기로 한다.At this time, the second monitoring unit 215 can acquire resource information and status information of the virtual machine from the hypervisor based on the identification information of the corresponding virtual machine. Here, the hypervisor is a logical platform for simultaneously executing a plurality of operating systems in a computing device, which is a well-known technology, and thus a detailed description thereof will be omitted.

인터페이스부(220)는 가상머신의 자원정보와 상태정보를 전송할 외부 모니터링 서버의 주소를 설정하고, 웹을 통해 해당 수집된 가상머신의 자원정보와 상태정보를 전송하는 기능을 한다. 여기서, 인터페이스부(220)는 REST API를 포함할 수 있다.The interface unit 220 sets an address of an external monitoring server to transmit resource information and status information of the virtual machine, and transmits resource information and status information of the collected virtual machines via the web. Here, the interface unit 220 may include a REST API.

도 3에는 모니터링 에이전트(120)의 REST API 설계 구조가 예시되어 있다.FIG. 3 illustrates the REST API design structure of the monitoring agent 120. FIG.

도 3을 참조하면, REST API의 “URI path : /server_ip/”는 모니터링 데이터(즉, 가상머신의 자원정보와 상태정보)를 전송받을 외부 모니터링 서버의 주소(URI)를 PUT 메소드를 통해 설정한 후, GET 메소드를 통해 현재 설정된 외부 모니터링 서버의 주소를 확인할 수 있다.Referring to FIG. 3, the URI path / server_ip / of the REST API is set by setting the address (URI) of the external monitoring server to receive the monitoring data (that is, the resource information and the status information of the virtual machine) Then, the address of the currently configured external monitoring server can be confirmed through the GET method.

또한, REST API의 “URI path : /lifecycle_monitoring/”은 GET 메소드를 사용하여 현재 가상머신 상태변화 모니터링의 실행 유무를 확인하고, PUT 메소드와 {act}(start, stop)값으로 실행 유무를 설정할 수 있다.The URI path: / lifecycle_monitoring / of the REST API can be used to check whether the current virtual machine status change monitoring is executed by using the GET method, and to execute the execution with the PUT method and {act} (start, stop) have.

“ URI path : /domain/”은 GET 메소드를 이용하여 현재 서버에서 실행되는 모든 가상머신의 자원정보 및 상태 정보를 전송하고, GET 메소드와 가상머신의 식별정보를{vm_name}값으로 요청하는 것으로 해당하는 가상머신의 자원정보와 상태정보를 전송할 수 있다. "URI path: / domain /" sends resource information and status information of all virtual machines running on the current server using the GET method, and requests the GET method and the identification information of the virtual machine as the value of {vm_name} The resource information of the virtual machine and the status information of the virtual machine.

도 3의 설계 구조를 기반으로 자바 랭귀지를 통해 구현한 모니터링 에이전트의 REST API는 도 4에 도시되어 있다.
The REST API of the monitoring agent implemented through Java language based on the design structure of FIG. 3 is shown in FIG.

도 5는 본 발명의 일 실시예에 따른 모니터링 서버의 구성을 개략적으로 도시한 블록도이고, 도 6은 본 발명의 일 실시예에 따른 모니터링 서버의 REST API에 대한 설계 명세를 도시한 도면이고, 도 7은 도 6의 자바 랭귀지를 기반으로 구현한 의사코드를 도시한 도면이다.FIG. 5 is a block diagram schematically illustrating a configuration of a monitoring server according to an embodiment of the present invention, FIG. 6 is a diagram illustrating a design specification for a REST API of a monitoring server according to an embodiment of the present invention, FIG. 7 is a diagram illustrating a pseudo code implemented on the basis of the Java language of FIG.

도 5를 참조하면, 본 발명의 일 실시예에 따른 모니터링 서버(110)는 모니터링 에이전트 관리부(510), 모니터링 데이터 관리부(515), 데이터베이스(517), 분석부(520) 및 인터페이스부(525)를 포함하여 구성된다.5, the monitoring server 110 according to an embodiment of the present invention includes a monitoring agent management unit 510, a monitoring data management unit 515, a database 517, an analysis unit 520, and an interface unit 525, .

모니터링 에이전트 관리부(510)는 클라우드 시스템내에 포함된 각 컴퓨팅 장치에 설치된 모니터링 에이전트(120)에게 가상머신 정보를 요청하고, 가상머신의 라이프사이클 변화 모니터링의 실행 유무를 설정하는 기능을 한다.The monitoring agent management unit 510 requests the monitoring agent 120 installed in each computing device included in the cloud system for virtual machine information and sets whether to execute the life cycle change monitoring of the virtual machine.

즉, 모니터링 에이전트 관리부(510)는 각 컴퓨팅 장치에 설치된 모니터링 에이전트(120)를 제어하는 기능을 한다.That is, the monitoring agent management unit 510 controls the monitoring agent 120 installed in each computing device.

모니터링 데이터 관리부(515)는 각 컴퓨팅 장치에 설치된 모니터링 에이전트(120)로부터 가상머신 자원정보와 상태 정보를 수집하여 획득하고, 이를 데이터베이스(517)에 저장하는 기능을 한다.The monitoring data management unit 515 collects and acquires virtual machine resource information and status information from the monitoring agent 120 installed in each computing device, and stores the acquired information in the database 517. [

분석부(520)는 데이터베이스(517)에 저장된 가상머신의 자원정보 및 상태 정보를 분석하는 기능을 한다.The analyzer 520 analyzes the resource information and status information of the virtual machine stored in the database 517.

인터페이스부(525)는 모니터링 에이전트(120)를 통해 제공되는 가상머신의 자원정보 및 상태 정보를 전송받기 위한 REST API들을 저장하는 기능을 한다.The interface unit 525 stores REST APIs for receiving resource information and status information of a virtual machine provided through the monitoring agent 120. [

도 6에는 모니터링 서버(110)의 REST API를 설계한 일 예가 도시되어 있으며, 도 7에는 도 6를 자바 랭귀지를 기반으로 구현한 의사코드가 도시되어 있다.FIG. 6 shows an example of designing the REST API of the monitoring server 110, and FIG. 7 shows pseudo code implemented on the basis of the Java language of FIG.

도 7를 참조하면, REST API는 모니터링 에이전트(120)를 통해 제공되는 가상머신의 자원 정보와 상태정보를 전송받을 주소(URI)를 포함하며, 이를 전송 받을 메소드(PUT)가 정의되어 있다. 이를 기반으로 도 7에 도시된 바와 같이, 각 가상머신의 자원정보 및 상태 정보를 각각 지정된 형태로 모니터링 에이전트(120)로부터 웹을 기반으로 제공받을 수 있다.
Referring to FIG. 7, the REST API includes a resource (URI) to which resource information and status information of a virtual machine provided through the monitoring agent 120 are to be transmitted, and a method (PUT) to receive the REST API is defined. Based on this, as shown in FIG. 7, resource information and status information of each virtual machine can be provided on a web basis from the monitoring agent 120 in a designated form, respectively.

도 8은 본 발명의 일 실시예에 따른 클라우드 시스템의 가상머신을 모니터링하는 방법을 나타낸 흐름도이다.8 is a flowchart illustrating a method of monitoring a virtual machine of a cloud system according to an embodiment of the present invention.

단계 810에서 모니터링 서버(110)는 REST API를 통해 적어도 하나의 모니터링 에이전트(120)로 모니터링된 정보(예를 들어, 가상머신의 자원정보 및 상태 정보)를 전송받을 주소(URI)를 설정한다.In step 810, the monitoring server 110 sets an address (URI) through which the at least one monitoring agent 120 transmits the monitored information (for example, resource information and status information of the virtual machine) through the REST API.

예를 들어, 모니터링 서버(110)는 REST API의 PUT 메소드를 기반으로 당해 모니터링 서버(110)의 주소를 설정할 수 있다.For example, the monitoring server 110 can set the address of the monitoring server 110 based on the PUT method of the REST API.

단계 815에서 모니터링 서버(110)는 REST API를 통해 적어도 하나의 모니터링 에이전트(120)로 가상머신의 라이프사이클 변화의 모니터링을 실행시킨다.In step 815, the monitoring server 110 executes monitoring of the lifecycle change of the virtual machine with the at least one monitoring agent 120 through the REST API.

예를 들어, 모니터링 서버(110)는 PUT 메소드를 이용하여 REST API의 “HTTP uri: /lifecycle_monitoring/{act}”의 실행유무를 변경하여 가상머신의 라이프사이클 변화에 대한 모니터링 실행 유무를 제어할 수 있다.For example, the monitoring server 110 can use the PUT method to change the execution status of " HTTP uri: / lifecycle_monitoring / {act} " of the REST API to control the execution of monitoring on the change in the lifecycle of the virtual machine have.

이에 따라, 단계 820에서 모니터링 에이전트(120)는 가상머신의 라이프사이클 변화를 주기적 모니터링한다.Accordingly, in step 820, the monitoring agent 120 periodically monitors a change in the life cycle of the virtual machine.

이어, 단계 825에서 모니터링 에이전트(120)는 가상머신의 라이프사이클이 변화되었는지 여부를 판단한다.Then, in step 825, the monitoring agent 120 determines whether the life cycle of the virtual machine has changed.

즉, 모니터링 에이전트(120)는 가상머신의 로그파일의 변화를 주기적으로 확인하여 해당 가상머신의 라이프사이클 변화 여부를 모니터링할 수 있다.That is, the monitoring agent 120 can periodically check the change of the log file of the virtual machine and monitor whether the life cycle of the virtual machine changes.

보다 상세하게, 예를 들어, 모니터링 에이전트(120)는 가상머신의 로그파일의 크기가 변화된 경우, 로그의 타입이 예를 들어, “VIRT_CONTROL”인지를 확인하여 가상머신의 라이프사이클에 관한 로그인지를 확인하여 라이프사이클 변화 여부를 모니터링할 수 있다.More specifically, for example, when the size of the log file of the virtual machine is changed, the monitoring agent 120 confirms whether the type of the log is " VIRT_CONTROL ", for example, So that the life cycle can be monitored.

만일 가상머신의 라이프사이클이 변화되지 않은 경우, 단계 820으로 진행한다.If the life cycle of the virtual machine has not been changed, the process proceeds to step 820. [

만일 가상머신의 라이프사이클이 변화된 경우, 단계 830에서 모니터링 에이전트(120)는 하이퍼바이저를 통해 가상머신의 자원정보 및 상태 정보를 획득한다.If the lifecycle of the virtual machine has changed, the monitoring agent 120 acquires resource information and status information of the virtual machine through the hypervisor at step 830.

이는 이미 전술한 바와 동일하므로 중복되는 설명은 생략하기로 한다.Since this is the same as described above, redundant description will be omitted.

단계 835에서 모니터링 에이전트(120)는 REST API를 통해 웹을 기반으로 외부 모니터링 서버(110)로 획득된 가상머신의 자원정보 및 상태정보를 전송한다.In step 835, the monitoring agent 120 transmits resource information and status information of the virtual machine acquired by the external monitoring server 110 based on the Web through the REST API.

이에 따라, 모니터링 서버(110)는 클라우드 시스템을 구성하는 각 컴퓨팅 장치에서 제공되는 가상머신의 상태변화를 모니터링하고, REST API를 기반으로 가상머신의 자원정보 및 상태정보를 수집하여 분석할 수 있는 이점 있다.Accordingly, the monitoring server 110 monitors the state change of the virtual machine provided by each computing device constituting the cloud system, and has an advantage of collecting and analyzing resource information and state information of the virtual machine based on the REST API have.

또한, 모니터링 서버(110)와 모니터링 에이전트(120)는 각각 REST API를 기반으로 가상머신에 대해 모니터링된 정보를 전송함으로써 모니터링시 발생되는 성능 영향을 최소화할 수 있는 이점이 있다.
In addition, the monitoring server 110 and the monitoring agent 120 transmit monitoring information to the virtual machine based on the REST API, respectively, thereby minimizing the performance impact upon monitoring.

상술한 본 발명에 따른 가상머신의 라이프사이클 모니터링 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다. The above-described life-cycle monitoring method of a virtual machine according to the present invention can be implemented as computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording media storing data that can be decoded by a computer system. For example, it may be a ROM (Read Only Memory), a RAM (Random Access Memory), a magnetic tape, a magnetic disk, a flash memory, an optical data storage device, or the like. In addition, the computer-readable recording medium may be distributed and executed in a computer system connected to a computer network, and may be stored and executed as a code readable in a distributed manner.

이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the following claims And changes may be made without departing from the spirit and scope of the invention.

110: 모니터링 서버
120: 모니터링 에이전트
110: Monitoring server
120: Monitoring agent

Claims (8)

클라우드 시스템내에서 적어도 하나의 가상머신을 제공하는 컴퓨팅 장치에 포함되는 모니터링 에이전트에 있어서,
상기 가상머신의 로그 파일의 크기 변화를 주기적으로 확인하여 상기 가상머신의 라이프사이클 변화를 모니터링하고, 상기 로그 파일의 크기 변화가 발생한 경우, 상기 가상머신의 라이프사이클에 변화가 발생한 것으로 간주하고, 상기 로그 파일의 로그 타입을 확인하여 가상머신의 라이프사이클에 관한 로그인지를 확인하는 제1 모니터링부;
상기 가상머신의 라이프사이클에 관한 로그인 경우, 상기 로그를 분석하여 상기 가상머신의 식별정보를 수집하고, 상기 식별정보를 이용하여 하이퍼바이저로부터 상기 가상머신의 자원 정보와 상태정보를 획득하는 제2 모니터링부; 및
외부의 모니터링 서버와 공유하는 REST(Representational State Transfer) 어플리케이션 프로그램 인터페이스를 이용하여 상기 모니터링 서버의 인터페이스부와 웹을 기반으로 통신을 수행하기 위하여 상기 모니터링 서버의 주소를 설정하고, 상기 설정된 주소를 이용하여 상기 가상머신의 자원정보와 상태정보를 상기 모니터링 서버로 전송하는 인터페이스부를 포함하는 모니터링 에이전트.
A monitoring agent included in a computing device that provides at least one virtual machine within a cloud system,
Monitoring a change in the size of the log file of the virtual machine to monitor a change in the life cycle of the virtual machine, and when a change in the size of the log file occurs, A first monitoring unit for checking the log type of the log file to confirm the log-in regarding the life cycle of the virtual machine;
A second monitoring unit for collecting identification information of the virtual machine by analyzing the log and acquiring resource information and status information of the virtual machine from the hypervisor using the identification information when logging on the life cycle of the virtual machine; part; And
An address of the monitoring server is set to perform communication based on the web with the interface of the monitoring server using a REST (Representational State Transfer) application program interface shared with an external monitoring server, And an interface unit transmitting resource information and status information of the virtual machine to the monitoring server.
삭제delete 삭제delete 제1 항에 있어서,
상기 가상머신의 라이프사이클은 상기 가상머신의 생성, 실행, 중지, 삭제 및 이동을 포함하는 것을 특징으로 하는 모니터링 에이전트.
The method according to claim 1,
Wherein the life cycle of the virtual machine includes creation, execution, suspension, deletion and movement of the virtual machine.
제1 항에 있어서,
상기 가상머신의 자원정보는 프로세서, 메모리, 디스크 및 네트워크에 대한 정보이고,
상기 상태정보는 상기 가상머신의 식별정보와 상기 가상머신의 생성, 실행, 중지, 삭제 및 이동 중 적어도 하나를 포함하는 것을 특징으로 하는 모니터링 에이전트.
The method according to claim 1,
The resource information of the virtual machine is information on a processor, a memory, a disk, and a network,
Wherein the status information includes at least one of identification information of the virtual machine and creation, execution, suspension, deletion, and movement of the virtual machine.
클라우드 시스템내에서 적어도 하나의 가상머신을 제공하는 컴퓨팅 장치에 포함되는 모니터링 에이전트가 상기 가상머신을 모니터링하는 방법에 있어서,
외부의 모니터링 서버와 공유하는 REST(Representational State Transfer) 어플리케이션 프로그램 인터페이스를 이용하여 상기 모니터링 서버의 인터페이스부와 웹을 기반으로 통신을 수행하기 위하여 상기 모니터링 서버의 주소를 설정하는 단계;
상기 가상머신의 로그 파일의 크기 변화를 주기적으로 확인하여 상기 가상머신의 라이프사이클 변화를 모니터링하고, 상기 로그 파일의 크기 변화가 발생한 경우, 상기 가상머신의 라이프사이클에 변화가 발생한 것으로 간주하고, 상기 로그 파일의 로그 타입을 확인하여 가상머신의 라이프사이클에 관한 로그인지를 확인하는 단계;
상기 가상머신의 라이프사이클에 관한 로그인 경우, 상기 로그를 분석하여 상기 가상머신의 식별정보를 수집하고, 상기 식별정보를 이용하여 하이퍼바이저로부터 상기 가상머신의 자원 정보와 상태정보를 획득하는 단계; 및
상기 설정된 주소를 이용하여 상기 가상머신의 자원정보와 상태정보를 상기 모니터링 서버로 전송하는 단계를 포함하는 모니터링 방법.
CLAIMS 1. A method for monitoring a virtual machine in a computing system, the monitoring agent being included in a computing device providing at least one virtual machine within the cloud system,
Setting an address of the monitoring server to perform communication based on the web with the interface of the monitoring server using a REST (Representational State Transfer) application program interface shared with an external monitoring server;
Monitoring a change in the size of the log file of the virtual machine to monitor a change in the life cycle of the virtual machine, and when a change in the size of the log file occurs, Confirming the log type of the log file and confirming the log-in regarding the life cycle of the virtual machine;
Analyzing the log to collect identification information of the virtual machine and obtaining resource information and status information of the virtual machine from the hypervisor using the identification information when the log is related to the life cycle of the virtual machine; And
And transmitting resource information and status information of the virtual machine to the monitoring server using the set address.
삭제delete 제6항의 방법을 수행하기 위한 프로그램 코드를 기록한 컴퓨터로 판독 가능한 기록매체.A computer-readable recording medium having recorded thereon a program code for performing the method of claim 6.
KR1020140183119A 2014-12-18 2014-12-18 Method and apparatus for monitoring life-cycle of virtual machine KR101630088B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140183119A KR101630088B1 (en) 2014-12-18 2014-12-18 Method and apparatus for monitoring life-cycle of virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140183119A KR101630088B1 (en) 2014-12-18 2014-12-18 Method and apparatus for monitoring life-cycle of virtual machine

Publications (1)

Publication Number Publication Date
KR101630088B1 true KR101630088B1 (en) 2016-06-13

Family

ID=56191490

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140183119A KR101630088B1 (en) 2014-12-18 2014-12-18 Method and apparatus for monitoring life-cycle of virtual machine

Country Status (1)

Country Link
KR (1) KR101630088B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102010442B1 (en) * 2018-06-04 2019-08-13 주식회사 이노그리드 Total monitoring method and system for cloud virtual machines
CN113703916A (en) * 2021-08-23 2021-11-26 中山大学 Cloud virtual machine life cycle state dependency relationship extraction method for anomaly detection

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050117572A (en) * 2003-03-21 2005-12-14 인텔 코오퍼레이션 Dynamic service registry for virtual machines
KR20090079012A (en) * 2008-01-16 2009-07-21 삼성전자주식회사 Method and apparatus for save/restore state of virtual machine
KR20130068564A (en) * 2011-12-15 2013-06-26 한국전자통신연구원 Terminal apparatus having operating system based on web and method for providing service using thereof
KR20140099109A (en) * 2013-02-01 2014-08-11 한국전자통신연구원 System and method for supporting evaluation of application service by using multiple clouds

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050117572A (en) * 2003-03-21 2005-12-14 인텔 코오퍼레이션 Dynamic service registry for virtual machines
KR20090079012A (en) * 2008-01-16 2009-07-21 삼성전자주식회사 Method and apparatus for save/restore state of virtual machine
KR20130068564A (en) * 2011-12-15 2013-06-26 한국전자통신연구원 Terminal apparatus having operating system based on web and method for providing service using thereof
KR20140099109A (en) * 2013-02-01 2014-08-11 한국전자통신연구원 System and method for supporting evaluation of application service by using multiple clouds

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102010442B1 (en) * 2018-06-04 2019-08-13 주식회사 이노그리드 Total monitoring method and system for cloud virtual machines
CN113703916A (en) * 2021-08-23 2021-11-26 中山大学 Cloud virtual machine life cycle state dependency relationship extraction method for anomaly detection
CN113703916B (en) * 2021-08-23 2024-03-26 中山大学 Cloud virtual machine life cycle state dependency relation extraction method oriented to anomaly detection

Similar Documents

Publication Publication Date Title
US10761913B2 (en) System and method for real-time asynchronous multitenant gateway security
CN108039964B (en) Fault processing method, device and system based on network function virtualization
US7702783B2 (en) Intelligent performance monitoring of a clustered environment
US9128792B2 (en) Systems and methods for installing, managing, and provisioning applications
US10452463B2 (en) Predictive analytics on database wait events
US9235491B2 (en) Systems and methods for installing, managing, and provisioning applications
CN108289034B (en) A kind of fault discovery method and apparatus
US10419553B2 (en) Dynamic docker pool recycling
US9317395B2 (en) Usage reporting from a cloud-hosted, distributed system
US10063644B1 (en) Managing operation of instances
US11675682B2 (en) Agent profiler to monitor activities and performance of software agents
US10462031B1 (en) Network visibility for cotenant processes
US20150172913A1 (en) Cloud based emergency wireless link
US20230214229A1 (en) Multi-tenant java agent instrumentation system
US9317269B2 (en) Systems and methods for installing, managing, and provisioning applications
US9191285B1 (en) Automatic web service monitoring
US10552282B2 (en) On demand monitoring mechanism to identify root cause of operation problems
CN114338684B (en) Energy management system and method
US9935867B2 (en) Diagnostic service for devices that employ a device agent
KR101630088B1 (en) Method and apparatus for monitoring life-cycle of virtual machine
US9349012B2 (en) Distributed processing system, distributed processing method and computer-readable recording medium
US20180287914A1 (en) System and method for management of services in a cloud environment
US20180219752A1 (en) Graph search in structured query language style query
US20180121329A1 (en) Uninstrumented code discovery
Li et al. Challenges to error diagnosis in hadoop ecosystems

Legal Events

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

Payment date: 20190415

Year of fee payment: 4