WO2016092629A1 - 計算機システム及び監視方法 - Google Patents

計算機システム及び監視方法 Download PDF

Info

Publication number
WO2016092629A1
WO2016092629A1 PCT/JP2014/082525 JP2014082525W WO2016092629A1 WO 2016092629 A1 WO2016092629 A1 WO 2016092629A1 JP 2014082525 W JP2014082525 W JP 2014082525W WO 2016092629 A1 WO2016092629 A1 WO 2016092629A1
Authority
WO
WIPO (PCT)
Prior art keywords
correlation
data
business process
log
correlator
Prior art date
Application number
PCT/JP2014/082525
Other languages
English (en)
French (fr)
Inventor
健太郎 角井
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2014/082525 priority Critical patent/WO2016092629A1/ja
Publication of WO2016092629A1 publication Critical patent/WO2016092629A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

Definitions

  • the present invention relates to a computer system.
  • the modern computer system is a distributed system in which software components executed by a plurality of computers cooperate with each other to achieve the purpose.
  • the computer is configured to output log information according to the occurrence of events such as the start and completion of software component processing, and this log information is collected and analyzed, and log information output by different software components
  • a technique for determining the presence or absence of correlation (correlation) is known.
  • Patent Document 1 discloses a technique for determining correlation between events by paying attention to the commonality of paths used for message exchange from log information of message exchange via a message queue.
  • Patent Document 2 in order to associate an execution flow of processing executed across a plurality of information processing apparatuses, metadata is exchanged at the same time as communication between information processing apparatuses, and common metadata collected from each is shared. A technique for determining a correlation between execution flows focusing on the characteristics is disclosed.
  • a distributed system there is a system that supports so-called business intelligence in which business data generated by computers or computer systems arranged at a plurality of bases are aggregated and analyzed and used for decision making in business activities.
  • the bases that are the sources of data are widely distributed geographically, and it is difficult to closely link by communication, or the data format is not unified in the information processing system of each base There may be situations where conversion processing is required in the process of aggregating data.
  • SOA Service Oriented Architecture
  • This has an advantage that it is easier to introduce than a tightly coupled system in which all business data is unified into a single central database and each computer system uses the central database.
  • Data linkage by SOA is typically defined as a series of processes called business processes, such as data transfer, processing, and conversion, and multiple business processes exchange data via communication and relay databases. This is achieved through collaboration.
  • the present invention solves the above-described problems, and is a computer system designed to achieve its purpose by exchanging data among a plurality of computers.
  • the present invention transfers and converts data collected from a large number of computers to a database. It is an object of the present invention to provide a monitoring method for grasping the operation status of a system suitable for a system intended to be stored and used for various usage forms of data users.
  • the computer system includes at least one computer that processes data and a management device that monitors the operating status of each computer, and each computer uses a correlator from an identifier that uniquely identifies data to be processed.
  • the management device compares the correlators to determine the correlation of data processing executed by each computer.
  • FIG. 1 shows a configuration example of the computer system of this embodiment.
  • the computer system shown in FIG. 1 includes a business process execution server 110, a management server 120, and a management client 130.
  • the business process execution server 110 includes a business process execution environment 111, a log output unit 112, and a log transfer unit 113.
  • the business process execution environment 111 includes a reception unit 114, a message delivery unit 115, a business process execution unit 116, and a service execution unit 117.
  • the management server 120 includes a log collection unit 121, an index storage unit 122, an index 123, a search unit 124, a correlation determination unit 125, a query reception unit 126, and a search result transmission unit 127.
  • the management client 130 includes a query transmission unit 131, a search result reception unit 132, and a display unit 133.
  • the business process execution server 110 executes a series of processes called business processes, thereby realizing necessary processes in a data linkage system, for example.
  • the log output unit 112 outputs log information
  • the log transfer unit 113 transmits the log information to the management server 120.
  • An example of the process and an example of log information will be described later.
  • the log collection unit 121 of the management server 120 receives the log information transmitted by the log transfer unit 113 of the business process execution server 110 and transfers it to the index storage unit 122.
  • the index storage unit 122 stores the transferred log information in the index 123.
  • Management server 120 and management client 130 operate in cooperation. That is, the query transmission unit 131 of the management client 130 transmits a query for requesting a search according to a certain condition for the log information stored in the index 123 to the management server 120.
  • the search unit 124 of the management server 120 searches the log information stored in the index 123 according to the query received by the query reception unit 126, and the search result transmission unit 127 transmits the search result to the management client 130.
  • the correlation determination unit 125 executes the correlation determination process. An example of the configuration of the search unit 124 and the correlation determination unit 125 and details of the processing to be executed will be described later.
  • the search result receiving unit 132 of the management client 130 receives the search result transmitted by the search result transmitting unit 127 of the management server 120 and displays it on the display unit 133 in a format suitable for the operation manager of the data linkage system. An example of the display by the display unit 133 will be described later.
  • FIG. 2 shows a physical configuration example of the information processing apparatus 100 suitable for configuring the business process execution server 110, the management server 120, and the management client 130 of the present embodiment.
  • the information processing apparatus 100 includes a processor 101, a memory 102, a storage 103, a network interface 104, and a console 105, and includes, for example, a rack mount server, a blade server, or a personal computer.
  • the processor 101 is connected to the memory 102, the storage 103, the network interface 104, and the console 105.
  • the processor 101 is a hardware arithmetic device such as a CPU (Central Processing Unit), and executes a program stored in the memory 102.
  • the memory 102 is composed of, for example, a volatile semiconductor memory, and temporarily stores programs and data.
  • the storage 103 is composed of, for example, a hard disk drive (HDD: Hard Disk Drive), a solid state drive (SSD: Solid State Drive), or a non-volatile storage device in which a plurality of these are combined. Hold for a period.
  • HDD Hard Disk Drive
  • SSD Solid State Drive
  • the network interface 104 is composed of a communication device such as a NIC (Network Interface Card), and is connected to the network 106.
  • the network interface 104 performs protocol control when communicating with other information processing apparatuses via the network 106.
  • the network 106 may be, for example, an Ethernet, a wireless network based on IEEE (Institute of Electrical and Electronics Electronics) (802.11) standard, a wide area network based on SONET / SDH (Synchronous Optical Network / Synchronous Digital Hierarchy) standard, or a plurality of these.
  • IEEE Institute of Electrical and Electronics Electronics
  • SONET / SDH Synchronous Optical Network / Synchronous Digital Hierarchy
  • the console 105 includes, for example, an input device such as a keyboard and a mouse and a display device such as a liquid crystal display panel.
  • the console 105 receives operation signals corresponding to various operation inputs given from the input device, notifies the operation input contents to the processor 101, and displays text, images, and the like based on text information and graphical information output from the processor 101. Display on the device.
  • the information processing apparatus 100 may include a plurality of some or all of the processor 101, the memory 102, the storage 103, the network interface 104, and the console 105.
  • An operating system (OS: Operating System) and a user program stored in the storage 103 are read into the memory 102 when the information processing apparatus 100 is started up or executed, and the operating system and the user program are read into the memory 102.
  • the function as the information processing apparatus 100 is realized by the processor 101 executing the above.
  • the functions of the determination unit 125, the query reception unit 126, and the search result transmission unit 127, and the functions of the query transmission unit 131, the search result reception unit 132, and the display unit 133 in the management client 130 are realized by the processor 101.
  • business process definition 200 of the business process execution unit 116, the processed key list 206, the index 123 of the management server 120, the filter 502, the filtered log 504, and the classified log are stored by storage holding means such as the memory 102 and the storage 103. 505, business process topology information 506, and a log 507 with correlation information are stored.
  • the functions of the log transfer unit 113, the reception unit 114, and the service execution unit 117 in the business process execution server 110, the log collection unit 121, the query reception unit 126, and the search result transmission unit 127 in the management server 120 are performed by the network interface 104 and the like. And the functions of the query transmission unit 131 and the search result reception unit 132 in the management client 130 are realized.
  • the screen 600 in the management client 130 is realized by the console 105 or the like.
  • the program executed by the processor 101 is provided to the information processing apparatus 100 via a removable medium (CD-ROM, flash memory, etc.) or a network, and is stored in the storage 103 which is a non-temporary storage medium. For this reason, the information processing apparatus 100 may have an interface for reading data from a removable medium.
  • the information processing apparatus 100 is a computer system that is physically configured on one computer, or logically or physically on a plurality of computers, and the above-described program is separated on the same computer. It may operate on a thread, or may operate on a virtual computer constructed on a plurality of physical computer resources.
  • a part or all of the business process execution server 110, the management server 120, and the management client 130 may be provided for the purpose of distributing the processing load and improving the availability.
  • a single information processing apparatus 100 may be configured to share the roles of a plurality of types of servers or clients described above. There is a degree of freedom in the correspondence between the physical information processing apparatus 100 and its role, and this embodiment is an example of many combinations thereof.
  • FIG. 3 shows a configuration example of the business process execution environment 111 included in the business process execution server 110.
  • the accepting unit 114 receives the business process execution request, and transfers the execution request to the business process execution unit 116 in response to the received request.
  • the business process execution unit 116 includes a business process definition 200 and a business process instance 201.
  • the business process definition 200 includes a plurality of definitions of a series of processing flows.
  • the business process execution unit 116 receives an execution request for a specific business process from the reception unit 114, the business process execution unit 116 extracts the business process from the business process definition 200, generates a business process instance 201, and makes it executable. Different business process instances are generated from different business processes. Further, if the execution request is received a plurality of times, a plurality of different business process instances can be generated from the same business process.
  • the business process instance 201 may access the file 202, the database 203, and the table 204 in the course of its execution. In this case, the business process instance 201 transmits an access request to the service execution unit 117.
  • the service execution unit 117 typically includes a plurality of service adapters (service execution units) 117A and 117B corresponding to the file 202 and the database 203, and accesses the file 202 or the database 203 according to the received access request. .
  • service execution environment 111 enables the business process instance 201 to access a plurality of files and databases.
  • the message delivery unit 115 mediates communication between the reception unit 114, the business process execution unit 116, and the service execution unit 117.
  • FIG. 4 shows an example of data processing by a business process.
  • the business process instance 201 in the data cooperation system performs input / output access to the input database 203A and the output database 203B by communicating with the service execution unit 117 via the message delivery unit 115.
  • the business process instance 201 receives an input of a processing target record 205A that is a part of the input table 204A included in the input database 203A, and outputs a processing target record 205B that is a part of the output table 204A included in the output database 203B.
  • the business process instance 201 performs, for example, data conversion processing on the input processing target record 205A, and outputs the result of the conversion processing as the processing target record 205B.
  • the record to be processed by the business process instance 201 is a part of the table, and the processing range is determined at the time of processing execution.
  • FIG. 5 shows an example of data processing by a plurality of business processes.
  • different business process instances can be generated from different business processes, and a plurality of different business process instances can be generated from the same business process.
  • different business processes are configured to perform processing continuously.
  • two different types of business process instances that is, a business process instance 201A corresponding to the business process BP1 and a business process instance 201B corresponding to the business process BP2 are generated from the business process definition 200.
  • the business process instance 201A acquires the processing target record from the input table 204C of the input database 203C, and inserts the processed record into the output table 204D of the output database 203D.
  • the table 204D is also an input table for the business process instance 201B.
  • the business process instance 201B processes the acquired processing target record and inserts it into the output table 204E of the output database 203E.
  • three different business process instances 201A are generated for BP1, and the ranges of processing target records in the input table 204C and the output table 204D are different.
  • the record in the table can be specified by the key.
  • the processing target records of BP1-1 are keys from alpha to echo
  • the processing target records of BP1-2 are from foxtrot to juliet
  • the processing target records of BP1-3 are from kilo to oscar. .
  • one business process instance 201B is generated, and the process target record has keys from alpha to juliet.
  • the relationship between business process instances in such a situation is a processing object record relation diagram 300 that is graphically focused on the processing object records. That is, according to the processing target record relation diagram 300, among business process instances, BP1-1, BP1-2, and BP2 are correlated, but BP1-3 is not correlated with other business process instances. That is, the correlation between business process instances in the present embodiment is that each instance performs data processing in the same series. Such correlation information is useful for the operation manager of the data linkage system to grasp the operation status, and reproduces the correlation of business process instances based on the log information output by the business process execution environment 111. The method will be described below.
  • FIG. 6 shows a configuration example of log information.
  • the log information output when the business process execution environment 111 executes processing typically includes a plurality of records. Each record has an ID for uniquely identifying each record and a time stamp indicating the log output date. Field.
  • the log information includes a business process name indicating a log output source, a process instance ID, and a host name.
  • the log information includes a processing target table name, a processing target key, a processing content, a processing status, and a required time as information related to processing by the business process instance.
  • the processing target table name may be divided into two fields: an input table name and an output table name.
  • the correlator used in order to determine the correlation between records, and the correlation information which shows ID of the other record with correlation are included.
  • the structure of the log information is illustrated for explaining the embodiment, and may not include all of the above-described fields or may include fields that are not illustrated.
  • the business process instance 201 may be configured to output a log during an event such as processing start, end, or error detection during its execution, but preferably at least once at the end To do.
  • Log information output from the business process execution environment 111 is transferred to the log transfer unit 113 via the log output unit 112 and transferred to the management server 120.
  • the log collection unit 121 of the management server 120 passes the transferred log to the index storage unit 122, and the index storage unit 122 stores the log in the index 123 in a format that can be easily searched.
  • FIG. 7 shows a configuration example of the correlator, and shows examples of the correlators of the business process instances BP1-1, BP1-2, BP1-3, and BP2 shown in FIG.
  • the correlator field included in the log information shown in FIG. 6 is prepared so that the business process instance 201 can output information that can identify the processing target record.
  • it is information corresponding to the information on the field of the processing target key, but enumerating keys that can identify records, such as the field of the processing target key, may cause the field to become long when a large number of records are processing targets. There is.
  • a hash value is calculated by a hash function for each key of the record to be processed, and fixed-length data generated by performing a bitwise OR operation on the calculated hash value is converted into a correlator.
  • a correlator 301 is obtained by obtaining a hash value for each of the keys alpha to echo and performing an OR operation.
  • a correlator 302 is obtained by obtaining a hash value for each of foxtrot to juliet and performing an OR operation.
  • a correlator 303 is obtained by obtaining a hash value for each of the elements from kilo to oscar and performing an OR operation.
  • a correlator 304 is obtained by obtaining a hash value for each of alpha to juliet and performing an OR operation.
  • Each correlator is obtained by obtaining a hash value and performing an OR operation.
  • hash function with excellent output uniformity so that collisions can be avoided as much as possible.
  • hash functions such as FNV (Fowler-Noll-Vo) and MurmurHash are suitable.
  • a hash value output from each of a plurality of types of hash functions for one key may be ORed. If the cardinality of the key is well known, the bit length of the hash value may be adjusted accordingly.
  • the output of the processing target key field may be omitted.
  • FIG. 8 shows an example of a processing procedure of data processing and log output processing by the business process execution environment 111.
  • the business process instance 201 acquires the processing target record 205A from the input table 204A (S802). Next, the business process instance 201 performs data conversion processing on the processing target record 205A (S804), and then inserts the processing target record 205B that has been subjected to data conversion into the output table 204B (S806). The key is added to the processed key list 206 (S808).
  • the log information including the correlator is output from the log output unit 112 of the business process execution server 110, and after being processed by the log transfer unit 113, the log collection unit 121 and the index storage unit 122 of the management server 120, the log information is stored in the index 123. Stored.
  • FIG. 9 illustrates the configuration of the search unit 124 and the correlation determination unit 125 of the management server 120.
  • the search unit 124 and the correlation determination unit 125 of the management server 120 use the query received by the query reception unit 126 to search the index 123 to extract log information, add correlation information to the extracted log information, and search results It transmits from the transmission part 127.
  • the search unit 124 includes a query analysis unit 501 and a data acquisition unit 503.
  • the query analysis unit 501 analyzes the received query, and generates a filter 502 for extracting log information stored in the index 123 according to a certain condition.
  • the conditions specified by the query are typically conditions such as the time stamp being within a certain period or the name of the table to be processed being a specific name, but it is not limited to this. Absent.
  • the data acquisition unit 503 extracts corresponding log information from the index 123 according to the filter 502 and transfers the extracted log information to the correlation determination unit 125 as a filtered log 504.
  • the correlation determination unit 125 classifies the filtered log 504 according to the business process name, and generates a classified log 505.
  • the correlation determination unit 125 has business process topology information 506 and determines the correlation of the classified log 505 using the business process topology information 506.
  • the log information for which the correlation is determined is returned to the search unit 124 as a log 507 with correlation information.
  • the search result transmission unit 127 transmits the log 507 with correlation information to the management client 130.
  • FIG. 10 shows a configuration example of the business process topology information 506.
  • a plurality of business processes continuously execute a plurality of processes. That is, the relationship between a plurality of business processes can be expressed topologically in the form of a directed graph.
  • the business process topology information 506 shown in FIG. 10 has a relationship that the process of the business process BP2 (402) is executed after the process of the business process BP1 (401), and then the process of the business process BP3 (403) is executed. It means that there is.
  • each node of the directed graph may be topologically sorted and held as a list of business process names. Any form may be used as long as the process context between business processes can be expressed.
  • FIG. 11 shows an example of a processing procedure of search processing by the search unit 124 and the correlation determination unit 125.
  • the query analysis unit 501 of the search unit 124 analyzes the input query (S1102) and generates a filter 502 (S1104).
  • the data acquisition unit 503 acquires a log from the index 123 according to the generated filter (S1106).
  • the correlation determination unit 125 determines the correlation of the filtered log 504, adds correlation information, and generates a log 507 with correlation information (S1108).
  • the detailed procedure of the correlation determination process (S1108) will be described later with reference to FIG.
  • the correlation determination unit 125 returns the log 507 with correlation information to the search unit 124, and the search result transmission unit 127 outputs the log 507 with correlation information (S1110).
  • FIG. 12 shows an example of the processing procedure of the correlation determination processing (S1108) by the correlation determination unit 125.
  • the correlation determination unit 125 acquires the filtered log 504 from the search unit 124 (S1202), and then classifies the filtered log 504 according to the business process name included in each record of the log information (S1204).
  • the business process name of the start node is acquired from the information 506, and the business process name of the start node is set to P (S1206).
  • the start node is the business process BP1 (401) that is the root node.
  • the business process name of the child node of P is acquired from the business process topology information 506, and the business process name of the child node is set to C (S1208).
  • the business process BP2 (402) is a business process of a child node of P.
  • the correlation determining unit 125 refers to the filtered log 504, acquires one record P1 from the P log information, and sets the correlator of the record P1 to Cr1 (S1210). Similarly, one record C1 is acquired from the C log information, and the correlator of the record C1 is set to Cr2 (S1212). With these processes, the correlators of the two records whose correlation is to be determined are set to Cr1 and Cr2, respectively.
  • the correlation determination process is a bitwise logical product (AND) operation on the correlators Cr1 and Cr2 (S1214). If the result of the AND operation is 0, it is determined that there is no correlation.
  • step S1222 it is determined whether there are more child nodes in P (S1222). If there is a child node in P, the process returns to step S1208 to repeat the correlation determination process. On the other hand, if there is no child node in P, since the terminal node has been reached, this processing procedure is terminated. Thereafter, the ID of the record determined to have a correlation is registered in the correlation field of the record determined to have a correlation with another record among the records of the filtered log 504. The log information in this state is a log 507 with correlation information. The correlation determination unit 125 transfers the log 507 with correlation information to the search unit 124, and the search result transmission unit 127 transmits the log 507 with correlation information to the management client 130.
  • FIG. 13 shows an example of information display on the management client screen.
  • the search result receiving unit 132 of the management client 130 receives the log 507 with correlation information from the management server 120, and the display unit 133 displays the log 507 with correlation information in a format suitable for the operation manager.
  • the management client screen 600 as an example includes a display target data list 601, a business process list 602, and data linkage timeline displays 603A and 603B.
  • the display target data list 601 lists the values of one or more fields included in each record of the log 507 with correlation information.
  • the field to be listed is, for example, a processing target table name, but other fields may be listed. Further, as shown in FIG. 13, information that is not included in the field may be supplemented and displayed, or a large number of pieces of information may be listed in a tree structure. Any configuration may be used as long as the operation manager is configured to be able to list the business data to be subjected to data linkage processing.
  • the operation manager selects a specific value in the display target data list 601
  • a log including the selected value is extracted from the log 507 with correlation information
  • the display unit 133 displays the business process list 602 and the data linkage timeline display 603A. , 603B are displayed.
  • the business process list 602 lists the host name field and the business process name field included in each record of the log information in combination. That is, the operation manager can list the hosts and business processes related to the execution of the data linkage processing.
  • the data linkage timeline displays 603A and 603B each display a series of logs in which correlation is determined by the correlation determination unit 125 and IDs are registered in the correlation field in a continuous timeline chart.
  • Each line of the timeline may be displayed with the position in the vertical direction (vertical axis) aligned with the business process list 602 according to the business process name field of the log information. Similarly, the position and width in the horizontal direction (horizontal axis) are adjusted and displayed using the time stamp field and the required time field. And based on ID of a correlation field, each line of a timeline is connected and displayed.
  • a plurality of data linkage timelines 603A and 603B can be displayed according to the result of the correlation determination.
  • attention is paid to the horizontal axis here, it can be noted that there are overlapping portions in the data cooperation timelines 603A and 603B. Such a display is possible because the correlation information is given to the log.
  • FIG. 14 shows another example of information display on the management client screen.
  • the management client screen 600 includes a display target data list 601, a business process list 602, and a data linkage timeline 603C. It can be noted that the data cooperation timeline 603C shown in FIG. 14 is connected in the middle of the two timelines. This indicates that, as a result of the correlation determination by the correlation determination unit 125, it is determined that the log output from each of the two instances of the business process BP2 is correlated with the log of one instance of the business process BP3.
  • the correlation of log information is not limited to one-to-one, and may be displayed in such a many-to-one relationship.
  • the business process execution server 110 generates a correlator from the identifier that uniquely identifies the data to be processed, and the management server 120 compares the correlators to execute the business process. Since the correlation of the data processing executed by the server 110 is determined, it is possible to efficiently grasp the relevance of the processing executed by each of the plurality of software components.
  • the business process execution server 110 since the business process execution server 110 generates a correlator by logical sum operation of the hash value of the identifier that uniquely identifies the processing target data, it is possible to prevent the log information from becoming long and to determine the correlation. The amount of calculation can be reduced, and further, the security risk due to sensitive information included in the log information can be reduced.
  • the management server 120 determines the correlation of the data processing by the logical product operation of the correlator, it is possible to reduce the calculation amount for determining the correlation.
  • the management server 120 determines that there is no correlation in data processing when the logical product of the correlators is 0, the amount of calculation for determining the correlation can be reduced.
  • the business process execution server 110 outputs the generated correlator in a data processing log, and the management server 120 collects logs from the business process execution server 110, so that a plurality of business process execution servers are provided.
  • the correlator can be easily collected even in a distributed environment.
  • the management server 120 outputs data for displaying the determined correlation of the data processing
  • the management client 130 can intuitively understand the correlation of the data processing.
  • 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)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

