KR20060059726A - Apparatus and method for storing system log - Google Patents
Apparatus and method for storing system log Download PDFInfo
- Publication number
- KR20060059726A KR20060059726A KR1020040098882A KR20040098882A KR20060059726A KR 20060059726 A KR20060059726 A KR 20060059726A KR 1020040098882 A KR1020040098882 A KR 1020040098882A KR 20040098882 A KR20040098882 A KR 20040098882A KR 20060059726 A KR20060059726 A KR 20060059726A
- Authority
- KR
- South Korea
- Prior art keywords
- log
- buffer
- storing
- daemon
- storage
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은, 시스템 운영 중 문제가 발생하였을 때 문제 해결에 큰 도움이 될 수 있는 로그의 저장을 원활하게 하도록 하는 시스템 로그 저장 장치 및 그 방법에 관한 것으로, 본 발명의 일 측면에 따른 시스템 로그 저장 장치는, 상기 시스템에 장애 발생 시에도 출력되는 시스템 로그를 상기 시스템 운영 영역에서 일시적으로 저장하였다가, 장애 복구 후 사용할 수 있도록 로그를 관리하는 로그 관리부와 상기 로그 관리부의 구동을 개시하거나 정지하도록 제어하는 로그 에이전트를 포함한다.
The present invention relates to a system log storage device and a method for smoothly storing a log that can be a great help in troubleshooting when a problem occurs during system operation. The system log storage according to an aspect of the present invention. The apparatus controls to start or stop the operation of the log management unit and the log management unit which manages the logs so that they can be temporarily stored in the system operation area and used after a failure recovery. It includes a log agent.
Description
도 1은 일반적인 임베디드 시스템의 로그 저장을 위한 블록 구성을 나타낸 도면. 1 is a block diagram for log storage of a typical embedded system.
도 2는 종래 기술에 따른 임베디드 시스템의 로그 저장 순서를 나타낸 도면.2 is a view showing a log storage order of the embedded system according to the prior art.
도 3은 본 발명이 적용되는 임베디드 시스템의 전체 블록 구성을 나타낸 도면.3 is a block diagram showing the overall block configuration of the embedded system to which the present invention is applied.
도 4는 본 발명에 따른 임베디드 시스템의 로그 저장 흐름을 나타낸 도면.4 is a view showing a log storage flow of the embedded system according to the present invention.
도 5는 본 발명에 따른 로그 버퍼의 구조를 나타낸 도면.
5 illustrates the structure of a log buffer according to the present invention.
*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
110 : 로그 출력부 120 : 로그 데몬 110: log output unit 120: log daemon
130 : 로그 저장부 310 : 로그 관리부 130: log storage unit 310: log management unit
311 : 로그 버퍼 320 : 로그 에이전트
311: log buffer 320: log agent
본 발명은 임베디드 시스템의 개발 및 운용에 있어 발생하는 문제의 디버깅을 원활하게 하기 위한 장치 및 그 방법에 관한 것으로, 보다 구체적으로는 시스템 운영 중 문제가 발생하였을 때 문제 해결에 큰 도움이 될 수 있는 로그의 저장을 원활하게 하도록 하는 시스템 로그 저장 장치 및 그 방법에 관한 것이다.
The present invention relates to an apparatus and method for facilitating debugging of problems occurring in the development and operation of an embedded system, and more particularly, can be a great help in solving problems when problems occur during system operation. It relates to a system log storage device and a method for facilitating the storage of logs.
임베디드(Embedded) 시스템이란 프로세서들이 들어가서 동작하는 제어 시스템을 일컫는다. 보통 마이크로프로세서의 크기나 성능에 관계없이 마이크로프로세서가 삽입된(embedded) 시스템을 총칭하긴 하지만, 일반적으로 32 비트 이하의 마이크로프로세서를 사용한 시스템으로 그 범위를 한정한다. 보통 임베디드 시스템의 경우 전체 시스템 가격이나 소비전력을 낮추기 위해 시스템에 많은 제한을 가하는 특성이 있다. 그리고 범용 운영체제를 사용하기보다는 특화된 실시간 운영체제를 사용하거나 혹은 운영 체제 없이 모니터 프로그램에 의해 로드돼 필요한 기능만을 수행하는 단일 프로그램으로 소프트웨어가 구성된다. An embedded system is a control system in which processors enter and operate. Although generally referred to as a system in which a microprocessor is embedded regardless of the size or performance of the microprocessor, the system is generally limited to a system using a microprocessor of 32 bits or less. In general, embedded systems have a lot of restrictions on the system in order to lower the overall system price or power consumption. And rather than using a general-purpose operating system, the software consists of a single program that uses a specialized real-time operating system or loads a monitor program without an operating system and performs only the necessary functions.
일반적으로 임베디드 시스템은 대량으로 양산되는 가전 제품류와 소량 제작되는 제어 보드 군으로 크게 나눌 수 있다. 양산되는 시스템 프로그램은 제품 제작에 들어가기 전 많은 테스트를 거치게 된다. 즉 제품 출시 후에 문제가 발생해 회수하는 일이 없도록 안정적인 동작에 중점을 둔다. 또한 많은 시스템이 복잡한 사용자 인터페이스보다는 간단하게 LED 몇 개와 액정 디스플레이로 상태를 표시한다. In general, embedded systems can be broadly divided into mass-produced consumer electronics and small-scale control boards. Production system programs go through a number of tests before they go into production. In other words, it focuses on stable operation so that problems do not occur after product launch and recovery. In addition, many systems simply display status with a few LEDs and a liquid crystal display rather than a complicated user interface.
이러한 임베디드 시스템에서 로그를 얻는 방법은 대개 터미널로 출력된 화면을 보거나 또는 로그 데몬(Log Demon)을 통해 저장된 파일을 읽는 방법이 있다. In such an embedded system, a method of obtaining a log usually includes viewing a screen output to a terminal or reading a stored file through a log daemon.
터미널로 출력되는 메시지는 보통 RS-232C를 이용한 시리얼 통신을 통해 입력 및 출력된다. 이 경우 일반 서비스를 위한 어플리케이션이나 시스템의 동작에 관한 드라이버 등 시스템 운영 중에 발생하는 모든 로그 메시지를 디스플레이 하게 되는데, 이 로그를 통해 디버깅(Debugging)하는 데 필요한 거의 모든 정보를 얻을 수 있다. Messages output to the terminal are normally input and output via serial communication using RS-232C. In this case, all log messages that occur during system operation, such as an application for general services or a driver for the operation of the system, are displayed. Through this log, you can get almost all the information necessary for debugging.
로그 데몬을 통해 저장된 파일을 읽는 방법은 설정 방법에 따라 서비스 중에 발생하는 에러 로그만을 저장하는 방법에서부터 시스템 동작 중의 사소한 단순 정보까지 모두 저장하는 방법까지 다양하게 변경이 가능하다. 시스템 운영 중에 발생하는 로그의 양은 매우 방대하기 때문에 저장 공간이 부족한 임베디드 시스템에서는 로그 데몬의 설정 방법에 따라 필요한 로그만을 저장하여 공간을 효율적으로 사용하는 것이 가능하다. 또한 출력 내용이 언제, 누구에 의해 출력되는지와 같은 부가 정보가 함께 저장되어, 디버깅하는 데 필요한 많은 정보를 얻을 수 있다. The method of reading the saved file through the log daemon can be changed in various ways, from storing only the error log generated during the service to saving all the simple information during operation. Since the amount of logs generated during system operation is very large, it is possible to use the space efficiently by storing only the necessary logs according to the log daemon configuration method in the embedded system which has insufficient storage space. In addition, additional information, such as when and by whom the output is printed, is also stored, giving you a lot of information for debugging.
상술한 방식 중 터미널로 출력되는 로그는 필요한 모든 정보를 출력하지만 항상 RS-232C 케이블을 연결하여 터미널을 열어두어야 한다는 제약사항이 있다. 실제로 운영 중에 있는 모든 장비들에 케이블을 연결하여 터미널을 열어 두고 사용하기에는 자원의 한계가 있으며, 모든 로그를 출력함에 따른 방대한 양의 인쇄 용지 사용으로 잦은 급지의 필요성 또한 번거로운 일이 아닐 수 없다. Among the above methods, the log output to the terminal outputs all necessary information, but there is a limitation that the terminal must be opened by always connecting the RS-232C cable. In fact, there is a limit of resources to use the terminal with the cable open to all the equipment in operation, and the necessity of frequent feeding due to the huge amount of printing paper used to print all the logs is also cumbersome.
또 다른 방법인 로그 데몬을 통한 로그는 시간, 로그 출력 대상 등 유용한 부가 정보들을 제공하지만 입력 값을 저장하지 않는다는 단점이 있다. 그러나 무엇보다도 심각한 단점은 잘못된 알고리즘 또는 개발상의 실수로 인해 예기치 못하게 서비스 불능 상태에 빠지게 되면 운영 체계는 스택 정보 및 레지스터 정보 등을 모두 터미널로 출력하고 아무런 동작도 하지 않게 된다. 이 때 로그 데몬이 실행되지 못하면 출력한 로그를 저장할 수 없다는 문제가 발생한다.
Logging through the log daemon, which is another method, provides useful additional information such as time and log output target, but does not store input values. However, the most serious disadvantage is that if an unexpected algorithm becomes out of service due to a wrong algorithm or a development mistake, the operating system outputs all stack information and register information to the terminal and does nothing. At this time, if the log daemon fails to run, the output log cannot be saved.
도 1은 일반적인 임베디드 시스템의 로그 저장을 위한 블록 구성을 나타내고 있다. 1 shows a block configuration for log storage of a typical embedded system.
임베디드 시스템은 크게 서비스 영역과 시스템 운영 영역으로 나뉘는데, 로그 출력부(110)와 로그 저장부(130)는 시스템 운영 영역에 위치하는 반면, 로그 데몬(120)은 서비스 영역에 위치한다.The embedded system is largely divided into a service area and a system operation area. The
로그 출력부(110)는 터미널 화면에 출력하는 내용을 로그 데몬(120)으로 전달하는 역할을 한다. The
로그 데몬(120)은 관리자가 설정한 정책에 따라 필터링 하여 로그를 저장하고, 저장과 동시에 저장 시각과 해당 로그를 발생시킨 주체를 함께 표기한다. 로그 데몬(120)은 정해진 주기마다 로그 저장부(130)에 접근하여 추가된 로그를 저장한다. The
로그 저장부(130)는 로그 데몬에 의해 필터링 된 로그 및 해당 로그 정보를 저장하는 영역이다.
The
도 2는 종래 기술에 따른 임베디드 시스템의 로그 저장 순서를 나타낸다. Figure 2 shows the log storage order of the embedded system according to the prior art.
임베디드 시스템이 동작하면서 시스템 로그를 생성하고 로그 메시지를 출력하면(S21), 로그 출력부(110)에서 터미널로 로그 메시지를 출력한다(S22). 로그 출력부(110)에서 로그 데몬(120)에게 로그 메시지를 전송하면, 로그 데몬(120)은 수신한 메시지 중 일부를 추출하여 정해진 주기마다 로그 저장부(130)에 저장한다(S23). 로그 데몬(120)은 로그 데이터를 저장 매체에 저장하는 형태 외에도 프린터로 시스템 로그를 직접 출력하는 형태, 혹은 두 가지 모두의 형태로 로그를 저장 혹은 출력하기도 한다. When the embedded system operates and generates a system log and outputs a log message (S21), the
상기와 같은 방법을 사용하는 경우에 있어서의 문제점은, 상술한 바와 같이 예기치 못한 서비스 불능 상태에 빠지게 되는 경우 운영 체계는 스택 정보 및 레지스터 정보 등을 모두 터미널로 출력하고 아무런 동작도 하지 않게 되고, 우선 순위가 낮은 서비스 영역에 위치하는 로그 데몬이 실행되지 못하여, 출력된 로그를 저장할 수 없다는 점이다.
In the case of using the method described above, the problem is that when the system is in an unexpected outage state as described above, the operating system outputs all stack information and register information to the terminal and does nothing. The log daemon located in the lower rank service area could not be executed, so the output log could not be saved.
본 발명은 상기의 문제점을 해결하기 위해, 터미널이 연결되어 있지 않은 상태에서 문제가 발생했을 때, 출력되는 로그 메시지뿐만 아니라 입력되는 내용도 알 수 있도록 하고, 하드웨어적인 문제가 아닌 소프트웨어적인 문제로 인한 시스템 장애 등의 사유로 로그 데몬이 실행될 수 없는 상황에서, 장애가 발생한 원인을 파악할 수 있는 로그를 얻고 이를 비교적 작은 공간에 저장하는 시스템 로그 저장 장치 및 그 방법을 제공함을 그 목적으로 한다.
The present invention is to solve the above problems, when the problem occurs when the terminal is not connected, so that not only the output log message but also the input content, and not due to the hardware problem caused by software problems It is an object of the present invention to provide a system log storage device and a method for obtaining a log capable of identifying a cause of a failure and storing it in a relatively small space in a situation where a log daemon cannot be executed due to a system failure.
본 발명의 일 측면에 따른 시스템 로그 저장 장치는, 상기 시스템에 장애 발생 시에도 출력되는 시스템 로그를 상기 시스템 운영 영역에 일시적으로 저장하였다가, 장애 복구 후 사용할 수 있도록 로그를 관리하는 로그 관리부;와 상기 로그 관리부의 구동을 개시하거나 정지하도록 제어하는 로그 에이전트를 포함한다. System log storage device according to an aspect of the present invention, the log management unit for temporarily storing the system log output even when a failure occurs in the system in the system operating area, and manages the log to be used after a disaster recovery; and And a log agent controlling to start or stop driving of the log manager.
상기 시스템 로그 저장 장치는, 시스템 관리자에 의해 설정된 정책에 따라 시스템 로그를 필터링하고, 필터링 된 로그를 저장하며, 저장 시각 및 해당 로그의 발생 주체에 관한 상제 정보를 기록하는 로그 데몬과 상기 시스템이 터미널 화면에 출력하는 내용을 상기 로그 데몬으로 전달하는 로그 출력부를 더 포함할 수 있다. The system log storage device includes a log daemon for filtering the system log according to a policy set by a system administrator, storing the filtered log, and recording the storage time and details of the subject of the log generation, and the system terminal. The apparatus may further include a log output unit configured to transfer the content output on the screen to the log daemon.
상기 장치는 또한 상기 로그 관리부에서 일시적으로 관리하고 있던 로그 데이터, 그리고 상기 로그 데몬에 의해 필터링 된 시스템 로그 및 필터링 된 로그의 상세 정보를 저장하는 로그 저장부를 더 포함할 수도 있다. The apparatus may further include a log storage unit temporarily storing log data temporarily managed by the log management unit, and a system log filtered by the log daemon and detailed information of the filtered log.
상기 로그 출력부, 상기 로그 관리부 및 상기 로그 저장부는 시스템 운영 영역에 위치하고, 상기 로그 데몬과 상기 로그 에이전트는 서비스 영역에 위치하는 것을 특징으로 한다. The log output unit, the log manager and the log storage unit are located in a system operation area, and the log daemon and the log agent are located in a service area.
상기 로그 관리부는, 상기 로그 출력부로부터 수신한 로그를 일시적으로 저장하는 로그 버퍼를 포함하며, 상기 로그 버퍼는, 포인터를 이용하여 한정된 메모리 공간에 반복해서 로그를 저장하도록 하는 환형 버퍼의 형태로 구성되는 것을 특 징으로 한다. The log management unit includes a log buffer for temporarily storing the log received from the log output unit, and the log buffer is configured in the form of an annular buffer for repeatedly storing the log in a limited memory space using a pointer. It is characterized by.
한편, 상기 로그 에이전트는, 상기 로그 버퍼에서 관리하고 있는 로그를 상기 로그 저장부에 저장하거나 상기 로그 저장부에 저장되어 있는 로그를 읽어오도록 제어하는 것을 특징으로 한다.
The log agent may control to store a log managed by the log buffer in the log storage unit or to read a log stored in the log storage unit.
본 발명의 다른 측면에 따른 시스템 로그 저장 방법은, 상기 시스템에 장애 발생 시에도 출력되는 시스템 로그를 상기 시스템 운영 영역에 일시적으로 저장하는 단계와 상기 단계에서 저장된 로그 데이터를 이용하여 상기 시스템의 장애를 복구하는 단계를 포함한다. According to another aspect of the present invention, there is provided a system log storage method, comprising temporarily storing a system log, which is output even when a failure occurs in the system, in the system operating area and using the log data stored in the step to troubleshoot the system. Recovering.
상기 시스템 로그의 일시적인 저장은, 포인터를 이용하여 한정된 메모리 공간에 반복해서 로그를 저장하도록 하는 환형 버퍼의 형태로 구성되는 로그 버퍼에 저장되는 것을 특징으로 한다. The temporary storage of the system log may be stored in a log buffer configured in the form of an annular buffer for repeatedly storing the log in a limited memory space by using a pointer.
상기 저장 단계는, 상기 일시적으로 저장하였던 로그를 플래시 메모리에 영구적으로 저장하는 단계를 더 포함할 수 있다. The storing may further include permanently storing the temporarily stored log in a flash memory.
상기 로그 버퍼 또는 플래시 메모리는, 시스템 운용 영역에 위치하는 것을 특징으로 한다.
The log buffer or flash memory may be located in a system operation area.
이하, 본 발명에 따른 바람직한 실시예를 도면을 살펴보면서 구체적으로 설명하기로 한다.
Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the drawings.
도 3은 본 발명이 적용되는 임베디드 시스템의 전체 블록 구성을 나타내고 있다. 3 shows an overall block configuration of an embedded system to which the present invention is applied.
도 3의 구조를 도 1의 구조와 비교하면, 기존의 로그 출력부(110)와 로그 데몬(120), 그리고 로그 저장부(130) 외에 로그 관리부(310)와 로그 에이전트(320)가 추가되었음을 알 수 있다. Comparing the structure of FIG. 3 with the structure of FIG. 1, in addition to the existing
로그 출력부(110)와 로그 관리부(310), 로그 저장부(130)는 시스템 운영 영역에 존재하고, 로그 데몬과 로그 에이전트는 서비스 영역에 위치한다. 시스템 동작상에 있어서 핵심적인 시스템의 본연의 기능을 담당하는 시스템 운영 영역은 관리 및 서비스와 관련된 서비스 영역보다 우선 순위를 갖는다. The
로그 데몬(120)은 관리자가 설정한 정책에 따라 필터링 하여 로그를 저장하고, 저장과 동시에 저장 시각과 해당 로그를 발생시킨 주체를 함께 표기한다. 로그 데몬(120)은 정해진 주기마다 로그 저장부(130)에 접근하여 추가된 로그를 저장한다. The
로그 출력부(110)는 터미널 화면에 출력하는 내용을 로그 데몬(120)으로 전달하는 역할을 한다. The
본 발명에서는 상기 로그 데몬(120)과 로그 출력부(110)의 기능 외에 해당 로그 메시지들을 로그 관리부(310) 쪽으로 전달하는 기능이 추가된다. In the present invention, in addition to the functions of the
로그 관리부(310)는 로그 출력부(110)로부터 전송 받은 로그를 로그 관리부(310) 내부에 위치하는 로그 버퍼(311)에 일시적으로 저장한다. 이때 로그 버퍼(311)는 많은 양의 로그를 모두 저장하는 것은 아니며, 부족한 로그 저장부(130)와 로그 버퍼(메모리)를 효율적으로 사용하기 위하여 일정한 크기의 영역을 환형 버퍼로 관리하여 정해진 크기만큼의 로그를 유지하도록 한다. The
이렇게 함으로써 문제가 발생한 마지막 로그는 필수적으로 저장되도록 하고, 정상적으로 동작하는 시점의 로그들은 저장 우선 순위를 낮게 설정하여 저장되지 않도록 함으로써 저장 공간을 크게 줄일 수 있다. In this way, the last log that caused the problem is essentially stored, and the log at the time of normal operation can be saved by setting the storage priority low so that the log is not saved.
로그 에이전트(320)는 관리자의 필요에 따라 로그 관리부(310)의 기능을 구동시키거나 구동을 멈추게 하는 명령을 내리는 기능을 담당한다. 또한 로그 관리부(310)에서 로그 버퍼에 관리하고 있는 로그를 로그 저장부(130)에 쓰도록 하거나 기존에 로그 저장부(130)에 저장되어 있는 로그를 읽어오도록 제어한다. The
도 3의 경우에는 로그 데몬(120)과 로그 관리부(310)에서 사용하는 로그 저장부(130)를 같은 곳에 위치하도록 구성하였으나, 각각 다른 곳에 위치하도록 구성하는 것 또한 기능상에는 어떤 차이도 발생시키지 않는다. 다만 이러한 로그 저장부(130)가 갖추어야 할 요건으로, 전체 시스템에 전원이 인가되지 않더라도 저장하고 있던 로그를 잃지 않아야 한다는 점을 들 수 있다. 임베디드 시스템에서는 낸드(NAND) 타입의 플래시가 주로 사용된다.In FIG. 3, the
전원이 없는 상태에서도 메모리에 데이터가 계속 저장되어질 수 있는 플래시 메모리 형태로, 내부방식에 따라 NOR형과 NAND형을 들 수 있다. NOR형이란 셀(Cell)이 병렬로 연결된 방식이고, NAND형이란 셀(Cell)이 직렬로 연결된 구조를 가지고 있다. It is a flash memory type in which data can be continuously stored in the memory even when there is no power supply. There are NOR and NAND types according to internal methods. The NOR type has a structure in which cells are connected in parallel, and the NAND type has a structure in which cells are connected in series.
NAND형은 NOR형에 비해 제조 단가가 싸고, 대용량이 가능하다는 장점이 있는 반면에, NOR형은 NAND 형에 비해 데이터의 접속 타임이 짧고(그만큼 더 빠르다.), 데이터의 안정성이 우수하다는 장점을 가지고 있다.
NAND type has the advantages of cheaper manufacturing cost and large capacity than NOR type, while NOR type has shorter data connection time (faster) and better data stability than NAND type. Have.
도 4는 본 발명에 따른 임베디드 시스템의 로그 저장 흐름을 나타내고 있다. Figure 4 shows the log storage flow of the embedded system according to the present invention.
임베디드 시스템의 로그 출력부(110)로부터 로그 메시지가 출력되면(S41), 터미널로도 로그 메시지를 출력한다(S42). 터미널로 로그 메시지를 출력한 후에는 해당 메시지 로그 관리부(310)로 전송한다. 이 단계에서 로그 관리부(310)에서 관리하는 로그 버퍼에 일시적으로 저장(S43)하였다가, 로그 버퍼에 저장된 값을 로그 저장부(130)로 옮겨 저장한다(S44). 이때 로그 저장부(130)에 저장할 것인지는 로그 에이전트(320)에서 설정한 값에 따라 결정된다. 로그 저장부(130)에 로그 메시지를 저장한 후에 로그 데몬(120)에게 로그를 전달하게 된다(S45).
When the log message is output from the
도 5는 본 발명에 따른 로그 버퍼의 구조를 나타내고 있다. 5 shows the structure of a log buffer according to the present invention.
도 5의 로그 버퍼(311)는 로그 관리부(310)가 로그를 일시적으로 저장하기 위해 로그 관리부(310) 내에 위치한다. 로그 버퍼(311)는 일시적으로 로그를 저장하는 역할을 하기 때문에, 그 크기를 무제한으로 할당할 수는 없다. 따라서, 본 발명에서는 포인터를 이용하여 한정된 메모리 공간에 반복해서 로그를 저장하도록 하는 환형 버퍼의 형태를 이용한다. The
로그 관리부(310)가 로그 출력부(110)로부터 수신한 메시지를 로그 버퍼(311)에 저장하는 과정은, 로그 버퍼와 현재 위치를 가리키는 포인터(pointer)를 사용하여 환형으로 동작하게 된다. 현재 위치를 가리키는 포인터는 로그 버퍼의 시작 위치의 처음에 저장되어 있고 그 이후부터 로그가 저장된다. The process of storing the message received from the
따라서 포인터 값이 로그 버퍼의 크기보다 커지려고 하면 다시 로그 버퍼의 시작 위치로 옮겨서 그 위치부터 다시 쓰게 된다. 즉, 유효한 로그는 포인터가 가리키는 위치에서 로그 버퍼(311)의 마지막까지의 내용에 이어 로그 버퍼의 처음(포인터의 저장 위치 다음)부터 포인터가 가리키는 직전의 위치까지의 내용이 될 것이다. Therefore, if the pointer value is bigger than the size of the log buffer, it is moved back to the start position of the log buffer and rewritten from that position. In other words, a valid log will be from the location pointed to by the pointer to the end of the
로그 관리부(310)에서 로그 저장부(130)에 로그 버퍼(311)의 내용을 쓰는 경우는 로그 에이전트(320)를 통해 쓰도록 설정된 경우, 또는 해당 명령이 수행된 경우, 마지막으로 시스템 장애가 발생하여 서비스 불능 상태에 빠지기 직전일 것이다. When the
특히 시스템 장애가 발생했을 때에 발생하는 상황은 다음과 같다. In particular, the situation that occurs when a system failure occurs is as follows.
정상적으로 동작하던 시스템에서 문제가 발생하여 실행이 멈추는 위치는, 도 1 및 도 2를 살펴보았던 종래 기술의 경우 터미널로 출력한 후가 된다. 따라서 로그 데몬(120)이 실행되지 못해 시스템 장애를 해결할 수 있는 로그를 얻을 수는 없다. The position where the execution stops due to a problem in a system that has been normally operated is after outputting to a terminal in the case of the prior art described with reference to FIGS. 1 and 2. Therefore, the
그러나 본 발명에 따른 방법을 적용하면, 정상적으로 동작하던 시스템에서 문제가 발생하여 실행이 멈추는 때는 이미 로그 버퍼(311)의 내용을 로그 저장부(130)에 저장한 후가 되어 모든 로그를 얻을 수 있게 된다. 시스템 장애 시 로그 데몬(120)이 실행되지 못하는 이유는 로그 데몬(120)이 서비스 영역에 존재하는 반 면 로그 출력부(110)와 로그 관리부(310)는 시스템 운영 영역에 속하여 우선 순위를 갖지 못하기 때문이다.
However, if the method according to the present invention is applied, a problem occurs in the system that normally operated, and the execution is stopped, the contents of the
상술한 바와 같이 본 발명은, 기존에 서비스 영역에서 동작하던 로그 데몬에만 의지해 로그를 관리하던 체계에서 벗어나, 시스템 운용 영역에 별도의 로그 관리부를 두고 로그를 임시로 저장하였다가 다시 영구적으로 저장하는 방식을 취함으로써, 시스템 내부에 장애가 발생하여 서비스 영역이 마비되는 경우에도 시스템 로그를 모두 저장하였다가 추후 디버깅 작업에 유용하게 사용할 수 있도록 하는 로그 저장 장치 및 그 방법을 제공한다.
As described above, the present invention relies on a log daemon operating only in a service area, and moves away from a system for managing logs, and temporarily stores the log temporarily after having a separate log management unit in a system operation area and permanently storing the log again. The present invention provides a log storage device and a method for storing all system logs so that the system can be useful for debugging in the future even when a failure occurs in the system and the service area is paralyzed.
본 발명은, 터미널을 볼 수 없는 상황에서 임베디드 시스템에 장애가 발생하였을 때에도 시스템 장애와 관련된 시스템 로그를 저장하고, 해당 정보를 다시 복원하여 문제 해결을 위한 디버깅을 원활히 할 수 있도록 하는 이점을 가진다. The present invention has an advantage that even when a failure occurs in the embedded system in a situation where the terminal is not visible, the system log related to the system failure is stored and the information is restored again to facilitate debugging for troubleshooting.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040098882A KR20060059726A (en) | 2004-11-29 | 2004-11-29 | Apparatus and method for storing system log |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040098882A KR20060059726A (en) | 2004-11-29 | 2004-11-29 | Apparatus and method for storing system log |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060059726A true KR20060059726A (en) | 2006-06-02 |
Family
ID=37156868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040098882A KR20060059726A (en) | 2004-11-29 | 2004-11-29 | Apparatus and method for storing system log |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20060059726A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008070499A1 (en) * | 2006-12-05 | 2008-06-12 | Landmark Graphics Corporation | Software-based quality control analysis of well log data |
KR100857883B1 (en) * | 2006-09-28 | 2008-09-10 | (주)이우테크놀로지 | The dental unit chair having a log file storage and method for servicing log file |
US11137917B2 (en) | 2018-08-21 | 2021-10-05 | SK Hynix Inc. | Memory controller, memory system having the memory controller, and operating method of the memory controller |
-
2004
- 2004-11-29 KR KR1020040098882A patent/KR20060059726A/en not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100857883B1 (en) * | 2006-09-28 | 2008-09-10 | (주)이우테크놀로지 | The dental unit chair having a log file storage and method for servicing log file |
WO2008070499A1 (en) * | 2006-12-05 | 2008-06-12 | Landmark Graphics Corporation | Software-based quality control analysis of well log data |
US11137917B2 (en) | 2018-08-21 | 2021-10-05 | SK Hynix Inc. | Memory controller, memory system having the memory controller, and operating method of the memory controller |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160026661A1 (en) | System and method for the automated generation of events within a server environment | |
US6816982B2 (en) | Method of and apparatus for computer hard disk drive protection and recovery | |
CN103049400B (en) | A kind of disk reconstructing method and device thereof | |
US20120110378A1 (en) | Firmware recovery system and method of baseboard management controller of computing device | |
CN102473071A (en) | Information processing apparatus, information processing method and program | |
CN103150256A (en) | Method and device to improve usb flash write performance | |
CN106682162A (en) | Log management method and device | |
CN102271054B (en) | For bookmark and the performance histories of network software deployment evaluation | |
CN108205482B (en) | File mount restoration methods | |
CN109582337A (en) | Firmware upgrading method and device and computer readable storage medium | |
CN101093477B (en) | Data process method for electronic form, and data process system for electronic form | |
CN113672306B (en) | Server component self-checking abnormity recovery method, device, system and medium | |
KR0182632B1 (en) | Client server system performing automatic reconnection and control method thereof | |
JP2007156599A (en) | Data erasure management method of auxiliary storage, auxiliary storage, and remote maintenance apparatus | |
KR20060059726A (en) | Apparatus and method for storing system log | |
JP2009009323A (en) | Setting device, electronic equipment, and setting program | |
CN115599617B (en) | Bus detection method and device, server and electronic equipment | |
KR100605031B1 (en) | A method for upgrading and restoring embeded systems by using usb memory device | |
EP2063359A2 (en) | Log recording apparatus | |
CN114138187A (en) | Method and device for managing timed snapshot volume of volume mapping copy service plug-in | |
CN101751283A (en) | Virtual machine monitor, virtual machine system and client operation system state acquiring method | |
CN107943575A (en) | Multitask monitoring and managing method and device in SPI NAND | |
CN100524239C (en) | Method for protecting data of memory mechanism | |
CN101159600B (en) | File monitoring and managing system and method | |
CN107229535A (en) | Many copy storage methods of data block, storage device, method for reading data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |