Monitoring system, monitoring method, and program
The integrated monitoring system addresses the separation of operational and monitoring design by automatically capturing and analyzing logs within the application, ensuring continuous and effective monitoring without additional design efforts.
Patent Information
- Application Number
- JP2021157931
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-28
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2041-09-28
AI Technical Summary
The separation of operational design and monitoring design in application development often leads to missed monitoring, resulting in serious incidents due to the lack of shared information between these processes.
A monitoring system and method that integrates monitoring capabilities directly into the application, using an AP server and monitoring device to automatically capture and analyze logs without requiring separate monitoring design, including control logs for application launch and monitoring logs for operational status, and performing internal process monitoring based on these logs.
Enables continuous and automatic monitoring of application operations without the need for separate monitoring design, allowing for timely detection of abnormalities and ensuring the application's normal functioning.
Smart Images

Figure 0007767081000001 
Figure 0007767081000002 
Figure 0007767081000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a monitoring system, a monitoring method, and a program. [Background technology]
[0002] The operation of applications is monitored. For example, an application program is created so that if an error occurs during application operation, the error is output as a log file. One method monitors the application by externally referencing the log file output during application operation. Another method monitors the application by using a tool for managing application performance, such as APM (Application Performance Management), to output the performance during application operation, and externally referencing the output performance. For example, Patent Document 1 discloses a technology for reducing the burden of log analysis. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication No. 2020 / 012579 Summary of the Invention [Problem to be solved by the invention]
[0004] However, in actual application development, operational design and monitoring design are often separate processes. Operational design here refers to the design of the processes that realize the application's operation. Monitoring design refers to the design of the processes for monitoring the application's operation. For example, to meet the demand for short delivery times, application development may first focus on operational design, with monitoring design carried out after operational design as a separate process. Alternatively, monitoring design may be handled by a different team than the team responsible for operational design. This separation of operational design and monitoring design can lead to cases where information about the application is not shared, which can result in serious incidents such as missed monitoring during monitoring design.
[0005] The present invention has been made in consideration of the above circumstances, and its purpose is to provide a monitoring system, a monitoring method, and a program that can monitor the operation of an application without having to design a process to monitor the operation of the application during application development. [Means for solving the problem]
[0006] In order to solve the above-mentioned problems, a monitoring system according to the present invention is a monitoring system including an AP server in which an application is implemented, and a monitoring device that monitors the operation of the application, wherein the AP server: When the application is launched, Launch the application The behavior of the application when it is stopped Control logs containing information about , and Obtain a monitoring log containing information about the operation status of the application while it is running. and outputting the acquired control log to the monitoring device. When the application is stopped, the process of acquiring the control log and the monitoring log is terminated. The process of acquiring the control log and the monitoring log is terminated. The process of acquiring the control log and the monitoring log is terminated. a log output unit that outputs the log to the monitoring device, When the control log indicating the execution of the initialization is acquired, Based on the control log output from the AP server, alive monitoring is performed to determine whether the application is running or not. Start and performing process internal monitoring to determine whether the application is operating normally based on the monitoring log output from the AP server. When the control log indicating the end of the acquisition process is acquired, the alive monitoring and the process internal monitoring are terminated.A monitoring unit is provided.
[0007] Furthermore, in the above-described monitoring system, the present invention provides a method for monitoring an application, wherein the log output unit acquires application execution commands and command line arguments in the application as the control log, and the monitoring unit sends a notification to the AP server inquiring about information related to processes running on the AP server, receives a response to the notification from the AP server, and, based on the received response and the control log, derives the number of processes related to the application among the processes running on the AP server, and performs the alive monitoring based on the derived number.
[0008] Furthermore, in the above-described monitoring system of the present invention, the log output unit outputs as the monitoring log whether or not a deadlock has occurred in the application that is running, and the monitoring unit obtains information indicating whether or not a deadlock has occurred in the application that is running based on the monitoring log, and performs internal process monitoring based on the obtained information.
[0009] Furthermore, in the present invention, in the above-described monitoring system, the log output unit outputs the unused heap amount, which is the unused memory capacity in the dynamic memory area secured in the running application, as the monitoring log, and the monitoring unit acquires information indicating the unused heap amount based on the monitoring log and performs internal process monitoring based on the acquired information.
[0010] Furthermore, in the above-described monitoring system, the present invention provides a method for monitoring an application, the application having a GC (Garbage Collection) function, the log output unit outputting, as the monitoring log, the GC occurrence frequency, which is the type and number of GCs that have occurred in the application while it is running, and the monitoring unit acquiring information indicating the GC occurrence frequency based on the monitoring log, and performing the internal process monitoring based on the acquired information.
[0011] Further, in the monitoring system of the present invention, the log output unit outputs a log of the application being executed. Rup The CPU (Central Processing Unit) utilization rate of the process is output as the monitoring log, and the monitoring unit acquires information indicating the CPU utilization rate of the process in the running application based on the monitoring log, and performs internal monitoring of the process based on the acquired information.
[0012] Furthermore, in the above-described monitoring system, the present invention provides a method for monitoring an application, wherein the log output unit includes a module generated using a log library provided in a programming language applied to the application, and outputs an application log as the monitoring log, the application log including all or part of a developer log designed in the application using the log library. The monitoring unit obtains information indicating the application log based on the monitoring log, and performs log monitoring to determine whether the operation of the application currently running is normal based on the obtained information.
[0013] A monitoring method according to the present invention is a monitoring method carried out by a monitoring system including an AP server on which an application is installed and a monitoring device that monitors the operation of the application, the AP server including: When the application is launched, A control log containing information about processes launched in the application , and Obtain a monitoring log containing information about the operation status of the application while it is running. and outputting the acquired control log to the monitoring device. When the application is stopped, the process of acquiring the control log and the monitoring log is terminated. The process of acquiring the control log and the monitoring log is terminated. The process of acquiring the control log and the monitoring log is terminated. to the monitoring device, and the monitoring device When the control log indicating the execution of the initialization is acquired, Based on the control log output from the AP server, alive monitoring is performed to determine whether the application is running or not. Start and performing process internal monitoring to determine whether the application is operating normally based on the monitoring log output from the AP server. When the control log indicating the end of the acquisition process is acquired, the alive monitoring and the process internal monitoring are terminated. .
[0014] Furthermore, in the present invention, in the above-mentioned monitoring system, the log output unit sets, during the initialization, parameters related to the health monitoring, including monitoring yes / no indicating whether the health monitoring is to be performed, and collection yes / no indicating whether the information obtained in the health monitoring is to be stored.
[0015] Furthermore, in the present invention, in the above-mentioned monitoring system, the log output unit sets, during the initialization, parameters related to the internal process monitoring, including monitoring yes / no indicating whether the internal process monitoring will be performed, and collection yes / no indicating whether information obtained in the internal process monitoring will be stored. [Effects of the Invention]
[0016] According to the present invention, in application development, the operation of an application can be monitored without designing a process for monitoring the operation of the application. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a block diagram showing an example of the configuration of a monitoring system 1 according to an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an outline of processing performed by the monitoring system 1 according to the embodiment. [Figure 3] 3 is a sequence diagram showing the flow of processing performed by the monitoring system 1 according to the embodiment. FIG. [Figure 4] FIG. 10 is a diagram illustrating an example of a control log according to the embodiment. [Figure 5] FIG. 2 is a diagram showing an example of control log information 220 according to the embodiment. [Figure 6] FIG. 2 is a diagram illustrating control log information 220 according to the embodiment. [Figure 7] FIG. 2 is a diagram showing types of monitoring performed by the monitoring system 1 according to the embodiment. [Figure 8] 1 is a diagram illustrating monitoring performed by a monitoring system 1 according to an embodiment. [Figure 9] 1 is a diagram illustrating monitoring performed by a monitoring system 1 according to an embodiment. [Figure 10] 1 is a diagram illustrating monitoring performed by a monitoring system 1 according to an embodiment. [Figure 11] 1 is a diagram illustrating monitoring performed by a monitoring system 1 according to an embodiment. [Figure 12] FIG. 10 is a diagram illustrating an example of a control log according to the embodiment. [Figure 13] FIG. 10 is a diagram illustrating an example of a monitoring log according to the embodiment. [Figure 14] FIG. 2 is a diagram showing an example of monitoring log information 221 according to the embodiment. [Figure 15] FIG. 2 is a diagram illustrating monitoring log information 221 according to the embodiment. [Figure 16] FIG. 10 is a diagram illustrating an example of a monitoring log according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0018] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0019] FIG. 1 is a block diagram showing an example configuration of a monitoring system 1 according to an embodiment. The monitoring system 1 includes, for example, a monitoring device 10 and an AP server 20. The monitoring device 10 and the AP server 20 are communicatively connected via a communication network NW. The monitoring device 10 is a computer, such as a server device or a PC. The monitoring device 10 monitors the operation of an application 230 that is a monitoring target. The AP server 20 is a computer, such as a server device or a PC. The application 230 is implemented in the AP server 20.
[0020] The AP server 20 includes, for example, a communication unit 21, a storage unit 22, and a control unit 23. The communication unit 21 communicates with the monitoring device 10 via a communication network NW. The storage unit 22 is configured by a storage medium, for example, a hard disk drive (HDD), a flash memory, an electrically erasable programmable read-only memory (EEPROM), a random access read / write memory (RAM), a read-only memory (ROM), or any combination of these storage media. The storage unit 22 stores programs for executing various processes of the AP server 20 (for example, programs of the application 230) and temporary data used when performing various processes. The storage unit 22 stores control log information 220 and monitoring log information 221. The control log information 220 is information indicating a control log acquired in response to the operation of the application 230. The monitoring log information 221 is information indicating a monitoring log acquired in response to the operation of the application 230. The specific contents of the control log information 220 and the monitoring log information 221 will be described later.
[0021] The control unit 23 is realized by causing a CPU (Central Processing Unit) provided as hardware in the AP server 20 to execute a program. The control unit 23 includes, for example, an application 230, a log acquisition unit 231, a log reading unit 232, and a device control unit 233. The application 230 performs any processing. The operation of the application 230 is monitored by the monitoring device 10. The application 230 is generated using a programming language such as Java (registered trademark).
[0022] The application 230 may be implemented with a process for outputting a log file in which a log of the application designed by the developer (hereinafter referred to as the developer log) is output. For example, the application developer implements the process so that if an error occurs in a specific process, a stack trace is output to the log file as the developer log. As a result, if an error occurs in a specific process when the application is running, the stack trace is output to the log file as the developer log.
[0023] Here, it is assumed that the process of outputting the developer log is implemented using a standard log library. A standard log library is a set of standard functions provided in a programming language for outputting logs. For example, for an application created using Java, the standard log library is log4j2. By using a standard log library, it is possible to output developer logs associated with log levels as log files, for example.
[0024] The log acquisition unit 231 acquires a control log and a monitor log according to the operation of the application 230 .
[0025] The control log is information about the operation of an application when the application is started or stopped. When monitoring an application, the control log is used as information to identify the monitoring target or information indicating a trigger for starting or stopping monitoring.
[0026] The control log includes information for identifying the monitoring target, such as identification information such as an ID that uniquely identifies the application 230, or information associated with the identification information such as an ID.
[0027] In this embodiment, information indicating an application execution command and its arguments (command line arguments) is used as information for identifying a monitoring target. That is, in this embodiment, the command executed when the application is started (application execution command) and its arguments are acquired as a control log. Then, based on the application execution command and its arguments acquired as the control log, the monitoring device 10 identifies a monitoring target, and monitors the identified monitoring target.
[0028] The control log may also include information indicating the start or stop of an application. For example, the information indicating the start or stop of an application is used as a trigger for starting or stopping monitoring in the monitoring device 10.
[0029] The control log may also include information indicating the operating status of the log acquisition unit 231 while the application is running. The information indicating the operating status of the log acquisition unit 231 is, for example, information indicating that the control log has been successfully acquired, or that an error has occurred in the process of acquiring the control log, or that a warning has occurred, such as that the value of a variable set in the process of acquiring the control log indicates an abnormal value. For example, such information indicating the operating status of the log acquisition unit 231 while the application is running may be used as a condition for starting or stopping monitoring in the monitoring device 10.
[0030] The monitoring log is information indicating the status of the internal operation of a running application, and is used by the monitoring device 10 as information for deriving a monitoring result indicating whether the running application is operating normally.
[0031] The monitoring log includes, for example, information indicating a log related to internal process monitoring, as information indicating the operating status of a running application. The log related to internal process monitoring is information that can be used to determine whether processing within a process is operating normally, whether an abnormality is about to occur, or whether an abnormality has occurred. The log related to internal process monitoring includes, for example, information related to deadlocks, information related to heap areas, information related to GC (Garbage Collection), and information related to CPU usage. The specific contents of these logs related to internal process monitoring will be described later.
[0032] Here, the control log and the log related to internal process monitoring in the monitoring log are different from logs that are designed in advance to be output as developer logs. In other words, the log acquisition unit 231 can acquire, as logs (logs related to internal process monitoring in the control log and monitoring log), the operation of the application 230 that is not designed to be output as a developer log. In this embodiment, these logs (logs related to internal process monitoring in the control log and monitoring log) are used to monitor the operation of the application. As a result, in this embodiment, it is possible to monitor the operation of an application even if the developer has not made a monitoring design (a design to monitor the application).
[0033] Furthermore, the monitoring log includes an application log. The application log is all or part of the developer log. In this embodiment, the log acquisition unit 231 is an extension module that extends a standard log library. This allows the log acquisition unit 231 to acquire developer logs implemented using the same log library.
[0034] The log acquisition unit 231 stores the control log acquired from the application 230 in the storage unit 22 as control log information 220. The log acquisition unit 231 also stores the monitoring log acquired from the application 230 in the storage unit 22 as monitoring log information 221. The log reading unit 232 acquires the control log information 220 by referring to the storage unit 22, and transmits the acquired control log information 220 to the monitoring device 10.
[0035] The device control unit 233 performs overall control of the AP server 20. For example, in response to a request from the monitoring device 10, the device control unit 233 refers to the storage unit 22 to acquire a monitoring log and transmits the acquired monitoring log to the monitoring device 10. The device control unit 233 also responds to inquiries from the monitoring device 10. The specific content of the inquiries made by the monitoring device 10 will be described later.
[0036] The monitoring device 10 includes, for example, a communication unit 11, a storage unit 12, and a control unit 13. The communication unit 11 communicates with the AP server 20 via a communication network NW.
[0037] The storage unit 12 is configured by a storage medium such as a HDD, flash memory, EEPROM, RAM, ROM, or any combination of these storage media. The storage unit 12 stores programs for executing various processes of the monitoring device 10 and temporary data used when performing various processes.
[0038] The control unit 13 is realized by causing a CPU provided as hardware in the monitoring device 10 to execute a program. The control unit 13 includes, for example, a monitoring control unit 131 and a device control unit 132.
[0039] The monitoring control unit 131 monitors the application 230 based on the control log received from the AP server 20. The specific content of the monitoring performed by the monitoring control unit 131 will be described later. The device control unit 132 controls the monitoring device 10 in an overall manner.
[0040] Here, an outline of the flow of processing performed by the monitoring system 1 will be described with reference to Fig. 2. Fig. 2 is a diagram illustrating an outline of processing performed by the monitoring system 1 according to the embodiment.
[0041] In step S10, the log acquisition unit 231 acquires a control log and a monitoring log in response to the operation of the application 230.
[0042] The log acquisition unit 231 acquires a control log. For example, the log acquisition unit 231 acquires, as a control log, an application execution command and its arguments executed when the application 230 is started. Furthermore, when the application 230 is started, the log acquisition unit 231 acquires, as a control log, information indicating the start and end of a process (initialization process) for initializing a process for acquiring a control log and a monitoring log. Furthermore, when the application 230 is stopped, the log acquisition unit 231 acquires, as a control log, information indicating that the application 230 has been stopped.
[0043] Furthermore, the log acquisition unit 231 acquires a monitoring log. For example, the log acquisition unit 231 acquires, as the monitoring log, an application log that is all or part of a developer log output in the running application 230. Furthermore, the log acquisition unit 231 acquires, as the monitoring log, information related to internal process monitoring acquired in the running application 230.
[0044] In step S11, the log acquisition unit 231 stores the control log acquired in step S10 in the storage unit 22 as control log information 220.
[0045] In step S12, the log acquisition unit 231 stores the monitoring log acquired in step S10 in the storage unit 22 as monitoring log information 221.
[0046] In step S13, the log reading unit 232 refers to the storage unit 22 and acquires the control log. In step S14, the log reading unit 232 transmits the acquired control log to the monitoring device 10. As a result, the monitoring control unit 131 acquires the control log. For example, the log reading unit 232 outputs to the monitoring control unit 131 a control log indicating the execution command and its argument executed when the application 230 is started. Furthermore, the log reading unit 232 outputs to the monitoring control unit 131 a control log indicating the start and end of a process (initialization process) for initializing a process for acquiring a control log and a monitoring log when the application 230 is started. Alternatively, the log reading unit 232 outputs to the monitoring control unit 131 a control log indicating that the process for acquiring a control log and a monitoring log has ended as the application 230 is stopped.
[0047] This allows the monitoring system 1 to perform monitoring according to the control log. Monitoring can be performed automatically in accordance with the start of the application 230. Furthermore, monitoring can be stopped automatically in accordance with the stop of the application 230.
[0048] Specifically, based on the control log, the monitoring control unit 131 controls the monitoring of the application 230 by the device control unit 132. For example, the monitoring control unit 131 acquires a control log indicating the execution command and its argument executed in the application 230, and outputs the control log to the device control unit 132, thereby causing the device control unit 132 to start process alive monitoring shown in step S16 described below. In addition, when the monitoring control unit 131 acquires a control log indicating the start and end of the process (initialization process) for initializing the process for acquiring the control log and the monitoring log, the monitoring control unit 131 outputs the control log to the device control unit 132, thereby causing the device control unit 132 to start internal process monitoring and log monitoring as shown in step S15 described below. In addition, when the monitoring control unit 131 acquires a control log indicating that the process of acquiring the control log and monitoring log has been completed, it outputs the control log to the device control unit 132, thereby causing the device control unit 132 to terminate monitoring of the application 230 (process alive monitoring, process internal monitoring, and log monitoring).
[0049] In step S15, if the application 230 is running, the device control unit 132 acquires a monitoring log from the AP server 20 via the device control unit 233. Based on the acquired monitoring log, the device control unit 132 performs monitoring (log monitoring and internal process monitoring) to determine whether the application 230 is operating normally.
[0050] In log monitoring, the device control unit 132 monitors application logs, which are all or part of the developer logs. For example, when developer logs with a predetermined log level (for example, Fatal, Error, and Warning) are used as application logs, if a developer log with a level equal to or greater than a threshold (for example, Error) is output as the application log, the device control unit 132 determines that the application 230 is not operating normally, that is, that an abnormality has occurred.
[0051] In the process internal monitoring, the device control unit 132 monitors the internal process state of the running application 230, such as whether or not a deadlock has occurred, the unused heap space, the GC occurrence frequency, and the CPU usage rate. The device control unit 132 detects these monitoring targets (whether or not a deadlock has occurred, the unused heap space, the GC occurrence frequency, and the CPU usage rate) based on the monitoring log, thereby determining whether or not an abnormality has occurred in the application 230. In monitoring for the presence or absence of a deadlock, device control unit 132 determines whether the monitoring log indicates that a deadlock has occurred. If the monitoring log indicates that a deadlock has occurred, device control unit 132 determines that an abnormality has occurred in application 230. In monitoring the unused heap capacity, the device control unit 132 determines whether the unused heap capacity is less than a threshold in the monitoring log. If the monitoring log indicates that the unused heap capacity is less than the threshold, the device control unit 132 determines that an abnormality has occurred in the application 230. In monitoring the GC occurrence frequency, the device control unit 132 determines whether the monitoring log indicates that the GC occurrence frequency is equal to or greater than a threshold. If the monitoring log indicates that the GC occurrence frequency is equal to or greater than a threshold, the device control unit 132 determines that an abnormality has occurred in the application 230. In monitoring the CPU utilization rate, the device control unit 132 determines whether the monitoring log indicates that the CPU utilization rate is equal to or greater than a threshold value. If the monitoring log indicates that the CPU utilization rate is equal to or greater than a threshold value, the device control unit 132 determines that an abnormality has occurred in the application 230. In this way, the monitoring system 1 uses logs related to internal process monitoring to monitor the application 230. Here, logs related to internal process monitoring differ from developer logs in that they are logs that the developer has not intentionally designed to be output as logs. In other words, the monitoring system 1 can acquire logs related to internal process monitoring without the developer having to design monitoring, for example, design what kind of monitoring is needed or configure monitoring settings, and can use the acquired logs related to internal process monitoring to monitor the application 230.
[0052] In step S16, the device control unit 132 performs alive monitoring to determine whether the application 230 is alive or dead. The device control unit 132 determines whether the process of the application 230 is running or stopped, thereby determining whether the application 230 is alive or dead. If the process of the application 230 is running, the device control unit 132 determines that the application 230 is alive. On the other hand, if the process of the application 230 is stopped, the device control unit 132 determines that the application 230 is dead.
[0053] In this embodiment, the device control unit 132 determines whether the application 230 is alive or dead by periodically monitoring the number of processes by polling or the like.
[0054] For example, the device control unit 132 uses SNMP (Simple Network Management Protocol) to specify an object ID of a MIB (Management Information Base) in the AP server 20 and issue a notification (GetRequest) requesting a value corresponding to the specified object ID. This causes the device control unit 132 to issue a notification inquiring about processes currently running in the AP server 20. For example, the device control unit 132 issues a notification inquiring about the names of each of the multiple processes running in the AP server 20 and the paths of each of the multiple processes currently running.
[0055] The device control unit 132 receives a response from the AP server 20 in response to a notification inquiring about processes currently running on the AP server 20. The monitoring control unit 131 determines whether the application 230 is alive or dead based on the received response. For example, the device control unit 132 extracts processes that have been started in conjunction with the start of the application 230 from among the processes currently running on the AP server 20, based on the control log. If the number of extracted processes (processes that have been started in conjunction with the start of the application 230) is equal to or greater than a predetermined threshold (for example, 1), the device control unit 132 determines that the application 230 is operating normally. On the other hand, if the number of extracted processes (processes that have been started in conjunction with the start of the application 230) is less than a predetermined threshold (for example, 1), the device control unit 132 determines that the application 230 is not operating normally.
[0056] In step S17, if the device control unit 132 determines in step S15 that an abnormality has occurred in the internal operation of the application 230, the device control unit 132 outputs an alert. For example, the device control unit 132 outputs the alert by causing a display unit (not shown) of the monitoring device 10 to display a message that an abnormality has occurred in the internal operation of the application 230. Furthermore, if the device control unit 132 determines in step S16 that the application 230 is not operating normally, the device control unit 132 outputs the alert. For example, the device control unit 132 outputs the alert by causing a display unit (not shown) of the monitoring device 10 to display a message that the application 230 is not operating normally.
[0057] Here, the flow of processing performed by the monitoring system 1 will be described with reference to Fig. 3. Fig. 3 is a sequence diagram showing the flow of processing performed by the monitoring system 1 according to the embodiment.
[0058] In step S20, the application 230 is started. For example, the application 230 is started in response to a user operation or the like. In step S21, the log acquisition unit 231 starts initialization (initialization processing) of processing for acquiring a control log and a monitoring log in response to the startup of the application 230. The log acquisition unit 231 acquires the progress of the initialization processing, for example, variable settings, as a control log, and stores the acquired control log as control log information 220 in the storage unit 22. The log acquisition unit 231 also acquires an application execution command and its arguments as a control log, and stores the acquired control log as control log information 220 in the storage unit 22. In step S22, the log reading unit 232 acquires the control log by referring to the control log information 220, and transmits the acquired control log information 220 to the monitoring device . In step S23, the monitoring control unit 131 determines whether the application 230 has been started by referring to the control log information 220 acquired from the log reading unit 232. If the monitoring control unit 131 determines that the application 230 has been started, the monitoring control unit 131 starts monitoring the application 230.
[0059] In step S24, the device control unit 132 performs alive monitoring. For example, the device control unit 132 transmits a notification to the device control unit 233 inquiring about processes currently running in the AP server 20. In step S25, device control unit 233 notifies device control unit 132 of the processes currently running in AP server 20 in response to the inquiry notified from device control unit 132. As a result, device control unit 132 monitors the alive state of the processes based on the response obtained from log reading unit 232. In step S26, the log acquisition unit 231 acquires the internal process state of the running application 230 as a monitoring log, and stores the acquired monitoring log in the storage unit 22 as monitoring log information 221. In step S27, the device control section 233 acquires a control log by referring to the monitoring log information 221, and transmits the acquired monitoring log information 221 to the monitoring device . In step S28, the device control unit 132 performs internal process monitoring. For example, the device control unit 132 periodically acquires monitoring log information 221 (logs related to internal process monitoring in the monitoring log) via the device control unit 233, and monitors the internal state of the process based on the acquired monitoring log information 221. In step S29, the log acquisition unit 231 acquires an application log, which is all or part of the developer log output by the running application 230, as a monitoring log, and stores the acquired monitoring log in the memory unit 22 as monitoring log information 221. In step S30, the device control section 233 acquires a control log by referring to the monitoring log information 221, and transmits the acquired monitoring log information 221 to the monitoring device . In step S31, the monitoring control unit 131 performs log monitoring. For example, the monitoring control unit 131 periodically acquires monitoring log information 221 (application log in the monitoring log) via the device control unit 233, and monitors the operation status of the application 230 based on the acquired monitoring log information 221.
[0060] In step S32, the application 230 is stopped. For example, the application 230 is stopped in response to a user operation or the completion of a predetermined process. In step S33, the log acquisition unit 231 ends the process of acquiring the control log and the monitoring log in response to the stop of the application 230. The log acquisition unit 231 acquires the end of the process of acquiring the control log and the monitoring log as a control log, and stores the acquired control log in the storage unit 22 as control log information 220. In step S34, the log reading unit 232 acquires the control log by referring to the control log information 220, and transmits the acquired control log information 220 to the monitoring device 10. In step S35, the monitoring control unit 131 determines whether the application 230 has stopped by referring to the control log information 220 acquired from the log reading unit 232. If the monitoring control unit 131 determines that the application 230 has stopped, the monitoring control unit 131 ends monitoring of the application 230.
[0061] Note that, although the above description has been given by way of example of a case where the monitoring control unit 131 detects the start or stop of the application 230, the present invention is not limited to this. For example, the log reading unit 232 may detect the start or stop of the application 230 based on the control log information 220, and instruct the monitoring control unit 131 to start or stop monitoring the application 230 based on the detection result.
[0062] Here, the control log will be described with reference to Figs. 4 to 12. Fig. 4 is a diagram showing an example of a control log according to the embodiment. Figs. 5 and 6 are diagrams showing examples of control log information 220 according to the embodiment. Figs. 7 to 11 are diagrams showing types of monitoring performed in the monitoring system 1 according to the embodiment. Fig. 12 is a diagram showing an example of a control log according to the embodiment.
[0063] An example of a control log CL is shown in Fig. 4. The control log CL is composed of information corresponding to items such as a timestamp (reference symbol CL1), a host name (reference symbol CL2), an application ID (reference symbol CL3), a PID (reference symbol CL4), a control code (reference symbol CL5), and a message (reference symbol CL6). Fig. 5 shows that control log information 220 is composed according to each item that makes up the control log CL.
[0064] The timestamp is information indicating the date and time when the control log was acquired. The timestamp is output at the beginning of the control log CL so that the history of the control log can be easily understood in chronological order. The host name is the host name of the server on which the application is running (AP server 20 in this embodiment). The application ID is an identifier that uniquely identifies the application. The PID is an identifier that uniquely identifies a process that is started in response to the start of an application. The control code is a symbol (code) assigned in response to each process in the application, from start to stop. The message is assigned in response to the control code, and includes information that indicates more specific content of the process in response to the control code.
[0065] Fig. 6 shows the correspondence between control codes and the presence or absence of messages in the control log. As shown in Fig. 6, the control codes include the following types: Initialize, Start, Stop, Error, Warning, and Info. Initialize, Start, and Stop correspond to the initialization, start, and stop of the process of acquiring the control log and the monitoring log, respectively. Error, Warning, and Info correspond to the error, warning, and notification that occurred in the process of acquiring the control log in the log acquisition unit 231, respectively.
[0066] Of the control codes, a sub-code is set for Initialize. The sub-codes here are Begin, Set, and End. Begin, Set, and End correspond to the start of initialization, parameter setting, and end of initialization, respectively, of the process of acquiring a control log and a monitoring log when application 230 is started. Among the control codes, the subcode Set of Initialize is assigned a message regarding the set parameters. The message assigned here includes information about the parameters set during initialization, specifically, the setting items and their set values. In addition, for each of the control codes Error, Warning, and Info, a message indicating information indicating the specific content corresponding to the error, warning, or notification is attached.
[0067] Here, the parameters set in the sub-code Set of Initialize will be described with reference to FIGS. Figure 7 shows the monitoring types for which parameters are set when the process for acquiring control logs and monitoring logs is initialized. As shown in Figure 7, the monitoring types for which parameters are set when the process for acquiring control logs and monitoring logs is initialized include alive monitoring, log monitoring, and internal process monitoring. Alive monitoring includes process alive monitoring. Log monitoring includes application log monitoring. Internal process monitoring includes deadlock monitoring, unused heap space monitoring, GC occurrence frequency monitoring, and CPU usage rate monitoring.
[0068] Fig. 8 shows parameters related to "alive monitoring" that are set in the subcode Set of the control code Initialize. As shown in Fig. 8, when initializing the process of acquiring the control log and monitoring log, parameters for performing alive monitoring include information for identifying the monitoring target, specifically, information indicating the application execution command and arguments. When these parameters are set, a control log is output in which a message indicating that these parameters have been set is displayed in the subcode Set of the control code Initialize.
[0069] Furthermore, as parameters related to "health monitoring," information regarding the execution of health monitoring, such as information indicating the monitoring interval, description, information threshold, warning threshold, whether monitoring is performed, and whether collection is performed, is output as a message with the subcode Set of the control code Initialize. The monitoring interval is information indicating the time interval (polling interval) for performing health monitoring. The description is information indicating a description of health monitoring. The information threshold is information indicating a numerical threshold when the information acquired in health monitoring is a numerical value. The warning threshold is information indicating a numerical threshold at which a warning should be issued when the information acquired in health monitoring is a numerical value. Whether monitoring is performed is information indicating whether health monitoring is performed. Whether collection is information indicating whether information acquired in health monitoring is stored.
[0070] 9 shows parameters that are set in common to "log monitoring" and "internal process monitoring" in the subcode Set of the control code Initialize. As shown in FIG. 9, when initializing the process for acquiring the control log and monitoring log, parameters common to "log monitoring" and "internal process monitoring" include information about the log output format, specifically, the storage directory, file name, etc. When these parameters are set, a control log is output in which a message in the subcode Set of the control code Initialize indicates that these parameters have been set. Information about the log output format includes, for example, information indicating the storage directory, file name, delimiter conditions, maximum number of characters, etc.
[0071] Fig. 10 shows parameters related to "log monitoring" that are set in the subcode Set of the control code Initialize. As shown in Fig. 10, when initializing the process of acquiring the control log and monitoring log, parameters related to "log monitoring" include a string filter, etc. When these parameters are set, a monitoring log is output in which a message indicating that these parameters have been set is displayed in the subcode Set of the control code Initialize.
[0072] In this embodiment, a string filter is used by the monitoring control unit 131 or the device control unit 233. Information about the string filter used for log monitoring is set as a parameter related to "log monitoring." The information about the string filter includes, for example, information indicating pattern matching. The information about the string filter also includes information indicating the process type, whether or not to distinguish between uppercase and lowercase characters, importance, etc.
[0073] Fig. 11 shows parameters related to "internal process monitoring" that are set in the sub-code Set of the control code Initialize. As shown in Fig. 11, when initializing the process for acquiring the control log and monitoring log, parameters related to "internal process monitoring" include parameters that are set for each type of internal process monitoring. When these parameters are set, a monitoring log is output in which a message indicating that these parameters have been set is displayed in the sub-code Set of the control code Initialize.
[0074] For example, in deadlock monitoring, parameters are set indicating importance, description, whether or not to monitor, whether or not to collect, etc. In heap unused capacity monitoring, parameters are set indicating importance, description, whether or not to monitor, whether or not to collect, etc. In GC occurrence frequency monitoring, parameters are set for each GC type depending on the type of GC to be monitored, such as copy GC. For example, for each GC type, the GC type, importance, description, whether or not to monitor, whether or not to collect, etc. are set. In CPU utilization monitoring, parameters are set indicating importance, description, whether or not to monitor, whether or not to collect, etc.
[0075] Fig. 12 shows an example of multiple control logs CL output in chronological order. In the example of Fig. 12, the first line of the control log shows "2020-mm-dd... Svr001 App001 2222 Initialize_Begin." This shows that at the timestamp (2020-mm-dd...), the AP server 20 with the host name (Svr001) started initialization of the process of acquiring the control log and monitoring log for monitoring the application 230 corresponding to the application ID (App001) and PID (2222). The second line shows the control log: "2020-mm-dd... Svr001 App001 2222 Initialize_Set PrcCommand, "java"." This indicates that the application execution command ("java") was executed in the initialization process for the process of acquiring the control log and monitoring log for monitoring application 230. The third line of the control log shows "2020-mm-dd... Svr001 App001 2222 Initialize_Set PrcArgument,"-javaagent:C: / ... / aaa.jar -cp C: / ... / bbb.jar; com.....test.Main" This indicates that the argument for the application execution command ("java") is ("-javaagent:C: / ... / aaa.jar -cp C: / ... / bbb.jar; com.....test.Main"). The control log thereafter shows "2020-mm-dd... Svr001 App001 2222 Initialize_End." This indicates that the initialization process for monitoring application 230 has ended. Furthermore, the control log thereafter shows "2020-mm-dd... Svr001 App001 2222 Start." This indicates that the process for acquiring the control log and monitoring log for monitoring application 230 has started. The control log thereafter displays "2020-mm-dd... Svr001 App001 2222 Warning "Failed to get the value."". This indicates that a specific value failed to be acquired in the process of acquiring the control log and monitoring log for monitoring application 230. Furthermore, the control log thereafter displays "2020-mm-dd... Svr001 App001 2222 Info "Logging is working."". This indicates that the process of acquiring the log is operating normally in the process of acquiring the control log and monitoring log for monitoring application 230. The last control log shows "2020-mm-dd... Svr001 App001 2222 Stop," which indicates that the process of acquiring the control log and monitoring log for monitoring the application 230 has stopped as the application 230 has stopped.
[0076] Here, the monitoring log will be described with reference to Fig. 13 to Fig. 16. Fig. 13 is a diagram showing an example of a monitoring log according to the embodiment. Figs. 14 and 15 are diagrams showing examples of monitoring log information 221 according to the embodiment. Fig. 16 is a diagram showing an example of a monitoring log according to the embodiment.
[0077] An example of a monitoring log ML is shown in Fig. 13. The monitoring log ML is composed of information corresponding to items such as a timestamp (symbol ML1), a monitoring type ID (symbol ML2), and a message (symbol ML3). Fig. 14 shows that the monitoring log information 221 is composed according to each item that makes up the monitoring log ML.
[0078] The timestamp, like the control log, is information indicating the date and time when the monitoring log was acquired. The monitoring type ID is an identifier that uniquely identifies the type of monitoring log. The message is information indicating more specific content of the type of monitoring log corresponding to the monitoring type ID.
[0079] FIG. 15 shows the correspondence between the monitoring types performed by the monitoring device 10 based on the monitoring log and the monitoring type IDs. As shown in FIG. 15, the monitoring types include log monitoring and internal process monitoring. Log monitoring includes application log monitoring. Internal process monitoring includes deadlock monitoring, unused heap space monitoring, GC occurrence frequency monitoring, and CPU usage rate monitoring. In the example of this figure, it is shown that the monitoring type ID (LOG_APP) corresponds to application log monitoring in log monitoring. It is also shown that the monitoring type IDs (INT_DLK), (INT_HPR), (INT_GCC), and (INT_CPU) correspond to deadlock monitoring, unused heap space monitoring, GC occurrence frequency monitoring, and CPU usage rate monitoring, respectively, in internal process monitoring.
[0080] Fig. 16 shows an example of multiple monitoring logs ML that are output sequentially in chronological order. In the example of Fig. 16, the first line of the monitoring log shows "2020-mm-dd... LOG_APP ERROR execution failed." This shows that at the timestamp (2020-mm-dd...), an application log output reads "ERROR execution failed.", i.e., an error indicating that execution failed in a specific process. The second line shows the monitoring log "2020-mm-dd... LOG_APP WARN thread-1 takes long time." This indicates that the application log has output a warning saying "WARN thread-1 takes long time.", i.e., that the processing corresponding to thread 1 is taking a long time. The third line of the monitoring log shows "2020-mm-dd... INT_HPR [JVM Heap] Remaining=8MB, Threshold=10MB." This indicates that the unused heap amount is 8MB, while the threshold is 10MB. The fourth line of the monitoring log shows "2020-mm-dd... INT_GCC [JVM GC] GCName=Copy, Count=8, Threshold=5". This shows that, as a result of monitoring the GC occurrence frequency, for a GC of the type Copy GC, the number of times GC was executed was 8 [times], compared to a threshold of 5 [times]. The fifth line of the monitoring log shows "INT_GCC [JVM GC] GCName=MarkSweepComact, Count=3, Threshold=2". This shows that, as a result of monitoring the GC occurrence frequency, for a GC of the type Mark Sweep Compact, the number of times GC was executed was 3 [times], while the threshold was 2 [times]. The sixth line shows the monitoring log "2020-mm-dd... INT_CPU [CPU Usage] PID=1111, Usage=85%, Threshold=50%." This indicates that the CPU usage monitoring result for the process identified by PID (1111) is 85% compared to the threshold of 50%. The seventh line of the monitoring log shows "2020-mm-dd... INT_DLK [Deadlock] detected. Detail="thread-1 is deadlocked."" This indicates that a deadlock has occurred in the process corresponding to thread 1, as a result of the deadlock monitoring.
[0081] As described above, the monitoring system 1 of the embodiment includes the monitoring device 10 and the AP server 20. The application 230 to be monitored is implemented in the AP server 20. The monitoring device 10 monitors the operation of the application 230. The AP server 20 includes a log acquisition unit 231, a log reading unit 232, and a device control unit 233. The log acquisition unit 231 acquires a control log. The log reading unit 232 outputs the control log acquired by the log acquisition unit 231 to the monitoring device 10. The control log includes information about processes started in the application. The log acquisition unit 231 acquires the monitoring log. The device control unit 233 outputs the monitoring log acquired by the log acquisition unit 231 in response to a request from the monitoring device 10. The monitoring log includes information about the operation status of the application currently running. The monitoring device 10 includes a monitoring control unit 131. The monitoring control unit 131 controls the device control unit 132 to monitor the application 230 based on the control log. The device control unit 132 performs alive monitoring to determine whether the application 230 is running. The device control unit 132 also performs internal process monitoring based on the monitoring log. Internal process monitoring is monitoring the operation of the running application 230 by determining whether the operation of the running application 230 is normal based on the monitoring log.
[0082] As a result, the monitoring system 1 of the embodiment can perform monitoring according to the control log. Specifically, monitoring can be performed automatically in synchronization with the startup of the application 230. Furthermore, monitoring can be automatically stopped in synchronization with the shutdown of the application 230. As described above, the control log is a log that is not intentionally designed by the developer to be output as a log. That is, the monitoring system 1 can perform monitoring automatically without the developer having to design monitoring, for example, designing what kind of monitoring is required or configuring monitoring. That is, the operation of an application can be monitored without designing a process for monitoring the operation of the application during application development. Furthermore, it is possible to perform alive monitoring from outside the AP server 20 and to monitor the operation of the application in detail by performing monitoring based on a monitoring log output from inside the AP server 20.
[0083] As a comparative example, consider a case where the information corresponding to the control log and the monitoring log is treated as a single log (called an integrated log). As described above, the monitoring log includes the application log, so the data volume of the information corresponding to the monitoring log varies for each application. This is because the application log is all or part of the developer log, and the data volume of the information corresponding to the monitoring log varies depending on the extent to which the application is designed to output developer logs. For example, if an application is designed to output many developer logs or if one developer log contains a large amount of text data, the data volume of the monitoring log will be large. Furthermore, as the amount of information corresponding to the monitoring log increases, the data volume of the entire integrated log will increase. As a result, a situation may occur in which the data volume reserved in advance for storing the integrated log is exceeded. For example, if 10 gigabytes is reserved for storing the integrated log, if the data capacity of the integrated log exceeds 10 gigabytes, it becomes difficult to store the integrated log. As a result, it becomes difficult to acquire information corresponding to not only the monitoring log but also the control log. To address this issue, the monitoring system 1 of the embodiment handles the control log and the monitoring log separately. This allows the control log to be acquired and stored regardless of the increase in the monitoring log size. Therefore, the control log can be acquired reliably. For example, consider a case where 5 [Gbyte] is allocated for storing the control log and 10 [Gbyte] is allocated for storing the monitoring log. Even if the data capacity of the monitoring log increases and exceeds 10 [Gbyte], the control log data can be acquired reliably as long as the data capacity does not exceed 5 [Gbyte]. Therefore, by handling the control log and the monitoring log separately, the application 230 can be monitored more safely.
[0084] Furthermore, in the monitoring system 1 of the embodiment, the log acquisition unit 231 acquires the application execution command and command line arguments of the application 230 as a control log. The device control unit 132 sends a notification to the device control unit 233 inquiring about information related to processes running on the AP server 20, and receives a response to the notification from the device control unit 233. Based on the received response and the control log, the device control unit 132 derives the number of processes related to the application 230 among the processes running on the AP server, and performs alive monitoring based on the derived number. This allows the monitoring system 1 to perform alive monitoring of the application 230 from outside the AP server 20.
[0085] Furthermore, in the monitoring system 1 of the embodiment, the log acquisition unit 231 acquires, as a monitoring log, whether or not a deadlock has occurred in the running application 230. The device control unit 132 acquires information indicating whether or not a deadlock has occurred in the running application 230 based on the monitoring log. The device control unit 132 performs internal process monitoring based on the acquired information. This allows the monitoring system 1 to monitor whether or not a deadlock has occurred in the running application 230 based on the monitoring log output from inside the AP server 20.
[0086] Furthermore, in the monitoring system 1 of this embodiment, the log acquisition unit 231 acquires the unused heap amount in the running application 230 as a monitoring log. The unused heap amount is the unused memory capacity in the dynamic memory area secured when the application 230 is executed. The device control unit 132 acquires information indicating the unused heap amount based on the monitoring log. The device control unit 132 performs internal process monitoring based on the acquired information. This allows the monitoring system 1 to monitor the unused heap amount in the running application 230 based on the monitoring log output from inside the AP server 20.
[0087] Furthermore, in the monitoring system 1 of the embodiment, the application 230 is an application having a GC (Garbage Collection) function. The log acquisition unit 231 acquires, as a monitoring log, the frequency of GC occurrences that have occurred in the running application 230. The GC occurrence frequency is information indicating the type of GC and the number of times it has occurred. The device control unit 132 acquires information indicating the GC occurrence frequency based on the monitoring log. The device control unit 132 performs internal process monitoring based on the acquired information. As a result, the monitoring system 1 can monitor the frequency of GC occurrences in the running application 230 based on the monitoring log output from inside the AP server 20.
[0088] Furthermore, in the monitoring system 1 of the embodiment, the log acquisition unit 231 acquires, as a monitoring log, the CPU (Central Processing Unit) usage rate of the running application 230. The CPU usage rate is information indicating the usage rate of the CPU used by a process started in response to the start of the application 230. The CPU usage rate is, for example, a value indicating what proportion of the processing volume that the CPU can handle at one time is being used to process the process. The device control unit 132 acquires information indicating the CPU usage rate of the process in the running application 230 based on the monitoring log. The device control unit 132 performs internal process monitoring based on the acquired information. As a result, the monitoring system 1 can monitor the CPU usage rate of the running application 230 based on the monitoring log output from inside the AP server 20.
[0089] Furthermore, in the monitoring system 1 of the embodiment, the log acquisition unit 231 is a module generated using a log library (e.g., log4j2) provided in a programming language (e.g., Java) applied to the application 230. The log acquisition unit 231 acquires an application log as a monitoring log in the application 230. The application log is all or part of a developer log designed by a developer and output using a log library. For example, it is a log including the log level and log message of the developer log. The device control unit 132 acquires information indicating the application log based on the monitoring log. The device control unit 132 performs log monitoring based on the acquired information. Log monitoring is to determine whether the operation of the running application 230 is normal by monitoring the application log.
[0090] In the above-described embodiment, the case where the control log information 220 and the monitoring log information 221 are stored in the AP server 20 has been described as an example. However, the present invention is not limited to this. The control log information 220 and the monitoring log information 221 may be stored in the monitoring device 10, or may be stored in a database server or the like that is different from the monitoring device 10 and the AP server 20.
[0091] The monitoring system 1, the monitoring device 10, and the AP server 20 in the above-described embodiments may all or partly be implemented by a computer. In this case, a program for implementing the functions may be recorded on a computer-readable recording medium, and the program may be loaded into the computer system and executed. Note that the term "computer system" as used herein includes hardware such as an OS and peripheral devices. Furthermore, the term "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, as well as storage devices such as hard disks built into the computer system. Furthermore, the term "computer-readable recording medium" may also include devices that dynamically store programs for a short period of time, such as communication lines used when transmitting programs over a network such as the Internet or a telephone line, or devices that store programs for a fixed period of time, such as volatile memory within a computer system that serves as a server or client. The program may be designed to implement some of the above-described functions, or may be capable of implementing the above-described functions in combination with a program already stored in the computer system, or may be implemented using a programmable logic device such as an FPGA (Field Programmable Gate Array).
[0092] Although an embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to this embodiment, and includes designs within the scope of the gist of the present invention. [Explanation of symbols]
[0093] 1... monitoring system, 10... monitoring device, 12... storage unit, 13... control unit, 131... monitoring control unit (monitoring unit), device control unit (monitoring unit), 20... AP server, 220... control log information, 221... monitoring log information, 230... application, 231... log acquisition unit (log output unit), 232... log reading unit (log output unit), 233... device control unit (log output unit)
Claims
1. A monitoring system including an AP server on which an application is installed and a monitoring device that monitors the operation of the application, The AP server When the application is started, a process of acquiring a control log including information about a process started in the application and a monitoring log including information about an operating status of the application during startup is initialized, information indicating the execution of the initialization is acquired as the control log, and the acquired control log is output to the monitoring device; acquiring the control log while the application is running, outputting the acquired control log to the monitoring device, acquiring the monitoring log, and outputting the acquired monitoring log to the monitoring device; a log output unit that, when the application is stopped, ends the process of acquiring the control log and the monitoring log, acquires the end of the process of acquiring the control log and the monitoring log as the control log, and outputs the acquired control log to the monitoring device; and The monitoring device When the control log indicating the execution of the initialization is acquired, start alive monitoring to determine whether the application is running or not based on the control log output from the AP server; start internal process monitoring to determine whether the application currently running is operating normally based on the monitoring log output from the AP server; a monitoring unit that terminates the alive monitoring and the internal process monitoring when the control log indicating the end of the acquisition process is acquired; having Surveillance system.
2. the log output unit outputs an application execution command and a command line argument in the application as the control log; the monitoring unit transmits to the AP server a notification inquiring about information regarding processes currently running on the AP server, receives a response to the notification from the AP server, derives the number of processes related to the application among the processes currently running on the AP server based on the received response and the control log, and performs the alive monitoring based on the derived number. The monitoring system of claim 1 .
3. the log output unit outputs, as the monitoring log, whether or not a deadlock has occurred in the application being run; the monitoring unit acquires information indicating whether a deadlock has occurred in the running application based on the monitoring log, and performs the process internal monitoring based on the acquired information.
3. The monitoring system according to claim 1 or 2.
4. the log output unit outputs, as the monitoring log, an unused heap amount, which is an unused memory capacity in a dynamic memory area secured in the running application; the monitoring unit acquires information indicating the unused heap amount based on the monitoring log, and performs the internal process monitoring based on the acquired information. The monitoring system according to any one of claims 1 to 3.
5. the application is an application having a GC (Garbage Collection) function, the log output unit outputs, as the monitoring log, a GC occurrence frequency, which is the type and number of GC occurrences that have occurred in the application being run; the monitoring unit acquires information indicating the GC occurrence frequency based on the monitoring log, and performs the internal process monitoring based on the acquired information. A monitoring system according to any one of claims 1 to 4.
6. the log output unit outputs a CPU (Central Processing Unit) usage rate of a process in the running application as the monitoring log; the monitoring unit acquires information indicating a CPU utilization rate of the process in the running application based on the monitoring log, and performs the internal process monitoring based on the acquired information. A monitoring system according to any one of claims 1 to 5.
7. the log output unit includes a module generated using a log library provided in a programming language applied to the application, and outputs, as the monitoring log, an application log including all or part of a developer log designed in the application using the log library; the monitoring unit acquires information indicating the application log based on the monitoring log, and performs log monitoring to determine whether the application currently running is operating normally based on the acquired information. A monitoring system according to any one of claims 1 to 6.
8. A monitoring method performed by a monitoring system including an AP server on which an application is installed and a monitoring device that monitors the operation of the application, The AP server When the application is started, a process of acquiring a control log including information about a process started in the application and a monitoring log including information about an operating status of the application during startup is initialized, information indicating the execution of the initialization is acquired as the control log, and the acquired control log is output to the monitoring device; acquiring the control log while the application is running, outputting the acquired control log to the monitoring device, acquiring the monitoring log, and outputting the acquired monitoring log to the monitoring device; When the application is stopped, the process of acquiring the control log and the monitoring log is terminated, the completion of the process of acquiring the control log and the monitoring log is acquired as the control log, and the acquired control log is output to the monitoring device; The monitoring device When the control log indicating the execution of the initialization is acquired, start alive monitoring to determine whether the application is running or not based on the control log output from the AP server; start internal process monitoring to determine whether the application currently running is operating normally based on the monitoring log output from the AP server; When the control log indicating the end of the acquisition process is acquired, the alive monitoring and the internal process monitoring are terminated. Monitoring method.
9. The log output unit, during the initialization, sets, as the parameter related to the alive monitoring, a parameter including whether or not monitoring is to be performed, The monitoring system of claim 1 .
10. In the initialization, the log output unit sets, as the parameter related to the internal process monitoring, a parameter including a monitoring presence / absence indicating whether or not the internal process monitoring is to be performed. The monitoring system of claim 1 .
11. The log output unit, during the initialization, setting a parameter including whether or not to perform deadlock monitoring, which is the process internal monitoring performed based on information indicating whether or not a deadlock has occurred in the application being run; a parameter indicating whether to perform heap unused capacity monitoring, which is the process internal monitoring performed based on the unused heap capacity, which is the unused memory capacity in the dynamic memory area secured in the running application; A parameter including a monitoring presence / absence indicating whether or not to perform GC occurrence frequency monitoring, which is the process internal monitoring performed based on the GC occurrence frequency, which is the type and number of GC occurrences that have occurred in the application being run, is set; Set a parameter including whether or not to perform monitoring, which is the process internal monitoring performed based on the CPU (Central Processing Unit) utilization rate of the process in the running application. The monitoring system of claim 10.
12. The log output unit stores the progress of the initialization and the end of the acquisition process as control log information, and stores the monitoring log acquired during the startup of the application as monitoring log information different from the control log information. The monitoring system of claim 1 .
Citation Information
Patent Citations
Monitoring method and monitoring device for computer system and application program
CN111752800A
Program operation monitoring method
JP2001117789A
Operating status monitoring system, method, and program
JP2010237793A
Monitoring system
JP2015057685A
Test execution device, test execution method, and computer program
JP2016071400A