計算機システムであって、データを処理する少なくとも一つの計算機と、前記各計算機の稼働状況を監視する管理装置とを備え、前記各計算機は、処理対象のデータを一意に識別する識別子からコリレータを生成し、前記管理装置は、前記コリレータを比較して、前記各計算機が実行するデータ処理の相関を判定する。

Description

計算機システム及び監視方法
 本発明は、計算機システムに関する。
 現代の計算機システムは、複数の計算機が実行するソフトウェアコンポーネントが相互に連携して目的を達成する分散システムである。このようなシステムを運用・管理する際には、複数のソフトウェアコンポーネントが各々実行する処理の間の関連性を把握することが重要である。処理の間の関連性を把握することによって、処理遅延、性能劣化などのシステムの健全性を損なう事象を発生させた個所を同定し、原因を究明することができる。
 そのため、ソフトウェアコンポーネントの処理の開始・完了などのイベントの発生に応じて、ログ情報を出力するように計算機を構成し、このログ情報を収集・分析し、異なるソフトウェアコンポーネントが出力したログ情報の間で相関(コリレーション)の有無を判定する技術が知られている。
 例えば、特許文献1には、メッセージキューを介在したメッセージ交換のログ情報から、メッセージ交換に使用したパスの共通性に着目してイベント間の相関を判定する技術が開示されている。
 また、特許文献2には、複数の情報処理装置に跨って実行される処理の実行フローを関連付けるために、情報処理装置間の通信と同時にメタデータを交換させ、各々から収集したメタデータの共通性に着目して実行フロー間の相関を判定する技術が開示されている。
