WO2018070211A1 - 管理サーバ、管理方法及びそのプログラム - Google Patents
管理サーバ、管理方法及びそのプログラム Download PDFInfo
- Publication number
- WO2018070211A1 WO2018070211A1 PCT/JP2017/034221 JP2017034221W WO2018070211A1 WO 2018070211 A1 WO2018070211 A1 WO 2018070211A1 JP 2017034221 W JP2017034221 W JP 2017034221W WO 2018070211 A1 WO2018070211 A1 WO 2018070211A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- computer system
- processing
- correlation
- program
- management server
- 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/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Definitions
- the present invention relates to a management server for managing a computer system.
- the failure cause extraction device described in International Publication No. 11/099341 includes a storage unit and a correlation destruction propagation detection unit.
- the storage unit is a correlation that performs conversion from the performance value of the input type to the performance value of the output type generated based on the time series of performance information including a plurality of types of performance values in the system.
- a correlation model including one or more functions is stored.
- Correlation destruction propagation detection unit can be directly or indirectly converted from the performance value of the base point that is one type, and is used for conversion to the performance value of another type that is not input to the correlation function Based on the number of base point propagation functions that are functions, the degree of influence of the base point performance value on the system is calculated.
- a typical example of the invention disclosed in the present application is as follows. That is, a management server that manages a computer system that executes an application program, and includes a processor that executes the program and a storage device that stores the program, and the processor has characteristics of processing included in the application program. Extracting and identifying a correlation between a process included in the application program and a component of the computer system by analyzing a correlation between a characteristic of the process and a component of the computer system, and the processor Based on the correlation, the relationship between the operating status of the computer system and the characteristics of the processing included in the application program is specified.
- aaa table aaa list
- aaaDB Database
- aaa is an arbitrary character string
- the information does not need to be stored in the table, and may be expressed in a data structure other than a table, list, DB, queue, or the like. Therefore, “aaa table”, “aaa list”, “aaaDB”, and the like may be referred to as “aaa information” to indicate that they do not depend on the data structure.
- program may be used as the subject. However, since the program performs processing determined by being executed by the processor using a memory and a communication port (communication control device), the processor The subject may be an explanation. Further, the processing disclosed with the program as the subject may be processing performed by a computer such as a management server or an information processing apparatus. Further, part or all of the program may be realized by dedicated hardware.
- the program distribution server includes a processor and a storage resource, and the storage resource further stores a distribution program and a program to be distributed.
- the processor executes the distribution program
- the processor of the program distribution server distributes the distribution target program to other computers.
- the computer has an input / output device.
- the input / output device examples include a display, a keyboard, a pointer device, a tablet terminal, and a smartphone.
- other devices may be used.
- a serial interface or an Ethernet interface is used as the input / output device
- a display computer having a display or keyboard or pointer device is connected to the interface, and the display information is transmitted to the display computer.
- the display computer may perform the display, or the input may be replaced with the input / output device by receiving the input.
- the interface may be described as I / F.
- the computer has a communication I / F.
- Examples of communication I / Fs include LAN (Local Area Network) connection terminals, SAN (Storage Area Network) connection terminals, and wireless communication connection devices. Good.
- a set of one or more computers that manage the information processing system and display the display information of this embodiment may be referred to as a management system.
- a management computer hereinafter, management computer
- the management computer displays display information
- the management computer is a management system
- a combination of a management computer and a display computer is also a management system.
- a plurality of computers may realize processing equivalent to that of the management computer.
- the plurality of computers if the display computer performs the display, display (Including computers) is the management system.
- FIG. 1 is a diagram showing the effect of the influence analysis process in the computer system according to the first embodiment of the present invention.
- the computer system 1 is an example of a computer system to which this embodiment is not applied.
- the computer system 1 operates on a managed server device 203, a managed storage device 204, an application program 250 that runs on the server device 203, a management server 201 that manages each device, and a managed device. Including middleware applications and applications.
- the management server 201 detects the occurrence of a problem in the managed storage device 204, and the affected applications are the application 2 and the application 3 based on the correlation analysis between the application performance and the operation status of the managed IT resource. Is calculated. However, it cannot be specified which process of the application 2 and the application 3 is affected.
- the problem in the computer system 1 is the occurrence of some abnormality or a sign of abnormality.
- An application administrator wants to deal with a problem with an IT resource before it affects the user of the application.
- the application provides a service including multiple processes, and the problem occurs with the same IT resource. Even if it exists, the presence or absence and degree of influence differ depending on the processing. For example, when a disk IO is a bottleneck, processing that causes a large amount of disk access such as searching for long-term trend data is affected, but processing that does not cause disk access such as in-memory simulation is affected. I do not receive it.
- the computer system 2 is an example of a computer system to which this embodiment is applied.
- the influence is analyzed based on the correlation between the application performance and the operation status of the IT resource.
- the processing characteristics are extracted from the application, and the influence is analyzed based on the correlation between the processing characteristics and the IT resource.
- the method according to the present embodiment has an effect that it is possible to determine whether or not there is an influence in a processing unit by using the processing characteristics of the application in the influence analysis process.
- FIG. 1 Note that the system configuration illustrated in FIG. 1 is shown exaggerated by omitting a part of the detailed system configuration described in FIG.
- FIG. 2 is a block diagram showing a configuration example of the system in the first embodiment of the present invention.
- the system of the first embodiment includes a management server 201 and a computer system managed by the management server 201.
- the computer system managed by the management server 201 is configured by connecting a server device 203, a storage device 204, a network device 205, and a cloud service 206 to each other via a network 207 or a SAN (Storage Area Network).
- a server device 203 a storage device 204, a network device 205, and a cloud service 206 to each other via a network 207 or a SAN (Storage Area Network).
- SAN Storage Area Network
- the management server 201 the processor 211 in the management server 201, and the main storage device 212
- a plurality of components may be provided.
- the management server 201 is a computer having a processor 211, a main storage device 212, an auxiliary storage device 213, and a communication interface.
- the processor 211 executes a program stored in the main storage device 212. Specifically, the processor 211 executes a correlation learning processing program 220, an influence analysis processing program 221, and an event detection program 222. Note that some or all of the correlation learning processing program 220, the impact analysis processing program 221 and the event detection program 222 are executed by the processor 211, for example, hardware such as an integrated circuit (Field-Programmable-Gate Array). It may be realized by wear.
- the main storage device 212 includes a ROM that is a nonvolatile storage device and a RAM that is a volatile storage device.
- the ROM stores an immutable program (for example, BIOS).
- the RAM is a high-speed and volatile storage device such as DRAM (Dynamic Random Access Memory), and temporarily stores a program executed by the processor 211 and data used when the program is executed.
- the main storage device 212 stores a correlation learning processing program 220, an influence analysis processing program 221, an event detection program 222, and a countermeasure generation program 224.
- the auxiliary storage device 213 is configured by a large-capacity and non-volatile storage device such as a magnetic storage device (HDD) or a flash memory (SSD), and stores data used when the program is executed.
- the auxiliary storage device 213 may be an external storage device such as the storage device 204 connected to the management server 201 via an I / F (not shown) to the external device or the communication interface 216. Further, the main storage device 212 and the auxiliary storage device 203 may be the same device.
- the auxiliary storage device 213 stores processing characteristics 231, correlation data 232, configuration information 233, operation data 234, and countermeasure data 235.
- the processing characteristics 231, the correlation data 232, the configuration information 233, and the operation data 234 may be stored in different auxiliary storage devices 213, or part or all of them may be stored in the main memory 211. Alternatively, it may be stored in the main storage 253 or the auxiliary storage device 254 on another server device 203 connected via the network 207, or the auxiliary storage device of another storage device 204 connected via the network 207. 263 may be stored.
- the processing characteristics 231 are information on processing feature amounts such as differences in processing types, data amounts to be processed, and types of data to be processed.
- the processing characteristics 231 are search processing for a database or registration processing. , Update processing, deletion processing, or the like. Details of the processing characteristics 231 will be described later with reference to FIG.
- Correlation data 232 is information on the mutual relationship between the monitoring information of the computer system monitored by the management server.
- the correlation data 232 may be information on the correlation between the response time of the application program and the usage rate of the processor of the server device 203. Details of the correlation data 232 will be described later with reference to FIG.
- the correlation data 232 may include a correlation between operation data of the management server 201.
- the correlation data 232 indicates the relationship that the response time of the cloud service 206 is slow when the response time of the application program 250 of the server device 203 is slow, or the correlation of the application program 250 when the IOPS of the logical volume 260 of the storage device 204 is high. Information regarding the relationship that the execution time of the job is slow or the relationship that the response time of the application program is slow when the number of logs per unit time of the application program of the server device 203 is large may be used.
- the correlation data 232 only needs to know the correlation between data used in the computer system managed by the management server 201. This correlation may be in the form of a correlation equation or a qualitative value such as a high or low correlation degree.
- the system configuration information 233 is information on a connection relationship between managed devices and a relationship between a managed application program and a managed device. Details of the system configuration information 233 will be described later with reference to FIGS.
- the operation data 234 is operation data of a device group managed by the management server 201 and a program executed by the device.
- an operation log output by the application program 250, a configuration change log of the virtual machine 251, or time-series IOPS result data of the logical volume 260 of the storage apparatus 204 may be used.
- the countermeasure data 235 is data of a countermeasure plan displayed together with the analysis result of the influence range.
- the auxiliary storage device 213 may store a program executed by the processor 211. That is, the program is read from the auxiliary storage device 213, loaded into the main storage device 212, and executed by the processor 211.
- the communication interface 216 is a network interface device (NIC) that controls communication with other devices (such as the operation terminal 202 and the server device 203) connected to the network 207 according to a predetermined protocol.
- NIC network interface device
- the management server 201 may have an input interface and an output interface.
- the input interface is an interface that is connected to a keyboard, a mouse, and the like and receives input from the administrator.
- the output interface is an interface that is connected to a display device, a printer, or the like, and outputs the state of the management server 201 and the execution result of the program in a format that can be viewed by the administrator.
- the program executed by the processor 211 is provided to the management server 201 via a removable medium (CD-ROM, flash memory, etc.) or a network, and stored in a nonvolatile auxiliary storage device 213 that is a non-temporary storage medium. For this reason, the management server 201 may have an interface for reading data from a removable medium.
- the management server 201 is a computer system configured on a single physical computer or a plurality of logically or physically configured computers, and is a virtual system constructed on a plurality of physical computer resources. It may operate on a computer. A program executed on the management server 201 may operate on a separate thread on the same computer.
- an operation terminal 202 may be connected to the management server 201.
- the operation terminal 202 is a computer that operates the management computer 201.
- the operation terminal 202 has an input / output device 241.
- the input / output device 241 is a device (for example, a keyboard, a mouse, a display device, a printer, etc.) that inputs / outputs data by an operation of an administrator. Data input to the input / output device 241 is transmitted to the management server 201 via the network 207.
- the output device 242 is a display device or a printer that outputs data from the management server 201.
- the server device 203 is a computer monitored by the management server 201 and executes an application program.
- the server device 203 includes an application program 250, a processor 251, a main storage device 252, and an auxiliary storage device 253.
- the application program 250 is, for example, an application that provides a business service such as a material ordering application or an electronic commerce application, an application (such as a database) that is used internally by an application that provides the business service, or an application that provides a virtual machine ( Hypervisor, etc.) and an OS that provides a container service.
- the server device 203 only needs to be able to execute an application program.
- the server device 203 is not necessarily in the form of a physical server device such as a virtual machine or a container. Therefore, the server device 203 does not necessarily include the physical processor 251, the main storage device 252, and the auxiliary storage device 253, and may include components (not illustrated).
- the storage device 204 is a device managed by the management server 201, and provides a storage area used by a program operating on the server 203 and a program operating on the management server 201.
- the storage device 204 includes a logical volume 260, a communication I / F 261, an IO processing unit 262, and an auxiliary storage device 263.
- the auxiliary storage device 263 may provide a plurality of nonvolatile storage devices as a logical volume 260 by making the plurality of nonvolatile storage devices redundant by using, for example, a RAID (Redundant Array of Inexpensive Disks) or the like. Also, a plurality of RAID auxiliary storage devices 263 may be virtually controlled as one auxiliary storage device 263.
- the logical volume 260 is configured by a storage area of the auxiliary storage device 263. Data to the logical volume 260 is input / output via the communication I / F 261, and the IO processing unit 262 controls the input / output of data.
- the storage apparatus 204 may include components (not shown) such as a main storage device.
- the network device 205 is a device managed by the management server 201 and has a plurality of communication I / Fs 270.
- the network device 205 connects a plurality of devices and transfers data in the computer system.
- the network device 205 connects a plurality of server devices 203, connects a plurality of storage devices 204, and connects the server device 203 and the storage device 204.
- Typical network devices include, for example, an IP (Internet Protocol) switch and an FC (Fiber Channel) switch, but the network device 205 may be other types of devices.
- the cloud service 206 is a virtual device managed by the management server 201, and is a computer that provides a service via the Internet.
- Typical examples of the cloud service 206 include the function of the server device 203 provided via the Internet and the function of the storage device 204 provided via the Internet, but may be a function that provides other services. .
- event detection program 222 may exist not on the management server 201 but on a computer system managed by the management server 201.
- FIG. 3 is a diagram showing an example of the processing characteristics 231 in the first embodiment.
- the processing characteristic 2331 information that classifies the feature amount of the processing of the application program is held in, for example, a table format, and is prepared manually or in advance by another program.
- the processing characteristic 231 includes an ID field 301, a processing content field 302, a data amount field 303, and a data storage format 304 field 304.
- the ID field 301 stores identification information that uniquely identifies the classification of processing characteristics.
- the processing content field 302, the data amount field 303, and the data storage format field 304 store the feature amount of processing by the application.
- the feature amount of the process is extracted from the application.
- the processing characteristic 231 may not include a part of the exemplified fields or may include other fields not illustrated. Further, the field included in the processing characteristic 231 may be divided and stored in a plurality of tables.
- FIG. 4 is a diagram illustrating an example of the correlation data 232.
- the correlation data 232 information on the correlation between the performance of the application classified by the processing characteristics and the operation data of the computer system is held in, for example, a table format, and is prepared manually or in advance by another program.
- the correlation data 232 includes an ID field 401, an SV CPU field 402, an SV Mem field 403, and an ST LU field 404.
- the ID field 401 is identification information for uniquely specifying the classification of the processing characteristic 231 and stores a value common to the ID field 301 of the processing characteristic 231.
- the SV CPU field 402, the SV Mem field 403, and the ST LU field 404 are information related to the monitoring items of the computer system operation data monitored by the management server 201.
- the correlation data 232 may not include some of the illustrated fields, or may include other fields not illustrated. In addition, these fields may be divided and stored in a plurality of tables.
- the SV CPU field 402 stores correlation information between operation data of the processor 211 of the server device 203 and application performance of the processing characteristics 301.
- the SV Mem field 403 stores correlation information between the operation data in the main storage 212 of the server device 203 and the application performance of the processing characteristics 301, and the ST LU field 404 stores the operation data of the logical volume 260 in the storage device 204.
- Correlation information with the application performance of the processing characteristics 301 is stored.
- correlation data is stored as character strings indicating levels such as large and medium.
- correlation may be held in the form of a calculation formula such as a correlation formula, and the correlation degree may be clustered.
- the correlation may be held in the form of a class calculated by classifying in the above process, or the correlation may be held in another form.
- the operation data of the logical volume 260 includes a plurality of monitoring items such as response time and IOPS (number of input / output processing requests per unit time), which are omitted in this embodiment for simplification. And describe. Correlation data with processing characteristics may be held for each monitoring item of the components of the computer system.
- the configuration information 233 includes the computer system configuration information table 500 shown in FIG. 5 and the application configuration information 600 shown in FIG.
- FIG. 5 is a diagram showing an example of the configuration information table 500 of the computer system.
- the computer system configuration information table 500 stores logical or physical connection information of the components of the computer system managed by the management server 201 in, for example, a table format, and is prepared manually or in advance by another program. Is done.
- the computer system configuration information table 500 includes an application field 501, a server field 502, a processor field 503, a storage field 504, and a logical volume field 505.
- the application field 501 stores identification information for uniquely identifying an application.
- the server field 502 stores identification information for specifying the server device 203 on which the application is operating.
- the processor field 503 stores identification information for specifying the processor 211 executing the application.
- the storage field 504 stores identification information for specifying the storage apparatus 204 that stores data used by the application.
- the logical volume field 505 stores identification information for specifying the logical volume 260 that stores data used by the application.
- the computer system configuration information table 500 may not include a part of the exemplified fields, or may include other fields not illustrated. In addition, these fields may be divided and stored in a plurality of tables. As other fields (not shown), for example, service version information related to the cloud service 206 and API specification version information may be recorded, or the type of storage medium (HDD (Hard) of the auxiliary storage device 263 of the storage device 204 may be recorded. Disk drive) or SSD (Solid State Disk), and the performance (operating frequency, etc.) information of the processor 251 of the server device 203 may be recorded.
- the computer system configuration information table 500 is a computer system component managed by the management server 201, for example, an application program 250 of the server device 203 or a logical volume 260 of the storage device 204. It is desirable to record all component data.
- FIG. 6 is a diagram illustrating an example of the application configuration information table 600.
- the application configuration information table 600 stores correspondence information between processing executed in the application managed by the management server 201 and processing characteristics in a table format, for example, and is prepared manually or in advance by another application program.
- the application configuration information table 600 includes an ID field 601, an application field 602, a processing field 603, and a processing characteristic field 604.
- the ID field 601 stores identification information that uniquely specifies processing executed in the application.
- the application field 602 stores identification information that identifies which application includes the process.
- the process 603 field stores a headline that allows a person to recognize the purpose for which the process is executed.
- the processing characteristics field 604 stores processing characteristics. A plurality of processing characteristics may correspond to one process.
- the application configuration information table 600 may not include a part of the exemplified fields, or may include other fields not illustrated. In addition, these fields may be divided and stored in a plurality of tables.
- the correlation learning process is a process realized by the processor 211 of the management computer 201 executing the correlation learning process program 220.
- FIG. 7 is a flowchart illustrating a procedure example of the correlation learning process executed by the management server 201.
- the correlation learning process may be executed according to an instruction from the administrator.
- the administrator's instruction is input from the input / output device 241 of the operation terminal 202 or the input / output device (not shown) of the management server 201.
- the management server 201 may receive the output result of another program and execute the correlation learning process.
- the correlation learning process may be executed at a predetermined timing.
- the predetermined timing may be regular (for example, every hour) or triggered by the arrival of a time designated by the scheduler.
- the correlation learning process may be executed when the management server 201 detects a configuration change of the managed computer system (for example, update of an application program, migration of a virtual machine, etc.).
- the management server 201 changes the behavior of the managed computer system (for example, the change in the tendency of access from the user to the application, the change in the amount of data to be accessed, the operating data of the managed computer system exceeds the threshold, Correlation learning processing may be executed when operating data of the managed computer system is detected to match a specific pattern. Further, the correlation learning process may be executed when the completion of the execution of the fault countermeasure by the administrator is detected. The correlation learning process may be executed when a difference between the predicted value calculated based on the correlation data stored in the management server 201 and the actual measurement value is detected. An event that triggers these correlation learning processes may be detected by the event detection program 222.
- the management server 201 executes processing characteristic extraction processing (step S701), configuration information update processing (step S702), and correlation analysis processing (step S703).
- the correlation learning process flow 700 may include other process steps (not shown). Each processing step may be executed at least once before the impact analysis processing 221 is executed. When the correlation learning processing flow 700 is executed after the second time, a part of the processing steps shown in the drawing is executed. It does not have to be done. In the correlation learning process flow 700, the order in which the illustrated process steps are executed may be different.
- the management server 201 extracts the feature quantity of the process executed by the application, and registers the extracted feature quantity of the process in the process characteristic 231.
- the processing execution time is acquired from the operation data of the application, and the acquired execution time is clustered by another application to extract the feature amount.
- the feature amount may be extracted from the access log to the database by classifying whether the process is a registration process, a read process, an update process, or a delete process. Further, the feature amount may be extracted by comparing the amount of data accessed from the operation data of the application. Further, the feature quantity may be extracted by acquiring the number of application users from the login history of the user application. These feature amount extraction processes may be performed manually.
- step S701 If a new feature quantity of the process cannot be extracted by the process characteristic extraction process (step S701), the process feature quantity may not be registered in the process characteristic 231.
- a new data record may be added by executing the process characteristic extraction process (step S701). New feature quantities of the process may be detected and the data field may increase. The data field may be reduced by recalculation of the processing feature amount.
- the management server 201 acquires configuration information of the managed computer system. For example, the management server 201 detects that the virtual machine has migrated and the operating server device 203 has been changed, and updates the configuration information table 500 of the computer system included in the configuration information 233. Even if the application executes the same processing, if the processing characteristics change as the amount of data increases, the processing characteristics 604 of the application configuration information table 600 included in the configuration information 233 may be calculated again. In addition, when a new function is added as the application is updated, a new data record may be added to the application configuration information table 600 included in the configuration information 233. Further, a change in the API specification may be detected along with the update of the cloud service 206, and the configuration information table 500 of the computer system included in the configuration information 233 may be updated. Moreover, you may perform the processes other than illustrated abnormally.
- the management server 201 analyzes the correlation between the operation data of the managed computer system and the processing performance of the application having the characteristic amount of the processing characteristic 231, and updates the correlation data 232. .
- the IOPS to the logical volume of the storage apparatus 204 exceeds a predetermined value
- the response time of the processing group of the application whose ID 301 of the processing characteristic 231 corresponds to C2 increases uniformly
- the logical capacity of the storage apparatus 204 The increase in IOPS of the volume and the processing characteristic C2 are analyzed, and information that the degree of correlation between the two is high is stored.
- the correlation analysis process may be performed manually or by other programs.
- the correlation data 232 may not be updated. Further, in the correlation analysis process (step S703), when there is not enough learning data to analyze the correlation corresponding to the data field of the correlation data 232, for example, as a data field not shown in FIG.
- the ST CPU field corresponding to the IO processing unit 262 of the storage apparatus 204 is added, when there is no operation data of the IO processing unit and application program as a sufficient amount of operation data 234 for analyzing the correlation, The computer system managed by the management server 201 may execute processing by another program to generate operation data sufficient for correlation analysis, thereby enhancing the effect of the correlation analysis processing (step S703).
- the impact analysis process is a process realized when the processor 211 of the management computer 201 executes the impact analysis process program 221.
- FIG. 8 is a flowchart showing an example of the procedure of the impact analysis process executed by the management server 201.
- the influence analysis process may be executed by an instruction from the administrator input from the input device 214 of the management computer 201. Further, the impact analysis process may be executed by the management server 201 in response to an instruction from another program. Further, when the management server 201 receives the notification of the occurrence of the problem transmitted by the computer system managed by the management server 201 via the communication interface 216, the impact analysis process may be executed.
- the management server 201 issues a computer system problem detection process (step S801), a related application identification process (step S802), an impact analysis process for each process (step S803), and a countermeasure generation process (step S804) and countermeasure execution processing (step S805) are executed.
- the impact analysis process flow 800 may include other process steps not shown. In addition, some of the illustrated processing steps may not be executed.
- the management server 201 detects a problem occurring in the managed computer system. For example, the collected operation data of the computer system is compared with a threshold value of the operation data, and when the operation data exceeds the threshold value, it is detected that a problem has occurred. Further, for example, the text of the operation data of the computer system may be analyzed to detect that a problem has occurred when a specific character string such as “Error” or “Warning” is included. Further, for example, when the operating data is predicted to exceed the threshold within a few days from the increasing trend of the operating data, a sign of occurrence of a problem may be detected.
- the problem detection process of the computer system may be executed by the event detection program 222.
- information that can identify a record in the computer system configuration information table 500 of the configuration information 233 is output as a location where the problem has occurred. For example, this is information indicating that a problem has occurred in the logical volume with the name LU2 in the storage apparatus 204 with the name Storage1.
- the management server 201 specifies an application related to the computer system in which the problem has occurred.
- the management server 201 extracts, from the computer system configuration information table 500 of the configuration information 233, an application field 501 that is connected to the computer system corresponding to the field in which the problem detected in the computer system problem detection (step S801) occurs. And output.
- the storage 504 corresponds to the storage 1
- the logical volume field 505 corresponds to the LU 2 for the application A and the application B. Therefore, it can be seen that applications A and B are related to the problem of the LU 2 existing in the storage 1.
- FIG. 9 shows an outline of related application identification processing (step S802).
- application A, application B, application C, application D, application E, and application F are operating.
- the application A, the application B, the application C, and the application D are operating on the server 1, and the application E and the application F are operating on the server 2.
- all of the application A, the application B, the application C, the application D, the application E, and the application F store data in the storage 1, and the application C uses the communication I / F 1 in the storage 1.
- Application A and application D are using communication I / F 2 in storage 1
- application B is using communication I / F 3 in storage 1
- application E is in storage 1
- the communication I / F 4 is used
- the application F uses the communication I / F 5 in the storage 1.
- Application C and application D use the IO processing unit 1
- application A, application B, application E, and application F use the IO processing unit 2.
- Application C and application D store data on logical volume LU1
- application A and application B store data on logical volume LU2
- application E and application F store on logical volume LU3. The data is stored above.
- the logical volume LU1 is configured by making the auxiliary storage device 1, the auxiliary storage device 2, and the auxiliary storage device 3 redundant, and the logical volume LU2 includes the auxiliary storage device 4, the auxiliary storage device 5, and the auxiliary storage device 6.
- the logical volume LU3 is configured by making the auxiliary storage device 7, the auxiliary storage device 8, and the auxiliary storage device 9 redundant. As shown in the figure, combinations of components of the computer system used for each application are different. In the related application specifying process (step S802), for example, when a problem occurs in the logical volume LU2, even in the application sharing the storage 1, the application C, the application D, the application E, and the application F are the logical volume LU2.
- the application A and the application B are unrelated and are processing for specifying that they are related to the logical volume LU2.
- step S803 the identification information for identifying the component of the computer system in which the problem has occurred, which is output in the problem detection of the computer system (step S801), and the identification of the related application (step S802), is received as input, and the identification information for identifying the affected process among the affected applications is output.
- the management server 201 refers to the correlation data of the field that matches the component of the computer system in which the problem has occurred in the correlation data 232, and the process having a high degree of correlation Processing characteristics that are affected by specifying the characteristics are calculated. If the correlation level is recorded in characters, the processing characteristics with high correlation may be determined based on whether the processing characteristics of the characters exhibiting a high correlation match, or the correlation level is recorded numerically. May be determined by comparison with a threshold value, and when the degree of correlation is determined by an expression, it may be determined by whether the value calculated by the expression matches a predetermined condition.
- the management server 201 acquires a record that matches the application that the application field 602 is affected in the application configuration information table 600 of the configuration information 232, and the affected processing characteristics and processes among the acquired records. A record having the same characteristic field 604 is output as an affected process.
- the component of the computer system in which the problem has occurred is a storage logical volume
- the field corresponding to the storage logical volume is the ST LU field 404. It can be determined that the processing characteristics C2 and C3 are affected. Then, with reference to the application configuration information table 600, among the records corresponding to the application A and the application B, the record whose processing characteristic field 604 is C2 or C3 is the process of ID F2 and the process of ID F3. It turns out that there is, and outputs F2 and F3 which are IDs of the processing concerned.
- the management server 201 inputs the components of the computer system in which the problem has occurred, the affected application and the processing characteristics, and outputs the countermeasure.
- the countermeasure generation process may be executed by the countermeasure generation processing program 224. For example, when information indicating that the processing of the processing characteristics C2 and C3 of the application A and the application B is affected due to the IOPS of the logical volume LU2 of the storage 1 is affected, the logical volume used by the application B is transferred from the LU2. Outputs a countermeasure to change to LU3.
- the countermeasure generation process (step S804) may be executed manually or by another program.
- the countermeasure generation process may not be executed. Further, the management server 201 may output the result of the processing up to this point in the impact analysis processing flow 800 to the administrator via the input / output device 241 of the operation terminal 202. For example, the screen illustrated in FIG. 11 may be output.
- the problem 1101 is information obtained by visualizing the output of the problem detection process (step S801) of the computer system.
- the influence 1102 is information obtained by visualizing the output of the related application specifying process (step S802), the influence analysis process (step S803) and the output for each process, and the processing characteristics 231 together.
- the countermeasure 1103 is information obtained by visualizing the output of the countermeasure generation process (step S804).
- the problem 1101, the impact 1102, and the countermeasure 1103 may be displayed on different screens.
- some information may not be displayed.
- the generated countermeasure is automatically executed, all or part of the information may not be displayed.
- the management server 201 inputs the countermeasure output in the countermeasure generation (step S804) and outputs a command procedure for executing the countermeasure. For example, when a measure for changing the logical volume used by application B from LU2 to LU3 is input, an instruction to change the logical volume storing data used by application B from LU2 to LU3 is output to the storage apparatus 204. To do. This step may be performed manually or by other programs.
- the countermeasure execution process (step S805) may not be executed. For example, if the countermeasure generation process (step S804) has not been executed, or if the computer system administrator refers to the output of the countermeasure generation process (step S804) and determines that the countermeasure execution is unnecessary, The countermeasure execution process (step S805) is not executed.
- the management server 201 uses the operation data 234 of the managed computer system and the processing characteristics 231 of the managed application to obtain the correlation data 232.
- the affected application process can be identified using the correlation data 232 and the configuration information 233.
- the administrator of the computer system can grasp the feature amount of the affected process, it is possible to easily estimate the problem that occurred in the computer system and the causal relationship between the influence. Therefore, the administrator of the computer system can quickly examine and execute necessary measures and maintain the performance of the application.
- FIG. 12 is a block diagram showing a configuration example of a system in the second embodiment of the present invention.
- the main memory 212 of the management server 201 of the second embodiment does not store the impact analysis processing program 221 but stores the cause analysis processing program 223. Since other configurations and functions are the same as those of the first embodiment, the same reference numerals are given and descriptions thereof are omitted.
- the cause analysis process is a process realized by the processor 211 of the management computer 201 executing the cause analysis process program 223.
- FIG. 13 is a flowchart showing a procedure example of cause analysis processing executed by the management server 201.
- the cause analysis process may be executed by an instruction from the administrator input from the input device 214 of the management computer 201.
- the cause analysis process may be executed by the management server 201 in response to an instruction from another program. Further, the cause analysis process may be executed when the management server 201 receives the notification of the occurrence of the problem transmitted from the computer system, which is a device managed by the management server 201, via the communication interface 216.
- the management server 201 detects an application problem (step S1301), a processing characteristic correspondence detection process (step S1302), a cause range narrowing process (step S1303), and a cause location calculation process (step S1303).
- Step S1304) is executed.
- the cause analysis processing flow 1300 may include other processing steps (not shown).
- the management server 201 detects a problem that occurred in a specific process of the application program 250 to be managed, and information that can identify the application program in which the problem has occurred and its process. Is output. For example, a problem that the processing time for displaying the output screen of the end user of the application exceeds a threshold is detected, and the application field 602 and the processing field 603 in the application configuration information table 600 included in the configuration information 233 are output. .
- the detection of the problem that has occurred in the application program may be executed by the event detection program 222 or may be executed manually by an administrator.
- the management server 201 identifies the processing characteristics in which a problem has occurred. Specifically, using the output of the application problem detection process (step S1301) as an input, the processing characteristic field 604 of the corresponding application is acquired and output from the application configuration information table 600 included in the configuration information 233. .
- the management server 201 outputs a candidate cause range of a problem occurring in the application program 250.
- the management server 201 receives the output of the process characteristic correspondence detection process (step S1302) as input, and among the correlation data stored in each field of the correlation data 232, the operation data of each component of the computer system A data field stored as having a correlation with application performance (processing characteristics) is acquired as a cause range candidate. If there is no correlation in any combination of the input processing characteristic and the data string, the data field may be output as a cause range candidate.
- the management server 201 applies the application field 501 of the computer system configuration information table 500 included in the configuration information 232 and the application field output in the application problem detection process (step S1301).
- the data record of the configuration information table 500 that matches 602 is acquired, and in the acquired data record, the configuration of the computer system described in the data record that matches the data field acquired in the cause range narrowing process (step S1303) Output the element as a candidate for the cause.
- a priority order may be given and output.
- the operation data 234 in the corresponding constituent element is referred to and a tendency different from the normal behavior (for example, the CPU usage rate is 30% higher than normal, When the number of Database access logs is recorded more than a threshold value), it may be preferentially output as a candidate for a cause.
- the management server 201 generates the correlation data 232 using the operation data 234 of the managed computer system and the processing characteristics 231 of the managed application.
- the component of the computer system that is the cause is specified using the correlation data 232 and the configuration information 233. For this reason, the administrator of the computer system can quickly examine and execute necessary measures to maintain the performance of the application.
- the management server 201 extracts the processing characteristics included in the application program and analyzes the correlation between the processing characteristics and the components of the computer system.
- Correlation data 232 is generated by specifying the correlation between the processing included in the system and the components of the computer system, and the relationship between the operating status of the computer system and the characteristics of the processing included in the application program is specified based on the correlation data 232 Therefore, the range affected by the abnormality occurring in the computer system can be found in the unit of processing included in the application program.
- the management server 201 When the management server 201 detects a configuration change of the computer system (for example, hardware change, virtual machine migration, storage disk change, etc.), the management server 201 extracts the processing characteristics and the processing characteristics and the computer system Since at least one of the analyzes of the correlation with the constituent elements is executed, the accuracy of the correlation data 232 can be improved by learning. In particular, the correlation data can be updated in response to a configuration change frequently made in the cloud configuration.
- a configuration change of the computer system for example, hardware change, virtual machine migration, storage disk change, etc.
- the management server 201 detects a change in the usage tendency of the application program (for example, an increase in the number of users, addition of a function of the application program, etc.), the management server 201 extracts the processing characteristics and the processing characteristics and the computer system Since at least one of the analysis of the correlation with the component is executed, the accuracy of the correlation data 232 can be improved by learning.
- the correlation data can be updated in response to a configuration change frequently made in the cloud configuration. For example, by adding a function of an application program, a new process that is not included in the process characteristic 231 is added, a correlation with another process characteristic is generated, or a new process characteristic that is not included in the process characteristic 231 is added. The correlation between the characteristics and the components of the computer system is recorded.
- the management server 201 detects an abnormality of the computer system or a sign of abnormality
- the management server 201 identifies the processing of the application program that is affected by the abnormality based on the correlation data 232. It can be specified in units, and application measures can be taken. In addition, it is possible to take measures on the application side at the sign of abnormality (before the occurrence of abnormality).
- the management server 201 outputs screen data for displaying the abnormality of the computer system or a sign of the abnormality and the processing of the application program affected by the abnormality, the influence caused by the abnormality can be understood for each process.
- the countermeasure on the computer system side such as adding a disk
- the countermeasure on the application side such as access restriction
- information for modifying the application program can be obtained.
- the management server 201 When the management server 201 detects a problem in the application program, the management server 201 identifies the component of the computer system that is the cause of the problem based on the correlation data 232. Can be identified. This facilitates maintenance on the computer system side.
- the present invention is not limited to the above-described embodiments, and includes various modifications and equivalent configurations within the scope of the appended claims.
- the above-described embodiments have been described in detail for easy understanding of the present invention, and the present invention is not necessarily limited to those having all the configurations described.
- a part of the configuration of one embodiment may be replaced with the configuration of another embodiment.
- another configuration may be added, deleted, or replaced.
- each of the above-described configurations, functions, processing units, processing means, etc. may be realized in hardware by designing a part or all of them, for example, with an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.
- Information such as programs, tables, and files that realize each function can be stored in a storage device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
- a storage device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
- control lines and information lines indicate what is considered necessary for the explanation, and do not necessarily indicate all control lines and information lines necessary for mounting. In practice, it can be considered that almost all the components are connected to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
アプリケーションプログラムを実行する計算機システムを管理する管理サーバであって、プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを備え、前記プロセッサは、前記アプリケーションプログラムに含まれる処理の特性を抽出し、前記処理の特性と前記計算機システムの構成要素との相関の分析によって、前記アプリケーションプログラムに含まれる処理と前記計算機システムの構成要素との相関を特定し、前記プロセッサは、前記特定された相関に基づいて、前記計算機システムの稼働状況と前記アプリケーションプログラムに含まれる処理の特性との関係を特定する。
Description
本出願は、平成28年(2016年)10月12日に出願された日本出願である特願2016-200758の優先権を主張し、その内容を参照することにより、本出願に取り込む。
本発明は、計算機システムを管理するための管理サーバに関する。
計算機システムで問題が発生したとき、計算機システム上で稼動するアプリケーションプログラムへの影響を分析する管理システムがある(例えば、国際公開第11/099341号を参照)。国際公開第11/099341号に記載された障害原因抽出装置は、記憶部と、相関破壊伝播検出部とを含む。ここで、記憶部は、システムにおける複数種別の性能値を含む性能情報の時系列をもとに生成された、入力となる種別の性能値から出力となる種別の性能値への変換を行う相関関数を1以上含む相関モデルを記憶する。相関破壊伝播検出部は、一つの種別である基点の性能値から直接または間接的に変換可能であり、かつ、相関関数の入力とならない、他の種別の性能値への変換に使用される相関関数である基点伝播関数の数をもとに、基点の性能値がシステムに与える影響度を算出する。
アプリケーションプログラムは様々な処理を含むため、アプリケーションプログラムの管理者は、計算機システム上で問題が発生した場合、影響が生じる処理とその理由を特定し、迅速に対策を講じたい。しかし、前述した国際公開第11/099341号では、計算機システム上で問題が発生した場合、アプリケーション単位での性能と計算機システムの稼働データとの相関の高さから影響の有無を判定するため、影響が生じる処理とその理由の特定が困難である。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、アプリケーションプログラムを実行する計算機システムを管理する管理サーバであって、プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを備え、前記プロセッサは、前記アプリケーションプログラムに含まれる処理の特性を抽出し、前記処理の特性と前記計算機システムの構成要素との相関の分析によって、前記アプリケーションプログラムに含まれる処理と前記計算機システムの構成要素との相関を特定し、前記プロセッサは、前記特定された相関に基づいて、前記計算機システムの稼働状況と前記アプリケーションプログラムに含まれる処理の特性との関係を特定する。
本発明の代表的な実施の形態によれば、アプリケーションプログラムの中で影響を受ける処理を特定できる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
以後の説明では「aaaテーブル」、「aaaリスト」、「aaaDB(Database)」、(aaaは任意の文字列)等の表現にて本実施例の情報を説明するが、これら情報は必ずしもその形式で情報が保存されている必要は無く、テーブル、リスト、DB、キュー、等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaaテーブル」、「aaaリスト」、「aaaDB」等について「aaa情報」と称することがある。
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID(IDentification)」という表現を用いるが、これらについてはお互いに置換が可能である。
また、以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御デバイス)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部又は全ては専用ハードウェアによって実現されてもよい。
また、各種プログラムは、プログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。この場合、プログラム配布サーバは、プロセッサと記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムを記憶する。そして、配布プログラムをプロセッサが実行することで、プログラム配布サーバのプロセッサは、配布対象のプログラムを他の計算機に配布する。
また、計算機は入出力装置を有する。入出力装置の例としてはディスプレイと、キーボードと、ポインタデバイスと、タブレット端末と、スマートフォンとが考えられるが、これ以外のデバイスであってもよい。また、入出力デバイスの代替としてシリアルインタフェースやイーサーネットインタフェースを入出力デバイスとし、当該インタフェースにディスプレイ又はキーボード又はポインタデバイスを有する表示用計算機を接続し、表示用情報を表示用計算機に送信したり、入力用情報を表示用計算機から受信することで、表示用計算機で表示を行ったり、入力を受け付けることで入出力装置での入力及び表示を代替してもよい。なお、以後インタフェースのことをI/Fと記述することがある。
また、計算機は通信I/Fを有する。通信I/Fの例としては、LAN(Local Area Network)接続端子と、SAN(Storage Area Network)の接続端子と、無線通信の接続装置と、が考えられるが、これら以外のデバイスであってもよい。
以後、情報処理システムを管理し、本実施例の表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理用の計算機(以下、管理計算機)が表示用情報を表示する場合は管理計算機が管理システムである、また、管理計算機と表示用計算機の組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理計算機と同等の処理を実現してもよく、この場合は当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機も含む)が管理システムである。
<問題解決処理の例>
図1は、本発明の第一の実施形態にかかる計算機システムにおける影響分析処理の効果を示す図である。
図1は、本発明の第一の実施形態にかかる計算機システムにおける影響分析処理の効果を示す図である。
計算機システム1は、本実施例が適用されない計算機システムの例である。計算機システム1は、管理されるサーバ装置203と、管理されるストレージ装置204と、サーバ装置203上で稼動するアプリケーションプログラム250と、各装置を管理する管理サーバ201と、管理される装置上で稼動するミドルウェアアプリケーションとアプリケーションとを含む。
管理サーバ201は、管理されるストレージ装置204における問題が発生を検知して、アプリケーション性能と管理されるITリソースの稼働状況との相関分析によって、影響を受けるアプリケーションがアプリ2及びアプリ3であることを算出する。しかしながら、アプリ2及びアプリ3のどの処理に影響が生じるかは特定できない。
また、新規のアプリケーションに関しては、アプリケーション性能とITリソース稼働状況との相関に関する学習データが不十分なため、ITリソースであるストレージ装置204で発生した問題の影響を受けるか否かを判定できない。ここで、計算機システム1での問題とは、何らかの異常の発生や、異常の予兆である。アプリケーション管理者は、ITリソースで問題が発生した場合、アプリケーションの利用者に影響が生じる前に対処したいが、通常、アプリケーションは複数の処理を含むサービスを提供しており、同じITリソースの問題であっても処理によって影響の有無や程度が異なる。例えば、ディスクIOがボトルネックである場合、長期間の傾向データを検索するような大量のディスクアクセスが発生する処理は影響を受けるが、インメモリシミュレーションのようなディスクアクセスが発生しない処理は影響を受けない。
そのため、計算機システム1では、アプリケーション単位で影響の有無が分かっても、影響が生じる処理が分からず、必要な対応が判断できず、有効な対策を講ずるまでに時間がかかる。また、新規のアプリケーションに関しては、相関に関する学習データが不十分なため、相関分析によって影響の有無や程度を分析できない。
計算機システム2は、本実施例が適用された計算機システムの例である。従来の計算機システム1ではアプリケーション性能とITリソースの稼働状況の相関により影響を分析するが、計算機システム2ではアプリケーションから処理特性を抽出し、処理特性とITリソースとの相関により影響を分析する。これにより、ITリソースで問題が発生した時に、アプリケーションの処理単位での影響の有無を分析できる。また、アプリケーションに含まれる処理と処理の特性とを関連付けることによって、新規のアプリケーションでも、既存の相関関係を用いて影響を分析できる。
前述の通り、本実施例の方法は、影響分析処理において、アプリケーションの処理の特性を利用し、処理単位での影響の有無を判定できる効果を有する。
なお、図1に例示するシステム構成は、説明の簡易化のために、図2以降で説明する詳細なシステム構成の一部を省略し、一部を誇張して表している。
<実施例1>
図2は、本発明の第一の実施例におけるシステムの構成例を示すブロック図である。
図2は、本発明の第一の実施例におけるシステムの構成例を示すブロック図である。
第一の実施例のシステムは、管理サーバ201と、管理サーバ201が管理する計算機システムを含む。管理サーバ201が管理する計算機システムは、サーバ装置203と、ストレージ装置204と、ネットワーク装置205と、クラウドサービス206とが、ネットワーク207やSAN(Storage Area Network)を介して相互に接続されて構成される。
また、例えば、管理サーバ201や、管理サーバ201内のプロセッサ211、主記憶デバイス212など、システムに含まれる各コンポーネントは、それぞれ一つずつしか図示していないが、それぞれが複数設けられてもよい。
管理サーバ201は、プロセッサ211と、主記憶デバイス212と、補助記憶装置213と、通信インタフェースとを有するコンピュータである。
プロセッサ211は、主記憶デバイス212に格納されたプログラムを実行する。具体的には、プロセッサ211は、相関学習処理プログラム220と、影響分析処理プログラム221と、イベント検出プログラム222とを実行する。なお、相関学習処理プログラム220と、影響分析処理プログラム221と、イベント検出プログラム222との一部又は全部は、プロセッサ211で実行される代わりに、例えば集積回路(Field-Programmable Gate Array)などのハードウェアで実現してもよい。
主記憶デバイス212は、不揮発性の記憶デバイスであるROM及び揮発性の記憶デバイスであるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶デバイスであり、プロセッサ211が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。具体的には、主記憶デバイス212は、相関学習処理プログラム220と、影響分析処理プログラム221と、イベント検出プログラム222と、対策生成プログラム224とを記憶する。
補助記憶装置213は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶デバイスによって構成され、プログラムの実行時に使用されるデータを格納する。補助記憶装置213は、外部装置へのI/F(不図示)や通信インタフェース216を介して管理サーバ201に接続される外部の記憶装置、例えばストレージ装置204でもよい。また、主記憶デバイス212と補助記憶デバイス203とが同一デバイスでもよい。
具体的には、補助記憶装置213は、処理特性231と、相関データ232と、構成情報233と、稼働データ234と、対策データ235とを格納する。処理特性231と、相関データ232と、構成情報233と、稼働データ234とは、それぞれ異なる補助記憶装置213に格納されてもよいし、その一部又は全部が主記憶211に格納されてもよいし、ネットワーク207を介して接続される別のサーバ装置203上の主記憶253や補助記憶装置254に格納されてもよいし、ネットワーク207を介して接続される別のストレージ装置204の補助記憶装置263に格納されてもよい。
処理特性231は、処理の種類の違いや、処理するデータ量や、扱うデータの種類などの処理の特徴量の情報である、例えば、処理特性231は、データベースに対する検索処理であるか、登録処理であるか、更新処理であるか、削除処理であるかなどの処理の種類でよい。処理特性231の詳細は図3で後述する。
相関データ232は、管理サーバが監視する計算機システムの監視情報間の相互の関係の情報である。例えば、相関データ232は、アプリケーションプログラムの応答時間とサーバ装置203のプロセッサの使用率との相互の関係の情報でよい。相関データ232の詳細は図4で後述する。
また、相関データ232は、管理サーバ201の稼働データ間の相関を含んでもよい。例えば、相関データ232は、サーバ装置203のアプリケーションプログラム250の応答時間が遅いときにクラウドサービス206の応答時間も遅いという関係や、ストレージ装置204の論理ボリューム260のIOPSが高いときにアプリケーションプログラム250のジョブの実行時間が遅いという関係や、サーバ装置203のアプリケーションプログラムの単位時間あたりのログ件数が多いときにアプリケーションプログラムの応答時間が遅いという関係の情報でよい。なお、相関データ232は、管理サーバ201が管理する計算機システムで使用されるデータ間の相関が分かればよい。この相関は、相関式の形式でもよいし、相関度が高い、低いなどの定性的な値でもよい。
システム構成情報233は、管理される装置間の接続関係や、管理されるアプリケーションプログラムと管理される装置との関係の情報である。システム構成情報233の詳細は図5、図6で後述する。
稼動データ234は、管理サーバ201が管理する装置群や、当該装置で実行されるプログラムの稼働データである。例えば、アプリケーションプログラム250が出力する稼動ログや、仮想マシン251の構成変更ログや、ストレージ装置204の論理ボリューム260の時系列のIOPS実績データでよい。
対策データ235は、影響範囲の分析結果とともに表示される対策案のデータである。
また、補助記憶装置213は、プロセッサ211が実行するプログラムを格納してもよい。すなわち、プログラムは、補助記憶装置213から読み出されて、主記憶デバイス212にロードされて、プロセッサ211によって実行される。
通信インタフェース216は、所定のプロトコルに従って、ネットワーク207に接続された他の装置(操作端末202、サーバ装置203など)との通信を制御するネットワークインタフェース装置(NIC)である。
管理サーバ201は、入力インタフェース及び出力インタフェースを有してもよい。入力インタフェースは、キーボードやマウスなどが接続され、管理者からの入力を受けるインタフェースである。出力インタフェースは、ディスプレイ装置やプリンタなどが接続され、管理サーバ201の状態やプログラムの実行結果を管理者が視認可能な形式で出力するインタフェースである。
プロセッサ211が実行するプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワークを介して管理サーバ201に提供され、非一時的記憶媒体である不揮発性の補助記憶装置213に格納される。このため、管理サーバ201は、リムーバブルメディアからデータを読み込むインタフェースを有するとよい。
管理サーバ201は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、管理サーバ201上で実行されるプログラムは、同一の計算機上で別個のスレッドで動作してもよい。
また、管理サーバ201には、操作端末202が接続されてもよい。操作端末202は、管理計算機201を操作するコンピュータである。操作端末202は、入出力装置241を有する。入出力装置241は、管理者の操作によりデータを入出力する装置(例えば、キーボード、マウス、ディスプレイ装置、プリンタなど)である。入出力装置241に入力されたデータは、ネットワーク207を介して管理サーバ201に送信される。出力装置242は、管理サーバ201からのデータを出力するディスプレイ装置やプリンタなどである。
サーバ装置203は、管理サーバ201に監視されるコンピュータであり、アプリケーションプログラムを実行する。サーバ装置203は、アプリケーションプログラム250と、プロセッサ251と、主記憶デバイス252と、補助記憶装置253とを含む。
アプリケーションプログラム250は、例えば、資材発注アプリケーションや電子商取引アプリケーションなどの業務サービスを提供するアプリケーションや、業務サービスを提供するアプリケーションが内部的に利用するアプリケーション(データベースなど)や、仮想マシンを提供するアプリケーション(Hypervisorなど)や、コンテナサービスを提供するOSなど、様々なアプリケーションプログラムを含む。サーバ装置203は、アプリケーションプログラムを実行できればよく、例えば、仮想計算機やコンテナなど、必ずしも物理的なサーバ装置の形態でなくてもよい。そのため、サーバ装置203は、必ずしも、物理的なプロセッサ251や主記憶デバイス252や補助記憶装置253を含まなくてもよいし、不図示のコンポーネントを含んでもよい。
ストレージ装置204は、管理サーバ201に管理される装置であり、サーバ203上で動作するプログラムや、管理サーバ201上で動作するプログラムが利用する記憶領域を提供する。ストレージ装置204は、論理ボリューム260と、通信I/F261と、IO処理ユニット262と、補助記憶装置263とを有する。
補助記憶装置263は複数の不揮発性記憶デバイスを、例えばRAID(Redundant Arrays of Inexpensive Disks)などによって冗長化して、論理ボリューム260として提供してもよい。また、複数のRAID化された補助記憶装置263が仮想的に一つの補助記憶装置263として制御されてもよい。論理ボリューム260は、補助記憶装置263の記憶領域によって構成される。論理ボリューム260へのデータは、通信I/F261を経由して入出力され、IO処理ユニット262がデータの入出力を制御する。ストレージ装置204は、例えば主記憶デバイスなど、不図示のコンポーネントを含んでもよい。
ネットワーク装置205は、管理サーバ201に管理される装置であり、複数の通信I/F270を有する。ネットワーク装置205は、計算機システム中で、複数の装置を接続して、データを転送する。例えば、ネットワーク装置205は、複数のサーバ装置203間を接続したり、複数のストレージ装置204間を接続したり、サーバ装置203とストレージ装置204とを接続する。代表的なネットワーク装置として、例えばIP(Internet Protocol)スイッチやFC(Fiber Channel)スイッチがあるが、ネットワーク装置205は他の種類の装置でもよい。
クラウドサービス206は、管理サーバ201に管理される仮想的な装置であり、インターネットを介してサービスを提供するコンピュータである。クラウドサービス206の代表的な例としては、インターネットを介して提供されるサーバ装置203の機能や、インターネットを介して提供されるストレージ装置204の機能があるが、他のサービスを提供する機能でもよい。
なお、イベント検出プログラム222は、管理サーバ201ではなく、管理サーバ201が管理する計算機システム上に存在していてもよい。
図3は、第一の実施例における処理特性231の一例を示す図である。
処理特性231は、アプリケーションプログラムの処理の特徴量を分類した情報が、例えばテーブル形式で保持されており、予め手動又は他のプログラムによって用意される。以後、処理特性と処理の特徴量との二通りの表現をすることがあるが、同じ情報を意味する。処理特性231は、IDフィールド301と、処理内容フィールド302と、データ量フィールド303と、データ保存形式304フィールド304とを含む。
IDフィールド301は、処理特性の分類を一意に特定する識別情報を格納する。処理内容フィールド302と、データ量フィールド303と、データ保存形式フィールド304とは、アプリケーションによる処理の特徴量を格納する。処理の特徴量は、アプリケーションから抽出される。処理特性231は、例示したフィールドの一部を含まなくてもよいし、不図示の他のフィールドを含んでもよい。また、処理特性231に含まれるフィールドが複数のテーブルに分割して保存されてもよい。
図4は、相関データ232の一例を示す図である。
相関データ232は、処理特性により分類されるアプリケーションの性能と計算機システムの稼働データとの相関の情報が、例えばテーブル形式で保持されており、予め手動又は他のプログラムによって用意される。相関データ232は、IDフィールド401と、SV CPUフィールド402と、SV Memフィールド403と、ST LUフィールド404とを含む。
IDフィールド401は、処理特性231の分類を一意に特定する識別情報であり、処理特性231のIDフィールド301と共通の値を格納する。SV CPUフィールド402と、SV Memフィールド403と、ST LUフィールド404とは、管理サーバ201が監視する計算機システムの稼働データの監視項目に関連する情報である。相関データ232は、例示したフィールドのうち一部のフィールドを含まなくてもよいし、不図示の他のフィールドを含んでもよい。また、これらのフィールドが複数のテーブルに分割して保存されてもよい。
SV CPUフィールド402は、サーバ装置203のプロセッサ211の稼働データと処理特性301のアプリケーション性能との相関情報を格納する。また、SV Memフィールド403は、サーバ装置203の主記憶212の稼働データと処理特性301のアプリケーション性能との相関情報を格納し、ST LUフィールド404は、ストレージ装置204の論理ボリューム260の稼働データと処理特性301のアプリケーション性能との相関情報を格納する。ここでは簡易化のために、相関データを大中といったレベルを示す文字列で格納しているが、例えば相関式などの計算式の形で相関を保持してもよいし、相関度をクラスタリングなどの処理でクラス分けして算出したクラスの形で相関を保持してもよいし、その他の形式で相関を保持してもよい。
また、論理ボリューム260の稼働データには、例えば応答時間やIOPS(単位時間当たりの入出力処理リクエスト数)など、複数の監視項目が存在しているが、本実施例では簡易化のために省略して記載する。計算機システムの構成要素の監視項目ごとに、処理特性との相関データを保持してもよい。
次に、図5及び図6を用いて、前述した構成情報233の一例を説明する。構成情報233は、図5に示す計算機システムの構成情報テーブル500と、図6に示すアプリケーションの構成情報600とを含む。
図5は、計算機システムの構成情報テーブル500の一例を示す図である。
計算機システムの構成情報テーブル500は、管理サーバ201が管理する計算機システムの構成要素の論理的又は物理的な接続関係の情報が、例えばテーブル形式で保持されており、予め手動又は他のプログラムによって用意される。計算機システムの構成情報テーブル500は、アプリフィールド501と、サーバフィールド502と、プロセッサフィールド503と、ストレージフィールド504と、論理ボリュームフィールド505とを含む。
アプリフィールド501は、アプリケーションを一意に特定するための識別情報を格納する。サーバフィールド502は、アプリケーションが稼働しているサーバ装置203を特定するための識別情報を格納する。プロセッサフィールド503は、アプリケーションを実行しているプロセッサ211を特定するための識別情報を格納する。ストレージフィールド504は、アプリケーションが利用するデータを保存するストレージ装置204を特定するための識別情報を格納する。論理ボリュームフィールド505は、アプリケーションが利用するデータを保存する論理ボリューム260を特定するための識別情報を格納する。
計算機システムの構成情報テーブル500は、例示したフィールドの一部を含まなくてもよいし、不図示の他のフィールドを含んでもよい。また、これらのフィールドが複数のテーブルに分割して保存されてもよい。不図示の他のフィールドとして、例えば、クラウドサービス206に関するサービスのバージョン情報やAPI仕様のバージョンの情報が記録されてもよいし、ストレージ装置204の補助記憶装置263の記憶媒体の種類(HDD(Hard Disk Drive)であるか、SSD(Solid State Disk)であるか等)や、サーバ装置203のプロセッサ251の性能(動作周波数など)の情報が記録されてもよい。計算機システムの構成情報テーブル500は、管理サーバ201が管理する計算機システムのコンポーネント、例えば、サーバ装置203のアプリケーションプログラム250や、ストレージ装置204の論理ボリューム260など、稼働データを取得する対象であれば、全てのコンポーネントのデータが記録されていることが望ましい。
図6は、アプリケーションの構成情報テーブル600の一例を示す図である。
アプリケーションの構成情報テーブル600は、管理サーバ201が管理するアプリケーションにおいて実行される処理と処理特性との対応関係の情報が、例えばテーブル形式で保持されており、予め手動又は他のアプリケーションプログラムによって用意される。アプリケーションの構成情報テーブル600は、IDフィールド601と、アプリフィールド602と、処理フィールド603と、処理特性フィールド604とを含む。IDフィールド601は、アプリケーションにおいて実行される処理を一意に特定する識別情報を格納する。アプリフィールド602は、処理がどのアプリケーションに含まれるのかを特定する識別情報を格納する。処理603フィールドは、処理が実行される目的を人が認識できる見出しを格納する。処理特性フィールド604は、処理の特性を格納する。一つの処理に複数の処理特性が対応する場合もある。アプリケーションの構成情報テーブル600は、例示したフィールドの一部を含まなくてもよいし、不図示の他のフィールドを含んでもよい。また、これらのフィールドが複数のテーブルに分割して保存されてもよい。
次に、管理計算機201が実行する相関学習処理を説明する。相関学習処理は、管理計算機201のプロセッサ211が相関学習処理プログラム220を実行することによって実現される処理である。
図7は、管理サーバ201が実行する相関学習処理の手順例を示すフローチャートである。
まず、相関学習処理が実行される際のトリガを説明する。相関学習処理は、管理者からの指示によって実行されてよい。管理者の指示は、操作端末202の入出力装置241又は管理サーバ201の不図示の入出力装置から入力される。また、管理サーバ201が他のプログラムの出力結果を受けて、相関学習処理を実行してもよい。また、相関学習処理は、所定のタイミングで実行されてもよい。所定のタイミングは、定期的(例えば、1時間ごと)であったり、スケジューラに指定された時刻の到来を契機でよい。また、管理サーバ201が、管理される計算機システムの構成変更(例えば、アプリケーションプログラムの更新、仮想マシンのマイグレーションなど)を検出した場合に相関学習処理を実行してもよい。また、管理サーバ201が、管理される計算機システムの挙動の変化(例えば、ユーザからアプリケーションへのアクセスの傾向の変化、アクセスするデータ量の変化、管理される計算機システムの稼働データが閾値を超過、管理される計算機システムの稼働データが特定のパターンに一致など)を検出した場合に相関学習処理を実行してもよい。また、管理者による障害対策の実行の完了を検出した場合に相関学習処理を実行してもよい。また、管理サーバ201が記憶している相関データに基づいて算出された予測値と実測値との差異を検出した場合に相関学習処理を実行してもよい。これらの相関学習処理の契機となる事象は、イベント検出プログラム222によって検出されるとよい。
図7に示すように、管理サーバ201は、処理特性の抽出処理(ステップS701)、構成情報の更新処理(ステップS702)及び相関の分析処理(ステップS703)を実行する。相関学習処理フロー700は、不図示の他の処理ステップを含んでもよい。また、各処理ステップは、影響分析処理221が実行されるまでに1回以上実行さればよく、2回目以降に相関学習処理フロー700が実行される場合は、図示する処理ステップの一部が実行されなくてもよい。また、相関学習処理フロー700では、図示する処理ステップを実行する順序が異なってもよい。
処理特性の抽出処理(ステップS701)では、管理サーバ201は、アプリケーションが実行する処理の特徴量を抽出し、抽出した処理の特徴量を処理特性231に登録する。例えば、アプリケーションの稼働データから処理の実行時間を取得して、取得した実行時間を他のアプリケーションによりクラスタリングして特徴量を抽出する。また、データベースへのアクセスログから、処理が登録処理か、読み込み処理か、更新処理か、削除処理かを分類して特徴量を抽出してもよい。また、アプリケーションの稼働データからアクセスするデータ量を比較して特徴量を抽出してもよい。また、ユーザのアプリケーションのログイン履歴から、アプリケーションユーザ数を取得して特徴量を抽出してもよい。これらの特徴量の抽出処理は、手動で行ってもよい。処理特性の抽出処理(ステップS701)によって、処理の新たな特徴量が抽出できない場合、処理特性231に処理の特徴量が登録されなくてもよい。処理特性の抽出処理(ステップS701)の実行によって、新たにデータレコードが追加されてもよい。処理の新たな特徴量が検出され、データフィールドが増加してもよい。処理の特徴量の再計算によりデータフィールドが減少してもよい。
構成情報の更新処理(ステップS702)では、管理サーバ201は、管理される計算機システムの構成情報を取得する。例えば、管理サーバ201は、仮想マシンがマイグレーションして、稼働するサーバ装置203が変更されたことを検出し、構成情報233に含まれる計算機システムの構成情報テーブル500を更新する。また、アプリケーションが同じ処理を実行しても、データ量の増加に伴い処理特性が変化した場合、構成情報233に含まれるアプリケーションの構成情報テーブル600の処理特性604を再度算出してもよい。また、アプリケーションの更新に伴い新機能が追加された場合、構成情報233に含まれるアプリケーションの構成情報テーブル600に新たなデータレコードを追加してもよい。また、クラウドサービス206の更新に伴ってAPI仕様の変更を検出して、構成情報233に含まれる計算機システムの構成情報テーブル500を更新してもよい。また、異常に例示した以外の処理を実行してもよい。
相関の分析処理(ステップS703)では、管理サーバ201は、管理される計算機システムの稼働データと、処理特性231の特徴量を有するアプリケーションの処理性能との相関を分析し、相関データ232を更新する。例えば、ストレージ装置204の論理ボリュームへのIOPSが所定の値を超えた場合、処理特性231のID301がC2に該当するアプリケーションの処理群の応答時間が一様に増加する場合、ストレージ装置204の論理ボリュームのIOPSの増加と処理特性C2とを分析し、両者の相関度が高いという情報を記憶する。相関の分析処理は、手動又は他のプログラムによって実行されてもよい。相関の分析処理(ステップS703)で新たな相関関係が検出されなかった場合、相関データ232が更新されなくてもよい。また、相関の分析処理(ステップS703)では、相関データ232のデータフィールドに対応する相関を分析するのに十分な学習データが無い場合、例えば、相関データ232において図4に不図示のデータフィールドとしてストレージ装置204のIO処理ユニット262に対応するST CPUフィールドが追加された場合に、相関を分析するために充分な量の稼働データ234として、IO処理ユニット及びアプリケーションプログラムの稼働データが存在しない場合、管理サーバ201が管理する計算機システムで他のプログラムによる処理を実行し、相関の分析に充分な稼働データを生成し、相関の分析処理(ステップS703)による効果を高めてもよい。
次に、管理計算機201が実行する影響分析処理を説明する。影響分析処理は、管理計算機201のプロセッサ211が影響分析処理プログラム221を実行することによって実現される処理である。
図8は、管理サーバ201が実行する影響分析処理の手順例を示すフローチャートである。影響分析処理は、管理計算機201の入力装置214から入力される管理者からの指示によって実行されてもよい。また、影響分析処理は、他のプログラムからの指示を受けて、管理サーバ201が実行してもよい。また、管理サーバ201が管理する計算機システムが送信した問題発生の通知を、管理サーバ201は、通信インタフェース216を介して受信した場合に、影響分析処理を実行してもよい。
図8に示すように、管理サーバ201は、計算機システムの問題検出処理(ステップS801)、関連アプリの特定処理(ステップS802)、処理毎の影響分析処理(ステップS803)、対策の生成処理(ステップS804)及び対策の実行処理(ステップS805)を実行する。影響分析処理フロー800は、不図示の他の処理ステップを含んでもよい。また、図示する処理ステップの一部が実行されなくてもよい。
計算機システムの問題検出処理(ステップS801)では、管理サーバ201は、管理される計算機システムで発生している問題を検出する。例えば、収集した計算機システムの稼働データと当該稼働データの閾値とを比較し、稼働データが閾値を超えている場合に、問題が発生したことを検出する。また、例えば、計算機システムの稼働データのテキストを解析し、「Error」や「警告」などの特定の文字列が含まれる場合に、問題が発生したことを検出してもよい。また、例えば、稼働データの増加傾向から、数日以内に稼働データが閾値を超過することが予測される場合に、問題発生の予兆を検出してもよい。計算機システムの問題検出処理は、イベント検出プログラム222によって実行されるとよい。計算機システムの問題を検出した場合、問題が発生した箇所として、構成情報233の計算機システムの構成情報テーブル500のレコードを特定可能な情報を出力する。例えば、名称がストレージ1であるストレージ装置204内の名称がLU2である論理ボリュームで問題が発生したことが分かる情報である。
関連アプリの特定(ステップS802)では、管理サーバ201は、問題が発生している計算機システムと関連するアプリケーションを特定する。管理サーバ201は、構成情報233の計算機システム構成情報テーブル500のうち、計算機システムの問題検出(ステップS801)で検出した問題が発生したフィールドに該当する計算機システムと接続関係にあるアプリフィールド501を抽出し、出力する。例えば、図5に図示する計算機システムの構成情報テーブル500のうち、ストレージ504がストレージ1であり、論理ボリュームフィールド505がLU2に該当するのはアプリAとアプリBである。従って、ストレージ1に存在するLU2の問題に関連のあるアプリケーションはアプリAとアプリBであることが分かる。
関連アプリの特定処理(ステップS802)の概要を図9に示す。図9に示すように、管理サーバが管理する計算機システムでは、アプリAと、アプリBと、アプリCと、アプリDと、アプリEと、アプリFとが稼働している。アプリAと、アプリBと、アプリCと、アプリDとはサーバ1で稼動しており、アプリEと、アプリFとがサーバ2で稼動している。また、アプリAと、アプリBと、アプリCと、アプリDと、アプリEと、アプリFとのいずれもストレージ1にデータを保存しており、アプリCがストレージ1内の通信I/F1を利用しており、アプリAとアプリDとがストレージ1内の通信I/F2を利用しており、アプリBがストレージ1内の通信I/F3を利用しており、アプリEがストレージ1内の通信I/F4を利用しており、アプリFがストレージ1内の通信I/F5を利用している。また、アプリCとアプリDとがIO処理ユニット1を利用しており、アプリAとアプリBとアプリEとアプリFとがIO処理ユニット2を利用している。また、アプリCとアプリDとが論理ボリュームLU1上にデータを格納しており、アプリAとアプリBとが論理ボリュームLU2上にデータを格納しており、アプリEとアプリFとが論理ボリュームLU3上にデータを格納している。
また、論理ボリュームLU1は、補助記憶装置1と補助記憶装置2と補助記憶装置3とを冗長化して構成されており、論理ボリュームLU2は、補助記憶装置4と補助記憶装置5と補助記憶装置6とを冗長化して構成されており、論理ボリュームLU3は、補助記憶装置7と補助記憶装置8と補助記憶装置9とを冗長化して構成されている。図示するようにアプリケーション毎に利用する計算機システムの構成要素の組み合わせが異なっている。関連アプリの特定処理(ステップS802)では、例えば、論理ボリュームLU2で問題が発生した場合、ストレージ1を共有しているアプリケーションでもアプリCとアプリDとアプリEとアプリFとは、論理ボリュームLU2と関連がなく、アプリAとアプリBとは、論理ボリュームLU2と関連があることを特定するための処理である。
処理毎の影響分析(ステップS803)では、計算機システムの問題検出(ステップS801)で出力された問題が発生している計算機システムの構成要素を特定するための識別情報と、関連アプリの特定(ステップS802)の出力である計算機システムの問題の影響をうけるアプリケーションを特定するための識別情報とを入力として受け付け、影響を受けるアプリケーションのうち、影響を受ける処理を特定するための識別情報を出力する。
処理毎の影響分析処理(ステップS803)では、管理サーバ201は、相関データ232のうち、問題が発生している計算機システムの構成要素と一致するフィールドの相関データを参照し、相関度が高い処理特性を特定することによって影響を受ける処理特性を算出する。相関度が高い処理特性の特定は、相関度が文字で記録されている場合は高い相関度を示す文字の処理特性を一致するかによって判定するとよいし、相関度が数値で記録されている場合は閾値との比較によって判定するとよいし、相関度が式で定められている場合は式によって算出された値が所定の条件に一致するかによって判定するとよい。
次に、管理サーバ201は、構成情報232のアプリケーションの構成情報テーブル600のうち、アプリフィールド602が影響を受けるアプリケーションと一致するレコードを取得し、取得したレコードのうち、影響を受ける処理特性と処理特性フィールド604が一致するレコードを、影響を受ける処理として出力する。
例えば、図10に例示するように、相関データ232を用いた場合、問題が発生している計算機システムの構成要素はストレージの論理ボリュームである、ストレージの論理ボリュームに対応するフィールドはST LUフィールド404であり、処理特性C2及びC3が影響を受ける処理特性であると判定できる。そして、アプリケーションの構成情報テーブル600を参照して、アプリAとアプリBに該当するレコードのうち、処理特性フィールド604がC2又はC3であるレコードは、IDがF2の処理とIDがF3の処理であることが分かり、当該処理のIDであるF2とF3を出力する。
対策の生成処理(ステップS804)では、管理サーバ201は、問題が発生している計算機システムの構成要素と影響を受けるアプリと処理特性を入力し、対策を出力する。対策の生成処理は、対策生成処理プログラム224によって実行されるとよい。例えば、ストレージ1の論理ボリュームLU2のIOPSが問題となって、アプリA及びアプリBの処理特性C2及びC3の処理が影響を受けるという情報を入力した場合、アプリBが利用する論理ボリュームをLU2からLU3に変更するという対策を出力する。対策の生成処理(ステップS804)は、手動又は他のプログラムによって実行されてもよい。また、処理毎の影響分析処理(ステップS803)において有意な影響がある処理が無いと判定された場合は、対策の生成処理(ステップS804)は実行されなくてもよい。また、管理サーバ201は影響分析処理フロー800のここまでの処理の結果を、操作端末202の入出力装置241を介して管理者に出力してもよい。例えば、図11に例示する画面を出力してもよい。
図11に例示する画面には、大別すると、問題1101と影響1102と対策1103との3つの情報が表示される。問題1101は、計算機システムの問題検出処理(ステップS801)の出力を可視化した情報である。影響1102は、関連アプリの特定処理(ステップS802)の出力と、処理毎の影響分析処理(ステップS803)と出力と、処理特性231とを合わせて可視化した情報である。対策1103は、対策の生成処理(ステップS804)の出力を可視化した情報である。これらの情報を合わせて参照することによって、管理者は発生している問題、その影響、影響を解決するための対策案を容易に理解でき、どの対策案を実行すれば良いかを判断できる。
しかし、これらの情報は、問題1101と影響1102と対策1103とのそれぞれが別の画面で表示されてもよい。また、これらの情報のいくつかが別の管理サーバによって提供される場合には、一部の情報が表示されなくてもよい。また、生成された対策を自動的に実行する場合には、全て又は一部の情報が表示されなくてもよい。
対策の実行処理(ステップS805)では、管理サーバ201は、対策の生成(ステップS804)で出力された対策を入力とし、対策を実行するような命令手順を出力する。例えば、アプリBが利用する論理ボリュームをLU2からLU3に変更する対策が入力された場合、アプリBが利用しているデータを格納する論理ボリュームをLU2からLU3に変更する命令をストレージ装置204に出力する。本ステップは手動又は他のプログラムによって実行されてもよい。
また、対策の実行処理(ステップS805)は実行されなくてもよい。例えば、対策の生成処理(ステップS804)が実行されなかった場合や、計算機システムの管理者が対策の生成処理(ステップS804)の出力を参照して、対策の実行が不要と判断した場合は、対策の実行処理(ステップS805)を実行しない。
以上説明したように、本発明の第一の実施例によれば、管理サーバ201は、管理される計算機システムの稼働データ234と、管理されるアプリケーションの処理特性231とを用いて相関データ232を生成し、管理される計算機システムで問題が発生した場合に、相関データ232と構成情報233とを用いて影響を受けるアプリケーションの処理を特定できる。また、計算機システムの管理者は、影響をうける処理の特徴量を把握できるため、計算機システムで発生した問題とその影響の因果関係を容易に推定できる。そのため、計算機システムの管理者は、迅速に必要な対策を検討し実行し、アプリケーションの性能を維持できる。
<実施例2>
図12は、本発明の第二の実施例におけるシステムの構成例を示すブロック図である。
図12は、本発明の第二の実施例におけるシステムの構成例を示すブロック図である。
第二の実施例の管理サーバ201の主記憶212は、影響分析処理プログラム221を記憶しておらず、原因分析処理プログラム223を記憶している。他の構成及び機能は第一の実施例と同じであるので、同じ符号を付し、それらの説明は省略する。
次に、管理計算機201の原因分析処理プログラムを説明する。原因分析処理は、管理計算機201のプロセッサ211が原因分析処理プログラム223を実行することによって実現される処理である。
図13は、管理サーバ201が実行する原因分析処理の手順例を示すフローチャートである。原因分析処理は、管理計算機201の入力装置214から入力される管理者からの指示によって実行されてもよい。また、原因分析処理は、管理サーバ201が他のプログラムによる指示を受けて実行してもよい。また、管理サーバ201の管理される装置である計算機システムが送信した問題発生の通知を、管理サーバ201が通信インタフェース216を介して受信した際に原因分析処理を実行してもよい。
図13に示すように、管理サーバ201は、アプリの問題検出処理(ステップS1301)、処理特性との対応検出処理(ステップS1302)、原因範囲の絞り込み処理(ステップS1303)及び原因箇所の算出処理(ステップS1304)を実行する。原因分析処理フロー1300は、不図示の他の処理ステップを含んでもよい。
アプリの問題検出処理(ステップS1301)では、管理サーバ201は、管理されるアプリケーションプログラム250の特定の処理で発生した問題を検出し、問題が発生しているアプリケーションプログラムとその処理を特定可能な情報を出力する。例えば、アプリケーションのエンドユーザの出力画面を表示するための処理時間が閾値を超えた問題を検出し、構成情報233に含まれるアプリケーションの構成情報テーブル600におけるアプリフィールド602と処理フィールド603とを出力する。アプリケーションプログラムで発生した問題の検出は、イベント検出プログラム222が実行してもよいし、管理者が手動で実行してもよい。
処理特性との対応検出処理(ステップS1302)では、管理サーバ201は、問題が発生している処理特性を特定する。具体的には、アプリの問題検出処理(ステップS1301)の出力を入力とし、構成情報233に含まれるアプリケーションの構成情報テーブル600のうち、該当するアプリケーションの処理特性フィールド604を全て取得し、出力する。
原因範囲の絞り込み処理(ステップS1303)では、管理サーバ201は、アプリケーションプログラム250で発生している問題の原因範囲の候補を出力する。例えば、管理サーバ201は、処理特性との対応検出処理(ステップS1302)の出力を入力とし、相関データ232の各フィールドに記憶されている相関データのうち、計算機システムの各構成要素の稼働データとアプリケーション性能(処理特性)との相関があると記憶されているデータフィールドを、原因範囲の候補として取得する。入力された処理特性とデータ列とのいずれの組み合わせでも相関がない場合、原因範囲の候補としてデータフィールドを出力してもよい。
原因箇所の算出処理(ステップS1304)では、管理サーバ201は、構成情報232に含まれる計算機システムの構成情報テーブル500のアプリフィールド501と、アプリの問題検出処理(ステップS1301)で出力されたアプリフィールド602とが一致する構成情報テーブル500のデータレコードを取得し、取得したデータレコードにおいて、原因範囲の絞り込み処理(ステップS1303)で取得したデータフィールドと一致するデータレコードに記載されている計算機システムの構成要素を原因箇所の候補として出力する。原因箇所の候補として複数の構成要素が出力される場合、優先順位を付けて出力してもよい。例えば、原因箇所の候補として複数の構成要素が算出される場合、該当する構成要素における稼働データ234を参照し、通常通りの振る舞いと異なる傾向(例えば、CPU使用率が通常よりも30%高い、Databaseのアクセスログの件数が閾値よりも多く記録されている)を検出した場合、原因箇所の候補として優先的に出力してもよい。
以上説明したように、本発明の第二の実施例によれば、管理サーバ201は、管理される計算機システムの稼働データ234と管理されるアプリケーションの処理特性231とを用いて相関データ232を生成し、管理されるアプリケーションプログラムで問題が発生した場合に、相関データ232と構成情報233とを用いて原因箇所である計算機システムの構成要素を特定する。このため、計算機システムの管理者は、迅速に必要な対策を検討し実行し、アプリケーションの性能を維持できる。
以上に説明したように、本発明の実施例によると、管理サーバ201は、アプリケーションプログラムに含まれる処理の特性を抽出し、処理の特性と計算機システムの構成要素との相関の分析によって、アプリケーションプログラムに含まれる処理と計算機システムの構成要素との相関を特定して相関データ232を生成し、相関データ232に基づいて、計算機システムの稼働状況とアプリケーションプログラムに含まれる処理の特性との関係を特定するので、アプリケーションプログラムに含まれる処理の単位で、計算機システムに生じた異常によって影響を受ける範囲が分かる。
また、管理サーバ201は、計算機システムの構成変更(例えば、ハードウェアの変更、仮想計算機のマイグレーション、ストレージのディスクの変更など)を検出した場合、処理の特性の抽出及び処理の特性と前記計算機システムの構成要素との相関の分析の少なくとも一つを実行するので、学習によって相関データ232の精度を向上できる。特に、クラウド構成で頻繁に行われる構成変更に相関データの更新が追随可能となる。
また、管理サーバ201は、アプリケーションプログラムの利用傾向の変化(例えば、ユーザ数の増加、アプリケーションプログラムの機能の追加など)を検出した場合、処理の特性の抽出、及び処理の特性と前記計算機システムの構成要素との相関の分析の少なくとも一つを実行するので、学習によって相関データ232の精度を向上できる。特に、クラウド構成で頻繁に行われる構成変更に相関データの更新が追随可能となる。例えば、アプリケーションプログラムの機能追加によって、処理特性231になかった新たな処理が追加されたり、他の処理特性と相関関係が生じたり、処理特性231になかった新たな処理特性が追加され、当該処理特性と計算機システムの構成要素との相関が記録されたりする。
また、管理サーバ201は、計算機システムの異常又は異常の予兆を検出した場合、相関データ232に基づいて、異常によって影響を受けるアプリケーションプログラムの処理を特定するので、異常発生時に影響が生じる範囲を処理単位で特定でき、アプリケーション側の対策が可能となる。また、異常の予兆段階で(異常の発生前に)アプリケーション側の対策が可能となる。
また、管理サーバ201は、計算機システムの異常又は異常の予兆と、異常によって影響を受けるアプリケーションプログラムの処理とを表示するための画面データを出力するので、処理毎に異常によって生じる影響が分かる。また、計算機システムの異常によって影響を受ける処理の傾向が分かるので、計算機システム側の対策(ディスクの追加など)と、アプリケーション側の対策(アクセス制限など)とを連携して行うことができる。また、アプリケーションプログラムを改造するための情報を得ることができる。
また、管理サーバ201は、アプリケーションプログラムでの問題を検出した場合、相関データ232に基づいて、問題の原因である前記計算機システムの構成要素を特定するので、アプリケーションの挙動から計算機システム側の原因箇所を特定できる。このため、計算機システム側の保守が容易になる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
Claims (15)
- アプリケーションプログラムを実行する計算機システムに接続された管理サーバであって、
プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを備え、
前記プロセッサは、前記アプリケーションプログラムに含まれる処理の特性を抽出し、前記処理の特性と前記計算機システムの構成要素との相関の分析によって、前記アプリケーションプログラムに含まれる処理と前記計算機システムの構成要素との相関を特定し、
前記プロセッサは、前記特定された相関に基づいて、前記計算機システムの稼働状況と前記アプリケーションプログラムに含まれる処理の特性との関係を特定することを特徴とする管理サーバ。 - 請求項1に記載の管理サーバであって、
前記プロセッサは、前記計算機システムの構成変更を検出した場合、前記処理の特性の抽出、及び前記処理の特性と前記計算機システムの構成要素との相関の分析の少なくとも一つを実行することを特徴とする管理サーバ。 - 請求項1に記載の管理サーバであって、
前記プロセッサは、前記アプリケーションプログラムの利用傾向の変化を検出した場合、前記処理の特性の抽出、及び前記処理の特性と前記計算機システムの構成要素との相関の分析の少なくとも一つを実行することを特徴とする管理サーバ。 - 請求項1に記載の管理サーバであって、
前記プロセッサは、前記計算機システムの異常又は異常の予兆を検出した場合、前記特定された相関に基づいて、前記異常によって影響を受けるアプリケーションプログラムの処理を特定することを特徴とする管理サーバ。 - 請求項4に記載の管理サーバであって、
前記プロセッサは、前記計算機システムの異常又は異常の予兆と、前記異常によって影響を受けるアプリケーションプログラムの処理とを表示するための画面データを出力することを特徴とする管理サーバ。 - 請求項1に記載の管理サーバであって、
前記プロセッサは、前記アプリケーションプログラムでの問題を検出した場合、前記特定された相関に基づいて、前記問題の原因である前記計算機システムの構成要素を特定することを特徴とする管理サーバ。 - アプリケーションプログラムを実行する計算機システムを管理サーバが管理する管理方法であって、
前記管理サーバは、プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを有し、
前記管理方法は、
前記プロセッサが、前記アプリケーションプログラムに含まれる処理の特性を抽出し、前記処理の特性と前記計算機システムの構成要素との相関の分析によって、前記アプリケーションプログラムに含まれる処理と前記計算機システムの構成要素との相関を特定するステップと、
前記プロセッサが、前記特定された相関に基づいて、前記計算機システムの稼働状況と前記アプリケーションプログラムに含まれる処理の特性との関係を特定するステップとを含むことを特徴とする管理方法。 - 請求項7に記載の管理方法であって、
前記プロセッサは、前記計算機システムの構成変更を検出した場合、前記処理の特性の抽出、及び前記処理の特性と前記計算機システムの構成要素との相関の分析の少なくとも一つを実行することを特徴とする管理方法。 - 請求項7に記載の管理方法であって、
前記プロセッサは、前記アプリケーションプログラムの利用傾向の変化を検出した場合、前記処理の特性の抽出、及び前記処理の特性と前記計算機システムの構成要素との相関の分析の少なくとも一つを実行することを特徴とする管理方法。 - 請求項7に記載の管理方法であって、
前記プロセッサは、前記計算機システムの異常又は異常の予兆を検出した場合、前記特定された相関に基づいて、前記異常によって影響を受けるアプリケーションプログラムの処理を特定することを特徴とする管理方法。 - 請求項10に記載の管理方法であって、
前記プロセッサが、前記計算機システムの異常又は異常の予兆と、前記異常によって影響を受けるアプリケーションプログラムの処理とを表示するための画面データを出力するステップを含むことを特徴とする管理方法。 - 請求項7に記載の管理方法であって、
前記プロセッサが、前記アプリケーションプログラムでの問題を検出した場合、前記特定された相関に基づいて、前記問題の原因である前記計算機システムの構成要素を特定するステップを含むことを特徴とする管理方法。 - アプリケーションプログラムを実行する計算機システムを管理サーバが管理するためのプログラムであって、
前記管理サーバは、前記プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを有し、
前記プログラムは、
前記アプリケーションプログラムに含まれる処理の特性を抽出し、前記処理の特性と前記計算機システムの構成要素との相関の分析によって、前記アプリケーションプログラムに含まれる処理と前記計算機システムの構成要素との相関を特定する手順と、
前記特定された相関に基づいて、前記計算機システムの稼働状況と前記アプリケーションプログラムに含まれる処理の特性との関係を特定する手順とを、前記プロセッサに実行させるためのプログラム。 - 請求項13に記載のプログラムであって、
前記計算機システムの異常又は異常の予兆を検出した場合、前記特定された相関に基づいて、前記異常によって影響を受けるアプリケーションプログラムの処理を特定する手順を前記プロセッサに実行させるためのプログラム。 - 請求項13に記載のプログラムであって、
前記アプリケーションプログラムでの問題を検出した場合、前記特定された相関に基づいて、前記問題の原因である前記計算機システムの構成要素を特定する手順を前記プロセッサに実行させるためのプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-200758 | 2016-10-12 | ||
JP2016200758A JP6845657B2 (ja) | 2016-10-12 | 2016-10-12 | 管理サーバ、管理方法及びそのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018070211A1 true WO2018070211A1 (ja) | 2018-04-19 |
Family
ID=61905323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/034221 WO2018070211A1 (ja) | 2016-10-12 | 2017-09-22 | 管理サーバ、管理方法及びそのプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6845657B2 (ja) |
WO (1) | WO2018070211A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021010105A (ja) * | 2019-07-01 | 2021-01-28 | 日本電信電話株式会社 | 故障影響推定装置、故障影響推定方法、及びプログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7235346B2 (ja) * | 2021-03-10 | 2023-03-08 | Necプラットフォームズ株式会社 | システム、および制御方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003256225A (ja) * | 2002-03-06 | 2003-09-10 | Mitsubishi Electric Corp | コンピュータシステム、障害対応方法及びコンピュータシステムを機能させるためのプログラム |
JP2007507807A (ja) * | 2003-10-02 | 2007-03-29 | インテル・コーポレーション | ソフトウェアアプリケーションにおけるメモリ待ち時間を低減するための方法及び装置 |
JP2011118596A (ja) * | 2009-12-02 | 2011-06-16 | Fujitsu Semiconductor Ltd | 情報処理装置およびプロファイリング方法 |
WO2012086443A1 (ja) * | 2010-12-24 | 2012-06-28 | 日本電気株式会社 | 監視データ分析装置、監視データ分析方法および監視データ分析プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006031109A (ja) * | 2004-07-12 | 2006-02-02 | Ntt Docomo Inc | 管理システム及び管理方法 |
JP4928480B2 (ja) * | 2008-01-31 | 2012-05-09 | 株式会社野村総合研究所 | ジョブ処理システムおよびジョブ管理方法 |
-
2016
- 2016-10-12 JP JP2016200758A patent/JP6845657B2/ja active Active
-
2017
- 2017-09-22 WO PCT/JP2017/034221 patent/WO2018070211A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003256225A (ja) * | 2002-03-06 | 2003-09-10 | Mitsubishi Electric Corp | コンピュータシステム、障害対応方法及びコンピュータシステムを機能させるためのプログラム |
JP2007507807A (ja) * | 2003-10-02 | 2007-03-29 | インテル・コーポレーション | ソフトウェアアプリケーションにおけるメモリ待ち時間を低減するための方法及び装置 |
JP2011118596A (ja) * | 2009-12-02 | 2011-06-16 | Fujitsu Semiconductor Ltd | 情報処理装置およびプロファイリング方法 |
WO2012086443A1 (ja) * | 2010-12-24 | 2012-06-28 | 日本電気株式会社 | 監視データ分析装置、監視データ分析方法および監視データ分析プログラム |
Non-Patent Citations (1)
Title |
---|
NAKAGAWA, GAKU ET AL.: "Main memory management method based on memory consumption behavior", INFORMATION PROCESSING SOCIETY OF JAPAN TECHNICAL REPORT, 1 March 2016 (2016-03-01), pages 1 - 6 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021010105A (ja) * | 2019-07-01 | 2021-01-28 | 日本電信電話株式会社 | 故障影響推定装置、故障影響推定方法、及びプログラム |
JP7298343B2 (ja) | 2019-07-01 | 2023-06-27 | 日本電信電話株式会社 | 故障影響推定装置、故障影響推定方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2018063518A (ja) | 2018-04-19 |
JP6845657B2 (ja) | 2021-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8676568B2 (en) | Information processing apparatus and message extraction method | |
US9858327B2 (en) | Inferring application type based on input-output characteristics of application storage resources | |
US10303533B1 (en) | Real-time log analysis service for integrating external event data with log data for use in root cause analysis | |
US9495234B1 (en) | Detecting anomalous behavior by determining correlations | |
US20160378389A1 (en) | Methods and systems for trouble shooting performance issues in networked storage systems | |
JP6260130B2 (ja) | ジョブ遅延検知方法、情報処理装置、およびプログラム | |
US9959197B2 (en) | Automated bug detection with virtual machine forking | |
US10659312B2 (en) | Network anomaly detection | |
JP6009089B2 (ja) | 計算機システムを管理する管理システム及びその管理方法 | |
WO2012053104A1 (ja) | 管理システム、及び管理方法 | |
Cano et al. | Characterizing private clouds: A large-scale empirical analysis of enterprise clusters | |
US20240241978A1 (en) | Method and system for identifying health of a microservice based on resource utilization of the microservice | |
WO2018042584A1 (ja) | 問合せ対応システム及び方法 | |
TW201513003A (zh) | 應用程式、外部相依性及關係的動態發現 | |
US20150370626A1 (en) | Recording medium storing a data management program, data management apparatus and data management method | |
WO2018070211A1 (ja) | 管理サーバ、管理方法及びそのプログラム | |
US11645234B2 (en) | Rule-based collections of subset(s) of metadata in response to a trigger event occurring | |
JP2018063518A5 (ja) | ||
US20190108082A1 (en) | Management system, management apparatus, and management method | |
US11882004B1 (en) | Method and system for adaptive health driven network slicing based data migration | |
US10891174B1 (en) | Performing hierarchical provenance collection | |
US20240028237A1 (en) | Method and system for health driven network slicing based data migration | |
JP7501782B2 (ja) | 活動痕跡抽出装置、活動痕跡抽出方法および活動痕跡抽出プログラム | |
JP7027912B2 (ja) | 順序制御プログラム、順序制御方法、及び情報処理装置 | |
JP7564447B2 (ja) | 異常要因判定方法および異常要因判定プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17860235 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17860235 Country of ref document: EP Kind code of ref document: A1 |