KR101630088B1 - Method and apparatus for monitoring life-cycle of virtual machine - Google Patents
Method and apparatus for monitoring life-cycle of virtual machine Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; 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
Description
본 발명은 클라우드 환경에서 각 컴퓨팅 장치에 설치된 가상머신의 라이프사이클을 모니터링하는 방법 및 그 장치에 관한 것이다.
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
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
모니터링 서버(110)는 클라우드 시스템을 구성하는 각 컴퓨팅 장치의 가상머신의 정보와 가상머신의 라이프사이클 변화에 대한 모니터링 정보를 수집, 분석하기 위한 기능을 한다.The
모니터링 서버(110)는 도 1에 도시된 바와 같이, 클라우드 시스템 외부에 존재한다. 모니터링 서버(110)는 REST(Representational State Transfer) 어플리케이션 프로그램 인터페이스(API: application programming interface)을 통해 모니터링 에이전트(120)를 제어할 수 있다. 즉, 모니터링 서버(110)는 해당 REST API를 통해 모니터링 에이전트(120)의 모니터링 실행 유무를 제어할 수 있다. 또한, 모니터링 서버(110)는 REST API를 통해 모니터링 에이전트(120)로부터 모니터링된 정보(예를 들어, 가상머신의 자원 정보와 상태 정보)를 획득할 수 있다.The
이와 같이, 모니터링 서버(110)는 클라우드 시스템의 외부에 위치한 상태에서 REST API를 이용하여 클라우드 시스템내에 위치한 각 컴퓨팅 장치에 구비된 모니터링 에이전트(120)를 통해 각 컴퓨팅 장치에서 제공되는 가상머신의 라이프사이클 변화를 모니터링하고, 가상머신의 자원정보 및 상태 정보를 웹을 기반으로 수집할 수 있다.In this way, the
모니터링 에이전트(120)는 클라우드 시스템을 구성하는 각 컴퓨팅 장치의 내부에 구비된다.The
모니터링 에이전트(120)는 모니터링 서버(110)와 REST API를 공유하고 있으며, 해당 REST API를 통해 모니터링 서버(110)로 가상머신의 자원정보 및 상태 정보를 전송하는 기능을 한다.The
또한, 클라우드 시스템내의 각 컴퓨팅 장치에서 실행되는 모니터링 에이전트(120)는 모니터링 서버(110)에 의해 동작을 개시할 수도 있으며, 동작을 종료할 수도 있다.
In addition, the
도 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
제1 모니터링부(210)는 당해 모니터링 에이전트(120)가 실행되는 컴퓨팅 장치에서 제공되는 적어도 하나의 가상머신의 라이프사이클 변화를 모니터링하는 기능을 한다.The
여기서, 가상머신의 라이프사이클은 가상머신의 생성, 실행, 중지, 삭제 및 이동을 포함한다.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
즉, 제1 모니터링부(210)는 해당 가상머신의 로그파일의 크기 변화를 확인하여 로그파일의 크기가 변화한 경우, 새로운 로그가 발생한 것으로 결정할 수 있다. 즉, 해당 가상머신의 라이프사이클에 변화가 발생한 것으로 간주할 수 있다.That is, the
보다 상세하게, 제1 모니터링부(210)는 가상파일의 로그파일의 크기 변화를 주기적으로 확인한 후 로그파일의 크기 변화가 발생한 경우, 해당 로그의 타입을 확인하여 실제 가상머신의 라이프사이클에 관한 로그인지를 확인할 수도 있다.More specifically, the
예를 들어, 제1 모니터링부(210)는 가상머신의 로그파일의 크기가 변화된 경우, 로그의 타입이 예를 들어, “VIRT_CONTROL”인지를 확인하여 가상머신의 라이프사이클에 관한 로그인지를 확인할 수 있다.For example, when the size of the log file of the virtual machine is changed, the
제2 모니터링부(215)는 가상머신의 자원정보와 상태 정보를 획득하는 기능을 한다.The
예를 들어, 제2 모니터링부(215)는 가상머신의 라이프사이클에 관한 로그일시 로그를 분석하여 해당 가상머신의 식별정보(VM_name)를 수집할 수 있다.For example, the
이어, 제2 모니터링부(215)는 획득된 가상머신의 식별정보를 기반으로, 해당 가상머신의 자원정보(예를 들어, CPU, 메모리, 디스크, 네트워크 등)와 상태정보(예를 들어, 생성, 시작, 종료, 중지, 이동 등)를 획득할 수 있다.Next, the
이때, 제2 모니터링부(215)는 해당 가상머신의 식별정보를 기반으로 하이퍼바이저로부터 가상머신의 자원정보 및 상태정보를 획득할 수 있다. 여기서, 하이퍼바이저는 컴퓨팅 장치에서 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼으로, 이는 이미 공지된 기술이므로 상세한 설명은 생략하기로 한다.At this time, the
인터페이스부(220)는 가상머신의 자원정보와 상태정보를 전송할 외부 모니터링 서버의 주소를 설정하고, 웹을 통해 해당 수집된 가상머신의 자원정보와 상태정보를 전송하는 기능을 한다. 여기서, 인터페이스부(220)는 REST API를 포함할 수 있다.The
도 3에는 모니터링 에이전트(120)의 REST API 설계 구조가 예시되어 있다.FIG. 3 illustrates the REST API design structure of the
도 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
모니터링 에이전트 관리부(510)는 클라우드 시스템내에 포함된 각 컴퓨팅 장치에 설치된 모니터링 에이전트(120)에게 가상머신 정보를 요청하고, 가상머신의 라이프사이클 변화 모니터링의 실행 유무를 설정하는 기능을 한다.The monitoring
즉, 모니터링 에이전트 관리부(510)는 각 컴퓨팅 장치에 설치된 모니터링 에이전트(120)를 제어하는 기능을 한다.That is, the monitoring
모니터링 데이터 관리부(515)는 각 컴퓨팅 장치에 설치된 모니터링 에이전트(120)로부터 가상머신 자원정보와 상태 정보를 수집하여 획득하고, 이를 데이터베이스(517)에 저장하는 기능을 한다.The monitoring
분석부(520)는 데이터베이스(517)에 저장된 가상머신의 자원정보 및 상태 정보를 분석하는 기능을 한다.The
인터페이스부(525)는 모니터링 에이전트(120)를 통해 제공되는 가상머신의 자원정보 및 상태 정보를 전송받기 위한 REST API들을 저장하는 기능을 한다.The
도 6에는 모니터링 서버(110)의 REST API를 설계한 일 예가 도시되어 있으며, 도 7에는 도 6를 자바 랭귀지를 기반으로 구현한 의사코드가 도시되어 있다.FIG. 6 shows an example of designing the REST API of the
도 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
도 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
예를 들어, 모니터링 서버(110)는 REST API의 PUT 메소드를 기반으로 당해 모니터링 서버(110)의 주소를 설정할 수 있다.For example, the
단계 815에서 모니터링 서버(110)는 REST API를 통해 적어도 하나의 모니터링 에이전트(120)로 가상머신의 라이프사이클 변화의 모니터링을 실행시킨다.In
예를 들어, 모니터링 서버(110)는 PUT 메소드를 이용하여 REST API의 “HTTP uri: /lifecycle_monitoring/{act}”의 실행유무를 변경하여 가상머신의 라이프사이클 변화에 대한 모니터링 실행 유무를 제어할 수 있다.For example, the
이에 따라, 단계 820에서 모니터링 에이전트(120)는 가상머신의 라이프사이클 변화를 주기적 모니터링한다.Accordingly, in
이어, 단계 825에서 모니터링 에이전트(120)는 가상머신의 라이프사이클이 변화되었는지 여부를 판단한다.Then, in
즉, 모니터링 에이전트(120)는 가상머신의 로그파일의 변화를 주기적으로 확인하여 해당 가상머신의 라이프사이클 변화 여부를 모니터링할 수 있다.That is, the
보다 상세하게, 예를 들어, 모니터링 에이전트(120)는 가상머신의 로그파일의 크기가 변화된 경우, 로그의 타입이 예를 들어, “VIRT_CONTROL”인지를 확인하여 가상머신의 라이프사이클에 관한 로그인지를 확인하여 라이프사이클 변화 여부를 모니터링할 수 있다.More specifically, for example, when the size of the log file of the virtual machine is changed, the
만일 가상머신의 라이프사이클이 변화되지 않은 경우, 단계 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
이는 이미 전술한 바와 동일하므로 중복되는 설명은 생략하기로 한다.Since this is the same as described above, redundant description will be omitted.
단계 835에서 모니터링 에이전트(120)는 REST API를 통해 웹을 기반으로 외부 모니터링 서버(110)로 획득된 가상머신의 자원정보 및 상태정보를 전송한다.In
이에 따라, 모니터링 서버(110)는 클라우드 시스템을 구성하는 각 컴퓨팅 장치에서 제공되는 가상머신의 상태변화를 모니터링하고, REST API를 기반으로 가상머신의 자원정보 및 상태정보를 수집하여 분석할 수 있는 이점 있다.Accordingly, the
또한, 모니터링 서버(110)와 모니터링 에이전트(120)는 각각 REST API를 기반으로 가상머신에 대해 모니터링된 정보를 전송함으로써 모니터링시 발생되는 성능 영향을 최소화할 수 있는 이점이 있다.
In addition, the
상술한 본 발명에 따른 가상머신의 라이프사이클 모니터링 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, 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.
상기 가상머신의 라이프사이클은 상기 가상머신의 생성, 실행, 중지, 삭제 및 이동을 포함하는 것을 특징으로 하는 모니터링 에이전트.
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.
상기 가상머신의 자원정보는 프로세서, 메모리, 디스크 및 네트워크에 대한 정보이고,
상기 상태정보는 상기 가상머신의 식별정보와 상기 가상머신의 생성, 실행, 중지, 삭제 및 이동 중 적어도 하나를 포함하는 것을 특징으로 하는 모니터링 에이전트.
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.
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)
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)
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 |
-
2014
- 2014-12-18 KR KR1020140183119A patent/KR101630088B1/en active IP Right Grant
Patent Citations (4)
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)
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 |