米国特許第7,996,853号明細書 米国特許第7,949,673号明細書
 分散システムの一例として、複数の拠点に配置された計算機又は計算機システムで生成された業務データを集約・分析し、企業活動上の意思決定に活用する、いわゆるビジネスインテリジェンスを支援するシステムがある。このようなシステムにおいて、データの発生源である拠点が地理的に広く分散しており、通信による密な連携が困難である、又は、各拠点の情報処理システムでデータ形式が統一されておらず、データを集約する過程で変換処理を必要とする状況があり得る。
 このような多拠点・多システムを前提としたデータの連携を実現する手段として、いわゆるSOA(Service Oriented Architecture)と称される疎結合なシステムを採用することが好適である。これは、例えば、全ての業務データを単一の中央データベースに統一し、各計算機システムが中央データベースを利用するような密結合なシステムより導入が容易であるメリットがある。SOAによるデータ連携は、典型的には、データの転送、加工、変換などの処理はビジネスプロセスと称される一連の処理として定義され、複数のビジネスプロセスが通信や中継データベースを介してデータを交換し、連携することによって実現される。
 このようなデータ連携システムを運用・管理する際には、ビジネスプロセスによるデータの転送処理や変換処理の進行、すなわち複数のビジネスプロセスに跨った処理の関連性を把握することが重要である。しかしながら、このようなデータ連携システムに前述した相関判定技術を適用することは困難である。
 すなわち、中間ファイルや中継データベースを介在させてデータを連携する場合、ビジネスプロセス間の通信が存在しない場合があり、メッセージキューのような通信用ミドルウェアが出力するログ情報を活用することが難しい。また、同じ理由によって、ビジネスプロセス同士でメタデータや何らかの共通IDを交換することも難しい。
 そこで、各ビジネスプロセスが処理の対象としたデータ項目を特定できる情報をログ情報に含ませ、ログ情報の間で相関を判定することが考えられる。このような相関判定のためにログに含ませる情報はコリレータと称される。しかし、処理対象が多数のデータ項目である場合、コリレータによりログ情報が長大化し、ログ情報の生成及び収集を困難にする。また、分析するにあたっても、共通のデータ項目を含むか否かで相関を判定するため、その集合演算に要する計算量が大きくなる。さらに、業務データを処理の対象とする以上、データ項目を特定できる情報は企業活動上の機微な情報を含む可能性があり、ログ情報を機密情報として取り扱うことは、ログ情報の取り扱いを困難にする。
 本発明は、以上の課題を解決し、複数の計算機がデータを交換することによりその目的を達成するよう設計された計算機システム、特に、多数の計算機から収集したデータを転送・変換し、データベースに格納してデータ利用者の多様な利用形態に供することを目的としたシステムに好適な、システムの運用状況を把握するための監視方法を提供することを目的とする。
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、計算機システムであって、データを処理する少なくとも一つの計算機と、前記各計算機の稼働状況を監視する管理装置とを備え、前記各計算機は、処理対象のデータを一意に識別する識別子からコリレータを生成し、前記管理装置は、前記コリレータを比較して、前記各計算機が実行するデータ処理の相関を判定する。
 本発明の代表的な実施の形態によれば、複数のソフトウェアコンポーネントの各々が実行する処理の関連性を効率的に把握することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
