KR101586587B1 - Method and apparatus for system monitoring - Google Patents
Method and apparatus for system monitoring Download PDFInfo
- Publication number
- KR101586587B1 KR101586587B1 KR1020140147600A KR20140147600A KR101586587B1 KR 101586587 B1 KR101586587 B1 KR 101586587B1 KR 1020140147600 A KR1020140147600 A KR 1020140147600A KR 20140147600 A KR20140147600 A KR 20140147600A KR 101586587 B1 KR101586587 B1 KR 101586587B1
- Authority
- KR
- South Korea
- Prior art keywords
- status
- monitoring
- status information
- display areas
- target systems
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
개시되는 실시예들은 시스템 모니터링 방법 및 장치에 관한 것으로서, 더욱 상세하게는 복수의 대상 시스템을 모니터링하기 위한 기법과 관련된다.The disclosed embodiments relate to a system monitoring method and apparatus, and more particularly to techniques for monitoring a plurality of target systems.
정보 통신 기술을 이용한 서비스를 제공하는 시스템은 많은 수의 서버를 포함할 수 있다. 통상적으로, 이러한 시스템은 애플리케이션의 성능 문제를 검출하기 위해 각 서버의 상태를 모니터링하는 솔루션(가령, APM(Application Performance Management) 솔루션)을 이용하여 기대되는 서비스 레벨을 유지하고자 한다.A system for providing services using information communication technology may include a large number of servers. Typically, such a system tries to maintain expected service levels using a solution (e.g., APM (Application Performance Management) solution) that monitors the status of each server to detect performance problems of the application.
그러나, 종래의 APM 솔루션들은 관리해야 할 서버의 수가 어느 정도 이상 증가하면 처리 속도가 느려질 뿐만 아니라 서버들에 관한 상태 정보를 한눈에 알아보기 쉽게 표시하지도 못한다. 더욱이, 대량의 트래픽을 처리하기 위해 서버 시스템을 클라우드 환경에 구축하는 최근의 추세에 따르면, 서비스에 요구되는 처리량이 증가하는 경우 스케일 업(scale-up)보다는 스케일 아웃(scale-out) 방식으로 서버 시스템의 처리 능력을 강화한다. 따라서, 모니터링되어야 할 대상이 늘어나므로, 이들을 관리하는 데 상당한 어려움이 있다.However, in the conventional APM solutions, when the number of servers to be managed increases more than a certain level, the processing speed is slowed and the status information about the servers is not displayed at a glance. Furthermore, according to recent trends of building a server system in a cloud environment to handle a large amount of traffic, when the amount of processing required for a service increases, the scale- Strengthen the processing power of the system. Therefore, there are considerable difficulties in managing them because the number of objects to be monitored increases.
따라서, 많은 수의 대상 시스템을 효율적으로 모니터링하기 위한 새로운 접근법이 필요하다.Therefore, a new approach for efficiently monitoring a large number of target systems is needed.
개시되는 실시예들은 시스템 모니터링 방법 및 장치를 제공한다.The disclosed embodiments provide a system monitoring method and apparatus.
예시적인 실시예에 따르면, 복수의 대상 시스템 중 각 대상 시스템의 상태를 식별하는 단계; 및 상기 복수의 대상 시스템에 각각 대응하는 복수의 구분된 디스플레이 영역 중에서 상기 각 대상 시스템에 대응하는 디스플레이 영역에 상기 식별된 상태를 표시하여 상기 복수의 구분된 디스플레이 영역을 디스플레이하는 단계를 포함하는, 시스템 모니터링 방법이 제공된다.According to an exemplary embodiment, there is provided a method comprising: identifying a status of each target system among a plurality of target systems; And displaying the identified status in a display area corresponding to each of the plurality of divided display areas corresponding to the plurality of target systems, respectively, so as to display the plurality of divided display areas A monitoring method is provided.
상기 식별하는 단계는 상기 상태를 미리 설정된 등급들 중 한 등급에 대응하는 것으로 식별하는 단계를 포함할 수 있고, 상기 디스플레이하는 단계는 상기 식별된 상태를 상기 등급에 대응하는 외양으로 상기 대응하는 디스플레이 영역에 표시하는 단계를 포함할 수 있다.Wherein the identifying step may include identifying the state as corresponding to one of a plurality of predetermined grades, and wherein the displaying includes displaying the identified state as an appearance corresponding to the rating, On the display screen.
상기 외양은 상기 등급에 고유한 색상을 포함할 수 있다.The appearance may include a hue unique to the grade.
상기 식별하는 단계는 상기 복수의 대상 시스템에 관한 상태 정보를 모니터링 서버 장치에 요청하는 단계, 상기 모니터링 서버 장치로부터 상기 상태 정보를 수신하는 단계 및 상기 상태 정보를 이용하여 상기 상태를 식별하는 단계를 포함할 수 있고, 상기 디스플레이하는 단계는 상기 상태 정보의 수신에 응답하여 상기 복수의 구분된 디스플레이 영역을 한 화면에 표현하는 단계를 포함할 수 있다.Wherein the identifying includes requesting the monitoring server device for status information about the plurality of target systems, receiving the status information from the monitoring server device, and identifying the status using the status information And the displaying step may include displaying the plurality of divided display areas in one screen in response to receiving the status information.
상기 수신하는 단계는 미리 설정된 주기마다 상기 모니터링 서버 장치로부터 상기 상태 정보를 수신하는 단계를 포함할 수 있고, 상기 표현하는 단계는 상기 미리 설정된 주기마다 상기 화면을 갱신하는 단계를 포함할 수 있다.The receiving step may include receiving the status information from the monitoring server apparatus every predetermined period, and the displaying step may include updating the screen at the predetermined period.
상기 시스템 모니터링 방법은, 상기 화면에 표현된 상기 복수의 구분된 디스플레이 영역 중 특정 디스플레이 영역에 대한 사용자 입력을 검출하는 단계; 상기 사용자 입력의 검출에 응답하여, 상기 특정 디스플레이 영역에 표시된 상태를 갖는 특정 대상 시스템을 상기 복수의 대상 시스템 중에서 식별하는 단계; 및 상기 상태 정보에 포함되고 상기 특정 대상 시스템과 관련된 상세 정보를 상기 화면에 추가적으로 표현하는 단계를 더 포함할 수 있다.The system monitoring method includes: detecting a user input for a specific display area among the plurality of divided display areas displayed on the screen; Identifying, in response to the detection of the user input, a particular target system having a status displayed in the particular display area among the plurality of target systems; And displaying additional information included in the status information and related to the specific target system on the screen.
상기 상세 정보는 상기 특정 대상 시스템의 IP 주소, 호스트 이름, 인스턴스 ID, CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량, 평균 로드, 접속 계정의 개수 및 네트워크 접속의 개수 중 적어도 하나를 나타낼 수 있다.The detailed information may indicate at least one of the IP address, the host name, the instance ID, the CPU usage, the memory usage, the storage disk usage, the average load, the number of connection accounts, and the number of network connections of the specific target system.
상기 상태는 상기 각 대상 시스템의 복수의 모니터링 메트릭 중 선택된 모니터링 메트릭을 나타낼 수 있고, 상기 복수의 모니터링 메트릭은 상기 각 대상 시스템의 CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량 및 평균 로드 중 적어도 일부를 포함할 수 있다.Wherein the status can indicate a selected one of a plurality of monitoring metrics of each target system and wherein the plurality of monitoring metrics includes at least some of the CPU usage, memory usage, storage disk usage and average load of each of the target systems .
상기 시스템 모니터링 방법은, 상기 복수의 모니터링 메트릭 중 다른 모니터링 메트릭을 선택하기 위한 사용자 입력을 검출하는 단계; 상기 사용자 입력의 검출에 응답하여, 상기 다른 모니터링 메트릭에 대해, 상기 식별하는 단계 및 상기 디스플레이하는 단계를 반복하는 단계를 더 포함할 수 있다.The system monitoring method comprising: detecting a user input for selecting another of the plurality of monitoring metrics; And in response to detecting the user input, repeating the identifying and displaying for the other monitoring metric.
상기 디스플레이하는 단계는 상기 복수의 구분된 디스플레이 영역을 이격된 형상들의 2차원 어레이(array)로 한 화면 상에 디스플레이하는 단계를 포함할 수 있다.The displaying step may include displaying the plurality of divided display areas on a screen as a two-dimensional array of spaced shapes.
다른 예시적인 실시예에 따르면, 복수의 대상 시스템 중 각 대상 시스템의 상태를 식별하는 상태 식별부; 및 상기 복수의 대상 시스템에 각각 대응하는 복수의 구분된 디스플레이 영역 중에서 상기 각 대상 시스템에 대응하는 디스플레이 영역에 상기 식별된 상태를 표시하여 상기 복수의 구분된 디스플레이 영역을 디스플레이하는 상태 표시부를 포함할 수 있다.According to another exemplary embodiment, a status identifying unit identifies a status of each target system among a plurality of target systems; And a status display unit displaying the plurality of divided display areas by displaying the identified status in a display area corresponding to each of the plurality of target display systems corresponding to the plurality of target systems have.
상기 상태 식별부는 상기 상태를 미리 설정된 등급들 중 한 등급에 대응하는 것으로 식별할 수 있고, 상기 상태 표시부는 상기 식별된 상태를 상기 등급에 대응하는 외양으로 상기 디스플레이 영역에 표시할 수 있다.The state identifying section can identify the state as corresponding to one of the predetermined grades, and the state indicating section can display the identified state as the appearance corresponding to the class on the display region.
상기 외양은 상기 등급에 고유한 색상을 포함할 수 있다.The appearance may include a hue unique to the grade.
상기 상태 식별부는 상기 복수의 대상 시스템에 관한 상태 정보를 모니터링 서버 장치에 요청할 수 있고 상기 모니터링 서버 장치로부터 상기 상태 정보를 수신할 수 있으며 상기 상태 정보를 이용하여 상기 상태를 식별할 수 있고, 상기 상태 표시부는 상기 상태 정보의 수신에 응답하여 상기 복수의 구분된 디스플레이 영역을 한 화면에 표현할 수 있다.Wherein the status identifying unit can request status information about the plurality of target systems from the monitoring server apparatus and can receive the status information from the monitoring server apparatus and can identify the status using the status information, The display unit may display the plurality of divided display areas on one screen in response to receiving the status information.
상기 상태 식별부는 미리 설정된 주기마다 상기 모니터링 서버 장치로부터 상기 상태 정보를 수신할 수 있고, 상기 상태 표시부는 상기 미리 설정된 주기마다 상기 화면을 갱신할 수 있다.The status identifying unit may receive the status information from the monitoring server apparatus every predetermined period, and the status display unit may update the screen at the predetermined period.
상기 시스템 모니터링 장치는 상기 화면에 표현된 상기 복수의 구분된 디스플레이 영역 중 특정 디스플레이 영역에 대한 사용자 입력을 검출하는 인터페이스부를 더 포함할 수 있고, 상기 상태 식별부는 또한, 상기 사용자 입력의 검출에 응답하여, 상기 특정 디스플레이 영역에 표시된 상태를 갖는 특정 대상 시스템을 상기 복수의 대상 시스템 중에서 식별할 수 있으며, 상기 상태 표시부는 또한, 상기 상태 정보에 포함되고 상기 특정 대상 시스템에 관련된 상세 정보를 상기 화면에 추가적으로 표현할 수 있다.The system monitoring apparatus may further include an interface unit that detects a user input to a specific one of the plurality of divided display areas displayed on the screen, , The system may identify a specific target system having a status displayed in the specific display area among the plurality of target systems, and the status display unit may further include detailed information related to the specific target system, Can be expressed.
상기 상세 정보는 상기 특정 대상 시스템의 IP 주소, 호스트 이름, 인스턴스 ID, CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량, 평균 로드, 접속 계정의 개수 및 네트워크 접속의 개수 중 적어도 하나를 나타낼 수 있다.The detailed information may indicate at least one of the IP address, the host name, the instance ID, the CPU usage, the memory usage, the storage disk usage, the average load, the number of connection accounts, and the number of network connections of the specific target system.
상기 상태는 상기 각 대상 시스템의 복수의 모니터링 메트릭 중 선택된 모니터링 메트릭을 나타낼 수 있고, 상기 복수의 모니터링 메트릭은 상기 각 대상 시스템의 CPU, 메모리, 스토리지 디스크 및 평균 로드 중 적어도 일부를 포함할 수 있다.The status may indicate a selected one of the plurality of monitoring metrics of the target system, and the plurality of monitoring metrics may include at least a portion of the CPU, memory, storage disk, and average load of each target system.
상기 시스템 모니터링 장치는 상기 복수의 모니터링 메트릭 중 다른 모니터링 메트릭을 선택하기 위한 사용자 입력을 검출하는 인터페이스부를 더 포함할 수 있고, 상기 사용자 입력의 검출에 응답하여, 상기 다른 모니터링 메트릭에 대해, 상기 상태 식별부는 또한 상기 상태의 식별을 반복할 수 있고 상기 상태 표시부는 또한 상기 복수의 구분된 디스플레이 영역의 디스플레이를 반복할 수 있다.The system monitoring apparatus may further include an interface section for detecting a user input for selecting another of the plurality of monitoring metrics, and in response to the detection of the user input, for the other monitoring metric, The part may also repeat the identification of the status and the status display may also repeat the display of the plurality of distinguished display areas.
상기 상태 표시부는 상기 복수의 구분된 디스플레이 영역을 이격된 형상들의 2차원 어레이로 한 화면 상에 디스플레이할 수 있다.The status display unit may display the plurality of divided display areas as a two-dimensional array of spaced features on a screen.
또 다른 예시적인 실시예에 따르면, 복수의 대상 시스템을 모니터링하기 위한 시스템으로서, 상기 복수의 대상 시스템 중 각 대상 시스템의 상태를 나타내는 데이터를 수집하여 상기 복수의 대상 시스템에 관한 상태 정보를 생성하는 모니터링 서버 장치; 및 상기 모니터링 서버 장치로부터 상기 상태 정보를 획득하여 상기 상태를 식별하고, 상기 복수의 대상 시스템에 각각 대응하는 복수의 구분된 디스플레이 영역 중에서 상기 각 대상 시스템에 대응하는 디스플레이 영역에 상기 식별된 상태를 표시하여 상기 복수의 구분된 디스플레이 영역을 디스플레이하는 클라이언트 장치를 포함하는, 모니터링 시스템이 제공된다.According to another exemplary embodiment, there is provided a system for monitoring a plurality of target systems, the system comprising: means for collecting data representing a status of each target system among the plurality of target systems and generating status information on the plurality of target systems A server device; And displaying the identified status in a display area corresponding to each of the plurality of target display systems corresponding to the plurality of target systems by acquiring the status information from the monitoring server apparatus, And a client device for displaying the plurality of divided display areas.
상기 모니터링 서버 장치는 상기 데이터를 포함하는 UDP(User Datagram Protocol) 패킷을 상기 각 대상 시스템으로부터 수신할 수 있고, 상기 클라이언트 장치는 HTTP(HyperText Transfer Protocol)을 기반으로 상기 모니터링 서버 장치에 상기 상태 정보를 요청하여 상기 모니터링 서버 장치로부터 상기 상태 정보를 수신할 수 있다.Wherein the monitoring server device is capable of receiving a User Datagram Protocol (UDP) packet including the data from each of the target systems, and the client device transmits the status information to the monitoring server device based on HyperText Transfer Protocol (HTTP) And receive the status information from the monitoring server device upon request.
상기 데이터는 상기 각 대상 시스템의 IP 주소, 호스트 이름, 인스턴스 ID, CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량, 평균 로드, 접속 계정의 개수 및 네트워크 접속의 개수 중 적어도 하나를 나타낼 수 있고, 상기 모니터링 서버 장치는 상기 클라이언트 장치의 요청에 따라 상기 데이터를 이용하여 상기 상태 정보를 JSON(JavaScript Object Notation) 포맷으로 생성할 수 있고 상기 상태 정보를 상기 클라이언트 장치에 전송할 수 있다.The data may indicate at least one of IP address, host name, instance ID, CPU usage, memory usage, storage disk usage, average load, number of connection accounts, and number of network connections of each target system, The apparatus may generate the status information in a JavaScript Object Notation (JSON) format using the data at the request of the client apparatus, and may transmit the status information to the client apparatus.
또 다른 예시적인 실시예에 따르면, 하드웨어와 결합되어, 전술한 시스템 모니터링 방법을 실행시키기 위하여 저장 매체에 저장된 컴퓨터 프로그램이 제공된다.According to yet another exemplary embodiment, a computer program stored on a storage medium is provided for execution of the system monitoring method described above in combination with hardware.
소정의 실시예는 복수의 모니터링 대상 시스템 각각의 상태를 신속히 효과적으로 디스플레이하여 모니터링 대상 시스템들의 운영을 용이하게 한다.Some embodiments facilitate the operation of the monitored systems by quickly and effectively displaying the status of each of the plurality of monitored systems.
소정의 실시예에 따르면, 각 모니터링 대상 시스템의 상태를 특정 외양(가령, 색상)으로 표현하여 많은 수의 모니터링 대상 시스템들에 관한 중요한 상태 정보를 파악하기 쉽게 제공할 수 있다.According to the predetermined embodiment, the status of each monitoring target system can be expressed by a specific appearance (e.g., color), and important status information about a large number of monitoring target systems can be easily grasped.
소정의 실시예에 따르면, 특정 모니터링 대상 시스템에 관한 상세 정보가 디스플레이될 수 있고, 이에 따라 문제의 현상 및 원인을 쉽게 파악하고 필요한 조치를 취하는 데 도움이 된다.According to some embodiments, detailed information about a particular monitored system can be displayed, thereby helping to easily identify the cause and cause of the problem and take necessary action.
도 1은 예시적인 실시예에 따라 네트워크 환경에 배치된 모니터링 시스템을 도시한 도면,
도 2는 예시적인 실시예에 따라 제공되는 사용자 인터페이스를 도시한 도면,
도 3은 예시적인 실시예에 따라 서버 장치의 상태를 표시하는 데 사용하기 위해 설정된 색상들을 도식적으로 나타내는 도면,
도 4는 예시적인 실시예에서 모니터링되는 서버 장치의 상태를 나타내는 데이터를 포함하는 UDP 패킷을 도식적으로 나타내는 도면,
도 5는 예시적인 실시예에서 모니터링되는 서버 장치에 설치된 에이전트의 통신 과정을 도식적으로 나타낸 흐름도,
도 6은 예시적인 실시예에 따른 모니터링 서버 장치의 통신 과정을 도식적으로 나타낸 흐름도,
도 7은 예시적인 실시예에 따라 복수의 대상 시스템을 모니터링하기 위한 장치의 구성을 도식적으로 나타낸 블록도,
도 8은 예시적인 실시예에 따라 복수의 대상 시스템을 모니터링하는 과정을 도식적으로 나타낸 흐름도.1 illustrates a monitoring system deployed in a network environment in accordance with an exemplary embodiment;
Figure 2 illustrates a user interface provided in accordance with an exemplary embodiment;
3 is a diagrammatic representation of colors set for use in indicating the status of a server device in accordance with an exemplary embodiment;
4 is a diagrammatic representation of a UDP packet containing data representative of the status of a monitored server device in an exemplary embodiment,
FIG. 5 is a flowchart schematically illustrating a communication process of an agent installed in a server device monitored in the exemplary embodiment; FIG.
6 is a flow diagram schematically illustrating a communication process of a monitoring server apparatus according to an exemplary embodiment;
7 is a block diagram that schematically illustrates the configuration of an apparatus for monitoring a plurality of target systems in accordance with an exemplary embodiment;
8 is a flow diagram schematically illustrating a process of monitoring a plurality of target systems in accordance with an exemplary embodiment;
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, apparatus, and / or systems described herein. However, this is merely an example and the present invention is not limited thereto.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification. The terms used in the detailed description are intended only to describe embodiments of the invention and should in no way be limiting. Unless specifically stated otherwise, the singular forms of the expressions include plural forms of meanings. In this description, the expressions "comprising" or "comprising" are intended to indicate certain features, numbers, steps, operations, elements, parts or combinations thereof, Should not be construed to preclude the presence or possibility of other features, numbers, steps, operations, elements, portions or combinations thereof.
도 1은 예시적인 실시예에 따라 네트워크 환경에 배치된 모니터링 시스템을 도시한다.Figure 1 illustrates a monitoring system deployed in a network environment in accordance with an exemplary embodiment.
예시적인 모니터링 시스템(110)은 복수의 모니터링 대상 시스템을 모니터링하기 위해 네트워크 환경(100)에 배치된다. 이하에서는, 설명의 편의를 위해, 도 1에 도시된 바와 같이 모니터링 시스템(110)이 네트워크 환경(100) 내의 서버 장치들(180-1, 180-2, ..., 180-n)을 모니터링하는 것으로 예시될 것이다. 다만, 모니터링 시스템(110)에 의해 모니터링되는 컴퓨터 시스템들이 서버 장치들(180-1, 180-2, ..., 180-n)에 제한되는 것은 아니며, 모니터링 시스템(110)은 다른 유형의 컴퓨터 시스템들의 모니터링을 위해서도 활용될 수 있다.An
도 1의 모니터링 시스템(110)은 모니터링 서버 장치(130)와 적어도 하나의 클라이언트 장치(150)를 포함한다. 모니터링 서버 장치(130)와 클라이언트 장치(150)는 로컬 영역 네트워크(Local Area Network: LAN), 광역 네트워크(Wide Area Network: WAN), 셀룰라 네트워크 또는 인터넷과 같은 네트워크(미도시)를 통해 통신 가능하게 연결된다. 모니터링 서버 장치(130)의 예들은 메인프레임 기반 또는 오픈 시스템 기반의 서버 컴퓨터와 같은 다양한 유형의 서버 컴퓨터를 포함한다. 클라이언트 장치(150)의 예들은 데스크톱 컴퓨터, 랩톱 컴퓨터, 휴대폰, 스마트폰, 태블릿 등과 같이 모니터링 서버 장치(130)에 접속 가능한 다양한 유형의 컴퓨팅 장치를 포함한다.The
모니터링 서버 장치(130)는 복수의 서버 장치(180-1, 180-2, ..., 180-n) 중 각 서버 장치의 상태를 나타내는 데이터를 수집하여 복수의 서버 장치(180-1, 180-2, ..., 180-n)에 관한 상태 정보를 생성할 수 있다.The
클라이언트 장치(150)는 모니터링 서버 장치(130)로부터 상태 정보를 획득하여 서버 장치들(180-1, 180-2, ..., 180-n) 각각의 상태를 식별할 수 있다. 나아가, 클라이언트 장치(150)는 서버 장치들(180-1, 180-2, ..., 180-n)에 각각 대응하는 복수의 구분된 디스플레이 영역을 디스플레이할 수 있고, 각 디스플레이 영역에는 서버 장치들(180-1, 180-2, ..., 180-n) 중 대응하는 서버 장치의 상태가 표시될 수 있다.The client device 150 may obtain status information from the
예를 들어, 도 2에 도시된 바와 같이, 클라이언트 장치(150)는 상태 정보 디스플레이 영역(210)을 포함하는 사용자 인터페이스(200)를 한 화면에 시각적으로 표현할 수 있는데, 상태 정보 디스플레이 영역(210) 내에서 2차원 어레이(array)로 디스플레이되는 사각형 형상의 디스플레이 영역들(230)은 서버 장치들(180-1, 180-2, ..., 180-n)에 각각 대응할 수 있다. 예시적인 실시예에 따르면, 사각형 형상의 디스플레이 영역들(230)은 서로 특정 간격(가령, 4 픽셀)만큼 이격될 수 있다. 사각형 형상의 디스플레이 영역들(230) 각각은 도 2의 가로 방향으로 최소 10 픽셀 내지 최대 40 픽셀 사이의 크기를 가질 수 있다. 사각형 형상의 디스플레이 영역들(230)의 총 개수가 미리 설정된 수(가령, 1024) 이하인 경우, 사각형 형상의 디스플레이 영역들(230) 각각의 세로 방향 크기는 가로 방향 크기와 동일할 수 있다. 그렇지 않은 경우, 사각형 형상의 디스플레이 영역들(230)의 세로 방향 크기는 가로 방향 크기보다 작을 수 있다.2, the client device 150 may visually represent the
특히, 클라이언트 장치(150)는 각 서버 장치의 상태를 미리 설정된 등급들(가령, 16개의 등급들) 중 한 등급에 대응하는 것으로 식별할 수 있고, 각 서버 장치의 상태를 그 등급에 대응하는 외양(가령, 색상, 텍스처, 크기 및/또는 형상)으로 그 서버 장치에 대응하는 디스플레이 영역에 표시할 수 있다. 예를 들어, 도 3을 참조하면, 클라이언트 장치(150)는 서버 장치의 상태가 양호할수록 서버 장치에 대응하는 디스플레이 영역을 청색으로 표시하는 반면, 서버 장치의 상태가 불량일수록 서버 장치에 대응하는 디스플레이 영역을 적색으로 표시할 수 있다. 만일 서버 장치의 상태 정보가 수집되지 않은 경우, 클라이언트 장치(150)는 서버 장치의 상태를 식별할 수 없고, 이에 따라 클라이언트 장치(150)는 서버 장치에 대응하는 디스플레이 영역을 흑색으로 표시할 수 있다.In particular, the client device 150 can identify the state of each server device as corresponding to one of the predetermined classes (e.g., 16 classes), and determine the state of each server device as an appearance corresponding to that class (E.g., color, texture, size, and / or shape) in the display area corresponding to the server device. For example, referring to FIG. 3, the client device 150 displays the display area corresponding to the server device in blue as the state of the server device is better, while the defective state of the server device indicates the display The area can be displayed in red. If the status information of the server device is not collected, the client device 150 can not identify the status of the server device, and accordingly, the client device 150 can display the display area corresponding to the server device in black .
한편, 각 서버 장치의 상태는 그 서버 장치의 복수의 모니터링 메트릭(metric) 중 선택된 모니터링 메트릭을 나타낼 수 있다. 이러한 선택 가능한 모니터링 메트릭들은 서버 장치의 중앙처리유닛(Central Processing Unit: CPU) 사용량, 메모리 사용량(가령, 랜덤 액세스 메모리(Random Access Memory: RAM) 사용량), 스토리지 디스크 사용량 및 평균 로드(load)(가령, 서버 장치에 멀티 프로세스 시스템이 구현된 경우 단위 시간 당 실행 큐에 쌓인 프로세스의 개수) 중 적어도 일부를 포함할 수 있다. 예를 들어, 도 2를 참조하면, 클라이언트 장치(150)는 사용자 인터페이스(200)의 상태 정보 디스플레이 영역(210)에 포함된 인터페이스 요소들(211, 212, 213, 214) 중 하나 상에서 행해지는 사용자 입력(가령, 마우스 클릭(click) 동작 또는 마우스 호버링(hovering) 동작)을 검출할 수 있고, 이러한 사용자 입력의 검출에 응답하여 CPU 사용량, RAM 사용량, 스토리지 디스크 사용량 및 평균 로드 중 하나를 모니터링 메트릭으로 선택할 수 있다.On the other hand, the status of each server device may represent a selected one of a plurality of monitoring metrics of the server device. These selectable monitoring metrics may include a central processing unit (CPU) usage of the server device, a memory usage (e.g., random access memory (RAM) usage), a storage disk usage and an average load , The number of processes queued in the run queue per unit time when a multi-process system is implemented in the server apparatus). For example, referring to FIG. 2, a client device 150 may include a
아울러, 도 2에 도시된 바와 같이, 사용자 인터페이스(200)는 상세 정보 디스플레이 영역(220)을 더 포함할 수 있다. 클라이언트 장치(150)는 상태 정보 디스플레이 영역(210) 내의 사각형 형상의 디스플레이 영역들 중 특정 디스플레이 영역 상에서 행해지는 사용자 입력(가령, 마우스 클릭 동작 또는 마우스 호버링 동작)을 검출할 수 있다. 이러한 사용자 입력의 검출에 응답하여, 클라이언트 장치(150)는 특정 디스플레이 영역에 표시된 상태를 갖는 서버 장치를 서버 장치들(180-1, 180-2, ..., 180-n) 중에서 식별할 수 있다. 특히, 클라이언트 장치(150)가 모니터링 서버 장치(130)로부터 수신하는 상태 정보는 각 서버 장치와 관련된 상세 정보를 포함할 수 있는바, 클라이언트 장치(150)는 식별된 서버 장치의 상세 정보를 상세 정보 디스플레이 영역(220)에 시각적으로 표현할 수 있다. 이러한 상세 정보는 식별된 서버 장치의 IP(Internet Protocol) 주소, 호스트 이름, 인스턴스 ID(가령, 모니터링 시스템(110)에 의해 서버 장치의 키 값으로 사용됨), CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량, 평균 로드, 접속 계정의 개수 및/또는 네트워크 접속의 개수를 나타낼 수 있다. 예를 들어, 도 2의 디스플레이 영역(220)은 특정 서버 장치의 IP 주소, 호스트 이름, CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량 및 평균 로드를 각각 나타내는 그래픽 표현들(221, 222, 223, 224, 225, 226)을 포함한다. 또한, 도 2의 디스플레이 영역(220)의 인터페이스 요소(227)를 선택하는 사용자 입력을 검출하는 것에 응답하여, 클라이언트 장치(150)는 특정 서버 장치에 접속된 계정의 개수 및/또는 특정 서버 장치와 적어도 하나의 외부 장치 간에 수립된 네트워크 접속의 개수를 상세 정보 디스플레이 영역(220)에 표현할 수 있다.In addition, as shown in FIG. 2, the
이하에서는 모니터링되는 서버 장치들(180-1, 180-2, ..., 180-n), 모니터링 서버 장치(130) 및 클라이언트 장치(150)의 예시적인 구현 및 동작을 더욱 상세히 논의한다.Exemplary implementations and operations of the monitored server devices 180-1, 180-2, ..., 180-n, the
우선, 도 1에 도시된 바와 같이, 서버 장치들(180-1, 180-2, ..., 180-n) 각각은 모니터링 서버 장치(130)와 데이터 통신을 수행할 수 있다. 특히, 각 서버 장치는 자신의 상태를 나타내는 데이터를 모니터링 서버 장치(130)에 송신할 수 있다.First, as shown in FIG. 1, each of the server devices 180-1, 180-2, ..., and 180-n may perform data communication with the
일 예로서, 서버 장치들(180-1, 180-2, ..., 180-n) 각각에는 위와 같은 데이터 통신을 수행하도록 소프트웨어 및/또는 하드웨어로 구현된 에이전트(agent)(182)가 설치될 수 있다. 구체적으로, 에이전트(182)는 자신이 설치된 서버 장치를 모니터링하여 그 서버 장치의 상태를 나타내는 데이터를 수집할 수 있다. 가령, 에이전트(182)는 미리 설정된 주기(가령, 10초)마다 그러한 데이터를 수집할 수 있다. 또한, 에이전트(182)와 모니터링 서버 장치(130)는 상호 간의 통신 부하를 최소화하고 가능한 한 짧은 시간 안에 정보를 주고받기 위해 UDP(User Datagram Protocol)/IP 기반으로 데이터 통신을 수행할 수 있다. 특히, 에이전트(182)는 자신이 모니터링하는 서버 장치의 상태를 나타내는 데이터를 포함하는 UDP 패킷을 모니터링 서버 장치(130)에 송신할 수 있다. 이러한 데이터는 서버 장치의 IP 주소, 호스트 이름, CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량, 평균 로드, 접속 계정의 개수 및/또는 네트워크 접속의 개수를 나타낼 수 있다. 예를 들어, 각 서버 장치의 에이전트(182)는 도 4에 도시된 640 바이트의 UDP 패킷(400)을 모니터링 서버 장치(130)에 송신할 수 있다. 예시적인 UDP 패킷(400)은 다음과 같은 데이터 필드들을 포함할 수 있다.As an example, each of the server devices 180-1, 180-2, ..., 180-n is provided with an
- 해당 서버 장치의 호스트 이름, 인스턴스 ID, IP 주소 및 평균 로드를 각각 나타내는 가변 길이의 "Server_Name" 필드, 가변 길이의 "Instance_ID" 필드, 가변 길이의 "IP_addr" 필드 및 "load_avg" 필드A variable length "Server_Name" field, a variable length "Instance_ID" field, a variable length "IP_addr" field, and a "load_avg" field
- 위 4개의 필드의 길이를 각각 나타내는 4개의 1 바이트 "len" 필드 및 위 4개의 필드에 각각 바로 후속하는 4개의 "reserved" 필드(가변 길이를 가짐)- four 1-byte "len" fields each representing the length of the above four fields and four "reserved" fields (having variable lengths)
- 해당 서버 장치의 CPU 사용량 및 CPU 유휴 시간(idle time)을 각각 나타내는 8 바이트 "cpuUsage" 필드 및 8 바이트 "cpuIdle" 필드An 8-byte "cpuUsage" field and an 8-byte "cpuIdle" field each representing the CPU usage and CPU idle time of the corresponding server device
- CPU 사용량 및 CPU 유휴 시간이 측정된 시각을 나타내는 8 바이트 "timestamp" 필드 및 이에 바로 후속하는 104 바이트 "Reserved" 필드An 8-byte "timestamp" field indicating the time at which the CPU usage and CPU idle time are measured, and a 104-byte "Reserved &
이에 따라, 1개의 UDP 패킷(400)을 페이로드(payload)로 전송하면서 8 바이트의 UDP 헤더, 20 바이트의 IP 헤더 및 28 바이트의 L2(layer 2) 오버헤드가 함께 전송되는 경우에도 총 696 바이트(즉, 5568 비트)가 전송되는바, 모니터링 서버 장치(130) 측의 통신 회선이 10 Mbps를 보장하는 경우 모니터링 서버 장치(130)는 초당 1795 개의 서버 장치(즉, 10초에 17950 개의 서버 장치)의 상태에 관한 데이터를 수집할 수 있다.Accordingly, even when one
예시적인 실시예에 따르면, 에이전트(182)는 도 5에 도시된 통신 과정(500)을 수행할 수 있다.According to an exemplary embodiment, the
예시적인 통신 과정(500)은 시작 동작 후, 동작(S510)으로 진행된다.After the start operation, the
동작(S510)에서, 에이전트(182)는 자신을 초기화한다.In operation S510, the
동작(S520)에서, 에이전트(182)는 UDP 소켓을 생성한다. 동작(S530)에서, 에이전트(182)는 해당 서버 장치의 상태에 관한 데이터를 수집한다.In operation S520, the
동작(S540)에서, 에이전트(182)는 생성된 UDP 소켓을 이용하여 모니터링 서버 장치(130)로 수집된 데이터를 전송한다.In operation S540, the
동작(S550)에서, 에이전트(182)는 미리 설정된 주기(가령, 10초) 동안 대기한다. 이어서, 에이전트(182)는 동작들(S530, S540, S550)을 반복한다.In operation S550, the
이와 같이, 적절히 주기를 설정하여 서버 장치들(180-1, 180-2, ..., 180-n)과 모니터링 서버 장치(130)에 불필요하게 많은 부하가 발생하는 것을 방지할 수 있다.Thus, it is possible to prevent unnecessarily large loads from occurring in the server apparatuses 180-1, 180-2, ..., 180-n and the
한편, 도 1에 도시된 바와 같이, 모니터링 서버 장치(130)와 클라이언트 장치(150)는 HTTP(HyperText Transfer Protocol)을 기반으로 데이터 통신을 수행할 수 있다. 이에 따라, 모니터링 서버 장치(130)는 적어도 하나의 웹페이지를 포함하는 웹사이트를 호스팅하는 웹 서버를 포함할 수 있다. 예를 들어, 웹페이지를 액세스하기 위한 사용자 인터페이스를 제공하는 웹 브라우저 프로그램이 클라이언트 장치(150)에 설치된 경우, 클라이언트 장치(150)의 사용자는 모니터링 서버 장치(130)의 웹사이트 또는 웹페이지의 어드레스 내지 URL(Uniform Resource Locator)을 입력할 수 있다. 그러한 사용자 입력에 응답하여, 클라이언트 장치(150)는 모니터링 서버 장치(130)에 웹사이트 또는 웹페이지를 요청할 수 있다. 그러한 요청에 응답하여, 모니터링 서버 장치(130)는 특정 웹페이지를 제공할 수 있다. 이러한 웹페이지는 HTML(HyperText Markup Language)를 사용할 수 있다(가령, HTML5 기반 웹페이지). 이어서, 클라이언트 장치(150)는 모니터링 서버 장치(130)로부터 제공되는 웹페이지를 사용자 인터페이스 상에 표현할 수 있다.1, the
예시적인 실시예에 따르면, 모니터링 서버 장치(130)는 도 6에 도시된 통신 과정(600)을 수행할 수 있다.According to an exemplary embodiment, the
예시적인 통신 과정(600)은 시작 동작 후, 동작(S605)으로 진행된다.After the start operation, the
동작(S605)에서, 모니터링 서버 장치(130)는 자신을 초기화한다.In operation S605, the
동작(S610)에서, 모니터링 서버 장치(130)는 서버 장치들(180-1, 180-2, ..., 180-n)과 상호작용하기 위한 UDP 소켓 및 클라이언트 장치(150)과 상호작용하기 위한 서버 소켓(가령, TCP(Transmission Control Protocol)/IP 메시지를 처리하기 위한 소켓)을 생성한다.In operation S610, the
동작(S615)에서, 모니터링 서버 장치(130)는 데이터를 수신할 때까지 대기한다.In operation S615, the
동작(S620)에서, 모니터링 서버 장치(130)는 UDP 소켓의 포트에 데이터가 도착했는지 아니면 서버 소켓의 포트에 데이터가 도착했는지 판정한다. UDP 기반의 데이터가 수신되었다고 동작(S620)에서 판정된 경우(즉, 서버 장치들(180-1, 180-2, ..., 180-n) 중 하나로부터 데이터가 수신된 경우)에는 통신 과정(600)이 동작(S625)으로 진행되고, 그렇지 않은 경우(즉, 클라이언트 장치(150)로부터 데이터가 수신된 경우)에는 통신 과정(600)이 동작(S635)으로 진행된다.In operation S620, the
동작(S625)에서, 모니터링 서버 장치(130)는 수신된 UDP 패킷로부터 모니터링되는 특정 서버 장치의 상태에 관한 데이터를 추출한다.In operation S625, the
동작(S630)에서, 모니터링 서버 장치(130)는 추출된 데이터를 저장한다.In operation S630, the
한편, 동작(S635)에서, 모니터링 서버 장치(130)는 모니터링되는 서버 장치들(180-1, 180-2, ..., 180-n)에 관한 상태 정보를 표현하는 특정 웹페이지를 클라이언트 장치(150)가 요청하는지 판정한다. 그러한 특정 웹페이지가 요청되었다고 동작(S635)에서 판정된 경우에는 통신 과정이 동작(S640)으로 진행되고, 그렇지 않은 경우에는 통신 과정(600)이 동작(S650)으로 진행된다.On the other hand, in operation S635, the
동작(S640)에서, 모니터링 서버 장치(130)는 저장된 데이터를 이용하여 서버 장치들(180-1, 180-2, ..., 180-n)에 관한 상태 정보를 생성한다. 예를 들어, 모니터링 서버 장치(130)는 JSON(JavaScript Object Notation) 포맷으로 상태 정보를 생성할 수 있다.In operation S640, the
동작(S645)에서, 모니터링 서버 장치(130)는 생성된 상태 정보를 포함하는 웹페이지를 클라이언트 장치(150)에 전송한다.In operation S645, the
한편, 동작(S650)에서, 모니터링 서버 장치(130)는 클라이언트 장치(150)의 요청에 따라 다른 웹페이지(가령, 모니터링 서버 장치(130)가 호스팅하는 웹사이트의 메인 웹페이지)를 클라이언트 장치(150)에 제공한다.In operation S650, the
이하에서는 클라이언트 장치(150)에서 서버 장치들(180-1, 180-2, ..., 180-n)을 모니터링하기 위한 동작들을 구체적으로 설명한다.Hereinafter, operations for monitoring the server devices 180-1, 180-2, ..., 180-n in the client device 150 will be described in detail.
예시적인 실시예에 따르면, 클라이언트 장치(150)에는 도 7에 도시된 시스템 모니터링 장치(700)가 포함되거나 구현될 수 있다. 예시적인 시스템 모니터링 장치(700)는 도 8에 도시된 시스템 모니터링 과정(800)을 수행할 수 있다. 설명의 편의를 위해 서버 장치들(180-1, 180-2, ..., 180-n)이 모니터링 대상 시스템으로서 예시되나, 앞서 언급된 바와 같이 다른 유형의 컴퓨터 시스템들이 시스템 모니터링 장치(700)에 의해 모니터링될 수 있다.According to an exemplary embodiment, the client device 150 may include or be implemented with the
도 7에 도시된 바와 같이, 시스템 모니터링 장치(700)는 상태 식별부(710), 상태 표시부(720) 및 인터페이스부(730)를 포함한다. 시스템 모니터링 장치(700)의 위 모듈들 각각은 하드웨어로 구현될 수 있다. 예컨대, 이러한 하드웨어는 프로세서, 프로세서에 의해 액세스 가능한 컴퓨터 판독 가능 저장 매체(가령, 휘발성 메모리, 비휘발성 메모리 및/또는 스토리지 장치), 입력 장치(가령, 마우스와 같은 포인팅 장치, 키보드, 터치 감지 입력 장치, 마이크와 같은 음성 입력 장치), 출력 장치(가령, 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드) 및/또는 적어도 하나의 외부 장치, 입력 장치 및/또는 출력 장치와의 통신을 지원하는 인터페이스 장치를 포함할 수 있다.7, the
이제 도 7 및 도 8을 참조하여, 시스템 모니터링 장치(700)의 각 모듈에 관해 더욱 상세히 설명한다.With reference now to Figures 7 and 8, each module of the
시스템 모니터링 장치(700)의 초기화 동작(S810) 이후, 상태 식별부(710)는 서버 장치들(180-1, 180-2, ..., 180-n)에 관한 상태 정보를 모니터링 서버 장치(130)에 요청할 수 있다(S820). 예를 들어, 상태 식별부(710)는 Ajax(asynchronous Javascript + XML) 기술을 이용하여 모니터링 서버 장치(130)에 상태 정보를 포함하는 리소스를 요청할 수 있다.After the initialization operation (S810) of the
이어서, 상태 식별부(710)는 모니터링 서버 장치(130)로부터 상태 정보를 수신할 수 있다(S830). 예를 들어, 모니터링 서버 장치(130)는 JSON 포맷으로 가공된 상태 정보를 상태 식별부(710)에 전송할 수 있다.Then, the
상태 식별부(710)는 수신된 상태 정보를 이용하여 각 서버 장치의 상태를 식별할 수 있다(S840). 예를 들어, 상태 식별부(710)는 상태 정보를 분석하여 각 서버 장치의 상태를 미리 설정된 등급들 중 한 등급에 대응하는 것으로 식별할 수 있다.The
상태 표시부(720)는 서버 장치의 식별된 상태를 그 서버 장치에 대응하는 디스플레이 영역에 표시할 수 있다. 이 디스플레이 영역은 서버 장치들(180-1, 180-2, ..., 180-n)에 각각 대응하는 복수의 구분된 디스플레이 영역(가령, 도 2의 사용자 인터페이스(200)의 상태 정보 디스플레이 영역(210) 내의 사각형 형상의 디스플레이 영역들) 중의 하나일 수 있다. 또한, 식별된 상태가 여러 등급들 중 한 등급에 대응하는 것으로 식별된 경우, 상태 표시부(720)는 식별된 상태를 대응하는 디스플레이 영역에 그 등급에 대응하는 외양(가령, 그 등급에 고유한 색상, 텍스처, 크기 및/또는 형상)으로 표시할 수 있다. 이와 같이, 상태 표시부(720)는 식별된 상태를 대응하는 디스플레이 영역에 표시하여 복수의 구분된 디스플레이 영역을 디스플레이할 수 있다(S850). 복수의 구분된 디스플레이 영역은 이격된 형상들(가령, 일정 간격으로 이격된 동일한 사각형 형상들)의 2차원 어레이로 디스플레이될 수 있다. 특히, 상태 표시부(720)는 상태 정보의 수신에 응답하여 복수의 구분된 디스플레이 영역을 한 화면에 표현할 수 있다.The
이어서, 미리 설정된 주기(가령, 10초) 동안의 대기 동작(S860) 이후, 시스템 모니터링 장치(700)는 동작들(S840, S850, S860, S870)을 반복할 수 있다. 이에 따라, 상태 식별부(710)는 미리 설정된 주기마다 모니터링 서버 장치(130)로부터 상태 정보를 수신할 수 있고, 상태 표시부(720)는 미리 설정된 주기마다 복수의 구분된 디스플레이 영역이 표현된 화면을 갱신할 수 있다.Subsequently, the
한편, 인터페이스부(730)는 시스템 모니터링 장치(700)의 사용자가 행하는 입력을 검출할 수 있다. 사용자 입력의 전형적인 예들은 사용자가 입력 장치를 이용하여 취할 수 있는 다양한 타입의 동작들(가령, 손가락 및/또는 스타일러스 펜을 이용하여 터치 스크린과 같은 터치 감지(touch-sensitive) 입력 장치 상에서 행하는 슬라이딩(sliding), 핀치(pinch), 탭(tap), 더블 탭(double tap), 드래그(drag) 등의 동작들, 마우스와 같은 포인팅 장치를 이용한 클릭, 호버링 및 드래그 앤 드롭(drag and drop) 등의 동작들, 그리고 키보드를 이용하여 텍스트를 기입하는 것과 하나의 키 또는 둘 이상의 키의 조합을 누르는 것 등의 동작들)을 포함한다.On the other hand, the
일 예로서, 시스템 모니터링 장치(700)에 의해 모니터링되는 각 서버 장치의 상태는 그 서버 장치의 모니터링 메트릭들(가령, CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량 및 평균 로드 중 적어도 일부) 중에서 선택된 메트릭을 포함할 수 있다. 인터페이스부(730)는 그러한 모니터링 메트릭들 중 하나를 선택하기 위한 사용자 입력을 검출할 수 있다. 이러한 사용자 입력의 검출에 응답하여, 선택된 모니터링 메트릭에 대해, 상태 식별부(710)는 그 서버 장치의 상태의 식별을 반복할 수 있고, 상태 표시부(720)는 식별된 상태의 디스플레이를 반복할 수 있다.As an example, the status of each server device monitored by the
다른 예로서, 인터페이스부(730)는 화면에 표현된 복수의 구분된 디스플레이 영역 중 특정 디스플레이 영역에 대한 사용자 입력을 검출할 수 있다. 이러한 사용자 입력의 검출에 응답하여, 상태 식별부(710)는 서버 장치들(180-1, 180-2, ..., 180-n) 중에서 특정 디스플레이 영역에 표시된 상태를 갖는 서버 장치를 식별할 수 있고, 상태 표시부(720)는 식별된 서버 장치와 관련된 상세 정보를 화면에 추가적으로 표현할 수 있다. 상세 정보는 모니터링 서버 장치(130)로부터 전송되는 상태 정보에 포함될 수 있다. 이러한 상세 정보는 서버 장치의 IP 주소, 호스트 이름, CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량, 평균 로드, 접속 계정의 개수 및 네트워크 접속의 개수 중 적어도 하나를 나타낼 수 있다.As another example, the
한편, 예시적인 실시예는 본 명세서에서 기술한 과정을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 이러한 컴퓨터 판독 가능 저장 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 그 컴퓨터 판독 가능 저장 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들일 수 있다. 컴퓨터 판독 가능 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.On the other hand, exemplary embodiments may include a computer-readable storage medium including a program for performing the procedures described herein on a computer. Such computer-readable storage media may include program instructions, local data files, local data structures, etc., alone or in combination. The computer-readable storage medium may be those specially designed and constructed for the present invention. Examples of computer-readable storage media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and ROMs, And hardware devices specifically configured to store and execute the same program instructions. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, . Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.
110: 모니터링 시스템
130: 모니터링 서버 장치
150: 클라이언트 장치
180-1, 180-2, ..., 180-n: 서버 장치
182: 에이전트
700: 시스템 모니터링 장치
710: 상태 식별부
720: 상태 표시부
730: 인터페이스부110: Monitoring system
130: Monitoring server device
150: Client device
180-1, 180-2, ..., 180-n:
182: Agent
700: System monitoring device
710:
720: Status indicator
730:
Claims (24)
상기 복수의 대상 시스템에 각각 대응하는 이격된 형상들의 2차원 어레이(array)로 구성된 복수의 구분된 디스플레이 영역을 한 화면 상에 디스플레이하되, 상기 복수의 구분된 디스플레이 영역 중에서 상기 각 대상 시스템에 대응하는 디스플레이 영역에 상기 식별된 상태를 표시하여 상기 복수의 구분된 디스플레이 영역을 디스플레이하는 단계를 포함하는,
시스템 모니터링 방법.Identifying a status of each target system among a plurality of target systems; And
A plurality of divided display areas configured by a two-dimensional array of spaced shapes each corresponding to the plurality of target systems are displayed on one screen, and a plurality of divided display areas corresponding to the target systems Displaying the identified status in a display area to display the plurality of distinguished display areas.
How to monitor the system.
상기 식별하는 단계는 상기 상태를 미리 설정된 등급들 중 한 등급에 대응하는 것으로 식별하는 단계를 포함하고, 상기 디스플레이하는 단계는 상기 식별된 상태를 상기 등급에 대응하는 외양으로 상기 대응하는 디스플레이 영역에 표시하는 단계를 포함하는, 시스템 모니터링 방법.The method according to claim 1,
Wherein the identifying step comprises identifying the state as corresponding to one of a plurality of predetermined grades, the displaying step displaying the identified state in the corresponding display area with an appearance corresponding to the rating Said method comprising the steps of:
상기 외양은 상기 등급에 고유한 색상을 포함하는, 시스템 모니터링 방법.The method of claim 2,
Wherein the appearance comprises a color unique to the rating.
상기 식별하는 단계는 상기 복수의 대상 시스템에 관한 상태 정보를 모니터링 서버 장치에 요청하는 단계, 상기 모니터링 서버 장치로부터 상기 상태 정보를 수신하는 단계 및 상기 상태 정보를 이용하여 상기 상태를 식별하는 단계를 포함하고, 상기 디스플레이하는 단계는 상기 상태 정보의 수신에 응답하여 상기 복수의 구분된 디스플레이 영역을 한 화면에 표현하는 단계를 포함하는, 시스템 모니터링 방법.The method according to claim 1,
Wherein the identifying includes requesting the monitoring server device for status information about the plurality of target systems, receiving the status information from the monitoring server device, and identifying the status using the status information Wherein said step of displaying comprises displaying said plurality of divided display areas on one screen in response to receipt of said status information.
상기 수신하는 단계는 미리 설정된 주기마다 상기 모니터링 서버 장치로부터 상기 상태 정보를 수신하는 단계를 포함하고, 상기 표현하는 단계는 상기 미리 설정된 주기마다 상기 화면을 갱신하는 단계를 포함하는, 시스템 모니터링 방법.The method of claim 4,
Wherein the receiving comprises receiving the status information from the monitoring server device every predetermined period, and wherein the expressing step includes updating the screen at the predetermined period.
상기 화면에 표현된 상기 복수의 구분된 디스플레이 영역 중 특정 디스플레이 영역에 대한 사용자 입력을 검출하는 단계;
상기 사용자 입력의 검출에 응답하여, 상기 특정 디스플레이 영역에 표시된 상태를 갖는 특정 대상 시스템을 상기 복수의 대상 시스템 중에서 식별하는 단계; 및
상기 상태 정보에 포함되고 상기 특정 대상 시스템과 관련된 상세 정보를 상기 화면에 추가적으로 표현하는 단계를 더 포함하는, 시스템 모니터링 방법.The method of claim 4,
Detecting a user input for a specific one of the plurality of divided display areas represented on the screen;
Identifying, in response to the detection of the user input, a particular target system having a status displayed in the particular display area among the plurality of target systems; And
Further comprising presenting to the screen detailed information contained in the status information and associated with the specific target system.
상기 상세 정보는 상기 특정 대상 시스템의 IP 주소, 호스트 이름, 인스턴스 ID, CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량, 평균 로드, 접속 계정의 개수 및 네트워크 접속의 개수 중 적어도 하나를 나타내는, 시스템 모니터링 방법.The method of claim 6,
Wherein the detailed information indicates at least one of an IP address, a host name, an instance ID, a CPU usage amount, a memory usage amount, a storage disk usage amount, an average load, a number of connection accounts and a number of network connections of the specific target system.
상기 상태는 상기 각 대상 시스템의 복수의 모니터링 메트릭 중 선택된 모니터링 메트릭을 나타내고, 상기 복수의 모니터링 메트릭은 상기 각 대상 시스템의 CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량 및 평균 로드 중 적어도 일부를 포함하는, 시스템 모니터링 방법.The method according to claim 1,
Wherein the state represents at least one of a plurality of monitoring metrics of each of the target systems, and wherein the plurality of monitoring metrics comprise at least a portion of the CPU usage, memory usage, storage disk usage, How to monitor.
상기 복수의 모니터링 메트릭 중 다른 모니터링 메트릭을 선택하기 위한 사용자 입력을 검출하는 단계;
상기 사용자 입력의 검출에 응답하여, 상기 다른 모니터링 메트릭에 대해, 상기 식별하는 단계 및 상기 디스플레이하는 단계를 반복하는 단계를 더 포함하는, 시스템 모니터링 방법.The method of claim 8,
Detecting a user input for selecting another of the plurality of monitoring metrics;
And in response to detecting the user input, repeating the identifying and displaying for the other monitoring metric.
상기 복수의 대상 시스템에 각각 대응하는 이격된 형상들의 2차원 어레이(array)로 구성된 복수의 구분된 디스플레이 영역을 한 화면 상에 디스플레이하되, 상기 복수의 구분된 디스플레이 영역 중에서 상기 각 대상 시스템에 대응하는 디스플레이 영역에 상기 식별된 상태를 표시하여 상기 복수의 구분된 디스플레이 영역을 디스플레이하는 상태 표시부를 포함하는,
시스템 모니터링 장치.A state identifying unit for identifying a state of each target system among a plurality of target systems; And
A plurality of divided display areas configured by a two-dimensional array of spaced shapes each corresponding to the plurality of target systems are displayed on one screen, and a plurality of divided display areas corresponding to the target systems And a status display unit displaying the identified status in a display area to display the plurality of divided display areas.
System monitoring device.
상기 상태 식별부는 상기 상태를 미리 설정된 등급들 중 한 등급에 대응하는 것으로 식별하고, 상기 상태 표시부는 상기 식별된 상태를 상기 등급에 대응하는 외양으로 상기 디스플레이 영역에 표시하는, 시스템 모니터링 장치.The method of claim 11,
Wherein the status identifying unit identifies the status as corresponding to one of the predetermined grades, and the status display unit displays the identified status as an appearance corresponding to the rating in the display area.
상기 외양은 상기 등급에 고유한 색상을 포함하는, 시스템 모니터링 장치.The method of claim 12,
Wherein the appearance comprises a color unique to the rating.
상기 상태 식별부는 상기 복수의 대상 시스템에 관한 상태 정보를 모니터링 서버 장치에 요청하고 상기 모니터링 서버 장치로부터 상기 상태 정보를 수신하며 상기 상태 정보를 이용하여 상기 상태를 식별하고, 상기 상태 표시부는 상기 상태 정보의 수신에 응답하여 상기 복수의 구분된 디스플레이 영역을 한 화면에 표현하는, 시스템 모니터링 장치.The method of claim 11,
Wherein the status identifying unit requests status information on the plurality of target systems from the monitoring server apparatus, receives the status information from the monitoring server apparatus, identifies the status using the status information, And displays said plurality of divided display areas in one screen in response to reception of said plurality of divided display areas.
상기 상태 식별부는 미리 설정된 주기마다 상기 모니터링 서버 장치로부터 상기 상태 정보를 수신하고, 상기 상태 표시부는 상기 미리 설정된 주기마다 상기 화면을 갱신하는, 시스템 모니터링 장치.15. The method of claim 14,
Wherein the status identifying unit receives the status information from the monitoring server apparatus every predetermined period, and the status display unit updates the screen every predetermined period.
상기 화면에 표현된 상기 복수의 구분된 디스플레이 영역 중 특정 디스플레이 영역에 대한 사용자 입력을 검출하는 인터페이스부를 더 포함하고,
상기 상태 식별부는 또한, 상기 사용자 입력의 검출에 응답하여, 상기 특정 디스플레이 영역에 표시된 상태를 갖는 특정 대상 시스템을 상기 복수의 대상 시스템 중에서 식별하며,
상기 상태 표시부는 또한, 상기 상태 정보에 포함되고 상기 특정 대상 시스템에 관련된 상세 정보를 상기 화면에 추가적으로 표현하는, 시스템 모니터링 장치.15. The method of claim 14,
Further comprising an interface unit for detecting a user input to a specific one of the plurality of divided display areas displayed on the screen,
Wherein the status identifying unit further identifies, in response to the detection of the user input, a specific target system having the status displayed in the specific display area among the plurality of target systems,
Wherein the status display unit further displays detailed information included in the status information and related to the specific target system on the screen.
상기 상세 정보는 상기 특정 대상 시스템의 IP 주소, 호스트 이름, 인스턴스 ID, CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량, 평균 로드, 접속 계정의 개수 및 네트워크 접속의 개수 중 적어도 하나를 나타내는, 시스템 모니터링 장치.18. The method of claim 16,
Wherein the detailed information indicates at least one of an IP address, a host name, an instance ID, a CPU usage, a memory usage, a storage disk usage, an average load, a number of connection accounts, and a number of network connections of the specific target system.
상기 상태는 상기 각 대상 시스템의 복수의 모니터링 메트릭 중 선택된 모니터링 메트릭을 나타내고, 상기 복수의 모니터링 메트릭은 상기 각 대상 시스템의 CPU, 메모리, 스토리지 디스크 및 평균 로드 중 적어도 일부를 포함하는, 시스템 모니터링 장치.The method of claim 11,
Wherein the status indicates a selected one of the plurality of monitoring metrics of the target system and the plurality of monitoring metrics includes at least a portion of the CPU, memory, storage disk and average load of each of the target systems.
상기 복수의 모니터링 메트릭 중 다른 모니터링 메트릭을 선택하기 위한 사용자 입력을 검출하는 인터페이스부를 더 포함하고,
상기 사용자 입력의 검출에 응답하여, 상기 다른 모니터링 메트릭에 대해, 상기 상태 식별부는 또한 상기 상태의 식별을 반복하고 상기 상태 표시부는 또한 상기 복수의 구분된 디스플레이 영역의 디스플레이를 반복하는, 시스템 모니터링 장치.19. The method of claim 18,
Further comprising an interface for detecting a user input for selecting another of the plurality of monitoring metrics,
Responsive to the detection of the user input, for the other monitoring metric, the state identifier also repeats identification of the state and the status indicator also repeats the display of the plurality of distinct display areas.
상기 복수의 대상 시스템 중 각 대상 시스템의 상태를 나타내는 데이터를 수집하여 상기 복수의 대상 시스템에 관한 상태 정보를 생성하는 모니터링 서버 장치; 및
상기 모니터링 서버 장치로부터 상기 상태 정보를 획득하여 상기 상태를 식별하고, 상기 복수의 대상 시스템에 각각 대응하는 이격된 형상들의 2차원 어레이(array)로 구성된 복수의 구분된 디스플레이 영역을 한 화면 상에 디스플레이하되, 상기 복수의 구분된 디스플레이 영역 중에서 상기 각 대상 시스템에 대응하는 디스플레이 영역에 상기 식별된 상태를 표시하여 상기 복수의 구분된 디스플레이 영역을 디스플레이하는 클라이언트 장치를 포함하는, 모니터링 시스템.A system for monitoring a plurality of target systems,
A monitoring server device for collecting data representing a status of each target system among the plurality of target systems and generating status information about the plurality of target systems; And
A plurality of divided display areas configured by a two-dimensional array of spaced shapes corresponding to the plurality of target systems are displayed on one screen by acquiring the status information from the monitoring server device, And a client device for displaying the plurality of divided display areas by displaying the identified status in a display area corresponding to each of the plurality of divided display areas.
상기 모니터링 서버 장치는 상기 데이터를 포함하는 UDP(User Datagram Protocol) 패킷을 상기 각 대상 시스템으로부터 수신하고, 상기 클라이언트 장치는 HTTP(HyperText Transfer Protocol)을 기반으로 상기 모니터링 서버 장치에 상기 상태 정보를 요청하여 상기 모니터링 서버 장치로부터 상기 상태 정보를 수신하는, 모니터링 시스템.23. The method of claim 21,
The monitoring server apparatus receives a User Datagram Protocol (UDP) packet including the data from each of the target systems, and the client apparatus requests the monitoring server apparatus for the status information based on HyperText Transfer Protocol (HTTP) And receives the status information from the monitoring server device.
상기 데이터는 상기 각 대상 시스템의 IP 주소, 호스트 이름, 인스턴스 ID, CPU 사용량, 메모리 사용량, 스토리지 디스크 사용량, 평균 로드, 접속 계정의 개수 및 네트워크 접속의 개수 중 적어도 하나를 나타내고, 상기 모니터링 서버 장치는 상기 클라이언트 장치의 요청에 따라 상기 데이터를 이용하여 상기 상태 정보를 JSON(JavaScript Object Notation) 포맷으로 생성하고 상기 상태 정보를 상기 클라이언트 장치에 전송하는, 모니터링 시스템.23. The method of claim 21,
Wherein the data indicates at least one of an IP address, a host name, an instance ID, a CPU usage amount, a memory usage amount, a storage disk usage amount, an average load, a number of connection accounts and a number of network connections of each target system, Wherein the status information is generated in a JSON (JavaScript Object Notation) format using the data at the request of the client device, and the status information is transmitted to the client device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140147600A KR101586587B1 (en) | 2014-10-28 | 2014-10-28 | Method and apparatus for system monitoring |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140147600A KR101586587B1 (en) | 2014-10-28 | 2014-10-28 | Method and apparatus for system monitoring |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101586587B1 true KR101586587B1 (en) | 2016-01-18 |
Family
ID=55305884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140147600A KR101586587B1 (en) | 2014-10-28 | 2014-10-28 | Method and apparatus for system monitoring |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101586587B1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190021848A (en) * | 2017-08-24 | 2019-03-06 | 삼성에스디에스 주식회사 | Method for monitoring server, apparatus and system for executing the method |
KR102097789B1 (en) * | 2019-01-07 | 2020-04-06 | 성진계장 주식회사 | Terminal for remote managing in building facility |
CN113342620A (en) * | 2021-07-07 | 2021-09-03 | 安徽容知日新科技股份有限公司 | Equipment monitoring system and equipment monitoring method |
KR20220082223A (en) * | 2020-12-10 | 2022-06-17 | 주식회사 플랜정보기술 | Method for displaying diagnostic defect in bigdata storage platform |
KR102716392B1 (en) * | 2024-02-28 | 2024-10-15 | 주식회사 비이랩 | Web log analysis solution system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070084776A (en) * | 2006-02-21 | 2007-08-27 | 삼성전자주식회사 | Apparatus and method of management information monitoring in network system |
KR101259324B1 (en) * | 2011-12-06 | 2013-05-06 | 안병찬 | Mobile terminal and apparatus for managing server and method for managing server |
-
2014
- 2014-10-28 KR KR1020140147600A patent/KR101586587B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070084776A (en) * | 2006-02-21 | 2007-08-27 | 삼성전자주식회사 | Apparatus and method of management information monitoring in network system |
KR101259324B1 (en) * | 2011-12-06 | 2013-05-06 | 안병찬 | Mobile terminal and apparatus for managing server and method for managing server |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190021848A (en) * | 2017-08-24 | 2019-03-06 | 삼성에스디에스 주식회사 | Method for monitoring server, apparatus and system for executing the method |
KR102354058B1 (en) | 2017-08-24 | 2022-01-20 | 삼성에스디에스 주식회사 | Method for monitoring server, apparatus and system for executing the method |
KR102097789B1 (en) * | 2019-01-07 | 2020-04-06 | 성진계장 주식회사 | Terminal for remote managing in building facility |
KR20220082223A (en) * | 2020-12-10 | 2022-06-17 | 주식회사 플랜정보기술 | Method for displaying diagnostic defect in bigdata storage platform |
KR102466221B1 (en) | 2020-12-10 | 2022-11-14 | 주식회사 플랜정보기술 | Method for displaying diagnostic defect in bigdata storage platform |
CN113342620A (en) * | 2021-07-07 | 2021-09-03 | 安徽容知日新科技股份有限公司 | Equipment monitoring system and equipment monitoring method |
CN113342620B (en) * | 2021-07-07 | 2023-12-05 | 安徽容知日新科技股份有限公司 | Equipment monitoring system and equipment monitoring method |
KR102716392B1 (en) * | 2024-02-28 | 2024-10-15 | 주식회사 비이랩 | Web log analysis solution system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6526907B2 (en) | Performance monitoring of distributed storage systems | |
CN106027328B (en) | Cluster monitoring method and system based on application container deployment | |
KR101586587B1 (en) | Method and apparatus for system monitoring | |
JP5976210B2 (en) | Monitoring system, facility management apparatus, monitoring method and program | |
JP7255636B2 (en) | Terminal management device, terminal management method, and program | |
CN105024913B (en) | Method, device and system for carrying out instant messaging session | |
US20190116195A1 (en) | Detecting remote application profiling | |
RU2638001C1 (en) | System and method of antivirus server productivity reserve part isolation for anti-virus scanning of web-page | |
US20170126580A1 (en) | Tracking Contention in a Distributed Business Transaction | |
US20180005152A1 (en) | Technologies for correlation based data selection | |
US20170147483A1 (en) | Tracking asynchronous entry points for an application | |
CN112491974B (en) | Remote browsing method, device, storage medium, terminal equipment and server | |
US20170034030A1 (en) | Monitoring single content page application transitions | |
KR101686703B1 (en) | Personalized smart energy saving system using network flow monitoring | |
JP7120310B2 (en) | COMMUNICATION ANALYSIS DEVICE, COMMUNICATION ANALYSIS METHOD, AND PROGRAM | |
JP4952531B2 (en) | Recording apparatus, recording program, and recording method | |
CN116523699A (en) | Evidence obtaining method, device, equipment and storage medium | |
JP2011138202A (en) | Server device, server load distribution device, server load distribution method, and program | |
JP2017102847A (en) | Information processing system, relay device, method, and program | |
US20150222505A1 (en) | Business transaction resource usage tracking | |
KR20190070630A (en) | Server topology generation method | |
CN111338882A (en) | Data monitoring method, device, medium and electronic equipment | |
US11431591B2 (en) | Systems and methods for presenting workspace experience indicator on user interface | |
KR100969733B1 (en) | System and method for displaying automatic flow process | |
JP4093215B2 (en) | Memory management system and network system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190102 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20191226 Year of fee payment: 5 |