本発明の実施例の計算機システムの構成例を示すブロック図である。 本実施例の情報処理装置の物理的な構成例を示すブロック図である。 ビジネスプロセス実行環境の構成例を示すブロック図である。 ビジネスプロセスによるデータ処理の一例を示す図である。 複数のビジネスプロセスによるデータ処理の一例を示す図である。 ログ情報の構成例を示す図である。 コリレータの構成例を示す図である。 ビジネスプロセス実行環境によるデータ処理及びログ出力処理のフローチャートである。 管理サーバの検索部及び相関判定部の構成例を示すブロック図である。 ビジネスプロセストポロジ情報の構成例を示す図である。 検索処理の処理手順のフローチャートである。 相関判定処理の処理手順のフローチャートである。 管理クライアント画面における情報表示の例を示す図である。 管理クライアント画面における他の情報表示の例を示す図である。
 以下、図面を用いて本発明の実施例を詳述する。
 図1は、本実施例の計算機システムの構成例を示す。
 図1に示す計算機システムは、ビジネスプロセス実行サーバ110と、管理サーバ120と、管理クライアント130で構成される。
 ビジネスプロセス実行サーバ110は、ビジネスプロセス実行環境111、ログ出力部112及びログ転送部113を有する。ビジネスプロセス実行環境111は、受付部114、メッセージ配送部115、ビジネスプロセス実行部116及びサービス実行部117を有する。
 管理サーバ120は、ログ収集部121、インデックス格納部122、インデックス123、検索部124、相関判定部125、クエリ受信部126及び検索結果送信部127を有する。
 管理クライアント130は、クエリ送信部131、検索結果受信部132及び表示部133を有する。
 ビジネスプロセス実行サーバ110は、ビジネスプロセスと称される一連の処理を実行することによって、例えばデータ連携システムにおいて必要な処理を実現する。処理を実行する際、ログ出力部112がログ情報を出力し、ログ転送部113はログ情報を管理サーバ120に送信する。その処理の一例、及びログ情報の一例は後述する。
 管理サーバ120のログ収集部121は、ビジネスプロセス実行サーバ110のログ転送部113が送信したログ情報を受信し、インデックス格納部122に転送する。インデックス格納部122は、転送されたログ情報をインデックス123に格納する。
 管理サーバ120と管理クライアント130とは協調して動作する。すなわち、管理クライアント130のクエリ送信部131は、インデックス123に格納されたログ情報を一定の条件に従った検索を要求するクエリを管理サーバ120に送信する。管理サーバ120の検索部124は、クエリ受信部126が受信したクエリに従って、インデックス123に格納されたログ情報を検索し、検索結果送信部127が、検索結果を管理クライアント130に送信する。検索部124による検索処理の実行時に、相関判定部125が相関判定処理を実行する。検索部124及び相関判定部125の構成と実行する処理の詳細の一例は後述する。管理クライアント130の検索結果受信部132は、管理サーバ120の検索結果送信部127が送信した検索結果を受信し、データ連携システムの運用管理者に好適な形式で表示部133に表示する。表示部133による表示の一例は後述する。
 図2は、本実施例のビジネスプロセス実行サーバ110、管理サーバ120及び管理クライアント130を構成するのに好適な情報処理装置100の物理的な構成例を示す。
 情報処理装置100は、プロセッサ101、メモリ102、ストレージ103、ネットワークインタフェース104及びコンソール105を有し、例えば、ラックマウントサーバ、ブレードサーバ又はパーソナルコンピュータなどで構成される。プロセッサ101は、メモリ102、ストレージ103、ネットワークインタフェース104及びコンソール105と接続される。
 プロセッサ101は、例えば、CPU(Central Processing Unit)等のハードウェアによる演算装置であり、メモリ102に格納されたプログラムを実行する。メモリ102は、例えば、揮発性の半導体メモリから構成され、プログラムやデータを一時的に保持する。また、ストレージ103は、例えば、ハードディスクドライブ(HDD:Hard Disk Drive)、ソリッドステートドライブ(SSD:Solid State Drive)、又はこれらを複数台組み合わせた不揮発性の記憶装置から構成され、プログラムやデータを長期間保持する。
 ネットワークインタフェース104は、例えば、NIC(Network Interface Card)などの通信デバイスで構成され、ネットワーク106と接続される。ネットワークインタフェース104は、ネットワーク106を介した他の情報処理装置との通信時におけるプロトコル制御を行う。なお、ネットワーク106は、例えばイーサネットや、IEEE(Institute of Electrical and Electronics Engineers)802.11規格に基づく無線ネットワーク、SONET/SDH(Synchronous Optical Network/Synchronous Digital Hierarchy)規格に基づく広域ネットワーク、又は、これら複数のネットワーク技術を組み合わせたネットワークを適用することができる。
 コンソール105は、例えば、キーボード及びマウス等の入力装置と、液晶表示パネル等のディスプレイ装置とから構成される。コンソール105は、入力装置から与えられる各種操作入力に応じた操作信号を受信して操作入力内容をプロセッサ101に通知し、プロセッサ101から出力されるテキスト情報やグラフィカル情報に基づくテキストや画像等をディスプレイ装置に表示する。
 なお、情報処理装置100は、プロセッサ101、メモリ102、ストレージ103、ネットワークインタフェース104及びコンソール105の一部又は全部を複数有してもよい。
 ストレージ103に格納されたオペレーティングシステム(OS:Operating System)やユーザプログラムは、情報処理装置100の起動時や、その実行時にメモリ102に読み出され、メモリ102に読み出されたオペレーティングシステム及びユーザプログラムをプロセッサ101が実行することによって、情報処理装置100としての機能が実現される。
 すなわち、ビジネスプロセス実行サーバ110におけるビジネスプロセス実行環境111、ログ出力部112及びログ転送部113の各機能や、管理サーバ120におけるログ収集部121、インデックス格納部122、インデックス123、検索部124、相関判定部125、クエリ受信部126及び検索結果送信部127の各機能や、管理クライアント130におけるクエリ送信部131、検索結果受信部132及び表示部133の各機能が、プロセッサ101によって実現される。
 また、メモリ102やストレージ103等の記憶保持手段によって、ビジネスプロセス実行部116のビジネスプロセス定義200、処理済キーリスト206や、管理サーバ120のインデックス123、フィルタ502、フィルタ済みログ504、分類済ログ505、ビジネスプロセストポロジ情報506及び相関情報付きログ507が格納される。
 また、ネットワークインタフェース104等によって、ビジネスプロセス実行サーバ110におけるログ転送部113、受付部114及びサービス実行部117の機能や、管理サーバ120におけるログ収集部121、クエリ受信部126及び検索結果送信部127の各機能や、管理クライアント130におけるクエリ送信部131及び検索結果受信部132の各機能が実現される。
 また、コンソール105等により、管理クライアント130における画面600が実現される。
 プロセッサ101が実行するプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワークを介して情報処理装置100に提供され、非一時的記憶媒体であるストレージ103に格納される。このため、情報処理装置100は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
 また、情報処理装置100は、物理的に一つの計算機上で、又は、論理的又は物理的に複数の計算機上で構成される計算機システムであり、前述したプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
 なお、ビジネスプロセス実行サーバ110、管理サーバ120及び管理クライアント130の一部又は全部を、処理負荷の分散や可用性の向上等を目的として、複数台設けてもよい。また、一つの情報処理装置100に前述した複数種類のサーバ又はクライアントの役割を兼用させるように構成してもよい。物理的な情報処理装置100とその役割との対応関係には自由度があり、本実施形態はその多数の組み合わせの中の一例である。
 図3は、ビジネスプロセス実行サーバ110に含まれるビジネスプロセス実行環境111の構成例を示す。
 図3に示すビジネスプロセス実行環境111は、受付部114、メッセージ配送部115、ビジネスプロセス実行部116及びサービス実行部117を有する。受付部114は、ビジネスプロセス実行の要求を受信し、受信した要求に応じてビジネスプロセス実行部116に実行の要求を転送する。
 ビジネスプロセス実行部116は、ビジネスプロセス定義200及びビジネスプロセスインスタンス201を含む。ビジネスプロセス定義200は、一連の処理のフローの定義を複数含む。ビジネスプロセス実行部116は、受付部114から特定のビジネスプロセスの実行要求を受信すると、該ビジネスプロセスをビジネスプロセス定義200から抽出し、ビジネスプロセスインスタンス201を生成して実行可能な状態とする。異なるビジネスプロセスからは異なるビジネスプロセスインスタンスが生成される。また、実行要求を複数回受信すれば、同一のビジネスプロセスから複数の異なるビジネスプロセスインスタンスが生成され得る。
 ビジネスプロセスインスタンス201は、その実行の過程においてファイル202、データベース203、及びテーブル204に対してアクセスすることがある。この場合、ビジネスプロセスインスタンス201は、サービス実行部117にアクセス要求を送信する。サービス実行部117は、典型的には、ファイル202やデータベース203に対応する複数のサービスアダプタ(サービス実行部)117A、117Bを有し、受信したアクセス要求に応じてファイル202又はデータベース203にアクセスする。このようにして、ビジネスプロセス実行環境111は、ビジネスプロセスインスタンス201による複数のファイルやデータベースへのアクセスを可能としている。
 これら受付部114、ビジネスプロセス実行部116及びサービス実行部117の間の通信は、メッセージ配送部115が仲介する。
 図4は、ビジネスプロセスによるデータ処理の一例を示す。
 典型的には、データ連携システムにおけるビジネスプロセスインスタンス201は、メッセージ配送部115を経由してサービス実行部117と通信することによって、入力データベース203A及び出力データベース203Bに対する入出力アクセスを行う。ビジネスプロセスインスタンス201は、入力データベース203Aに含まれる入力テーブル204Aの一部分である処理対象レコード205Aの入力を受け、出力データベース203Bに含まれる出力テーブル204Aの一部分である処理対象レコード205Bを出力する。
 ビジネスプロセスインスタンス201は、入力された処理対象レコード205Aに対して、例えばデータ変換処理を行い、変換処理の結果を処理対象レコード205Bとして出力する。このように、ビジネスプロセスインスタンス201が処理対象とするレコードはテーブルの一部分であること、また、その処理範囲は処理実行時に決定されることに留意されたい。
 図5は、複数のビジネスプロセスによるデータ処理の一例を示す。
 ビジネスプロセス実行環境111では、前述したように、異なるビジネスプロセスから異なるビジネスプロセスインスタンスが生成され、また、同一のビジネスプロセスから複数の異なるビジネスプロセスインスタンスが生成され得る。実際上、データ連携のような複雑な処理では、異なるビジネスプロセスが連続して処理を行うように構成される。
 図5に示す例において、ビジネスプロセス定義200から異なる2種類のビジネスプロセスインスタンス、すなわち、ビジネスプロセスBP1に対応するビジネスプロセスインスタンス201A、及びビジネスプロセスBP2に対応するビジネスプロセスインスタンス201Bが生成される。ビジネスプロセスインスタンス201Aは、入力データベース203Cの入力テーブル204Cから処理対象レコードを取得し、出力データベース203Dの出力テーブル204Dに処理済のレコードを挿入する。テーブル204Dはビジネスプロセスインスタンス201Bの入力テーブルでもあり、ビジネスプロセスインスタンス201Bは、取得した処理対象レコードを処理した上で出力データベース203Eの出力テーブル204Eに挿入する。
 前述した例において、BP1について三つの異なるビジネスプロセスインスタンス201A(BP1-1、BP1-2、BP1-3)が生成され、入力テーブル204C及び出力テーブル204Dの処理対象レコードの範囲が異なる。また、テーブル内のレコードは、キーによって特定できる。本例では、BP1-1の処理対象レコードはキーがalphaからechoまでであり、BP1-2の処理対象レコードはfoxtrotからjulietまでであり、BP1-3の処理対象レコードはkiloからoscarまでである。
 また、BP2については、一つのビジネスプロセスインスタンス201Bが生成され、その処理対象レコードはキーがalphaからjulietまでである。
 このような状況におけるビジネスプロセスインスタンスの関連について、処理対象レコードに注目して図式化したものが処理対象レコード関連図300である。すなわち、処理対象レコード関連図300によれば、ビジネスプロセスインスタンスのうちBP1-1、BP1-2、及びBP2は相関があるが、BP1-3は他のビジネスプロセスインスタンスと相関がない。すなわち、本実施例におけるビジネスプロセスインスタンスの相関とは、各インスタンスが同じ系列でデータ処理を行っていることである。このような相関の情報は、データ連携システムの運用管理者がその運用状況を把握するために有用であり、ビジネスプロセス実行環境111が出力するログ情報に基づいて、ビジネスプロセスインスタンスの相関を再現する方法を以下に説明する。
 図6は、ログ情報の構成例を示す。
 ビジネスプロセス実行環境111が処理の実行に際して出力するログ情報は、典型的には複数のレコードを含み、各レコードは、各レコードを一意に特定するためのID及びログ出力の日次を示すタイムスタンプのフィールドを含む。また、ログ情報は、ログの出力元を示すビジネスプロセス名、プロセスインスタンスID、及びホスト名を含む。また、ログ情報は、該ビジネスプロセスインスタンスによる処理に関する情報として、処理対象テーブル名、処理対象キー、処理内容、処理ステータス、及び所要時間を含む。処理対象テーブル名は、入力テーブル名と出力テーブル名との二つのフィールドに分けてもよい。そして、レコード間の相関を判定するために用いるコリレータ、及び相関がある他のレコードのIDを示すコリレーションの情報を含む。ログ情報の構成は実施例の説明のために例示するものであり、前述したフィールドの全てを含まなくてもよく、例示されていないフィールドを含んでもよい。
 ビジネスプロセスインスタンス201は、その実行中に、処理の開始、終了、エラーの検知などのイベントの際にログを出力するように構成してもよいが、好ましくは、少なくとも終了時の1回は出力する。ビジネスプロセス実行環境111から出力されたログ情報は、ログ出力部112を経由してログ転送部113に渡され、管理サーバ120に転送される。管理サーバ120のログ収集部121は、転送されたログをインデックス格納部122に渡し、インデックス格納部122はログを検索が容易な形式でインデックス123に格納する。
 図7は、コリレータの構成例を示し、図5で示したビジネスプロセスインスタンスBP1-1、BP1-2、BP1-3及びBP2のコリレータの例を示す。
 図6に示したログ情報に含まれるコリレータフィールドは、ビジネスプロセスインスタンス201が処理対象レコードを特定できる情報を出力するために用意される。すなわち、処理対象キーのフィールドの情報に相当する情報であるが、処理対象キーのフィールドのようにレコードを特定できるキーを列挙すると、多数のレコードが処理対象である場合にフィールドが長大化する懸念がある。
 そこで本実施例では、処理対象レコードのキーのそれぞれについてハッシュ関数によってハッシュ値を計算し、計算したハッシュ値にビット単位の論理和(OR)演算をすることにより生成された固定長のデータをコリレータとする。
 図7に示すように、ビジネスプロセスインスタンスBP1-1については、キーalphaからechoまでの各々についてハッシュ値を求めOR演算を施したものをコリレータ301とする。同様に、ビジネスプロセスインスタンスBP1-2については、foxtrotからjulietまでの各々についてハッシュ値を求めOR演算を施したものをコリレータ302とする。また、ビジネスプロセスインスタンスBP1-3については、kiloからoscarまでの各々についてハッシュ値を求めOR演算を施したものをコリレータ303とする。さらに、ビジネスプロセスインスタンスBP2については、alphaからjulietまでの各々についてハッシュ値を求めOR演算を施したものをコリレータ304とする。各々ハッシュ値を求めOR演算を施したものをコリレータとする。
 ハッシュ関数はコリジョンの発生を極力回避できるよう、出力の一様性に優れるものを選択するとよい。例えば、FNV(Fowler-Noll-Vo)、MurmurHashなどのハッシュ関数が好適である。また、一つのキーに対して複数種類のハッシュ関数がそれぞれ出力したハッシュ値をOR演算するように構成してもよい。また、ハッシュ値のビット長は、キーのカーディナリティが周知であれば、それに合わせて調整してもよい。
 ログ情報にコリレータフィールドを含める場合は、処理対象キーフィールドの出力は省略してもよい。
 図8は、ビジネスプロセス実行環境111によるデータ処理及びログ出力処理の処理手順の一例を示す。
 まず、ビジネスプロセスインスタンス201は、入力テーブル204Aから処理対象レコード205Aを取得する(S802)。次に、ビジネスプロセスインスタンス201は、処理対象レコード205Aにデータ変換処理を実施し(S804)、その後、データ変換処理済みの処理対象レコード205Bを出力テーブル204Bに挿入し(S806)、処理対象レコードのキーを処理済キーリスト206に追加する(S808)。
 そして、入力テーブル204Aに未取得のレコードがあるかを判定する(S810)。その結果、入力テーブル204Aに未取得のレコードがあれば、ステップS802~S810の処理を繰り返す。一方、入力テーブル204Aに未取得のレコードがなければ、データ処理が終了しているので、ビット配列Cを用意し、ビット配列Cを0で初期化する(S812)。次に、処理済キーリスト206からキーを一つ取得し(S814)、取得したキーのハッシュ値hを計算する(S816)。そして、ビット配列Cとhとをビット単位で論理和(OR)演算を行い、演算結果でCを置換する(S818)。
 その後、処理済キーリスト206に未取得のキーがあるかを判定する(S820)。処理済キーリスト206に未取得のキーがあれば、ステップS814~S818の処理を繰り返す。一方、処理済キーリスト206に未取得のキーがなければ、処理済キーリスト206の全てのキーを用いてコリレータが生成されたので、ビット配列Cをコリレータとしてログに出力し(S822)、処理を終了する。
 コリレータを含むログ情報は、ビジネスプロセス実行サーバ110のログ出力部112から出力され、ログ転送部113と、管理サーバ120のログ収集部121及びインデックス格納部122との各処理を経て、インデックス123に格納される。
 インデックス123に格納されている大量のログ情報を、データ連携システムの運用管理に活用するためには、検索の処理が必要である。そこで、図9を用いて、管理サーバ120の検索部124及び相関判定部125の構成を例示する。
 管理サーバ120の検索部124及び相関判定部125は、クエリ受信部126が受信したクエリを用いて、インデックス123を検索してログ情報を取り出し、取り出したログ情報に相関情報を付与して検索結果送信部127から送信する。
 検索部124は、クエリ解析部501及びデータ取得部503を有する。クエリ解析部501は、受信したクエリを解析し、インデックス123に格納されたログ情報を一定の条件に従って取り出すためのフィルタ502を生成する。クエリが指定する条件とは、典型的には、タイムスタンプが一定の期間内であることや、処理対象テーブル名が特定の名称であることなどの条件であるが、これに限定されるものではない。データ取得部503は、フィルタ502に従って該当するログ情報をインデックス123から取り出し、取りだしたログ情報をフィルタ済みログ504として相関判定部125に転送する。
 相関判定部125は、フィルタ済みログ504をビジネスプロセス名に従って分類し、分類済ログ505を生成する。相関判定部125は、ビジネスプロセストポロジ情報506を有し、ビジネスプロセストポロジ情報506を用いて分類済ログ505の相関を判定する。相関が判定されたログ情報は、相関情報付きログ507として検索部124に戻される。検索結果送信部127は、相関情報付きログ507を管理クライアント130に送信する。
 図10は、ビジネスプロセストポロジ情報506の構成例を示す。
 前述したように、データ連携処理では複数のビジネスプロセスが連続して複数の処理をそれぞれ実行する。すなわち、複数のビジネスプロセス間の関係は、有向グラフの形でトポロジカルに表現することができる。図10に示すビジネスプロセストポロジ情報506は、ビジネスプロセスBP1(401)の処理の後にビジネスプロセスBP2(402)の処理が実行され、その後、ビジネスプロセスBP3(403)の処理が実行される、という関係にあることを表している。
 相関判定部125がビジネスプロセストポロジ情報506を保持する態様は図示したものに限定されず、例えば、有向グラフの各ノードをトポロジカルソートして、ビジネスプロセス名のリストとして保持してもよい。ビジネスプロセス間の処理の前後関係を表現できれば、いかなる態様であってもよい。
 図11は、検索部124及び相関判定部125による検索処理の処理手順の一例を示す。
 検索部124のクエリ解析部501は、入力されたクエリを解析し(S1102)、フィルタ502を生成する(S1104)。次に、データ取得部503は、生成されたフィルタに従ってログをインデックス123から取得する(S1106)。そして、相関判定部125は、フィルタ済みログ504の相関を判定し、相関情報を付与し、相関情報付きログ507生成する(S1108)。相関判定処理(S1108)の詳細な手順は図12を用いて後述する。相関判定部125は、相関情報付きログ507を検索部124に戻し、検索結果送信部127が相関情報付きログ507を出力する(S1110)。
 図12は、相関判定部125による相関判定処理(S1108)の処理手順の一例を示す。
 まず、相関判定部125は、検索部124からフィルタ済みログ504を取得し(S1202)、次いでフィルタ済みログ504を、ログ情報の各レコードが含むビジネスプロセス名に従って分類し(S1204)、ビジネスプロセストポロジ情報506から開始ノードのビジネスプロセス名を取得し、開始ノードのビジネスプロセス名をPとする(S1206)。図10に示す有向グラフによるビジネスプロセストポロジ情報506の例では、開始ノードはルートノードであるビジネスプロセスBP1(401)である。同様に、ビジネスプロセストポロジ情報506から、Pの子ノードのビジネスプロセス名を取得し、子ノードのビジネスプロセス名をCとする(S1208)。図10に示す例であれば、ビジネスプロセスBP2(402)が、Pの子ノードのビジネスプロセスである。
 その後、相関判定部125は、フィルタ済みログ504を参照して、Pのログ情報から一つのレコードP1を取得し、レコードP1のコリレータをCr1とする(S1210)。同様に、Cのログ情報から一つのレコードC1を取得し、レコードC1のコリレータをCr2とする(S1212)。これらの処理によって、相関を判定する対象である二つのレコードのコリレータがそれぞれCr1とCr2に設定される。相関判定処理は、該コリレータCr1及びCr2に対するビット単位の論理積(AND)演算である(S1214)。該AND演算の結果が0である場合、相関はないと判定する。一方、AND演算の結果が0でなかった場合、相関があると判定し、ログ情報のレコードP1のコリレーションフィールドにレコードC1のIDを登録する(S1216)。この処理によって、P1とC1の間の相関(コリレーション)がログ情報に記録される。
 以降、子ノードであるCのログ情報に未取得のレコードがあるかを判定する(S1218)。その結果、子ノードCのログ情報に未取得のレコードがあれば、ステップS1212に戻り、子ノードCの全てのレコードを取得するまで相関判定処理を繰り返す。一方、全てのレコードの処理が終了すると、現在の子ノードCを親ノードPに置き換える(S1220)。図10に示す例であれば、ビジネスプロセスBP2(402)をPとする。
 そして、Pにさらに子ノードがあるかを判定する(S1222)。Pに子ノードがあれば、ステップS1208に戻り、相関判定処理を繰り返す。一方、Pに子ノードがなければ、末端ノードに到達したので、本処理手順を終了する。その後、フィルタ済みログ504のレコードのうち、他のレコードと相関があると判定されたレコードのコリレーションフィールドには、相関があると判定されたレコードのIDが登録される。この状態となったログ情報が相関情報付きログ507である。相関判定部125は相関情報付きログ507を検索部124に転送し、検索結果送信部127は相関情報付きログ507を管理クライアント130に送信する。
 図13は、管理クライアント画面における情報表示の一例を示す。
 管理クライアント130の検索結果受信部132は、管理サーバ120から相関情報付きログ507を受信し、表示部133は該相関情報付きログ507を運用管理者に好適な形式で表示する。その一例である管理クライアント画面600は、表示対象データ一覧601、ビジネスプロセス一覧602及びデータ連携タイムライン表示603A、603Bを含む。
 表示対象データ一覧601は、相関情報付きログ507の各レコードに含まれる一つ又は複数のフィールドの値を列挙する。列挙する対象となるフィールドは、例えば処理対象テーブル名であるが、他のフィールドを列記してもよい。また、図13に示すように、フィールドに含まれない情報を補って表示したり、多数の情報を列挙できるよう木構造で表現してもよい。運用管理者が、データ連携処理の対象である業務データを一覧できるよう構成すれば、どのような形式で表示してもよい。
 表示対象データ一覧601の特定の値を運用管理者が選択すると、選択された値を含むログが相関情報付きログ507から抽出され、表示部133が、ビジネスプロセス一覧602及びデータ連携タイムライン表示603A、603Bを表示する。ビジネスプロセス一覧602は、ログ情報の各レコードに含まれるホスト名フィールド及びビジネスプロセス名フィールドを組み合わせて列挙する。すなわち、運用管理者は、データ連携処理の実行に関係したホスト及びビジネスプロセスを一覧することができる。データ連携タイムライン表示603A及び603Bはそれぞれ、相関判定部125によって相関があると判定されコリレーションフィールドに相互にIDが登録された一連のログを、連続するタイムラインチャートに表示する。タイムラインの各行は、ログ情報のビジネスプロセス名フィールドに従ってビジネスプロセス一覧602と垂直方向(縦軸)の位置を揃えて表示するとよい。同様に、タイムスタンプフィールドと所要時間フィールドを用いて、水平方向(横軸)の位置と幅を調整して表示する。そして、コリレーションフィールドのIDに基づいて、タイムラインの各行を連結して表示する。
 図13に示すように、相関判定の結果に従って、複数のデータ連携タイムライン603A、603Bを表示することができる。ここで横軸に注目すると、データ連携タイムライン603A及び603Bでオーバラップする個所があることに注目できる。このような表示は、ログに相関情報が付与されているために可能になるものである。
 図14は、管理クライアント画面における情報表示の他の一例を示す。
 図13と同様に、管理クライアント画面600は、表示対象データ一覧601、ビジネスプロセス一覧602及びデータ連携タイムライン603Cを含む。図14に示すデータ連携タイムライン603Cは、二つのタイムラインがその中途で接続されていることに注目できる。これは相関判定部125による相関判定の結果、ビジネスプロセスBP2の二つのインスタンスのそれぞれが出力したログが、ビジネスプロセスBP3の一つのインスタンスのログと相関があると判定されたことを示す。ログ情報の相関は1対1に限られるものではなく、このような多対1で表示されることがある。
 以上に説明したように、本発明の実施例では、ビジネスプロセス実行サーバ110が処理対象のデータを一意に識別する識別子からコリレータを生成し、管理サーバ120は、コリレータを比較して、ビジネスプロセス実行サーバ110が実行するデータ処理の相関を判定するので、複数のソフトウェアコンポーネントの各々が実行する処理の関連性を効率的に把握することができる。
 また、ビジネスプロセス実行サーバ110は、処理対象のデータを一意に識別する識別子のハッシュ値の論理和演算によってコリレータを生成するので、ログ情報の長大化を防ぐことができ、相関を判定するための計算量を削減することができ、さらにログ情報に含まれる機微情報によるセキュリティ上のリスクを低減することができる。
 また、管理サーバ120は、コリレータの論理積演算によって、データ処理の相関を判定するので、相関を判定するための計算量を削減することができる。
 また、管理サーバ120は、コリレータの論理積が0である場合、データ処理の相関がないと判定するので、相関を判定するための計算量を削減することができる。
 また、ビジネスプロセス実行サーバ110は、生成したコリレータを、データ処理のログに含めて出力し、管理サーバ120は、ビジネスプロセス実行サーバ110からログを収集するので、複数のビジネスプロセス実行サーバが設けられる分散環境においても、コリレータを容易に収集することができる。
 また、管理サーバ120は、判定されたデータ処理の相関を表示するためのデータを出力するので、管理クライアント130においてデータ処理の相関性を直感的に理解することができる。
 なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
 また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
 各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
 また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。

Claims (12)

  1.  計算機システムであって、
     データを処理する少なくとも一つの計算機と、
     前記各計算機の稼働状況を監視する管理装置とを備え、
     前記各計算機は、処理対象のデータを一意に識別する識別子からコリレータを生成し、
     前記管理装置は、前記コリレータを比較して、前記各計算機が実行するデータ処理の相関を判定することを特徴とする計算機システム。
  2.  請求項1に記載の計算機システムであって、
     前記各計算機は、処理対象のデータを一意に識別する識別子のハッシュ値の論理和演算によってコリレータを生成することを特徴とする計算機システム。
  3.  請求項2に記載の計算機システムであって、
     前記管理装置は、前記コリレータの論理積演算によって、前記データ処理の相関を判定することを特徴とする計算機システム。
  4.  請求項3に記載の計算機システムであって、
     前記管理装置は、前記コリレータの論理積が0である場合、前記データ処理の相関がないと判定することを特徴とする計算機システム。
  5.  請求項1から4のいずれか一つに記載の計算機システムであって、
     前記各計算機は、前記生成したコリレータを、前記データ処理のログに含めて出力し、
     前記管理装置は、前記各計算機から前記ログを収集することを特徴とする計算機システム。
  6.  請求項1から4のいずれか一つに記載の計算機システムであって、
     前記管理装置は、前記判定された前記データ処理の相関を表示するためのデータを出力することを特徴とする計算機システム。
  7.  少なくとも一つの計算機から構成される計算機システムの稼働状況を監視する監視方法であって、
     前記計算機システムは、データを処理する少なくとも一つの計算機と、前記各計算機の稼働状況を監視する管理装置とを有し、
     前記方法は、
     前記各計算機が、処理対象のデータを一意に識別する識別子からコリレータを生成するステップと、
     前記管理装置が、前記コリレータを比較して、前記各計算機が実行するデータ処理の相関を判定するステップとを含むことを特徴とする監視方法。
  8.  請求項7に記載の監視方法であって、
     前記コリレータを生成するステップでは、前記各計算機は、処理対象のデータを一意に識別する識別子のハッシュ値の論理和演算によってコリレータを生成することを特徴とする監視方法。
  9.  請求項8に記載の監視方法であって、
     前記相関を判定するステップでは、前記管理装置は、前記コリレータの論理積演算によって、前記データ処理の相関を判定することを特徴とする監視方法。
  10.  請求項9に記載の監視方法であって、
     前記相関を判定するステップでは、前記管理装置は、前記コリレータの論理積が0である場合、前記データ処理の相関がないと判定することを特徴とする監視方法。
  11.  請求項7から10のいずれか一つに記載の監視方法であって、
     前記コリレータを生成するステップでは、前記各計算機は、前記生成したコリレータを、前記データ処理のログに含めて出力し、
     前記相関を判定するステップでは、前記管理装置は、前記各計算機から前記ログを収集することを特徴とする監視方法。
  12.  請求項7から10のいずれか一つに記載の監視方法であって、
     前記管理装置が、前記判定された前記データ処理の相関を表示するためのデータを出力するステップを含むことを特徴とする監視方法。
PCT/JP2014/082525 2014-12-09 2014-12-09 計算機システム及び監視方法 WO2016092629A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/082525 WO2016092629A1 (ja) 2014-12-09 2014-12-09 計算機システム及び監視方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/082525 WO2016092629A1 (ja) 2014-12-09 2014-12-09 計算機システム及び監視方法

Publications (1)

Publication Number Publication Date
WO2016092629A1 true WO2016092629A1 (ja) 2016-06-16

Family

ID=56106882

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/082525 WO2016092629A1 (ja) 2014-12-09 2014-12-09 計算機システム及び監視方法

Country Status (1)

Country Link
WO (1) WO2016092629A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260039A (ja) * 2005-03-16 2006-09-28 Toshiba Corp 情報処理装置および情報処理プログラム
JP2008108154A (ja) * 2006-10-27 2008-05-08 Hitachi Ltd 稼働性能情報の管理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260039A (ja) * 2005-03-16 2006-09-28 Toshiba Corp 情報処理装置および情報処理プログラム
JP2008108154A (ja) * 2006-10-27 2008-05-08 Hitachi Ltd 稼働性能情報の管理システム

Similar Documents

Publication Publication Date Title
US11550829B2 (en) Systems and methods for load balancing in a system providing dynamic indexer discovery
US11451453B2 (en) Configuring the generation of ephemeral event streams by remote capture agents
US11748394B1 (en) Using indexers from multiple systems
US12003574B1 (en) Processing distributed jobs using multiple connections
US11086897B2 (en) Linking event streams across applications of a data intake and query system
US10366101B2 (en) Bidirectional linking of ephemeral event streams to creators of the ephemeral event streams
WO2021077054A1 (en) Mobile application for an information technology (it) and security operations application
US20150293954A1 (en) Grouping and managing event streams generated from captured network data
US20150295778A1 (en) Inline visualizations of metrics related to captured network data
US20160092570A1 (en) Sharing Configuration Information for Searches in Data Intake and Query Systems
CN113067883B (zh) 数据传输方法、装置、计算机设备及存储介质
US11657582B1 (en) Precise plane detection and placement of virtual objects in an augmented reality environment
JP2000215130A (ja) クラスタ性能監視ユ―ティリティ
US11762442B1 (en) Real-time machine learning at an edge of a distributed network
US11792157B1 (en) Detection of DNS beaconing through time-to-live and transmission analyses
US11695803B2 (en) Extension framework for an information technology and security operations application
US11494381B1 (en) Ingestion and processing of both cloud-based and non-cloud-based data by a data intake and query system
JP6501924B2 (ja) アラートを解除する方法及びサーバー
US11949547B2 (en) Enhanced simple network management protocol (SNMP) connector
WO2016092629A1 (ja) 計算機システム及び監視方法
US20220398128A1 (en) Distributed task assignment in a cluster computing system
JP6048555B1 (ja) 分類情報作成装置、分類情報作成方法、分類情報作成プログラム、検索装置、検索方法、及び、検索プログラム
US8244746B2 (en) Parallel linking system and parallel linking method
US11736452B1 (en) Secure update of dashboard properties
US11909750B1 (en) Data reduction and evaluation via link analysis

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: 14907693

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: 14907693

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP