WO2017094845A1 - ファイル情報収集システム、方法および記憶媒体 - Google Patents

ファイル情報収集システム、方法および記憶媒体 Download PDF

Info

Publication number
WO2017094845A1
WO2017094845A1 PCT/JP2016/085754 JP2016085754W WO2017094845A1 WO 2017094845 A1 WO2017094845 A1 WO 2017094845A1 JP 2016085754 W JP2016085754 W JP 2016085754W WO 2017094845 A1 WO2017094845 A1 WO 2017094845A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
server
information
list
record
Prior art date
Application number
PCT/JP2016/085754
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 US15/779,156 priority Critical patent/US10831581B2/en
Priority to JP2017554178A priority patent/JP6841228B2/ja
Publication of WO2017094845A1 publication Critical patent/WO2017094845A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Definitions

  • the present invention collects information on a file opened by a process from a server belonging to that system, and a log file related to the alert.
  • the present invention relates to a file information collection system, a file information collection method, and a file information collection program that generate a list of names.
  • Patent Document 1 describes a system for collecting an error log and analyzing information when a failure occurs.
  • the system described in Patent Literature 1 reads a collection target product definition and takes in a log file to be collected into the system.
  • a log file storage destination for each log collection target product is defined in advance. That is, the system described in Patent Document 1 collects log files whose storage destinations are determined in advance from the storage destinations.
  • log files are output to a directory according to software settings.
  • log file used for failure analysis is characterized by being referenced only when a failure occurs and not during normal times.
  • a log file that is referred to less frequently has a tendency to be difficult for the system operator to grasp each log file because it is difficult to grasp the directory in which the file is stored.
  • Patent Document 1 The system described in Patent Document 1 must define the storage location of the log file in advance. However, since it is difficult for the system operator to grasp all the log files, it is difficult to define the storage destination of each log file.
  • the present invention is a file that can determine an appropriate log file for failure analysis and generate a list of file names when an alert occurs in any server belonging to the operating system.
  • An object is to provide an information collection system, a file information collection method, and a file information collection program.
  • the file information collection system includes a process that is called by the specified process and a process that is a caller of the specified process when a certain process is specified.
  • the process ID of each process and the file name and file attribute of each file used by each process are obtained from the server on which the specified process is operating.
  • an information acquisition means a file whose file attribute is writable or readable / writable, and whose file name satisfies a predetermined condition, and selecting the file for the selected file Identification information of the output server, the file name, and the server that output the file
  • a list is created by specifying a new process by creating a list of records including the server attribute
  • the list creation means for adding the list to the end of the created list, and from the top of the list
  • the records are selected one by one in order, the update time information of the file corresponding to the selected record is obtained from the server that output the file, and the update time is before the reference time specified by the user.
  • order control means for changing the server attribute of the selected record to predetermined information and moving the record to the end of the list.
  • the file information collection method includes a process called by the specified process when a certain process is specified, and a process that is a caller of the specified process.
  • a server on which the identified process is operating is assigned the process ID of each process and the file name and file attribute of each file used by each process.
  • the server that has acquired the file attribute selects the file whose file attribute is writable or readable / writable, and the file name satisfies a predetermined condition, and outputs the file for the selected file Identification information, the file name, and the server attribute of the server that output the file.
  • the file information collection program includes a process that is called by the specified process and a process that is a caller of the specified process when a certain process is specified.
  • a server on which the identified process is operating is assigned the process ID of each process and the file name and file attribute of each file used by each process.
  • the server that has acquired the file attribute selects the file whose file attribute is writable or readable / writable, and the file name satisfies a predetermined condition, and outputs the file for the selected file Identification information, the file name, and server attributes of the server that output the file
  • a list is created by creating a list of records containing and identifying a new process, the list is added to the end of the created list and the records are selected one by one from the top of the list
  • the update time information of the file corresponding to the selected record is obtained from the server that output the file, and the update time is before the reference time specified by the user, the server of the selected record
  • the computer is realized with the function of changing the attribute to predetermined information and moving the record to the end of the list.
  • the file information collection program may be stored in a storage medium.
  • an appropriate log file for failure analysis can be determined and a list of file names can be generated.
  • FIG. 1 is a block diagram illustrating a configuration example of a file information collection system according to the first embodiment of this invention.
  • FIG. 1 illustrates not only the file information collection system but also servers 10a to 10n belonging to a system used for a predetermined purpose.
  • a process running on a server may call a process running on another server.
  • the calling party is referred to as “calling source”, and the calling party is referred to as “calling destination”.
  • the error spreads to the calling server as seen from that server.
  • the server outputs an alert with the occurrence of an error, but the server that outputs the alert is not necessarily the first server in which an error has occurred.
  • Each of the servers 10a to 10n includes an information collecting unit 11.
  • the information collection unit 11 collects information requested from the file information collection system 1 and transmits it to the file information collection system 1.
  • the servers 10a to 10n and the file information collection system 1 are connected via the network 20, for example.
  • the file information collection system 1 includes an information acquisition unit 2, a file identification unit 3, a call relation information storage unit 4, an order control unit 5, and a display unit 6.
  • the identification information of the server and the process of outputting the alert in the server Information including the process name (hereinafter referred to as starting point information).
  • the starting point means a server that outputs an alert.
  • a server name is used as server identification information.
  • the administrator also includes information on the alert output time in the starting point information.
  • the alert output time is referred to as a reference time.
  • a process specified by the starting point information or a newly specified process based on a call relationship with an already specified process is referred to as a specified process.
  • the first specific process is a process specified by the process name included in the starting point information.
  • starting point information including a server name, a process name, and a reference time is input to the information acquisition means 2.
  • the information acquisition unit 2 operates the process ID (Identification) of each process represented by a tree structure indicating the parent-child relationship of the process including the process (specific process) specified by the process name.
  • the process ID of each process is obtained from the server by making a request to the server.
  • the information collecting unit 11 of the server may transmit the process ID of each process requested from the information acquiring unit 2 to the information acquiring unit 2.
  • the information acquisition means 2 may acquire the process name of each process together with the process ID of each process.
  • generated process is called a child, and the process which produced
  • the manner in which the information acquisition unit 2 acquires the process ID of each process represented by a tree structure indicating the parent-child relationship of the process including the specific process is not particularly limited.
  • the information acquisition unit 2 specifies a process name and includes a process ID of a process having the process name, a process name, and a process ID of a process having a parent-child relationship with the process (parent or child process ID). Get process information. Then, the information acquisition unit 2 may specify the parent or child process ID and acquire the process information corresponding to the process ID until the parent-child relation tree structure is obtained.
  • the information acquisition unit 2 can acquire each of the processes by a single request.
  • the process ID of the process may be acquired.
  • FIG. 2 is a schematic diagram showing an example of a tree structure showing a parent-child relationship of processes.
  • Each node shown in FIG. 2 represents a process, and the number shown in each node is a process ID.
  • the process ID of the process (specific process) having the process name included in the starting point information is “53”
  • the tree structure showing the parent-child relationship of the process including the specific process is the tree structure illustrated in FIG.
  • the information acquisition unit 2 acquires process IDs “50”, “51”, “52”, and “53” of each process represented by a tree structure. A group of processes having such a parent-child relationship collectively execute processing.
  • the information acquisition unit 2 uses the file name and file attribute of each file opened by each process (each process represented by a tree structure) corresponding to each acquired process ID as the server on which the specific process is operating. To obtain the file name and file attribute of each file from the server.
  • the information collecting unit 11 of the server may transmit each file name and each file attribute requested from the information acquiring unit 2 to the information acquiring unit 2.
  • Each file name is described including the path from the root directory, for example, “/var/log/error.log”.
  • the file name acquired by the information acquisition unit 2 includes the file name of the log file and various file names other than the log file.
  • the file attribute is an attribute specified when the file is opened.
  • the contents of the file attribute are any one of write (WRITE), read (READ), and read / write (READ / WRITE).
  • the file specifying unit 3 determines the file name of the log file among the file names acquired by the information acquiring unit 2, and generates a list of the file names.
  • the file specifying means 3 includes a file that cannot be determined to be a log file but may be a log file (hereinafter referred to as a log file candidate) in the list. I will explain.
  • the file specifying means 3 selects a file name whose corresponding file attribute is writable or readable / writable among the file names obtained by the information obtaining means 2. This is because the file attribute of the log file to which information regarding the error is written is writable or readable / writable.
  • the file name from which the corresponding file attribute can be read does not correspond to the log file, so the file specifying unit 3 discards the file name without selecting such a file name.
  • There may be multiple identical file names in the set of file names selected by the file identification means 3. This is because different processes may open the same file, and the information acquisition unit 2 may acquire the same file name in duplicate.
  • the file identification means 3 eliminates duplication if there are multiple identical file names in the selected set of file names. That is, if there are a plurality of identical file names, the file specifying means 3 leaves only one of them and discards the rest.
  • the file specifying unit 3 determines that the file is the file name of the log file.
  • This predetermined condition is represented by a combination of an include condition and an exclude condition.
  • the include condition is a condition that the file name includes at least a character string “log” in a predetermined format.
  • the exclude condition is a condition that includes a character string that is not used in the log file.
  • FIG. 3 shows an example of include / exclude conditions. In the example shown in FIG. 3, the include condition and the exclude condition are represented by regular expressions. “Log [s]” shown in FIG. 3 represents a character string “log” or “logs”. In the example shown in FIG. 3, “[.
  • the file specifying unit 3 determines that the file name is the file name of the log file when the file name satisfies the condition that “include condition is satisfied and exclude condition is not satisfied”.
  • the file specifying unit 3 determines that the file name is a log file candidate file name.
  • the file identification unit 3 creates a record for each file name determined to be a log file or a log file candidate file name, and creates a list of the records.
  • Each record includes server name, file name, and server attribute information of the server that output the file.
  • server name a case where each record includes a file type will be described as an example.
  • server outputting a file means that the server generates or updates the file and holds it in the server.
  • the server attribute is the server on which the first specific process (that is, the process specified by the start point information) is operating (hereinafter referred to as the start point server) or the server on the callee side as viewed from the start point server. Or the caller server as seen from the origin server. Further, as will be described later, a record in the list may move to the end of the list. In this case, the server attribute of the record moved to the end of the list is rewritten to a predetermined content (a character string “reference” in the example of the present embodiment) that means that the record has moved to the end of the list.
  • a predetermined content a character string “reference” in the example of the present embodiment
  • the call related information storage means 4 is a storage device that stores call related information.
  • Call-related information is information indicating which process is calling which process of another server.
  • FIG. 4 is a schematic diagram illustrating an example of call-related information.
  • the call relation information illustrated in FIG. 4 indicates that the process “httpd” of the server 1 calls the process “java” of the server 2, and the process “java” of the server 2 calls the process “mysqld” of the server 3. Show.
  • server 1”, “server 2”, and “server 3” are server names.
  • server 1 whose server name is “server 1” is simply referred to as server 1.
  • An administrator creates call-related information in advance and stores it in the call-related information storage unit 4.
  • the number of processes having a calling relationship is not limited to three. For example, there may be further processes on the callee side of “mysqld”. Similarly, a process may exist on the caller side of “httpd”.
  • the information acquisition unit 2 newly determines a specific process when the file specification unit 3 generates a list according to the specific process. At this time, the information acquisition unit 2 determines the process called by the specific process as a new specific process. However, when there is no longer a process called by the specific process, the information acquisition unit 2 defines the process that is the caller of the first specific process (the process specified by the starting point information) as a new specific process. . Thereafter, the information acquisition unit 2 sequentially determines the process that is the caller of the specific process as a new specific process until there is no process that is the caller. The information acquisition unit 2 may determine the process that is called by a certain process or the process that is the calling source of a certain process by referring to the call-related information.
  • the file specifying unit 3 generates a list in the same manner as described above when a specific process is newly defined. Then, the file specifying unit 3 adds the newly generated list to the end of the already generated list.
  • the order control means 5 operates the order of the records in the list obtained at that time when there is no new specific process.
  • the order control means 5 selects records one by one in order from the top of the list.
  • the order control means 5 acquires information on the update time of the file corresponding to the selected record from the server that output the file.
  • the sequence control unit 5 requests the information collection unit 11 of the server for information on the update time of the file, and the information collection unit 11 transmits the requested update time information to the sequence control unit 5.
  • the order control means 5 determines whether or not the update time acquired from the server is a time before the reference time designated by the administrator (the reference time included in the starting point information).
  • the order control means 5 When the update time acquired from the server is a time before the reference time, the order control means 5 rewrites the server attribute of the selected record to “reference” and moves the record to the end of the list. “Reference” means that the record has moved to the end of the list. Moreover, the order control means 5 does not change the content and order of the record, when the update time acquired from the server is a time after the reference time. As a criterion for determining whether or not to move the record to the end of the list, the order control means 5 may use the file size.
  • the order control means 5 selects the records one by one in order until there are no unselected records, and performs the above processing.
  • the display means 6 displays the file names included in the list for each server.
  • the order control means 5 changes the display mode of the file name according to the server attribute.
  • the case where the order control unit 5 changes the display mode not only according to the server attribute but also according to the file type will be described as an example.
  • the information acquisition unit 2, the file identification unit 3, the sequence control unit 5, and the display unit 6 are realized by a CPU (Central Processing Unit) of a computer having a display device, for example.
  • the CPU reads a file information collection program from a program recording medium such as a computer program storage device (not shown), and in accordance with the program, information acquisition means 2, file identification means 3, sequence control means 5 and display means 6 As long as it operates.
  • a part for determining display contents is realized by the CPU.
  • the part of the display means 6 that actually performs display is realized by a display device. This also applies to other embodiments described later.
  • the information acquisition means 2, the file identification means 3, the order control means 5 and the display means 6 may be realized by separate hardware.
  • 5, 6 and 7 are flowcharts showing an example of processing progress of the first embodiment of the present invention.
  • the file information collection system 1 executes processing from step S1 when starting point information is input by an administrator.
  • an administrator stores the call relation information illustrated in FIG. 4 in the call relation information storage unit 4 in advance
  • the case where the process that outputs the alert is “java” illustrated in FIG. 4 will be described as an example.
  • the origin information input by the administrator includes the server name “Server 2”, the process name “java”, and the reference time “2015/8/24 13:00:00”. An example will be described.
  • FIG. 8 shows each process represented by a tree structure including the process shown in FIG. Note that, as illustrated in FIG. 8, the process ID may be referred to as PID.
  • PID means the process ID of the parent process.
  • Parent PID being “0” means that there is no parent process.
  • the file attribute that can be written may be represented by “W”
  • the file attribute that may be read may be represented by “R”
  • the file attribute that may be read / written may be represented by “W / R”.
  • the file specifying unit 3 uses the include condition and the exclude condition illustrated in FIG. 3 when determining the file name of the log file and the file name of the log file candidate will be described as an example.
  • the information acquisition unit 2 acquires the process ID of each process represented by a tree structure indicating the parent-child relationship of the process including the specific process from the server on which the specific process is operating (step S1).
  • step S1 executed immediately after the starting point information is input the process specified by the process name included in the starting point information becomes a specific process.
  • the server specified by the server name included in the starting point information is the server on which the specific process is operating.
  • the information acquisition unit 2 designates the process name “java”, and the process ID of the process having the process name, the process name, and the process ID of the process having a parent-child relationship with the process (the process ID of the parent or child) ) Including process information is acquired from the server 2. Then, the information acquisition unit 2 may specify the parent or child process ID and acquire the process information corresponding to the process ID from the server 2 until the parent-child relation tree structure is obtained. Thus, the information acquisition unit 2 may acquire a process name and the like in addition to the process ID.
  • the information acquisition unit 2 acquires the information 52 illustrated in FIG.
  • the information acquisition unit 2 acquires the file name and file attribute of each file opened by each process corresponding to each process ID acquired in step S1 from the server on which the specific process is operating (step S2). ).
  • the information acquisition unit 2 acquires the file name and file attribute of each file opened by the process whose process ID is 200 (see FIG. 8) from the server 2. Similarly, the information acquisition unit 2 also acquires, from the server 2, information on each file opened by the process whose process ID is 201 and information on each file opened by the process whose process ID is 201.
  • the information acquisition unit 2 acquires the information 55 illustrated in FIG.
  • Each of the information 54 to 56 includes a set of a process ID, a file name, and a file attribute.
  • the information 55 illustrated in FIG. 8 does not include file names and file attributes corresponding to the process IDs “201” and “202”. This means that the process corresponding to the process IDs “201” and “202” does not open the file.
  • the file specifying means 3 selects a file name whose file attribute is writable or readable / writable from the file names acquired in step S2. Furthermore, if there are a plurality of identical file names in the selected set of file names, the file specifying means 3 eliminates duplication (step S3).
  • the file specifying means 3 selects the first to fourth file names. In addition, since these four file names are not duplicated, the file specifying means 3 does not have to eliminate duplication.
  • the file specifying means 3 specifies the file name of the log file and the file name of the log file candidate from the file names based on the file names obtained as a result of step S3 (step S4).
  • Each of the first to fourth file names in the information 55 shown in FIG. 8 satisfies the condition that “include condition is satisfied and exclude condition is not satisfied”. Accordingly, the file specifying unit 3 determines that all of the four file names are the file names of the log files. Among these four file names, there are no log file candidate file names.
  • the file specifying unit 3 creates a record including a server name, a file name, a server attribute, and a file type for each file name of the log file and each file name of the log file name candidate. Is generated (step S5).
  • the file specifying unit 3 generates a list illustrated in FIG. Since the server 2 is a starting point server, the server attribute of each record shown in FIG. 9 is “starting point”. Further, according to the result of step S4, the “file type” is all “log file” here.
  • the file specifying means 3 adds the newly generated list to the end of the already generated list when step S5 has been executed previously. Here, there is no existing list since the process proceeds to step S5 first after the starting point information is input. Therefore, here, the file specifying means 3 may generate the list shown in FIG.
  • the file specifying means 3 moves the record to the end of the list when there is a record of a log file candidate in the list (the list after addition when a new list is added to the existing list).
  • the information acquisition unit 2 sets a flag (hereinafter simply referred to as a flag) indicating whether or not the current specific process is a process on the caller side rather than the first specific process (the process specified by the starting point information). It is determined whether or not the value of 1 is 1 (step S6).
  • the initial value of the flag is 0.
  • a flag value of 1 means that the current specific process is a calling process rather than the first specific process. If the flag value is 0, it means that the current specific process is not a calling process than the first specific process.
  • step S6 If the flag value is 1 (Yes in step S6), the process proceeds to step S12. If the flag value is 0 (No in step S6), the process proceeds to step S7. Here, since the value of the flag is the initial value “0”, the process proceeds to step S7.
  • step S7 the information acquisition unit 2 determines whether or not there is a process called a current specific process based on the call relation information (see FIG. 4) (step S7). If there is a process to be called by the current specific process (Yes in Step S7), the process proceeds to Step S8, and if not present (No in Step S7), the process proceeds to Step S9.
  • mysqld a process that is a call destination of the current specific process
  • step S8 the information acquisition unit 2 determines the process called by the current specific process as a new specific process (step S8). Further, the information acquisition unit 2 recognizes a server on which a new specific process is operating with reference to the call relation information (see FIG. 4). Here, the information acquisition means 2 defines “mysqld” called by “java” as a new specific process. Further, the information acquisition unit 2 recognizes that the server on which “mysqld” is operating is the server 3.
  • step S8 the process proceeds to step S1, and the operations after step S1 are repeated.
  • the information acquisition unit 2 acquires the information 53 illustrated in FIG. 8 from the server 3 in step S1. Furthermore, the information acquisition means 2 acquires the information 56 illustrated in FIG. 8 from the server 3 in step S2.
  • step S3 the file specifying unit 3 selects the first, third, and fourth file names from among the file names indicated as the information 56. Since these three file names are not duplicated, the file specifying means 3 does not have to eliminate duplication.
  • step S4 the file specifying unit 3 determines that “/ dev / null” does not correspond to either the log file or the log file candidate. Further, the file specifying means 3 determines that “/var/log/mysqld.log” is the file name of the log file and “/ var / lib / mysql / ib_logfile” is the file name of the log file candidate.
  • the file specifying means 3 creates a list including the record “/var/log/mysqld.log” and the record “/ var / lib / mysql / ib_logfile”.
  • the server attributes in these records are all “callees”.
  • the file type is a log file.
  • the file type is a log file candidate.
  • the file specifying unit 3 adds the newly created list to the end of the existing list. As a result, the list shown in FIG. 10 is obtained.
  • step S6 the information acquisition unit 2 determines whether or not the value of the flag is 1 (step S6).
  • step S7 the process proceeds to step S7.
  • the information acquisition unit 2 determines whether there is a process called by the current specific process (“mysqld”) based on the call relation information (step S7). In this example, since there is no process called “mysqld” (see FIG. 4), the process proceeds to step S9. If there is a process called “mysqld”, the processes after step S8 may be executed again.
  • step S9 the information acquisition unit 2 determines whether there is a process calling the first specific process (“java”) based on the call relation information (see FIG. 4) (step S9). If there is a process calling the first specific process (“java”) (Yes in step S9), the process proceeds to step S10. If there is no process (No in step S9), the process proceeds to step S14. For example, when “httpd” shown in FIG. 4 is described in the starting point information, the process proceeds from step S9 to step S14. Here, since there is a process “httpd” calling the first specific process (“java”), the process proceeds to step S10.
  • step S10 the information acquisition unit 2 determines the process calling the first specific process ("java") as a new specific process (step S10).
  • the information acquisition means 2 defines “httpd” calling “java” as a new specific process.
  • the information acquisition unit 2 recognizes that the server on which “httpd” is operating is the server 1.
  • the information acquisition unit 2 changes the value of the flag to 1 (step S11).
  • step S11 the process proceeds to step S1, and the operations after step S1 are repeated.
  • information 51 illustrated in FIG. 8 is acquired from the server 1 in step S1. Furthermore, the information acquisition means 2 acquires the information 54 illustrated in FIG. 8 from the server 1 in step S2.
  • step S3 the file specifying means 3 selects the first, second, fourth, fifth, seventh and eighth file names from among the file names indicated as the information 54.
  • the file specifying means 3 since the first, fourth and seventh file names (“/var/log/access.log”) are duplicated, the file specifying means 3 eliminates the duplicates. For example, the file specifying means 3 discards the fourth and seventh file names and leaves only the first. Similarly, since the second, fifth, and eighth file names (“/var/log/error.log”) are duplicated, the file specifying unit 3 discards the duplicates.
  • the two file names obtained as a result (“/var/log/access.log”/ and“ /var/log/error.log ”) are“ satisfying the include condition and not the exclude condition ”.
  • the condition is met. Therefore, the file specifying means 3 determines that both of these two file names are the file names of the log files (step S4).
  • the file specifying means 3 creates a list including the record “/var/log/access.log” and the record “/var/log/error.log”. All server attributes in these records are “caller”. The file types in these records are all “log files”.
  • the file specifying means 3 adds the list to the end of the existing list (see FIG. 10). Further, the file specifying unit 3 moves the log file candidate record to the end of the list. As a result, the list shown in FIG. 11 is obtained.
  • step S6 the information acquisition unit 2 determines whether or not the value of the flag is 1 (step S6).
  • step S12 the process proceeds to step S12.
  • step S12 the information acquisition unit 2 determines whether there is a process calling the current specific process (“httpd”) based on the call relation information (see FIG. 4) (step S12).
  • step S12 If there is a process calling the current specific process (Yes in step S12), the information acquisition unit 2 determines the process calling the current specific process as a new specific process (step S13). At this time, the information acquisition unit 2 also recognizes the server on which the process is operating. Thereafter, the process proceeds to step S1, and the operations after step S1 are repeated.
  • step S12 If there is no process calling the current process (No in step S12), the process proceeds to step S14. In this example, since there is no process calling “httpd”, the process proceeds to step S14.
  • step S14 the order control means 5 determines whether or not all the records in the generated list (see FIG. 11) have been selected (step S14).
  • step S15 the order control means 5 selects an unselected record closest to the head of the list. For example, when the process proceeds to step S15 for the first time, the order control means 5 selects the first record in the list.
  • the order control means 5 selects the first record in the list.
  • a case where the first record shown in FIG. 11 is selected will be described as an example.
  • the order control means 5 acquires the update time and size information of the file from the server that has output the file corresponding to the selected record (step S16).
  • the order control means 5 acquires the update date / time and size information of “/opt/tomcat/log/catalina.out” from the server 2.
  • the order control means 5 may add the acquired update date / time information to the record selected in step S15.
  • step S16 the order control means 5 determines whether or not the update time of the file corresponding to the selected record is a time before the reference time, and determines whether or not the size of the file is 0. Determination is made (step S17). In order to simplify the explanation, it is assumed that the size of each file shown in FIG.
  • step S17 If the update time is before the reference time or the file size is 0 (Yes in step S17), the process proceeds to step S18.
  • the order control unit 5 repeats the processes in and after step S14.
  • the update date of “/opt/tomcat/log/catalina.out” is “2015/8/24/14: 00: 00” (see FIG. 12), and the reference time indicated by the input origin information “2015/8 / It is time after 24 13:00:00 ”.
  • the file size of “/opt/tomcat/log/catalina.out” is not zero. Therefore, here, the order control means 5 moves from step S17 to step S14, and performs the processing after step S14.
  • step S17 Even when the second record (“/opt/tomcat/log/catalina.log”) is selected, the order control means 5 proceeds from step S17 to step S14.
  • the order control means 5 selects the third record (“/opt/tomcat/log/localhost.log”) shown in FIG. 11 in step S15.
  • the order control means 5 acquires “2015/8/24 00:00:00” (see FIG. 12) as the information on the update time of the file corresponding to this record (step S16).
  • sequence control means 5 determines that the update time of “/opt/tomcat/log/localhost.log” is before the reference time (Yes in step S17), and proceeds to step S18.
  • step S18 the order control means 5 rewrites the content of the server attribute of the selected record to “reference”, and moves the record to the end of the list (step S18). Therefore, the order control means 5 rewrites the server attribute of the third record shown in FIG. 11 to “reference” and moves to the end of the list.
  • step S18 the order control means 5 moves to step S14 and performs the processing after step S14.
  • the update time of the fourth record shown in FIG. 11 is “2015/8/24 01:00:00”, which is a time before the reference time. Accordingly, even when the fourth record shown in FIG. 11 is selected, the order control means 5 moves from step S17 to step S18, and rewrites the server attribute of the fourth record shown in FIG. Move the record to the end of the list. The list at this point is as shown in FIG. Thereafter, the order control means 5 performs the processing after step S14.
  • step S15 If the last record (“/ var / lib / mysql / ib_logfile”) shown in FIG. 11 is selected in step S15, the process returns from step S17 to step S14. As a result, the list is as shown in FIG.
  • step S14 After selecting the last record (“/ var / lib / mysql / ib_logfile” log) shown in FIG. 11 and proceeding to step S14, all the records in the list have been selected (Yes in step S14). In this case, the process proceeds to step S19.
  • step S17 has been described mainly focusing on the update time.
  • the process proceeds to step S18. That is, even when the file size is 0, the order control means 5 rewrites the server attribute of the selected record to “reference” and moves the record to the end of the list.
  • step S19 the display means 6 displays each file name included in the list for each server (step S19).
  • the display means 6 changes the display mode of the file name according to the server attribute.
  • the display unit 6 may change the display mode of the file name not only by the server attribute but also by the file type. In the present embodiment, the case where the display unit 6 changes the background of the display portion of the file name according to the server attribute and the file type will be described as an example.
  • FIG. 15 is an explanatory diagram showing an example of a screen displayed by the display means 6.
  • the file name displayed in this screen is a file name included in the list.
  • the display means 6 displays, for example, icons 61 to 63 indicating each server. Then, the display means 6 displays the file name of the file output by the server in the vicinity of the icon. For example, the display unit 6 displays the file name of the file output by the server 1 in the vicinity of the icon 61 of the server 1. The same applies to the icons 62 and 63.
  • the display means 6 sets the background of the file name of the record whose server attribute is a reference to a background different from the background of other file names.
  • the background of the file name of the record whose server attribute is “reference” is hatched.
  • the display unit 6 sets the background of the file name of the record whose file type is the log file candidate to be different from the background of the other file names.
  • the background of the file name (under the server 3) of the record whose file type is the log file candidate is gray.
  • the file names displayed on the screen illustrated in FIG. 15 are all log file names or log file candidate file names. Therefore, the administrator can grasp the file name of the log file or the log file candidate.
  • a file whose server attribute is “reference” is a file whose update time is before the reference time (alert output time) or whose file size is 0. Even if the file whose update time is earlier than the reference time is a log file, it is considered that the relevance with the error causing the alert output is low. Similarly, even if a file with a size of 0 is a log file, it is considered that the relevance to the error that caused the alert output is low. Therefore, these files are less important when analyzing the error that caused the alert output. With the screen illustrated in FIG. 15, the administrator can grasp the file name of such a less important file. Also, it can be said that the log file candidate is less important than the log file. With the screen illustrated in FIG. 15, the administrator can distinguish and grasp the log file and the log file candidate.
  • the information acquisition unit 2 determines a specific process based on the starting point information and the call relation information. Then, the information acquisition unit 2 acquires the file name and file attribute of each file opened by each process represented by a tree structure including the process (a tree structure indicating a parent-child relationship). Then, the information acquisition unit 2 selects a file name whose file attribute is writable or readable / writable, and identifies the file name of the log file and the file name of the log file candidate based on the file name. . Further, the information acquisition unit 2 generates a list of records including the file names of the log files and records including the file names of the log file candidates. In addition, the order control means 5 moves the record whose file update time is earlier than the reference time or the record of the file whose size is 0 in the generated list to the end of the list.
  • the file type is classified into a log file and a log file candidate. Therefore, the administrator can distinguish and grasp the log file and the log file candidate.
  • the display unit 6 displays the file name by changing the display mode according to the server attribute and the file type. Therefore, the administrator can easily distinguish files that are highly related to errors from those that are not. Similarly, the administrator can easily distinguish between log files and log file candidates.
  • Embodiment 2 The file information collection system according to the second embodiment not only generates a list but also acquires a file corresponding to a record in the list from a server. However, the file information collection system does not necessarily acquire all the files corresponding to each record in the list.
  • FIG. 16 is a block diagram illustrating a configuration example of a file information collection system according to the second embodiment of this invention.
  • the servers 10a to 10n are also illustrated.
  • the same elements as those of the file information collection system of the first embodiment are denoted by the same reference numerals as those in FIG.
  • Each of the servers 10a to 10n includes an information collection unit 11 and a file transmission unit 12.
  • the information collection unit 11 is the same as the information collection unit 11 in the first embodiment, and a description thereof is omitted.
  • the file transmission unit 12 transmits the file requested from the file information collection system 1 to the file information collection system 1.
  • the file information collection system 1 according to the second embodiment includes a file determination unit 7 in addition to the units included in the file information collection system 1 according to the first embodiment.
  • the order control means 5 executes the following processing in addition to the processing shown in the first embodiment.
  • step S14 determines that all the records in the list have been selected (Yes in step S14)
  • the order control unit 5 selects a record again from the list obtained at that time. .
  • the order control means 5 sequentially selects a set of consecutive unselected records having the same server name from the head of the list for each server name.
  • a case where a record whose server attribute is “starting point” or “calling destination” is a selection target will be described as an example. Records whose server attributes are “starting point” or “calling destination” are continuously arranged from the top of the list.
  • the sequence control means 5 obtains each file by requesting each file corresponding to each selected record from the server that has output each file.
  • the file transmission unit 12 may transmit the file requested from the sequence control unit 5 to the sequence control unit 5.
  • the file determination unit 7 determines whether or not each file acquired from the server by the order control unit 5 includes information indicating that an error has occurred (hereinafter referred to as error information).
  • error information information indicating that an error has occurred
  • the file determination unit 7 changes the “file type” of the record corresponding to the file not including the error information to “log file_NOERROR”. “Log file_NOERROR” indicates that the file does not include error information.
  • the order control means 5 is more on the callee side than the server that outputs each file corresponding to the record. Move the set of records corresponding to the file output from the server to the end of the list. Further, the order control means 5 changes the “file type” of the records belonging to the set to “log file_NOERROR”.
  • the information acquisition means 2, the file identification means 3, the order control means 5, the display means 6 and the file determination means 7 are realized by a CPU of a computer having a display device, for example.
  • the CPU reads a file information collection program from a program recording medium such as a program storage device (not shown) of the computer, and in accordance with the program, information acquisition means 2, file identification means 3, order control means 5, display means 6
  • the file determination unit 7 may be operated.
  • Each means may be realized by separate hardware.
  • FIG. 17 is a flowchart illustrating an example of processing progress of the second exemplary embodiment of the present invention.
  • the operations in steps S1 to S18 are the same as in the first embodiment, and a description thereof is omitted.
  • FIG. 17 illustrates the operation after determining that all the records in the list have been selected in step S14 (see FIG. 7) (Yes in step S14).
  • the order control means 5 selects a record again from the list obtained at that time.
  • the list illustrated in FIG. 18 is obtained when it is determined in step S14 that all the records in the list have been selected will be described as an example.
  • a server 4 illustrated in FIG. 18 is a server on the call destination side of the server 3. 18 illustrates a case where there is no record having the server attribute “reference”, but a record having the server attribute “reference” may be included in the list.
  • a set of records whose server attribute is “reference” is continuously arranged at the end of the list.
  • the order control means 5 determines whether or not all records having the server attribute “starting point” or “calling destination” are selected from the list (step S21). This means that the file corresponding to the record whose server attribute is “origin” or “call destination” is the acquisition target. In the example shown in FIG. 18, the files corresponding to the first to fifth records are to be acquired. However, as will be described later, the order control means 5 may not acquire from the server even if the file is an acquisition target file.
  • step S21 If there is a record in which the server attribute is “starting point” or “calling destination” and is not selected (No in step S21), the sequence control means 5 proceeds to step S22.
  • step S22 the order control means 5 selects a set of records corresponding to a file output from a common server and is a set of continuous records (step S22).
  • the order control means 5 may select continuous unselected records having the same server name. However, the order control means 5 selects a set of unselected records closest to the top of the list. Note that the number of records belonging to the set of records selected in step S22 may be one. For example, if there is only one record with a certain server name, the order control means 5 may select that one record in step S22.
  • the order control means 5 selects two consecutive records with the server name “server 2” from the top of the list (see FIG. 18).
  • the order control means 5 acquires each file corresponding to the record selected in step S22 from the server that output each file (step S23). In this example, the order control means 5 obtains each file by requesting each file corresponding to the first and second records shown in FIG.
  • the order control means 5 When requesting the file to the server in step S23, the order control means 5 also transmits information on the reference time to the server, and requests only the portion corresponding to the recording after the reference time in the file description. Also good.
  • the file transmission unit 12 that has received this request may transmit only the portion corresponding to the recording after the reference time to the order control unit 5 in the description content of the requested file.
  • Various items are recorded in the log file in chronological order, but it is considered that the recording of the time before the reference time has a low relevance to the error causing the alert output. Therefore, the order control unit 5 can suppress an increase in the capacity of the file held by the file information collection system 1 by acquiring only the portion corresponding to the recording after the reference time.
  • order control means 5 may obtain the entire requested file from the server in step S23.
  • the file determining means 7 determines whether or not error information is included for each file obtained in step S23 (step S24).
  • the file determination means 7 determines that the file contains error information if a predetermined error level is recorded in the file, and if the predetermined error level is not recorded in the file, the file is It may be determined that the error information is not included. Further, the file determination means 7 determines that the file includes error information if a predetermined word (for example, “error”, “fatal”, etc.) is included in the file, and the file includes the error information. If the predetermined word is not included in the file, it may be determined that the file does not include error information.
  • a predetermined word for example, “error”, “fatal”, etc.
  • step S24 the file determination unit 7 changes the “file type” of the record corresponding to the file determined not to include error information to log file_NOERROR.
  • the order control means 5 determines whether or not “file type” is log file_NOERROR in all records belonging to the set of records selected in step S22 (step S25).
  • the fact that “file type” is log file_NOERROR in all the records belonging to the selected set of records means that all the files acquired in step S22 do not include error information.
  • Step S25 When there is a record whose “file type” is not the log file_NOERROR among all the records belonging to the selected set of records (No in Step S25), the process proceeds to Step S21, and the operations after Step S21 are performed.
  • step S25 When the “file type” is log file_NOERROR in all the records belonging to the set of selected records (Yes in step S25), the process proceeds to step S26.
  • each file corresponding to the first and second records shown in FIG. 18 includes error information.
  • the file type of each of the first and second records is not changed, and the process proceeds from step S25 to step S21.
  • the order control means 5 selects two consecutive records (third and fourth records shown in FIG. 18) having the server name “server 3” (step S22).
  • the order control means 5 acquires two files from the server 3 by requesting the server 3 for files corresponding to the two records (step S23).
  • the file determination unit 7 determines that the two files do not include error information, and changes the “file type” of the two records selected in step S22 to log file_NOERROR (step S24). ).
  • the order control means 5 determines that “file type” is log file_NOERROR in all the records belonging to the set of records selected in step S22 (Yes in step S25), and proceeds to step S26. .
  • step S26 the order control means 5 is a set of records following the set of records selected in the latest step S22 (the third and fourth records shown in FIG. 18), and the server attribute is “call destination”. Move the set of records to the end of the list. Furthermore, the order control means 5 changes the “file type” of the records belonging to the set to log file_NOERROR (step S26).
  • FIG. 19 is a schematic diagram showing the state of the list at this point.
  • step S26 the process proceeds to step S27. This means that the process does not proceed to steps S21 and S22 but cancels the selection of the record set.
  • step S27 the display means 6 displays each file name included in the list for each server (step S27). At this time, the display means 6 changes the display mode of the file name according to the server attribute and the file type.
  • FIG. 20 is an explanatory diagram showing an example of a screen displayed by the display means 6.
  • the display means 6 displays, for example, icons 61 to 64 indicating each server. Then, the display means 6 displays the file name of the file output by the server in the vicinity of the icon. This is the same as step S19 in the first embodiment.
  • the display means 6 sets the background of the file name of the record whose file type is log file_NOERROR to a background different from the background of other file names (see FIGS. 19 and 20). Similarly, the display unit 6 sets the background of the file name of the record whose file type is the log file candidate to be different from the background of the other file names (see FIGS. 19 and 20).
  • FIG. 18 and FIG. 19 shows a case where there is no record whose server attribute is “reference”, but when there is a record whose server attribute is reference, the display means 6 Make the background of the file name of the record different from the background of other file names.
  • the display means 6 may change the display mode according to the file name of the file acquired from the server and the file name of the file not acquired from the server.
  • step S27 the process is terminated.
  • the file information collection system 1 ends the process without acquiring the file “/var/log/storage.log” output by the server 4.
  • the error spreads to the calling server as viewed from that server. Accordingly, when none of the files output by the server 3 includes error information, it is considered that the file output by the call destination server 4 as viewed from the server 3 does not include error information. Furthermore, even if a file that does not include error information is acquired, it is considered that it does not contribute much to failure analysis such as identification of an error occurrence location. Therefore, by not acquiring the file output by the server 4, it is possible to reduce the amount of files that are considered to contribute little to failure analysis.
  • step S25 the order control means 5 selects the fifth record shown in FIG. Thereafter, the process proceeds to steps S23, S24, and S25.
  • step S25 the order control means 5 determines that the “file type” of the fifth record shown in FIG. 18 is not log file_NOERROR (No in step S25). That is, assume that the file corresponding to the record contains error information. In this case, the process proceeds to step S21 again.
  • the order control means 5 determines that all records having the server attribute “starting point” or “calling destination” are selected from the list (Yes in step S21).
  • the display means 6 performs the display process of step S27. Since the display process in step S27 has already been described, the description thereof is omitted here. As described above, in the example illustrated in FIG. 17, there are a case where the process ends from step S ⁇ b> 26 to step S ⁇ b> 27 and a case where the process proceeds from step S ⁇ b> 21 to step S ⁇ b> 27.
  • files used for failure analysis can be collected from each server in the file information collection system 1.
  • the file information collection system 1 can acquire files output from the origin server and each server on the call destination side.
  • the file information collection system 1 does not acquire the file output by each server on the call destination side. Therefore, it is possible to reduce the amount of files that are considered to contribute little to failure analysis.
  • the file information collection system 1 may execute the processes of steps S23 and S24 for each record belonging to the set of records selected in step S22. For example, the file information collection system 1 executes the processes in steps S23 and S24 for one record belonging to the set of records selected in step S22, and then performs the processes in steps S23 and S24 for the next record. May be executed. Then, the file information collection system 1 may move to step S25 after finishing the processes of steps S23 and S24 for all the records belonging to the selected record set.
  • step S21 the order control unit 5 determines whether or not all records having the server attribute “starting point” or “calling destination” are selected from the list. explained.
  • step S21 the order control means 5 may determine whether or not all records having the server attribute “starting point”, “calling destination”, or “calling source” have been selected from the list. This means that a file corresponding to a record whose server attribute is any of “starting point”, “calling destination”, and “calling source” is an acquisition target. In this case, you may transfer to step S21 after step S26. However, the order control means 5 determines that the set of records moved to the end of the list in step S26 has been selected, and performs the determination in step S21.
  • step S22 If the order control unit 5 selects a set of files whose server attribute is “caller” in step S22, the order control unit 5 does not perform the determination process of step S25, and after step S24. The process proceeds to step S21.
  • the file information collection system 1 can also acquire the log file output from the caller server as viewed from the origin server.
  • the file information collection system 1 may collect each file corresponding to all the records included in the list.
  • Embodiment 3 The file information collection system according to the third embodiment generates call related information based on the communication record information of the server, and stores the call related information.
  • FIG. 21 is a block diagram illustrating a configuration example of a file information collection system according to the third embodiment of this invention.
  • the servers 10a to 10n are also illustrated.
  • the same elements as those of the file information collection system of the first embodiment are denoted by the same reference numerals as those in FIG.
  • Each of the servers 10a to 10n includes an information collecting unit 11 and a communication recording unit 13.
  • the information collection unit 11 is the same as the information collection unit 11 in the first embodiment, and a description thereof is omitted.
  • the communication recording means 13 generates and holds communication record information for communication with other servers.
  • the communication record information includes a combination of process ID, own port number, destination, and destination port number.
  • FIG. 22 is an explanatory diagram showing an example of the communication record information generated by the servers 1 to 3, respectively.
  • Process ID is an ID of a process operating on a server including the communication recording unit 13.
  • the process ID described in the communication record information generated by the communication recording unit 13 of the server 1 is a process ID of a process operating on the server 1.
  • the own port number is the port number of the server port provided with the communication recording means 13.
  • the own port number described in the communication record information generated by the communication recording unit 13 of the server 1 is the port number of the server 1.
  • the destination is the server name of the server that has communicated with the server having the communication recording means 13.
  • the destination described in the communication record information generated by the communication recording unit 13 of the server 1 is the server name of the server that has communicated with the server 1.
  • the destination port number is the port number of the server that has communicated with the server having the communication recording means 13. More specifically, the destination port number is a port number of a port used at the time of communication by a server that is a communication partner of the server including the communication recording unit 13.
  • this last line represents the following matters.
  • the process “101” of the server 1 communicates with the server 2, and at that time, the process “101” uses the port “33894” of the server 1 and the server 2 uses the port “8080” of the server 2.
  • the communication recording means 13 newly adds a set of process ID, own port number, destination, and destination port number to the communication record information when communication with another server newly occurs.
  • the communication recording unit 13 also includes a pair of the process ID and the port number of the listening port among the ports of the server provided with the communication recording unit 13 in the communication recording information.
  • the listening port is a port that is ready to accept communication from other servers.
  • the port number of the listening port is described in the communication record information as its own port number for which the contents of the corresponding destination and destination port number are not specified.
  • the communication record information 71 of the server 1 “80” is described as the own port number for which the contents of the corresponding destination and destination port number are not specified. Accordingly, the listening port in the server 1 is the port “80”.
  • the communication recording means 13 describes the port number of the listening port in the communication record information as its own port number for which the contents of the corresponding destination and destination port number are not specified.
  • the server uses the listening port when called by another server. For example, suppose that server A communicates with another server B on the listening port. In this case, the server B becomes the caller, calls the server A, and the servers A and B communicate. In this case, the server A is a call destination server when viewed from the server B.
  • a server when a server calls another server, it uses a port other than the listening port. For example, assume that server A communicates with server B on a port other than the listening port. In this case, server A becomes the caller, server B is called, and servers A and B communicate. In this case, server A is the caller server as seen from server B.
  • the communication recording means 13 transmits the held communication recording information to the file information collecting system 1 in response to a request from the file information collecting system 1.
  • the file information collection system 1 of the third embodiment replaces the call relationship information storage means 4 (see FIG. 1) included in the file information collection system 1 of the first embodiment, and generates call relationship information.
  • a case where the means 8 (see FIG. 21) is provided will be described as an example.
  • the file information collection system 1 according to the third embodiment replaces the call relationship information storage unit 4 (see FIG. 16) included in the file information collection system 1 according to the second embodiment with the call relationship information generation unit 8.
  • the structure provided may be sufficient. That is, the third embodiment may be applied to the second embodiment.
  • the call relationship information generation means 8 sequentially acquires communication record information from each server, specifies the call relationship between processes operating on each server based on the communication record information of each server, and sets the call relationship information. Generate.
  • the call relation information generating unit 8 stores the generated call relation information.
  • the call relation information storage unit 4 stores the call relation information prepared in advance by the administrator or the like.
  • the call relation information generation means 8 generates and stores call relation information.
  • the call relationship information generation unit 8 generates and stores call relationship information when starting point information is input, and then proceeds to step S1 (see FIG. 5).
  • the timing at which the call-related information generating unit 8 generates the call-related information is not limited to this example, and the call-related information generating unit 8 may generate the call-related information periodically, for example.
  • the information acquisition unit 2, the file identification unit 3, the order control unit 5, the display unit 6, and the call relation information generation unit 8 are realized by, for example, a CPU of a computer having a display device.
  • the CPU reads a file information collection program from a program recording medium such as a program storage device (not shown) of the computer, and in accordance with the program, information acquisition means 2, file identification means 3, order control means 5, display means 6
  • the call relation information generating unit 8 may be operated.
  • Each means may be realized by separate hardware.
  • FIG. 23 is a flowchart illustrating an example of processing for specifying a call relationship between processes on the call destination side as viewed from the origin server.
  • the call relation information generating unit 8 acquires the communication record information from the server (step S31).
  • the call relation information generating unit 8 acquires the communication record information from the server corresponding to the server name included in the starting point information.
  • steps S31 to S35 are loop processing, and there is a case where the process proceeds from step S35 to step S31. In this case, the call relation information generating unit 8 acquires the communication record information from the server specified in the latest step S34.
  • the call-related information generation unit 8 may acquire the communication record information by requesting the communication record information from the communication recording unit 13 provided in the server.
  • the communication recording unit 13 may transmit the held communication recording information to the call relationship information generating unit 8 in response to the request.
  • the call relation information generating unit 8 acquires the communication record information from the server 2.
  • the communication record information 72 illustrated in FIG. 22 is acquired.
  • the call relationship information generation means 8 specifies the process call relationship based on the communication record information acquired in the most recent step S31 and the communication record information acquired in the previous step S31 (step S31).
  • S32 “Previous Step S31” is Step S31 one time before the most recent Step S31.
  • step S32 when the process proceeds to step S32 for the first time, the most recent step S31 is the first step S31, and the call relation information generating means 8 has not acquired the communication record information before that.
  • the call relationship information generation unit 8 may move to step S33 without specifying the call relationship of the process in step S32.
  • the process proceeds to step S33.
  • the call relationship information generation means 8 refers to the communication record information acquired in the latest step S31, and selects the listening port among the ports of the server (the server that provided the communication record information in step S31). Identify. In the communication record information 72 (see FIG. 22), the own port number for which the contents of the corresponding destination and destination port number are not specified is “8080”. Therefore, the call relation information generation unit 8 specifies that the listening port is the port “8080” in the server 2.
  • the call-related information generating unit 8 refers to the communication record information acquired in the latest step S31, and identifies a communication partner server that communicated with a port other than the listening port (step S34).
  • “48940” is described as the port number of the port of the server 2 other than the listening port. Therefore, the call relation information generating unit 8 specifies the server 3 (see FIG. 22) corresponding to the own port number “48940”.
  • the call relation information generating unit 8 cannot identify the server in step S34.
  • each server belonging to the operating system calls a server that does not belong to the system (for example, a DNS (Domain Name System) server).
  • a server that does not belong to the system for example, a DNS (Domain Name System) server.
  • the call relationship information generation unit 8 determines that the server could not be specified. For example, the call relation information generation unit 8 stores in advance the server name of each server belonging to the system in operation, and compares the server name obtained from the communication history information with the server name obtained. What is necessary is just to determine whether the server which has has belongs to a system.
  • step S34 If the server can be identified in step S34 (Yes in step S35), the call relationship information generating unit 8 proceeds to step S31.
  • the call relation information generating means 8 acquires the communication record information from the server 3 specified in the latest step S34.
  • the call relation information generation unit 8 acquires the communication record information 73 illustrated in FIG. 22 from the server 3.
  • the call relationship information generating means 8 specifies the process call relationship based on the communication record information acquired in the most recent step S31 and the communication record information acquired in the previous step S31 (step S32).
  • the communication record information acquired in the most recent step S31 is the communication record information 73
  • the communication record information acquired in the previous step S31 is the communication record information 72
  • the communication record information acquired in the previous step S31 is referred to as first communication record information
  • the communication record information acquired in the latest step S31 is referred to as second communication record information.
  • the call relation information generating unit 8 specifies a port number other than the listening port based on the first communication record information (communication record information 72), and further, a process ID and a destination port number corresponding to the port number Is identified. In the description of step S32, a process having this process ID is referred to as a first process.
  • the call relationship information generation unit 8 identifies the server that provided the first communication record information as the server on which the first process operates.
  • the call relation information generating unit 8 specifies the port number “48940” other than the listening port based on the communication record information 72, and specifies the process ID “201” corresponding to the port number. .
  • the call relationship information generation unit 8 specifies “server 2” as the server on which the first process operates. Further, in this example, the call relation information generating unit 8 specifies the destination port number “3306” corresponding to “48940”.
  • the call relation information generating unit 8 specifies a process ID corresponding to the same port number as the destination port number specified from the first communication record information, based on the second communication record information (communication record information 73). .
  • a process having this process ID is referred to as a second process.
  • the call relationship information generation unit 8 identifies the server that provided the second communication record information as the server on which the second process operates.
  • the call relation information generating unit 8 refers to the communication record information 73 and sets the process ID “301” corresponding to the same port number as the destination port number “3306” specified from the first communication record information. It is specified (see FIG. 22).
  • the call relation information generation unit 8 specifies “server 3” as a server on which the second process operates.
  • the call relationship information generation unit 8 generates call relationship information indicating the relationship that the first process is calling the second process, the server on which the first process is operating, and the two processes.
  • FIG. 24 is a schematic diagram illustrating an example of the call relation information generated in step S32. Note that if the call relation information generated up to the previous step S32 exists, the call relation information generation means 8 adds the newly generated call relation information to the call relation information.
  • the call relationship information generation unit 8 refers to the communication record information acquired in the latest step S31, and is listening among the ports of the server (the server that provided the communication record information in step S31). Is specified (step S33).
  • the call relation information generating unit 8 specifies that the listening port is the port “3306” based on the communication record information 73.
  • the call-related information generating unit 8 refers to the communication record information acquired in the latest step S31, and identifies a communication partner server that communicated with a port other than the listening port (step S34).
  • a port number other than the port number “3306” of the listening port is not described as its own port number. Therefore, the call relation information generating unit 8 cannot identify the server in step S34.
  • step S35 the process for specifying the call relationship between the processes on the callee side as seen from the origin server is terminated. As a result, the call relation information schematically shown in FIG. 24 is obtained.
  • step S34 If the server can be identified in step S34, there is a process of another server that is called by the process of server 3. In this case (Yes in step S35), the call relationship information generation unit 8 may further perform the processing after step S31.
  • FIG. 25 is a flowchart illustrating an example of processing for specifying a calling relationship between processes on the calling side when viewed from the origin server.
  • the call relationship information generation unit 8 may perform the following process after the process illustrated in FIG. 23 is completed.
  • the call relation information generating unit 8 acquires communication record information from the server (step S41).
  • the calling relationship information generating unit 8 acquires the communication record information from the server corresponding to the server name included in the starting point information.
  • the call relation information generating unit 8 acquires the communication record information from the server corresponding to the server name included in the starting point information when first moving to step S31 (see FIG. 23). Therefore, when the process proceeds to step S41 for the first time, the call relation information generating unit 8 may regard the communication record information as the communication record information acquired in the first step S41.
  • the call relation information generating unit 8 regards the communication record information 72 as the communication record information acquired from the server 2 in the first step S41.
  • steps S41 to S45 are loop processing, and there is a case where the process proceeds from step S45 to step S41.
  • the call relation information generating unit 8 acquires the communication record information from the server specified in the latest step S44.
  • the call relation information generating unit 8 may acquire the communication record information by requesting the communication record information from the communication recording unit 13 provided in the server.
  • the communication recording unit 13 may transmit the held communication recording information to the call relationship information generating unit 8 in response to the request.
  • the call relationship information generating unit 8 specifies the process call relationship based on the communication record information acquired in the latest step S41 and the communication record information acquired in the previous step S41 (step S42). ). “Previous step S41” is step S41 one time before the latest step S41.
  • step S42 when the process proceeds to step S42 for the first time, the most recent step S41 is the first step S41, and the call relation information generating means 8 has not acquired the communication record information before that.
  • the call relationship information generation unit 8 may move to step S43 without specifying the process call relationship in step S42.
  • the call relation information generating unit 8 since the call relation information generating unit 8 has only acquired the communication record information 72 in the first step S41, the process proceeds to step S43.
  • step S43 the call relation information generation unit 8 refers to the communication information acquired in the latest step S41, and identifies the listening port among the ports of the server (the server that provided the communication record information in step S41). (Step S43). Step S43 is the same process as step S33 described above. Here, based on the communication record information 72, the call relation information generation unit 8 specifies that the listening port is the port “8080” in the server 2.
  • the call-related information generating unit 8 refers to the communication record information acquired in the latest step S41, and identifies the communication partner server that has communicated with the listening port (step S44).
  • the call relation information generating unit 8 specifies the server 1 corresponding to the port number “8080” of the listening port based on the communication record information 72 (see FIG. 22).
  • the call The relationship information generation means 8 cannot identify the server in step S44.
  • the call relation information generation unit 8 cannot identify the server. judge.
  • the call relation information generation unit 8 stores in advance the server name of each server belonging to the system in operation, and compares the server name obtained from the communication record information with the server name obtained. What is necessary is just to determine whether the server which has has belongs to a system.
  • step S44 If the server can be identified in step S44 (Yes in step S45), the call relationship information generating unit 8 proceeds to step S41.
  • the call relation information generating means 8 acquires the communication record information from the server 1 specified in the latest step S44.
  • the call relation information generation unit 8 acquires the communication record information 71 illustrated in FIG. 22 from the server 1.
  • the call relationship information generating means 8 specifies the process call relationship based on the communication record information acquired in the latest step S41 and the communication record information acquired in the previous step S41 (step S42).
  • the communication record information acquired in the latest step S41 is the communication record information 71
  • the communication record information acquired in the previous step S41 is the communication record information 72
  • the communication record information acquired in the previous step S41 is referred to as first communication record information
  • the communication record information acquired in the latest step S41 is referred to as second communication record information.
  • the call-related information generating unit 8 specifies the port number of the listening port based on the first communication record information (communication record information 72), and further specifies the process ID and the destination port number corresponding to the port number. Identify. In the description of step S42, a process having this process ID is referred to as a first process. In addition, the call relationship information generation unit 8 identifies the server that provided the first communication record information as the server on which the first process operates. In this example, the call relation information generating unit 8 specifies the port number “8080” of the listening port based on the communication record information 72 and specifies the process ID “201” corresponding to the port number. In addition, the call relationship information generation unit 8 specifies “server 2” as the server on which the first process operates. Further, in this example, the call relation information generating unit 8 specifies the destination port number “33894” corresponding to “8080”.
  • the call relation information generating unit 8 specifies a process ID corresponding to the same port number as the destination port number specified from the first communication record information, based on the second communication record information (communication record information 71). .
  • a process having this process ID is referred to as a second process.
  • the call relationship information generation unit 8 identifies the server that provided the second communication record information as the server on which the second process operates.
  • the call relation information generating means 8 refers to the communication record information 71 and sets the process ID “101” corresponding to the same port number as the destination port number “33894” specified from the first communication record information. It is specified (see FIG. 22).
  • the call relationship information generation unit 8 specifies “server 1” as the server on which the second process operates.
  • the call relationship information generating means 8 generates call relationship information indicating the relationship that the second process is calling the first process, the server on which the first process is operating, and the two processes.
  • FIG. 26 is a schematic diagram illustrating an example of the call relation information generated in step S42. If the call relation information generated up to the previous step S42 exists, the call relation information generation unit 8 adds the newly generated call relation information to the call relation information.
  • the call relationship information generation unit 8 refers to the communication record information acquired in the latest step S41, and is listening among the ports of the server (the server that provided the communication record information in step S41). Is specified (step S43). Here, based on the communication record information 71, the call relation information generating unit 8 specifies that the listening port is the port “80”.
  • the call-related information generating unit 8 refers to the communication record information acquired in the latest step S41, and identifies the communication partner server that has communicated with the listening port (step S44).
  • the communication record information 71 does not describe the destination and destination port information corresponding to the port number “80” of the listening port. Therefore, the call relation information generating unit 8 cannot identify the server in step S44.
  • step S45 the process of specifying the calling relationship between the calling side processes as viewed from the origin server is terminated. As a result, the call relation information schematically shown in FIG. 26 is obtained.
  • step S44 the server 1 process is called by another server process.
  • the call relationship information generation unit 8 may further perform the processing after step S41.
  • the call relation information generating unit 8 collects the call relation information obtained by the two processes. As a result, the call relation information schematically shown in FIG. 27 is obtained.
  • the call relation information generation means 8 stores the call relation information obtained as a result.
  • the file information collection system 1 may execute the processes after step S1.
  • the file information collection system 1 since the file information collection system 1 generates the call related information, the administrator does not need to determine the call related information in advance. Therefore, the burden on the administrator can be reduced.
  • FIG. 28 is a block diagram showing an outline of the file information collection system of the present invention.
  • the file information collection system of the present invention includes information acquisition means 81, list creation means 82, and order control means 83.
  • the information acquisition unit 81 (for example, the information acquisition unit 2) includes a process ID of each process represented by a tree structure indicating a parent-child relationship of the process including the specified process, and each process. Get the file name and file attributes of each open file from the server on which the identified process is running.
  • the list creating unit 82 selects a file whose file attribute is writable or readable / writable and whose file name satisfies a predetermined condition, and targets the selected file.
  • a list of records including the identification information of the server that has output the file, the file name, and the server attribute of the server that has output the file is created.
  • the information acquisition unit 81 newly specifies a process called by the specified process, and after the process called by the specified process no longer exists, the information acquisition unit 81 becomes a caller of the first specified process. A new process is specified, and a process that is a call source of the specified process is newly specified sequentially.
  • the list creation unit 82 adds the list to the end of the created list.
  • the order control means 83 selects records one by one from the top of the list one by one, and acquires information on the update time of the file corresponding to the selected record from the server that has output the file. If the update time is earlier than the reference time designated by the user, the order control unit 83 changes the server attribute of the selected record to a predetermined content and moves the record to the end of the list.
  • the server attribute is the server on which the first identified process is running, the called server as seen from the server on which the first identified process is running, or the first identified process is running. This is an attribute indicating the caller server as seen from the server that is running, or indicating the predetermined content.
  • Such a configuration makes it possible to determine an appropriate log file for failure analysis and generate a list of file names when an alert occurs in any server belonging to the operating system.
  • New process is identified, and in turn, the process that is the caller of the identified process is newly identified.
  • the list creation means creates a list by newly specifying a process
  • the list creation means adds the list to the end of the created list
  • a record is selected one by one from the top of the list in order
  • the update time information of the file corresponding to the selected record is acquired from the server that output the file
  • the update time is specified by the user If it is an earlier time, the server attribute of the selected record is changed to a predetermined content, and the order control means for moving the record to the end of the list
  • the server attribute may be a server on which the first identified process is operating, a callee server as viewed from the server on which the first identified process is operating, or whether the first identified process is A file information collection system, wherein the file information collection system is a caller server as viewed from an operating server or an attribute indicating the predetermined content.
  • the sequence control means acquires the update time information and size information of the selected file from the server that output the file, and the update time is a time before a reference time specified by the user, or If the size is 0, the server attribute of the file is changed to a predetermined content, and the record of the file is moved to the end of the list.
  • the order control means sequentially selects a set of consecutive unselected records having the same server identification information from the top of the list, and selects each file corresponding to the selected record set. Is obtained from the server that output For each file acquired from the server by the order control means, it is determined whether or not it includes information indicating that an error has occurred, the file type that does not include the information is determined as a specific type, When all the files acquired from one server do not contain the information, the order control means is a set of records following the set of records selected most recently, and the server attribute is a call destination server.
  • the file information collection system according to claim 1 or 2, wherein the set of records is moved to the end of the list, and the type of each file corresponding to the set of records is defined as the specific type.
  • Appendix 5 The file information collection system according to appendix 4, wherein the order control unit stops selecting a record set when all the files corresponding to the selected record set do not include information indicating that an error has occurred.
  • New process is identified, and the process that is the caller of the identified process is identified in turn,
  • a list is created by newly specifying a process in the list creation process, the list is added to the end of the created list.
  • a record is selected one by one from the top of the list in order, the update time information of the file corresponding to the selected record is acquired from the server that output the file, and the update time is specified by the user If it is an earlier time, change the server attribute of the selected record to a predetermined content, and execute the order control process to move the record to the end of the list,
  • the server attribute may be a server on which the first identified process is operating, a callee server as viewed from the server on which the first identified process is operating, or whether the first identified process is A file information collection program characterized by being a caller server as viewed from an operating server or an attribute indicating the predetermined content.
  • the present invention is preferably applied to a system that collects file information from a server and generates a list of log files.

Abstract

運用中のシステムに属するいずれかのサーバでアラートが生じた場合等において、障害解析のための適切なログファイルを判定し、そのファイル名のリストを生成することができるファイル情報収集システム等を提供する。情報取得手段81は、特定されたプロセスを包含したプロセスの親子関係を示すツリー構造によって表される各プロセスのプロセスID等をサーバから取得する。リスト作成手段82は、ファイル属性がライト可能またはリード/ライト可能であって、ファイル名が所定の条件を満たしているファイルを選択し、選択したファイルを対象に、ファイルを出力したサーバの識別情報やファイル名等を含むレコードのリストを作成する。情報取得手段81は、特定されたプロセスが呼び出しているプロセスや、特定されたプロセスの呼び出し元となっているプロセスを特定する。

Description

ファイル情報収集システム、方法および記憶媒体
 本発明は、運用中のシステムに属するいずれかのサーバでアラートが生じたときに、そのシステムに属するサーバから、プロセスが開いているファイルの情報を収集し、そのアラートに関係するログファイルのファイル名のリストを生成するファイル情報収集システム、ファイル情報収集方法およびファイル情報収集プログラムに関する。
 特許文献1には、障害発生時にエラーログを収集し、情報解析を行うシステムが記載されている。特許文献1に記載のシステムは、収集対象製品定義を読み込み、収集対象となるログファイルをシステム内に取り込む。収集対象製品定義には、予め、ログ収集対象製品毎のログファイル格納先が定義されている。すなわち、特許文献1に記載のシステムは、予め格納先が定められているログファイルをその格納先から収集する。
特開2003-216457号公報
 一般に、ログファイルは、ソフトウェアの設定に応じたディレクトリに出力される。
 近年、システムが巨大になり、システムに含まれる各サーバに搭載される各ソフトウェアの設定作業が分業化されるようになった。また、システムの規模が大きくなったことにより、ソフトウェアの種類も増加している。そのため、システムの運用者が、そのシステムのログファイルを全て把握することは困難になっている。
 さらに、障害解析に使用されるログファイルは、障害発生時にのみ参照され、平常時には参照されないという特徴がある。参照される頻度が少ないログファイルは、格納されているディレクトリ等を把握しにくいため、システムの運用者が、各ログファイルを把握することが困難であるという傾向が強くなる。
 運用中のシステムに属するいずれかのサーバでアラートが生じた場合に、障害解析を行うためには、適切なログファイルを収集する必要がある。しかし、上記のように、システムの運用者が、全てのログファイルを把握することは困難であるため、運用者が、アラートに応じて、障害解析のための適切なログファイルがどれであるかを判断することも困難である。
 特許文献1に記載のシステムは、ログファイルの格納先を予め定義しなければならない。しかし、システムの運用者が、全てのログファイルを把握することは困難であるため、各ログファイルの格納先を定義すること自体が困難である。
 そこで、本発明は、運用中のシステムに属するいずれかのサーバでアラートが生じた場合等において、障害解析のための適切なログファイルを判定し、そのファイル名のリストを生成することができるファイル情報収集システム、ファイル情報収集方法およびファイル情報収集プログラムを提供することを目的とする。
 本発明によるファイル情報収集システムは、あるプロセスが特定された場合に、前記特定されたプロセスが呼び出しているプロセスと、前記特定されたプロセスの呼び出し元となっているプロセスとを包含する、前記特定されたプロセスと親子関係にある複数のプロセスにおいて、各プロセスのプロセスIDと、前記各プロセスが使用する各ファイルのファイル名およびファイル属性とを、前記特定されたプロセスが動作しているサーバから取得する、情報取得手段と、前記ファイル属性がライト可能またはリード/ライト可能であって、前記ファイル名が所定の条件を満たしているファイルを選択し、当該選択されたファイルを対象に、当該ファイルを出力したサーバの識別情報と、当該ファイル名と、当該ファイルを出力したサーバのサーバ属性とを含むレコードのリストを作成し、新たなプロセスを特定することによってリストを作成した場合、当該リストを作成済みのリストの最後に追加する、リスト作成手段と、前記リストの先頭から前記レコードを1つずつ順番に選択し、当該選択したレコードに対応するファイルの更新時刻の情報を、当該ファイルを出力したサーバから取得し、当該更新時刻がユーザによって指定された基準時刻より前である場合、前記選択したレコードのサーバ属性を所定の情報に変更し、当該レコードを前記リストの最後に移動させる順序制御手段とを備えることを特徴とする。
 また、本発明によるファイル情報収集方法は、あるプロセスが特定された場合に、前記特定されたプロセスが呼び出しているプロセスと、前記特定されたプロセスの呼び出し元となっているプロセスとを包含する、前記特定されたプロセスと親子関係にある複数のプロセスにおいて、各プロセスのプロセスIDと、前記各プロセスが使用する各ファイルのファイル名およびファイル属性とを、前記特定されたプロセスが動作しているサーバから取得し、前記ファイル属性がライト可能またはリード/ライト可能であって、前記ファイル名が所定の条件を満たしているファイルを選択し、当該選択されたファイルを対象に、当該ファイルを出力したサーバの識別情報と、当該ファイル名と、当該ファイルを出力したサーバのサーバ属性とを含むレコードのリストを作成し、新たなプロセスを特定することによってリストを作成した場合、当該リストを作成済みのリストの最後に追加し、前記リストの先頭から前記レコードを1つずつ順番に選択し、当該選択したレコードに対応するファイルの更新時刻の情報を、当該ファイルを出力したサーバから取得し、当該更新時刻がユーザによって指定された基準時刻より前である場合、前記選択したレコードのサーバ属性を所定の情報に変更し、当該レコードを前記リストの最後に移動させることを特徴とする。
 また、本発明によるファイル情報収集プログラムは、あるプロセスが特定された場合に、前記特定されたプロセスが呼び出しているプロセスと、前記特定されたプロセスの呼び出し元となっているプロセスとを包含する、前記特定されたプロセスと親子関係にある複数のプロセスにおいて、各プロセスのプロセスIDと、前記各プロセスが使用する各ファイルのファイル名およびファイル属性とを、前記特定されたプロセスが動作しているサーバから取得し、前記ファイル属性がライト可能またはリード/ライト可能であって、前記ファイル名が所定の条件を満たしているファイルを選択し、当該選択されたファイルを対象に、当該ファイルを出力したサーバの識別情報と、当該ファイル名と、当該ファイルを出力したサーバのサーバ属性とを含むレコードのリストを作成し、新たなプロセスを特定することによってリストを作成した場合、当該リストを作成済みのリストの最後に追加し、前記リストの先頭から前記レコードを1つずつ順番に選択し、当該選択したレコードに対応するファイルの更新時刻の情報を、当該ファイルを出力したサーバから取得し、当該更新時刻がユーザによって指定された基準時刻より前である場合、前記選択したレコードのサーバ属性を所定の情報に変更し、当該レコードを前記リストの最後に移動させる機能をコンピュータに実現させる。尚、ファイル情報収集プログラムは記憶媒体に格納されていてもよい。
 本発明によれば、運用中のシステムに属するいずれかのサーバでアラートが生じた場合等において、障害解析のための適切なログファイルを判定し、そのファイル名のリストを生成することができる。
本発明の第1の実施形態のファイル情報収集システムの構成例を示すブロック図である。 プロセスの親子関係を示すツリー構造の例を示す模式図である。 include 条件およびexclude 条件の例を示す説明図である。 呼び出し関係情報の例を示す模式図である。 本発明の第1の実施形態の処理経過の例を示すフローチャートである。 本発明の第1の実施形態の処理経過の例を示すフローチャートである。 本発明の第1の実施形態の処理経過の例を示すフローチャートである。 各サーバで動作しているプロセスのプロセスID等、およびそれらのプロセスが開いているファイルのファイル名等の例を示す説明図である。 リストの例を示す説明図である。 リストの例を示す説明図である。 リストの例を示す説明図である。 ファイルの更新時刻の例を示す説明図である。 リストの例を示す説明図である。 リストの例を示す説明図である。 表示手段が表示する画面の例を示す説明図である。 本発明の第2の実施形態のファイル情報収集システムの構成例を示すブロック図である。 本発明の第2の実施形態の処理経過の例を示すフローチャートである。 リストの例を示す説明図である。 リストの例を示す説明図である。 表示手段が表示する画面の例を示す説明図である。 本発明の第3の実施形態のファイル情報収集システムの構成例を示すブロック図である。 各サーバがそれぞれ生成した通信記録情報の例を示す説明図である。 起点サーバから見て呼び出し先側のプロセス間の呼び出し関係を特定する処理の例を示すフローチャートである。 ステップS32で生成した呼び出し関係情報の例を示す模式図である。 起点サーバから見て呼び出し元側のプロセス間の呼び出し関係を特定する処理の例を示すフローチャートである。 ステップS42で生成した呼び出し関係情報の例を示す模式図である。 生成した呼び出し関係情報の例を示す模式図である。 本発明のファイル情報収集システムの概要を示すブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
 図1は、本発明の第1の実施形態のファイル情報収集システムの構成例を示すブロック図である。
 図1では、ファイル情報収集システムだけでなく、所定の目的のために用いられるシステムに属するサーバ10a~10nも図示している。サーバ上で動作するプロセスは、他のサーバ上で動作するプロセスを呼び出すことがある。この場合、異なるサーバ上で動作するプロセス間に呼び出し関係がある。以下、呼び出している方を「呼び出し元」と記し、呼び出されている方を「呼び出し先」と記す。いずれかのサーバでエラーが生じた場合、そのサーバから見て呼び出し元のサーバにエラーが波及していく。なお、エラーの発生に伴い、サーバはアラートを出力するが、アラートを出力するサーバは、1番最初にエラーが発生したサーバであるとは限らない。
 各サーバ10a~10nはそれぞれ、情報採取手段11を備える。情報採取手段11は、ファイル情報収集システム1から要求された情報を採取し、ファイル情報収集システム1に送信する。
 各サーバ10a~10nおよびファイル情報収集システム1は、例えば、ネットワーク20を介して接続されている。
 ファイル情報収集システム1は、情報取得手段2と、ファイル特定手段3と、呼び出し関係情報記憶手段4と、順序制御手段5と、表示手段6とを備える。
 ファイル情報収集システム1の管理者は、運用中のシステム(サーバ10a~10nを含むシステム)でいずれかのサーバがアラートを出力した場合、そのサーバの識別情報と、そのサーバにおいてアラートを出力したプロセスのプロセス名とを含む情報(以下、起点情報)を作成する。ここで、起点とは、アラートを出力したサーバを意味する。また、以下の説明では、サーバの識別情報として、サーバ名を用いるものとする。また、管理者は、アラートの出力時刻の情報も起点情報に含める。以下、アラートの出力時刻を基準時刻と記す。管理者は、起点情報を作成すると、その基点情報をファイル情報収集システム1に入力する。
 ここで、起点情報によって特定されるプロセス、または、既に特定されているプロセスとの呼び出し関係に基づいて新たに特定されるプロセスを特定プロセスと記す。最初の特定プロセスは、起点情報に含まれるプロセス名によって特定されるプロセスである。
 サーバ名とプロセス名と基準時刻とを含む起点情報が情報取得手段2に入力されたとする。すると、情報取得手段2は、そのプロセス名によって特定されるプロセス(特定プロセス)を包含したプロセスの親子関係を示すツリー構造で表される各プロセスのプロセスID(Identification)を、特定プロセスが動作しているサーバに要求することによって、その各プロセスのプロセスIDをそのサーバから取得する。そのサーバの情報採取手段11は、情報取得手段2から要求された各プロセスのプロセスIDを、情報取得手段2に送信すればよい。また、情報取得手段2は、各プロセスのプロセスIDとともに、その各プロセスのプロセス名を取得してもよい。なお、あるプロセスが別のプロセスを生成した場合、そのプロセス間には親子関係があるといい、生成されたプロセスを子と呼び、子を生成したプロセスを親と呼ぶ。
 特定プロセスを包含したプロセスの親子関係を示すツリー構造で表される各プロセスのプロセスIDを情報取得手段2が取得する態様は、特に限定されない。例えば、情報取得手段2は、プロセス名を指定して、そのプロセス名を有するプロセスのプロセスID、プロセス名、およびそのプロセスと親子関係にあるプロセスのプロセスID(親または子のプロセスID)を含むプロセス情報を取得する。そして、情報取得手段2は、親または子のプロセスIDを指定して、そのプロセスIDに対応するプロセス情報を取得することを、親子関係のツリー構造が得られるまで繰り返せばよい。
 また、一回の要求で、特定プロセスを包含したプロセスの親子関係を示すツリー構造で表される各プロセスのプロセスIDを取得できるのであれば、情報取得手段2は、一回の要求でその各プロセスのプロセスIDを取得してもよい。
 図2は、プロセスの親子関係を示すツリー構造の例を示す模式図である。図2に示す各ノードはプロセスを表し、各ノードに示す番号は、プロセスIDであるものとする。例えば、起点情報に含まれるプロセス名を有するプロセス(特定プロセス)のプロセスIDが“53”であり、その特定プロセスを包含したプロセスの親子関係を示すツリー構造が図2に例示するツリー構造となる場合、情報取得手段2は、ツリー構造で表される各プロセスのプロセスID“50”,“51”,“52”,“53”を取得する。このような親子関係を有するプロセス群がまとまって処理を実行している。
 また、情報取得手段2は、取得した各プロセスIDに対応する各プロセス(ツリー構造で表される各プロセス)が開いている各ファイルのファイル名およびファイル属性を、特定プロセスが動作しているサーバに要求することによって、その各ファイルのファイル名およびファイル属性をそのサーバから取得する。そのサーバの情報採取手段11は、情報取得手段2から要求された各ファイル名および各ファイル属性を、情報取得手段2に送信すればよい。
 なお、各ファイル名は、例えば、“/var/log/error.log”のように、ルートディレクトリからのパスも含めて記述される。
 情報取得手段2が取得したファイル名の中には、ログファイルのファイル名や、ログファイル以外の種々のファイルのファイル名が含まれる。
 また、ファイル属性とは、ファイルが開かれるときに指定される属性である。ファイル属性の内容は、ライト(WRITE)可能、リード(READ)可能、リード/ライト(READ/WRITE)可能のうちのいずれかである。
 ファイル特定手段3は、情報取得手段2が取得したファイル名のうち、ログファイルのファイル名を判定し、そのファイル名のリストを生成する。本実施形態では、ファイル特定手段3は、ログファイルであると判定することはできないがログファイルである可能性があるファイル(以下、ログファイル候補と記す。)もそのリストに含める場合を例にして説明する。
 ファイル特定手段3は、情報取得手段2が取得したファイル名のうち、対応するファイル属性がライト可能またはリード/ライト可能となっているファイル名を選択する。エラーに関する情報が書き込まれるログファイルのファイル属性は、ライト可能またはリード/ライト可能であるためである。
 対応するファイル属性がリード可能であるファイル名は、ログファイルに該当しないので、ファイル特定手段3は、そのようなファイル名は選択せずに、破棄する。
 ファイル特定手段3が選択したファイル名の集合の中に、同一のファイル名が複数ある場合がある。異なるプロセスが同一ファイルを開くことがあるので、情報取得手段2が同一ファイルのファイル名を重複して取得することがあるためである。
 ファイル特定手段3は、選択したファイル名の集合の中に同一のファイル名が複数あれば、重複を排除する。すなわち、ファイル特定手段3は、同一のファイル名が複数あれば、そのうち、1つだけを残し、残りを破棄する。
 さらに、ファイル特定手段3は、ファイル名が所定の条件を満たしている場合、そのファイルをログファイルのファイル名であると判定する。この所定の条件は、include 条件とexclude 条件の組み合わせで表される。include 条件は、ファイル名に少なくとも所定の形式で“log” の文字列が含まれているという条件である。exclude 条件は、ログファイルには用いられない文字列を含んでいるという条件である。図3は、include 条件およびexclude 条件の例を示す。図3に示す例では、include 条件およびexclude 条件を正規表現で示している。図3に示す“log[s]”は、“log” または“logs”という文字列を表している。図3に示す例において、“[.+]”は、“.”と一文字以上の任意の文字列を意味している。“.*”は、“.”と0文字以上の任意の文字列を意味している。“/dev/” という文字列を含んでいるファイル名はログファイルではないと言える。従って、図3に示す例では、exclude 条件の例として、“/dev/.*” を示している。
 ファイル特定手段3は、ファイル名が「include 条件を満たし、かつ、exclude 条件を満たしていない」という条件を満足している場合、そのファイル名が、ログファイルのファイル名であると判定する。
 また、ファイル特定手段3は、ファイル名が「include 条件とexclude 条件の双方を満たしていない」という条件を満たしている場合、そのファイル名が、ログファイル候補のファイル名であると判定する。
 なお、include 条件およびexclude 条件は、図3に示す例に限定されない。
 ファイル特定手段3は、ログファイルまたはログファイル候補のファイル名であると判定したファイル名毎にレコード作成し、そのレコードのリストを作成する。個々のレコードは、サーバ名、ファイル名、ファイルを出力したサーバのサーバ属性の情報を含む。本実施形態では、個々のレコードがファイルの種別も含む場合を例にして説明する。また、本実施形態では、「ファイルの種別」が「ログファイル」および「ログファイル候補」の2種類である場合を例にして説明する。なお、以下の説明において、サーバがファイルを出力するとは、サーバがファイルを生成または更新し、サーバ内に保持することである。
 サーバ属性は、最初の特定プロセス(すなわち、起点情報によって特定されるプロセス)が動作しているサーバ(以下、起点サーバと記す。)であるか、起点サーバから見て呼び出し先側のサーバであるか、あるいは、起点サーバから見て呼び出し元側のサーバであるかを示す。また、後述するように、リスト内のレコードが、リストの最後に移動する場合がある。この場合、リストの最後に移動したレコードのサーバ属性は、レコードがリストの最後に移動したことを意味する所定の内容(本実施形態の例では「参照」という文字列)に書き換えられる。
 呼び出し関係情報記憶手段4は、呼び出し関係情報を記憶する記憶装置である。呼び出し関係情報とは、どのプロセスが他のサーバのどのプロセスを呼び出しているかを示す情報である。図4は、呼び出し関係情報の例を示す模式図である。図4に例示する呼び出し関係情報は、サーバ1のプロセス“httpd”が、サーバ2のプロセス“java”を呼び出し、サーバ2のプロセス“java”が、サーバ3のプロセス“mysqld”を呼び出すという関係を示している。以下、「サーバ1」、「サーバ2」および「サーバ3」がサーバ名であるものとして説明する。そして、例えば、サーバ名が「サーバ1」であるサーバを、単にサーバ1と記す。予め管理者が呼び出し関係情報を作成し、呼び出し関係情報記憶手段4に記憶させておく。図4では、呼び出し関係を有するプロセスが3つである場合を例示しているが、呼び出し関係を有するプロセスの数は3つに限定されない。例えば、“mysqld”の呼び出し先側にさらにプロセスが存在していてもよい。同様に、“httpd”の呼び出し元側にさらにプロセスが存在していてもよい。
 情報取得手段2は、特定プロセスに応じてファイル特定手段3がリストを生成すると、新たに特定プロセスを定める。このとき、情報取得手段2は、特定プロセスが呼び出しているプロセスを新たな特定プロセスに定める。ただし、特定プロセスが呼び出しているプロセスが存在しなくなった場合、情報取得手段2は、最初の特定プロセス(起点情報によって特定されるプロセス)の呼び出し元になっているプロセスを新たな特定プロセスに定める。その後、情報取得手段2は、呼び出し元になっているプロセスが存在しなくなるまで、順次、特定プロセスの呼び出し元になっているプロセスを新たな特定プロセスに定める。情報取得手段2は、呼び出し関係情報を参照して、あるプロセスが呼び出しているプロセスや、あるプロセスの呼び出し元となっているプロセスを判定すればよい。
 ファイル特定手段3は、新たに特定プロセスが定められた場合、上記と同様にリストを生成する。そして、ファイル特定手段3は、新たに生成したリストを、既に生成したリストの最後に追加する。
 順序制御手段5は、新たな特定プロセスが存在しなくなったときに、その時点で得られているリスト内のレコードの順序を操作する。順序制御手段5は、リストの先頭からレコードを順番に1つずつ選択する。順序制御手段5は、選択したレコードに対応するファイルの更新時刻の情報を、そのファイルを出力したサーバから取得する。このとき、順序制御手段5は、そのサーバの情報採取手段11に、ファイルの更新時刻の情報を要求し、情報採取手段11は、要求された更新時刻の情報を順序制御手段5に送信すればよい。順序制御手段5は、サーバから取得した更新時刻が、管理者によって指定された基準時刻(起点情報に含まれている基準時刻)よりも前の時刻であるか否かを判定する。順序制御手段5は、サーバから取得した更新時刻が基準時刻より前の時刻である場合、選択したレコードのサーバ属性を「参照」に書き換え、そのレコードをリストの最後に移動する。「参照」とは、レコードがリストの最後に移動したことを意味する。また、順序制御手段5は、サーバから取得した更新時刻が基準時刻以降の時刻である場合、そのレコードの内容および順序を変更しない。レコードをリストの最後に移動するか否かの判断基準として、順序制御手段5は、ファイルサイズを用いてもよい。
 順序制御手段5は、未選択のレコードがなくなるまで、レコードを順番に1つずつ選択し、上記の処理を行う。
 順序制御手段5の処理の後、表示手段6は、リストに含まれているファイル名を、サーバ別に表示する。このとき、順序制御手段5は、サーバ属性に応じて、ファイル名の表示態様を変える。本実施形態では、順序制御手段5が、サーバ属性だけでなく、ファイルの種別によっても、表示態様を変える場合を例にして説明する。
 情報取得手段2、ファイル特定手段3、順序制御手段5および表示手段6は、例えば、ディスプレイ装置を有するコンピュータのCPU(Central Processing Unit)によって実現される。この場合、CPUは、コンピュータのプログラム記憶装置(図示略)等のプログラム記録媒体からファイル情報収集プログラムを読み込み、そのプログラムに従って、情報取得手段2、ファイル特定手段3、順序制御手段5および表示手段6として動作すればよい。表示手段6のうち、表示内容を決定する部分が、CPUによって実現される。表示手段6のうち、実際に表示を行う部分は、ディスプレイ装置によって実現される。この点は、後述の他の実施形態においても同様である。
 また、情報取得手段2、ファイル特定手段3、順序制御手段5および表示手段6がそれぞれ別々のハードウェアによって実現されていてもよい。
 次に、第1の実施形態の処理経過について説明する。図5、図6および図7は、本発明の第1の実施形態の処理経過の例を示すフローチャートである。
 本発明のファイル情報収集システム1は、管理者によって起点情報が入力されると、ステップS1から処理を実行する。以下に示す例では、管理者が、図4に例示する呼び出し関係情報を予め呼び出し関係情報記憶手段4に記憶させている場合を例にして説明する。また、以下の説明では、アラートを出力したプロセスが、図4に例示する“java”である場合を例にして説明する。また、管理者によって入力された起点情報には、サーバ名“サーバ2”と、プロセス名“java”と、基準時刻“2015/8/24 13:00:00”とが含まれている場合を例にして説明する。
 また、以下の説明では、図4に示す各サーバ1~3で動作しているプロセスのプロセスID等、およびそれらのプロセスが開いているファイルのファイル名およびファイル属性が、図8に例示するように表される場合を例にして説明する。ただし、図8では、図4に示すプロセスを包含するツリー構造で表される各プロセスを示している。なお、図8に例示するように、プロセスIDをPIDと記す場合がある。また、「親PID」は、親プロセスのプロセスIDを意味する。「親PID」が“0”であるということは、親プロセスが存在しないことを意味する。また、以下の説明では、ライト可能というファイル属性を“W”で表し、リード可能というファイル属性を“R”と表し、リード/ライト可能というファイル属性を“W/R”と表す場合がある。
 また、以下の説明では、ログファイルのファイル名およびログファイル候補のファイル名を判定する際、ファイル特定手段3が、図3に例示するinclude 条件およびexclude 条件を用いる場合を例にして説明する。
 情報取得手段2は、特定プロセスを包含したプロセスの親子関係を示すツリー構造で表される各プロセスのプロセスIDを、特定プロセスが動作しているサーバから取得する(ステップS1)。
 起点情報が入力された直後に実行されるステップS1では、起点情報に含まれるプロセス名によって特定されるプロセスが、特定プロセスになる。また、起点情報が入力された直後に実行されるステップS1では、起点情報に含まれるサーバ名によって特定されるサーバが、特定プロセスが動作しているサーバである。
 情報取得手段2は、例えば、プロセス名“java”を指定して、そのプロセス名を有するプロセスのプロセスID、プロセス名、およびそのプロセスと親子関係にあるプロセスのプロセスID(親または子のプロセスID)を含むプロセス情報を、サーバ2から取得する。そして、情報取得手段2は、親または子のプロセスIDを指定して、そのプロセスIDに対応するプロセス情報をサーバ2から取得することを、親子関係のツリー構造が得られるまで繰り返せばよい。このように、情報取得手段2は、プロセスIDの他に、プロセス名等も取得してよい。
 本例では、情報取得手段2は、図8に例示する情報52を、サーバ2から取得する。
 続いて、情報取得手段2は、ステップS1で取得した各プロセスIDに対応する各プロセスが開いている各ファイルのファイル名およびファイル属性を、特定プロセスが動作しているサーバから取得する(ステップS2)。
 ここでは、情報取得手段2は、プロセスIDが200(図8参照)であるプロセスが開いている各ファイルのファイル名およびファイル属性を、サーバ2から取得する。同様に、情報取得手段2は、プロセスIDが201であるプロセスが開いている各ファイルの情報、および、プロセスIDが201であるプロセスが開いている各ファイルの情報もサーバ2から取得する。
 本例では、情報取得手段2は、図8に例示する情報55をサーバ2から取得する。情報54~56はいずれも、プロセスIDとファイル名とファイル属性との組を含んでいる。なお、図8に例示する情報55では、プロセスID“201”,“202”に対応するファイル名およびファイル属性が含まれていない。このことは、プロセスID“201”,“202”に対応するプロセスはファイルを開いていないことを意味する。
 次に、ファイル特定手段3は、ステップS2で取得されたファイル名のうち、ファイル属性がライト可能またはリード/ライト可能となっているファイル名を選択する。さらに、ファイル特定手段3は、選択したファイル名の集合の中に同一のファイル名が複数あれば、重複を排除する(ステップS3)。
 本例では、情報55として図8に示す各ファイル名のうち、ファイル特定手段3は、1番目から4番目までの各ファイル名までを選択する。また、これらの4つのファイル名は重複していないので、ファイル特定手段3は、重複排除は行わなくてよい。
 次に、ファイル特定手段3は、ステップS3の結果得た各ファイル名に基づいて、その各ファイル名の中から、ログファイルのファイル名およびログファイル候補のファイル名を特定する(ステップS4)。
 図8に示す情報55における1番目から4番目までの各ファイル名は、いずれも、「include 条件を満たし、かつ、exclude 条件を満たしていない」という条件を満足している。従って、ファイル特定手段3は、その4つのファイル名がいずれもログファイルのファイル名であると判定する。この4つのファイル名の中には、ログファイル候補のファイル名は存在していない。
 次に、ファイル特定手段3は、ログファイルのファイル名毎、および、ログファイル名候補のファイル名毎に、サーバ名、ファイル名、サーバ属性、ファイルの種別を含むレコードを作成し、レコードのリストを生成する(ステップS5)。
 本例では、ファイル特定手段3は、図9に例示するリストを生成する。サーバ2は、起点サーバであるので、図9に示す各レコードのサーバ属性は、「起点」である。また、ステップS4の結果により、ここでは、「ファイルの種別」は、全て「ログファイル」である。
 ファイル特定手段3は、以前にステップS5を実行している場合、既に生成済みのリストの最後に、新たに生成したリストを追加する。ここでは、起点情報入力後、最初にステップS5に移行した状態であるので、既存のリストはない。従って、ここでは、ファイル特定手段3は、図9に示すリストを生成すればよい。
 なお、ファイル特定手段3は、リスト(既存のリストに新たなリストを追加した場合には、追加後のリスト)内にログファイル候補のレコードがある場合、そのレコードをリストの最後に移動する。
 ステップS5の後、情報取得手段2は、現在の特定プロセスが最初の特定プロセス(起点情報によって特定されるプロセス)よりも呼び出し元側のプロセスであるか否かを示すフラグ(以下、単にフラグと記す。)の値が1であるか否かを判定する(ステップS6)。フラグの初期値は0である。フラグの値が1であるということは、現在の特定プロセスが最初の特定プロセスよりも呼び出し元側のプロセスであることを意味する。フラグの値が0であるということは、現在の特定プロセスが最初の特定プロセスよりも呼び出し元側のプロセスでないことを意味する。
 フラグの値が1であれば(ステップS6のYes)、ステップS12に移行し、フラグの値が0であれば(ステップS6のNo)、ステップS7に移行する。ここでは、フラグの値は初期値“0”であるので、ステップS7に移行する。
 ステップS7において、情報取得手段2は、現在の特定プロセスの呼び出し先のプロセスが存在するか否かを、呼び出し関係情報(図4参照)に基づいて判定する(ステップS7)。現在の特定プロセスの呼び出し先のプロセスが存在する場合(ステップS7のYes)、ステップS8に移行し、存在しない場合(ステップS7のNo)、ステップS9に移行する。ここでは、現在の特定プロセスの呼び出し先のプロセス(“mysqld”)が存在するので、ステップS8に移行する。
 ステップS8において、情報取得手段2は、現在の特定プロセスが呼び出しているプロセスを新たな特定プロセスとして定める(ステップS8)。また、情報取得手段2は、呼び出し関係情報(図4参照)を参照して、新たな特定プロセスが動作しているサーバを認識する。ここでは、情報取得手段2は、“java”が呼び出している“mysqld”を新たな特定プロセスとして定める。また、情報取得手段2は、“mysqld”が動作しているサーバが、サーバ3であることを認識する。
 ステップS8の後、ステップS1に移行し、ステップS1以降の動作を繰り返す。
 “mysqld”が特定プロセスとなった場合、情報取得手段2は、ステップS1で、図8に例示する情報53をサーバ3から取得する。さらに、情報取得手段2は、ステップS2で、図8に例示する情報56をサーバ3から取得する。
 ステップS3において、ファイル特定手段3は、情報56として示す各ファイル名のうち、1番目、3番目および4番目のファイル名を選択する。これらの3つのファイル名は重複していないので、ファイル特定手段3は、重複排除は行わなくてよい。
 ステップS3の結果得た各ファイル名のうち、“/dev/null” は、「include 条件を満たし、かつ、exclude 条件を満たしていない」という条件も、「include 条件とexclude 条件の双方を満たしていない」という条件も満たしていない。
 また、“/var/log/mysqld.log” は、「include 条件を満たし、かつ、exclude 条件を満たしていない」という条件を満たしている。
 また、“/var/lib/mysql/ib_logfile”は、「include 条件とexclude 条件の双方を満たしていない」という条件を満たしている。
 従って、ステップS4において、ファイル特定手段3は、“/dev/null”は、ログファイルおよびログファイル候補のいずれにも該当しないと判定する。また、ファイル特定手段3は、“/var/log/mysqld.log” がログファイルのファイル名であり、“/var/lib/mysql/ib_logfile”がログファイル候補のファイル名であると判定する。
 次のステップS5において、ファイル特定手段3は、“/var/log/mysqld.log” のレコードおよび“/var/lib/mysql/ib_logfile”のレコードを含むリストを作成する。これらのレコードにおけるサーバ属性は全て「呼び出し先」である。また、“/var/log/mysqld.log” のレコードにおいて、ファイルの種別はログファイルである。“/var/lib/mysql/ib_logfile”のレコードにおいて、ファイルの種別はログファイル候補である。
 ここでは、既存のリスト(前回のステップS5で作成したリスト、図9参照)が存在する。従って、ファイル特定手段3は、新たに作成したリストを既存のリストの最後に追加する。この結果、図10に示すリストが得られる。
 次に、情報取得手段2は、フラグの値が1であるか否かを判定する(ステップS6)。ここでは、フラグの値は0であるので、ステップS7に移行する。
 情報取得手段2は、現在の特定プロセス(“mysqld”)の呼び出し先のプロセスが存在するか否かを、呼び出し関係情報に基づいて判定する(ステップS7)。本例では、“mysqld”の呼び出し先のプロセスが存在しないので(図4参照)、ステップS9に移行する。“mysqld”の呼び出し先のプロセスが存在する場合には、再度、ステップS8以降の処理を実行すればよい。
 ステップS9において、情報取得手段2は、最初の特定プロセス(“java”)を呼び出しているプロセスが存在するか否かを、呼び出し関係情報(図4参照)に基づいて判定する(ステップS9)。最初の特定プロセス(“java”)を呼び出しているプロセスが存在する場合(ステップS9のYes)、ステップS10に移行し、存在しない場合(ステップS9のNo)、ステップS14に移行する。例えば、図4に示す“httpd”が起点情報に記載されている場合、ステップS9からステップS14に移行する。ここでは、最初の特定プロセス(“java”)を呼び出しているプロセス“httpd”が存在するので、ステップS10に移行する。
 ステップS10において、情報取得手段2は、最初の特定プロセス(“java”)を呼び出しているプロセスを新たな特定プロセスとして定める(ステップS10)。ここでは、情報取得手段2は、“java”を呼び出している“httpd”を新たな特定プロセスとして定める。また、情報取得手段2は、“httpd”が動作しているサーバが、サーバ1であることを認識する。
 次に、情報取得手段2は、フラグの値を1に変更する(ステップS11)。
 ステップS11の後、ステップS1に移行し、ステップS1以降の動作を繰り返す。
 “httpd”が特定プロセスとなった場合、ステップS1で、図8に例示する情報51をサーバ1から取得する。さらに、情報取得手段2は、ステップS2で、図8に例示する情報54をサーバ1から取得する。
 ステップS3において、ファイル特定手段3は、情報54として示す各ファイル名のうち、1番目、2番目、4番目、5番目、7番目および8番目のファイル名を選択する。これらのファイルのうち、1番目、4番目および7番目のファイル名(“/var/log/access.log” )は重複しているので、ファイル特定手段3は、重複を排除する。例えば、ファイル特定手段3は、4番目および7番目のファイル名を破棄し、1番目だけを残す。同様に、2番目、5番目および8番目のファイル名(“/var/log/error.log”)は重複しているので、ファイル特定手段3は、重複を廃棄する。
 この結果得られた2つのファイル名(“/var/log/access.log” および“/var/log/error.log”)は、「include 条件を満たし、かつ、exclude 条件を満たしていない」という条件を満たしている。従って、ファイル特定手段3は、この2つのファイル名がいずれもログファイルのファイル名であると判定する(ステップS4)。
 次のステップS5において、ファイル特定手段3は、“/var/log/access.log” のレコードおよび“/var/log/error.log”のレコードを含むリストを作成する。これらのレコードにおけるサーバ属性は全て「呼び出し元」である。また、これらのレコードにおけるファイルの種別は全て「ログファイル」である。
 さらに、ファイル特定手段3は、そのリストを、既存のリスト(図10参照)の最後に追加する。また、ファイル特定手段3は、ログファイル候補のレコードをリストの最後に移動する。この結果、図11に示すリストが得られる。
 次に、情報取得手段2は、フラグの値が1であるか否かを判定する(ステップS6)。ここでは、フラグの値は1であるので、ステップS12に移行する。
 ステップS12において、情報取得手段2は、現在の特定プロセス(“httpd”)を呼び出しているプロセスが存在するか否かを、呼び出し関係情報(図4参照)に基づいて判定する(ステップS12)。
 現在の特定プロセスを呼び出しているプロセスが存在する場合(ステップS12のYes)、情報取得手段2は、現在の特定プロセスを呼び出しているプロセスを新たな特定プロセスとして定める(ステップS13)。このとき、情報取得手段2は、そのプロセスが動作しているサーバも認識する。この後、ステップS1に移行し、ステップS1以降の動作を繰り返す。
 現在のプロセスを呼び出しているプロセスが存在しない場合(ステップS12のNo)、ステップS14に移行する。本例では、“httpd”を呼び出しているプロセスは存在しないので、ステップS14に移行する。
 ステップS14では、順序制御手段5は、生成されたリスト(図11参照)内のレコードを全て選択したか否かを判定する(ステップS14)。
 未選択のレコードが残っている場合(ステップS14のNo)、順序制御手段5は、リストの先頭側に最も近い未選択のレコードを選択する(ステップS15)。例えば、1番最初にステップS15に移行した場合、順序制御手段5は、リストの1番目のレコードを選択する。ここでは、図11に示す1番目のレコードを選択した場合を例にして説明する。
 また、サーバ1、サーバ2およびサーバ3が、図11に示す各ファイル名のファイルを更新した時刻は、図12に例示する時刻であるものとする。また、ここでは、図11に示す各ファイルのサイズはいずれも0でないものとし、ファイルの更新時刻に着目して説明する。
 ステップS15の後、順序制御手段5は、選択したレコードに対応するファイルを出力したサーバから、そのファイルの更新時刻およびサイズの情報を取得する(ステップS16)。ここでは、順序制御手段5は、サーバ2から、“/opt/tomcat/log/catalina.out”の更新日時およびサイズの情報を取得する。順序制御手段5は、取得した更新日時の情報を、ステップS15で選択したレコードに追加してもよい。
 ステップS16の後、順序制御手段5は、選択したレコードに対応するファイルの更新時刻が基準時刻より前の時刻であるか否かを判定するとともに、そのファイルのサイズが0であるか否かを判定する(ステップS17)。説明を簡単にするために、前述のように、図11に示す各ファイルのサイズは0でないものとする。
 更新時刻が基準時刻より前であるか、または、ファイルのサイズが0である場合(ステップS17のYes)、ステップS18に移行する。また、更新時刻が基準時刻以降の時刻であり、かつ、ファイルのサイズが0でない場合(ステップS17のNo)、順序制御手段5は、ステップS14以降の処理を繰り返す。“/opt/tomcat/log/catalina.out”の更新日時は“2015/8/24 14:00:00”であり(図12参照)、入力された起点情報が示す基準時刻“2015/8/24 13:00:00”以降の時刻である。また、“/opt/tomcat/log/catalina.out”のファイルサイズは0ではない。従って、ここでは、順序制御手段5は、ステップS17からステップS14に移行し、ステップS14以降の処理を行う。
 2番目のレコード(“/opt/tomcat/log/catalina.log”)を選択した場合にも、順序制御手段5は、ステップS17からステップS14に移行する。
 ステップS15で、順序制御手段5が、図11に示す3番目のレコード(“/opt/tomcat/log/localhost.log” )を選択したとする。順序制御手段5は、このレコードに対応するファイルの更新時刻の情報として、“2015/8/24 00:00:00”(図12参照)を取得する(ステップS16)。
 従って、順序制御手段5は、“/opt/tomcat/log/localhost.log” の更新時刻は基準時刻より前であると判定し(ステップS17のYes)、ステップS18に移行する。
 ステップS18では、順序制御手段5は、選択したレコードのサーバ属性の内容を「参照」に書き換え、そのレコードをリストの最後に移動する(ステップS18)。従って、順序制御手段5は、図11に示す3番目のレコードのサーバ属性を「参照」に書き換え、リストの最後に移動する。ステップS18の後、順序制御手段5は、ステップS14に移行し、ステップS14以降の処理を行う。
 図11に示す4番目のレコードの更新時刻は“2015/8/24 01:00:00”であり、基準時刻よりも前の時刻である。従って、順序制御手段5は、図11に示す4番目のレコードを選択した場合にも、ステップS17からステップS18に移行し、図11に示す4番目のレコードのサーバ属性を「参照」に書き換え、そのレコードをリストの最後に移動する。この時点でのリストは、図13に示すようになる。この後、順序制御手段5は、ステップS14以降の処理を行う。
 ステップS15で、図11に示す最後のレコード(“/var/lib/mysql/ib_logfile” )を選択した場合、ステップS17からステップS14に戻る。この結果、リストは、図14に示すようになる。
 図11に示す最後のレコード(“/var/lib/mysql/ib_logfile” )を選択した後、ステップS14に移行した場合、リスト内のレコードが全て選択済みとなっている(ステップS14のYes)。この場合、ステップS19に移行する。
 なお、上記の説明では、主に更新時刻に着目して、ステップS17を説明したが、ステップS16で取得したファイルのサイズが0である場合にも、ステップS18に移行する。すなわち、ファイルのサイズが0である場合にも、順序制御手段5は、選択しているレコードのサーバ属性を「参照」に書き換え、そのレコードをリストの最後に移動する。
 ステップS19では、表示手段6が、リストに含まれている各ファイル名をサーバ別に表示する(ステップS19)。このとき、表示手段6は、サーバ属性に応じて、ファイル名の表示態様を変える。また、表示手段6は、サーバ属性だけでなく、ファイルの種別によってもファイル名の表示態様を変えてもよい。本実施形態では、表示手段6がファイル名の表示部分の背景を、サーバ属性およびファイルの種別に応じて変える場合を例にして説明する。
 図15は、表示手段6が表示する画面の例を示す説明図である。この画面内で表示されるファイル名は、リストに含まれているファイル名である。表示手段6は、例えば、各サーバを示すアイコン61~63を表示する。そして、表示手段6は、そのアイコンの近傍に、サーバが出力したファイルのファイル名を表示する。例えば、表示手段6は、サーバ1のアイコン61の近傍に、サーバ1が出力したファイルのファイル名を表示する。アイコン62,63に関しても同様である。
 また、表示手段6は、サーバ属性が参照であるレコードのファイル名の背景を、他のファイル名の背景と異なる背景にする。図15に示す例では、サーバ属性が「参照」であるレコードのファイル名の背景を斜線としている。同様に、表示手段6は、ファイルの種別がログファイル候補であるレコードのファイル名の背景を、他のファイル名の背景と異なる背景にする。図15に示す例では、ファイルの種別がログファイル候補であるレコードのファイル名(サーバ3下)の背景をグレーにしている。
 図15に例示する画面に表示されるファイル名は、いずれも、ログファイルまたはログファイル候補のファイル名である。従って、管理者は、ログファイルまたはログファイル候補のファイル名を把握することができる。
 また、サーバ属性が「参照」であるファイルは、更新時刻が基準時刻(アラートの出力時刻)より前であるか、あるいは、ファイルのサイズが0であるファイルである。更新時刻が基準時刻より前であるファイルは、ログファイルであったとしても、アラート出力の起因となったエラーとの関連性が低いと考えられる。同様に、サイズが0のファイルも、ログファイルであったとしても、アラート出力の起因となったエラーとの関連性が低いと考えられる。従って、これらのファイルは、アラート出力の起因となったエラーの解析の際、重要度は低い。図15に例示する画面によって、管理者は、そのような重要度の低いファイルのファイル名を把握することができる。また、ログファイル候補は、ログファイルに比べて重要度が低いと言える。図15に例示する画面によって、管理者は、ログファイルと、ログファイル候補とを区別して把握することができる。
 第1の実施形態によれば、情報取得手段2が、起点情報や呼び出し関係情報に基づいて特定プロセスを定める。そして、情報取得手段2が、そのプロセスを包含するツリー構造(親子関係を示すツリー構造)によって表される各プロセスが開いている各ファイルのファイル名およびファイル属性を取得する。そして、情報取得手段2が、ファイル属性がライト可能またはリード/ライト可能となっているファイル名を選択し、そのファイル名に基づいて、ログファイルのファイル名およびログファイル候補のファイル名を特定する。さらに、情報取得手段2が、ログファイルのファイル名を含むレコード、および、ログファイル候補のファイル名を含むレコードのリストを生成する。また、順序制御手段5は、生成されたリスト内で、ファイルの更新時刻が基準時刻より前のレコードや、サイズが0であるファイルのレコードをリストの最後に移動する。
 従って、アラートの出力の起因となったエラーに関連するファイルのリストが生成されるので、管理者は、全てのログファイルを把握していなくても、障害解析のための適切なログファイルのファイル名のリストを得ることができる。この結果、管理者は、障害解析のための適切なログファイルを把握することができる。
 また、ファイルの更新時刻が基準時刻より前のレコードや、サイズが0であるファイルのレコードは、リストの最後に移動しているので、エラーとの関連性が高いファイルのファイル名がリストの先頭から並ぶことになる。従って、管理者は、エラーとの関連性が高いファイルとそうでないファイルを区別して把握することができる。
 さらに、本実施形態では、ファイルの種別がログファイルとログファイル候補とに分類されている。従って、管理者は、ログファイルと、ログファイル候補とを区別して把握することができる。
 さらに、表示手段6は、図15に例示するように、サーバ属性やファイルの種別に応じて表示態様を変えて、ファイル名を表示する。従って、管理者は、エラーとの関連性が高いファイルとそうでないファイルとを容易に区別することができる。同様に、管理者は、ログファイルとログファイル候補とを容易に区別することができる。
実施形態2.
 第2の実施形態のファイル情報収集システムは、リストを生成するだけでなく、リスト内のレコードに対応するファイルをサーバから取得する。ただし、ファイル情報収集システムは、リスト内の各レコードに対応する全てのファイルを取得するとは限らない。
 図16は、本発明の第2の実施形態のファイル情報収集システムの構成例を示すブロック図である。図16では、図1と同様に、サーバ10a~10nも図示している。また、第1の実施形態のファイル情報収集システムの要素と同一の要素については、図1と同一の符号を付し、説明を省略する。
 各サーバ10a~10nはそれぞれ、情報採取手段11と、ファイル送信手段12とを備える。情報採取手段11は、第1の実施形態における情報採取手段11と同様であり、説明を省略する。
 ファイル送信手段12は、ファイル情報収集システム1から要求されたファイルを、ファイル情報収集システム1に送信する。
 第2の実施形態のファイル情報収集システム1は、第1の実施形態のファイル情報収集システム1が備える各手段に加え、ファイル判定手段7を備える。
 順序制御手段5は、第1の実施形態で示した処理の他に、以下の処理も実行する。順序制御手段5は、ステップS14(図7参照)で、リスト内のレコードを全て選択したと判定した場合(ステップS14のYes)、その時点で得られているリストから、再度、レコードを選択する。このとき、順序制御手段5は、リストの先頭側から、サーバ名が共通であって連続する未選択のレコードの集合を、サーバ名毎に順次、選択する。また、本実施形態では、サーバ属性が「起点」または「呼び出し先」であるレコードが選択対象である場合を例にして説明する。サーバ属性が「起点」または「呼び出し先」であるレコードは、リストの先頭から連続して並んでいる。
 そして、順序制御手段5は、選択した各レコードに対応する各ファイルを、その各ファイルを出力したサーバに要求することによって、その各ファイルを取得する。このとき、ファイル送信手段12は、順序制御手段5から要求されたファイルを順序制御手段5に送信すればよい。
 ファイル判定手段7は、順序制御手段5がサーバから取得したファイル毎に、エラーが発生したことを示す情報(以下、エラー情報と記す。)を含んでいるか否かを判定する。ファイル判定手段7は、エラー情報を含んでいないファイルに対応するレコードの「ファイルの種別」を「ログファイル_NOERROR」に変更する。「ログファイル_NOERROR」は、ファイルがエラー情報を含んでいないということを示す。
 また、順序制御手段5は、選択したレコードの集合に属する全てのレコードで「ファイルの種別」がログファイル_NOERRORとなった場合、そのレコードに対応する各ファイルを出力したサーバよりも呼び出し先側のサーバから出力されたファイルに対応するレコードの集合をリストの最後に移動する。また、順序制御手段5は、その集合に属するレコードの「ファイルの種別」を「ログファイル_NOERROR」に変更する。
 情報取得手段2、ファイル特定手段3、順序制御手段5、表示手段6およびファイル判定手段7は、例えば、ディスプレイ装置を有するコンピュータのCPUによって実現される。この場合、CPUは、コンピュータのプログラム記憶装置(図示略)等のプログラム記録媒体からファイル情報収集プログラムを読み込み、そのプログラムに従って、情報取得手段2、ファイル特定手段3、順序制御手段5、表示手段6およびファイル判定手段7として動作すればよい。また、各手段がそれぞれ別々のハードウェアによって実現されていてもよい。
 次に、第2の実施形態の処理経過について説明する。図17は、本発明の第2の実施形態の処理経過の例を示すフローチャートである。ステップS1~S18の動作は、第1の実施形態と同様であり、説明を省略する。図17では、ステップS14(図7参照)でリスト内のレコードを全て選択したと判定した後(ステップS14のYes)の動作を図示している。
 前述のように、順序制御手段5は、ステップS14でリスト内のレコードを全て選択したと判定した場合、その時点で得られているリストから、再度、レコードを選択する。本実施形態では、ステップS14でリスト内のレコードを全て選択したと判定した時点で、図18に例示するリストが得られている場合を例にして説明する。図18に示すサーバ4は、サーバ3の呼び出し先側のサーバである。また、図18では、サーバ属性が「参照」であるレコードが存在しない場合を例示しているが、サーバ属性が「参照」であるレコードがリスト内に含まれていてもよい。ただし、第1の実施形態の説明から明らかなように、サーバ属性が「参照」であるレコードの集合は、リストの最後に連続して並ぶ。
 順序制御手段5は、リストから、サーバ属性が「起点」または「呼び出し先」となっているレコードを全て選択したか否かを判定する(ステップS21)。このことは、サーバ属性が「起点」または「呼び出し先」となっているレコードに対応するファイルが取得対象であることを意味する。図18に示す例では、1番目から5番目までの各レコードに対応するファイルが取得対象となる。ただし、後述するように、取得対象のファイルであっても、順序制御手段5が、サーバから取得しない場合がある。
 サーバ属性が「起点」または「呼び出し先」となっているレコードであって未選択となっているレコードがあれば(ステップS21のNo)、順序制御手段5はステップS22に移行する。
 ステップS22において、順序制御手段5は、共通のサーバから出力されたファイルに対応するレコードの集合であって、連続するレコードの集合を選択する(ステップS22)。順序制御手段5は、サーバ名が共通であって連続する未選択のレコードを選択すればよい。ただし、順序制御手段5は、リストの先頭に最も近い未選択のレコードの集合を選択する。なお、ステップS22で選択されるレコードの集合に属するレコードの数は1個であってもよい。例えば、あるサーバ名のレコードが1つしか存在しない場合には、順序制御手段5は、ステップS22で、その1つのレコードを選択すればよい。
 最初にステップS22に移行した場合、順序制御手段5は、リスト(図18参照)の先頭から、サーバ名が「サーバ2」となっている連続する2つのレコードを選択する。
 順序制御手段5は、ステップS22で選択したレコードに対応する各ファイルを、その各ファイルを出力したサーバから取得する(ステップS23)。本例では、順序制御手段5は、図18に示す1番目および2番目の各レコードに対応する各ファイルをサーバ2のファイル送信手段12に要求することによって、その各ファイルを取得する。
 順序制御手段5は、ステップS23において、ファイルをサーバに要求する際、基準時刻の情報もサーバに送信し、ファイルの記載内容のうち、その基準時刻以降の記録に該当する部分のみを要求してもよい。この要求を受けたファイル送信手段12は、要求されたファイルの記載内容のうち、基準時刻以降の記録に該当する部分のみを順序制御手段5に送信してもよい。ログファイルには、時系列順に種々の事項が記録されるが、基準時刻より前の時刻の記録は、アラート出力の起因となったエラーとの関連性が低いと考えられる。従って、順序制御手段5は、基準時刻以降の記録に該当する部分のみを取得することによって、ファイル情報収集システム1が保持するファイルの容量の増加を抑えることができる。
 なお、順序制御手段5は、ステップS23において、要求したファイル全体をサーバから取得してもよい。
 次に、ファイル判定手段7は、ステップS23で得られたファイル毎に、エラー情報を含んでいるか否かを判定する(ステップS24)。ファイル判定手段7は、ファイル内に所定のエラーレベルが記録されていれば、そのファイルがエラー情報を含んでいると判定し、ファイル内に所定のエラーレベルが記録されていなければ、そのファイルがエラー情報を含んでいないと判定してもよい。また、ファイル判定手段7は、ファイル内に所定の文言(例えば、“error”,“fatal”等の文言)が含まれていれば、そのファイルがエラー情報を含んでいると判定し、ファイル内に上記の所定の文言が含まれていなければ、そのファイルがエラー情報を含んでいないと判定してもよい。
 また、ステップS24において、ファイル判定手段7は、エラー情報を含んでいないと判定したファイルに対応するレコードの「ファイルの種別」をログファイル_NOERRORに変更する。
 次に、順序制御手段5は、ステップS22で選択したレコードの集合に属する全てのレコードで「ファイルの種別」がログファイル_NOERRORになっているか否かを判定する(ステップS25)。選択したレコードの集合に属する全てのレコードで「ファイルの種別」がログファイル_NOERRORであるということは、ステップS22で取得した全てのファイルがエラー情報を含んでいないということである。
 選択したレコードの集合に属する全てのレコードの中で、「ファイルの種別」がログファイル_NOERRORでないレコードが存在する場合(ステップS25のNo)、ステップS21に移行し、ステップS21以降の動作を行う。
 選択したレコードの集合に属する全てのレコードで「ファイルの種別」がログファイル_NOERRORである場合(ステップS25のYes)、ステップS26に移行する。
 本例では、図18に示す1番目および2番目の各レコードに対応する各ファイルはエラー情報を含んでいるものとして説明する。この場合、1番目および2番目の各レコードのファイルの種別は変更されず、ステップS25から、ステップS21に移行する。
 この場合、サーバ属性が「起点」または「呼び出し先」となっているレコードであって未選択となっているレコード(図18に示す3番目から5番目までのレコード)が存在する(ステップS21のNo)。従って、順序制御手段5は、サーバ名が「サーバ3」となっている連続する2つのレコード(図18に示す3番目および4番目のレコード)を選択する(ステップS22)。
 次に、順序制御手段5は、その2つのレコードに対応するファイルを、サーバ3に要求することによって、サーバ3から2つのファイルを取得する(ステップS23)。
 図18に示す3番目および4番目の各レコードに対応する2つのファイルがいずれもエラー情報を含んでいないものとして説明する。この場合、ファイル判定手段7は、その2つのファイルがそれぞれエラー情報を含んでいないと判定し、ステップS22で選択された2つのレコードの「ファイルの種別」をログファイル_NOERRORに変更する(ステップS24)。
 そして、順序制御手段5は、ステップS22で選択したレコードの集合に属する全てのレコードで「ファイルの種別」がログファイル_NOERRORになっていると判定し(ステップS25のYes)、ステップS26に移行する。
 ステップS26において、順序制御手段5は、直近のステップS22で選択したレコードの集合(図18に示す3番目および4番目のレコード)の後に続くレコードの集合であって、サーバ属性が「呼び出し先」となっているレコードの集合をリストの最後に移動する。さらに、順序制御手段5は、その集合に属するレコードの「ファイルの種別」をログファイル_NOERRORに変更する(ステップS26)。
 本例では、図18に示す3番目および4番目のレコードの後に続くレコードの集合であって、サーバ属性が「呼び出し先」となっているレコードの集合は、図18に示す5番目のレコードのみを含む集合である。従って、順序制御手段5は、図18に示す5番目のレコードをリストの最後に移動し、その2つのレコードの「ファイルの種別」をログファイル_NOERRORに変更する。図19は、この時点でのリストの状態を示す模式図である。
 ステップS26の後、ステップS27に移行する。このことは、ステップS21,S22に移行せず、レコードの集合の選択を中止すること意味する。
 ステップS27において、表示手段6は、リストに含まれている各ファイル名をサーバ別に表示する(ステップS27)。このとき、表示手段6は、サーバ属性およびファイルの種別に応じて、ファイル名の表示態様を変える。
 図20は、表示手段6が表示する画面の例を示す説明図である。表示手段6は、例えば、各サーバを示すアイコン61~64を表示する。そして、表示手段6は、そのアイコンの近傍に、サーバが出力したファイルのファイル名を表示する。この点は、第1の実施形態におけるステップS19と同様である。
 さらに、表示手段6は、ファイルの種別がログファイル_NOERRORであるレコードのファイル名の背景を、他のファイル名の背景と異なる背景にする(図19および図20参照)。同様に、表示手段6は、ファイルの種別がログファイル候補であるレコードのファイル名の背景を、他のファイル名の背景と異なる背景にする(図19および図20参照)。
 また、図18および図19に示す例では、サーバ属性が「参照」であるレコードが存在していない場合を示しているが、サーバ属性が参照であるレコードが存在する場合、表示手段6は、そのレコードのファイル名の背景を、他のファイル名の背景と異なる背景にする。
 また、表示手段6は、サーバから取得したファイルのファイル名と、サーバから取得していないファイルのファイル名とで、表示態様を変えてもよい。
 ステップS27で処理を終了する。
 上記の例では、ファイル情報収集システム1は、サーバ4が出力したファイル“/var/log/storage.log”を取得せずに、処理を終了することになる。既に述べたように、いずれかのサーバでエラーが生じた場合、そのサーバから見て呼び出し元のサーバにエラーが波及していく。従って、サーバ3が出力した各ファイルがいずれもエラー情報を含んでいない場合、サーバ3から見て呼び出し先側のサーバ4が出力したファイルもエラー情報を含んでいないと考えられる。さらに、エラー情報を含まないファイルは、取得したとしても、エラー発生箇所の特定等の障害解析にあまり寄与しないと考えられる。よって、サーバ4が出力したファイルを取得しないことで、障害解析にあまり寄与しないと考えられるファイルの保持量を抑えることができる。
 以上の説明では、図18に示す3番目および4番目の各レコードに対応する2つのファイルがエラー情報を含んでいない場合を示した。
 図18に示す3番目および4番目の各レコードに対応する2つのファイルのうち、少なくともいずれか一方がエラー情報を含んでいる場合には、ステップS25からステップS21に移行し、ステップ21以降の動作を行う。この場合、ステップS21からステップS22に移行し、順序制御手段5は、図18に示す5番目のレコードを選択する。その後、ステップS23,S24,S25に移行する。ステップS25で、順序制御手段5が、図18に示す5番目のレコードの「ファイルの種別」がログファイル_NOERRORでないと判定したとする(ステップS25のNo)。すなわち、そのレコードに対応するファイルがエラー情報を含んでいたとする。この場合、再度、ステップS21に移行する。ここで、順序制御手段5は、リストから、サーバ属性が「起点」または「呼び出し先」となっているレコードを全て選択したと判定する(ステップS21のYes)。この場合、表示手段6は、ステップS27の表示処理を実行する。ステップS27の表示処理は既に説明した通りであるので、ここでは説明を省略する。このように、図17に示す例では、ステップS26からステップS27に移行して処理を終了する場合と、ステップS21からステップS27に移行して処理を終了する場合とがある。
 第2の実施形態によれば、第1の実施形態と同様の効果が得られる。さらに、第2の実施形態では、障害解析に用いるファイルを各サーバからファイル情報収集システム1に集めることができる。前述のように、いずれかのサーバでエラーが生じた場合、そのサーバから見て呼び出し元のサーバにエラーが波及していく。従って、エラー発生箇所の特定等の障害解析では、起点サーバ、および、呼び出し先側の各サーバが出力したファイルが重要であると言える。本実施形態では、起点サーバ、および、呼び出し先側の各サーバが出力したファイルをファイル情報収集システム1が取得することができる。
 また、あるサーバが出力した各ファイルにエラー情報が含まれていなければ、そのサーバの呼び出し先側の各サーバが出力したファイルにもエラー情報が含まれていないと考えられる。本実施形態では、そのような呼び出し先側の各サーバが出力したファイルを、ファイル情報収集システム1は取得しない。従って、障害解析にあまり寄与しないと考えられるファイルの保持量を抑えることができる。
 図17に示すフローチャートにおいて、ステップS22の後、ファイル情報収集システム1は、ステップS22で選択したレコードの集合に属するレコード毎に、ステップS23,S24の処理を実行してもよい。例えば、ファイル情報収集システム1は、ステップS22で選択したレコードの集合に属する1つのレコードを対象に、ステップS23,S24の処理を実行した後、次のレコードを対象に、ステップS23,S24の処理を実行してもよい。そして、ファイル情報収集システム1は、選択したレコードの集合に属する全てのレコードに関してステップS23,S24の処理を終えた後に、ステップS25に移行してもよい。
 次に、第2の実施形態の変形例について説明する。
 上記の第2の実施形態では、ステップS21において、順序制御手段5は、リストから、サーバ属性が「起点」または「呼び出し先」となっているレコードを全て選択したか否かを判定する場合を説明した。
 ステップS21において、順序制御手段5は、リストから、サーバ属性が「起点」、「呼び出し先」または「呼び出し元」となっているレコードを全て選択したか否かを判定してもよい。このことは、サーバ属性が「起点」、「呼び出し先」、「呼び出し元」のいずれかになっているレコードに対応するファイルが取得対象であることを意味する。この場合、ステップS26の後、ステップS21に移行してもよい。ただし、順序制御手段5は、ステップS26でリストの最後に移動されたレコードの集合は選択済みであるものとみなして、ステップS21の判定を行う。
 また、ステップS22で、順序制御手段5が、サーバ属性が「呼び出し元」となっているファイルの集合を選択した場合、順序制御手段5は、ステップS25の判定処理は行わず、ステップS24の後、ステップS21に移行する。
 この場合、ファイル情報収集システム1は、起点サーバから見て呼び出し元側のサーバが出力したログファイルも取得することができる。
 また、ファイル情報収集システム1は、リストに含まれる全てのレコードに対応する各ファイルを収集してもよい。
実施形態3.
 第3の実施形態のファイル情報収集システムは、サーバの通信記録情報に基づいて、呼び出し関係情報を生成し、その呼び出し関係情報を記憶する。
 図21は、本発明の第3の実施形態のファイル情報収集システムの構成例を示すブロック図である。図21では、図1と同様に、サーバ10a~10nも図示している。また、第1の実施形態のファイル情報収集システムの要素と同一の要素については、図1と同一の符号を付し、説明を省略する。
 各サーバ10a~10nはそれぞれ、情報採取手段11と、通信記録手段13とを備える。情報採取手段11は、第1の実施形態における情報採取手段11と同様であり、説明を省略する。
 通信記録手段13は、他のサーバとの通信の通信記録情報を生成し、保持する。通信記録情報は、プロセスIDと、自ポート番号と、宛先と、宛先ポート番号との組み合わせを含む。図22は、サーバ1~3がそれぞれ生成した通信記録情報の例を示す説明図である。
 プロセスIDは、通信記録手段13を備えるサーバ上で動作するプロセスのIDである。例えば、サーバ1の通信記録手段13が生成した通信記録情報に記述されているプロセスIDは、サーバ1上で動作するプロセスのプロセスIDである。
 自ポート番号は、通信記録手段13を備えるサーバのポートのポート番号である。例えば、サーバ1の通信記録手段13が生成した通信記録情報に記述されている自ポート番号は、サーバ1のポート番号である。
 宛先は、通信記録手段13を備えるサーバと通信したサーバのサーバ名である。例えば、サーバ1の通信記録手段13が生成した通信記録情報に記述されている宛先は、サーバ1と通信したサーバのサーバ名である。
 宛先ポート番号は、通信記録手段13を備えるサーバと通信したサーバのポート番号である。より具体的には、宛先ポート番号は、通信記録手段13を備えるサーバの通信相手となるサーバが通信時に用いたポートのポート番号である。
 図22に示すサーバ1の通信記録情報71の最後の行を例にして説明すると、この最後の行は、以下の事項を表している。サーバ1のプロセス“101”は、サーバ2と通信し、その時、プロセス“101”は、サーバ1のポート“33894”を用い、サーバ2は、サーバ2のポート“8080”を用いた。
 通信記録手段13は、他のサーバとの通信が新たに発生すると、プロセスIDと、自ポート番号と、宛先と、宛先ポート番号との組を、新たに通信記録情報に追加する。
 また、通信記録手段13は、通信記録手段13を備えるサーバのポートのうち、プロセスIDと、リッスン(listen)しているポートのポート番号との対も通信記録情報に含める。リッスンしているポートとは、他のサーバからの通信を受け付けられる状態となっているポートである。
 リッスンしているポートのポート番号は、対応する宛先および宛先ポート番号の内容が特定されていない自ポート番号として、通信記録情報内に記述される。例えば、サーバ1の通信記録情報71では、対応する宛先および宛先ポート番号の内容が特定されていない自ポート番号として“80”が記述されている。従って、サーバ1において、リッスンしているポートは、ポート“80”である。
 通信記録手段13は、対応する宛先および宛先ポート番号の内容が特定されていない自ポート番号として、リッスンしているポートのポート番号を通信記録情報内に記述する。
 サーバは、他のサーバに呼び出される場合、リッスンしているポートを用いる。例えば、サーバAが、リッスンしているポートで、他のサーバBと通信したとする。この場合、サーバBが呼び出し元となり、サーバAを呼び出し、サーバA,Bが通信したことになる。この場合、サーバAはサーバBから見て呼び出し先サーバである。
 また、サーバは、他のサーバを呼び出す場合、リッスンしているポート以外のポートを用いる。例えば、サーバAが、リッスンしているポート以外のポートでサーバBと通信したとする。この場合、サーバAが呼び出し元となり、サーバBを呼び出し、サーバA,Bが通信したことになる。この場合、サーバAはサーバBから見て呼び出し元サーバである。
 通信記録手段13は、ファイル情報収集システム1からの要求に応じて、保持している通信記録情報をファイル情報収集システム1に送信する。
 以下の説明では、第3の実施形態のファイル情報収集システム1が、第1の実施形態のファイル情報収集システム1が備える呼び出し関係情報記憶手段4(図1参照)に代えて、呼び出し関係情報生成手段8(図21参照)を備える場合を例にして説明する。
 ただし、第3の実施形態のファイル情報収集システム1は、第2の実施形態のファイル情報収集システム1が備える呼び出し関係情報記憶手段4(図16参照)に代えて、呼び出し関係情報生成手段8を備える構成であってもよい。すなわち、第3の実施形態は、第2の実施形態に適用されてもよい。
 呼び出し関係情報生成手段8は、各サーバから順次、通信記録情報を取得し、各サーバの通信記録情報に基づいて、各サーバで動作しているプロセス間の呼び出し関係を特定し、呼び出し関係情報を生成する。呼び出し関係情報生成手段8は、生成した呼び出し関係情報を記憶する。
 すなわち、第1および第2の実施形態では、呼び出し関係情報記憶手段4(図1、図16参照)が予め管理者等によって準備された呼び出し関係情報を記憶する構成であるのに対し、本実施形態では、呼び出し関係情報生成手段8が呼び出し関係情報を生成し、記憶する。
 以下の説明では、起点情報が入力されたときに、呼び出し関係情報生成手段8が呼び出し関係情報を生成し、記憶し、その後、ステップS1(図5参照)に移行する場合を例にして説明する。ただし、呼び出し関係情報生成手段8が呼び出し関係情報を生成するタイミングは本例に限定されず、呼び出し関係情報生成手段8は、例えば、定期的に呼び出し関係情報を生成してもよい。
 情報取得手段2、ファイル特定手段3、順序制御手段5、表示手段6および呼び出し関係情報生成手段8は、例えば、ディスプレイ装置を有するコンピュータのCPUによって実現される。この場合、CPUは、コンピュータのプログラム記憶装置(図示略)等のプログラム記録媒体からファイル情報収集プログラムを読み込み、そのプログラムに従って、情報取得手段2、ファイル特定手段3、順序制御手段5、表示手段6および呼び出し関係情報生成手段8として動作すればよい。また、各手段がそれぞれ別々のハードウェアによって実現されていてもよい。
 以下、呼び出し関係情報生成手段8の処理経過を説明する。図23は、起点サーバから見て呼び出し先側のプロセス間の呼び出し関係を特定する処理の例を示すフローチャートである。
 起点情報が入力されると、呼び出し関係情報生成手段8は、サーバから通信記録情報を取得する(ステップS31)。起点情報入力後、最初にステップS31に移行した場合、呼び出し関係情報生成手段8は、起点情報に含まれているサーバ名に対応するサーバから、通信記録情報を取得する。また、ステップS31~S35はループ処理になっていて、ステップS35からステップS31に移行する場合もある。この場合、呼び出し関係情報生成手段8は、直近のステップS34で特定したサーバから、通信記録情報を取得する。
 呼び出し関係情報生成手段8は、サーバが備えている通信記録手段13に対して通信記録情報を要求することによって、通信記録情報を取得すればよい。通信記録手段13は、その要求に応じて、保持している通信記録情報を呼び出し関係情報生成手段8に送信すればよい。
 ここでは、起点情報内に「サーバ2」というサーバ名が含まれているとする。この場合、最初にステップS31に移行したとき、呼び出し関係情報生成手段8は、サーバ2から通信記録情報を取得する。ここでは、図22に例示する通信記録情報72を取得したとする。
 ステップS31の次に、呼び出し関係情報生成手段8は、直近のステップS31で取得した通信記録情報と、前々回のステップS31で取得した通信記録情報とに基づいて、プロセスの呼び出し関係を特定する(ステップS32)。「前々回のステップS31」とは、直近のステップS31の1回前のステップS31である。
 ただし、最初にステップS32に移行した場合、直近のステップS31が最初のステップS31であり、呼び出し関係情報生成手段8は、それ以前に通信記録情報を取得していない。この場合、呼び出し関係情報生成手段8は、ステップS32でプロセスの呼び出し関係を特定せずに、ステップS33に移行してよい。ここでは、呼び出し関係情報生成手段8は、最初のステップS31で通信記録情報72を取得しているだけであるので、ステップS33に移行する。
 ステップS33では、呼び出し関係情報生成手段8は、直近のステップS31で取得した通信記録情報を参照し、サーバ(ステップS31で通信記録情報を提供したサーバ)のポートのうち、リッスンしているポートを特定する。通信記録情報72(図22参照)では、対応する宛先および宛先ポート番号の内容が特定されていない自ポート番号は“8080”である。従って、呼び出し関係情報生成手段8は、サーバ2において、リッスンしているポートはポート“8080”であると特定する。
 次に、呼び出し関係情報生成手段8は、直近のステップS31で取得した通信記録情報を参照し、リッスンしているポート以外のポートで通信した通信相手のサーバを特定する(ステップS34)。通信記録情報72では、リッスンしているポート以外のサーバ2のポートのポート番号として“48940”が記述されている。従って、呼び出し関係情報生成手段8は、自ポート番号“48940”に対応するサーバ3(図22参照)を特定する。
 なお、リッスンしているポート以外のポートのポート番号が自ポート番号として記述されていない場合、呼び出し関係情報生成手段8は、ステップS34でサーバを特定できない。
 また、運用されているシステムに属する各サーバ(図22に示す例では、サーバ1、サーバ2およびサーバ3)が、そのシステムに属さないサーバ(例えば、DNS(Domain Name System)サーバ等)を呼び出している場合もある。システムに属さないサーバのサーバ名が、リッスンしているポート以外のポートのポート番号に対応付けられている場合、呼び出し関係情報生成手段8は、サーバを特定できなかったと判定する。呼び出し関係情報生成手段8は、例えば、運用されているシステムに属する各サーバのサーバ名を予め記憶しておき、通信履歴情報から得られたサーバ名と比較することによって、得られたサーバ名を有するサーバがシステムに属するか否かを判定すればよい。
 ステップS34でサーバを特定できた場合(ステップS35のYes)、呼び出し関係情報生成手段8は、ステップS31に移行する。
 次のステップS31において、呼び出し関係情報生成手段8は、直近のステップS34で特定したサーバ3から通信記録情報を取得する。ここでは、呼び出し関係情報生成手段8が、図22に例示する通信記録情報73をサーバ3から取得したものとする。
 続いて、呼び出し関係情報生成手段8は、直近のステップS31で取得した通信記録情報と、前々回のステップS31で取得した通信記録情報とに基づいて、プロセスの呼び出し関係を特定する(ステップS32)。
 ここでは、直近のステップS31で取得した通信記録情報は、通信記録情報73であり、前々回のステップS31で取得した通信記録情報は、通信記録情報72である。また、ステップS32の説明において、前々回のステップS31で取得した通信記録情報を第1通信記録情報と記し、直近のステップS31で取得した通信記録情報を第2通信記録情報と記す。
 呼び出し関係情報生成手段8は、第1通信記録情報(通信記録情報72)に基づいて、リッスンしているポート以外のポート番号を特定し、さらに、そのポート番号に対応するプロセスIDおよび宛先ポート番号を特定する。ステップS32の説明において、このプロセスIDを有するプロセスを第1プロセスと記す。また、呼び出し関係情報生成手段8は、第1プロセスが動作するサーバとして、第1通信記録情報を提供したサーバを特定する。本例では、呼び出し関係情報生成手段8は、通信記録情報72に基づいて、リッスンしているポート以外のポート番号“48940”を特定し、そのポート番号に対応するプロセスID“201”を特定する。また、呼び出し関係情報生成手段8は、第1プロセスが動作するサーバとして、「サーバ2」を特定する。また、本例では、呼び出し関係情報生成手段8は、“48940”に対応する宛先ポート番号“3306”を特定する。
 さらに、呼び出し関係情報生成手段8は、第2通信記録情報(通信記録情報73)に基づいて、第1通信記録情報から特定した宛先ポート番号と同一の自ポート番号に対応するプロセスIDを特定する。ステップS32の説明において、このプロセスIDを有するプロセスを第2プロセスと記す。また、呼び出し関係情報生成手段8は、第2プロセスが動作するサーバとして、第2通信記録情報を提供したサーバを特定する。本例では、呼び出し関係情報生成手段8は、通信記録情報73を参照して、第1通信記録情報から特定した宛先ポート番号“3306”と同一の自ポート番号に対応するプロセスID“301”を特定する(図22参照)。また、呼び出し関係情報生成手段8は、第2プロセスが動作するサーバとして、「サーバ3」を特定する。
 呼び出し関係情報生成手段8は、第1プロセスが第2プロセスを呼び出しているという関係と、第1プロセスが動作しているサーバと、2プロセスとを示す呼び出し関係情報を生成する。図24は、ステップS32で生成した呼び出し関係情報の例を示す模式図である。なお、呼び出し関係情報生成手段8は、前回のステップS32までに生成した呼び出し関係情報が存在していれば、新たに生成した呼び出し関係情報を、その呼び出し関係情報に追加する。
 ステップS32の後、呼び出し関係情報生成手段8は、直近のステップS31で取得した通信記録情報を参照し、サーバ(ステップS31で通信記録情報を提供したサーバ)のポートのうち、リッスンしているポートを特定する(ステップS33)。ここでは、呼び出し関係情報生成手段8は、通信記録情報73に基づいて、リッスンしているポートは、ポート“3306”であると特定する。
 次に、呼び出し関係情報生成手段8は、直近のステップS31で取得した通信記録情報を参照し、リッスンしているポート以外のポートで通信した通信相手のサーバを特定する(ステップS34)。本例では、通信記録情報73において、リッスンしているポートのポート番号“3306”以外のポート番号は、自ポート番号として記述されていない。従って、呼び出し関係情報生成手段8は、ステップS34でサーバを特定できない。
 この場合(ステップS35のNo)、起点サーバから見て呼び出し先側のプロセス間の呼び出し関係を特定する処理を終了する。この結果、図24に模式的に示す呼び出し関係情報が得られたことになる。
 なお、上記のステップS34でサーバを特定できた場合には、サーバ3のプロセスが呼び出している他のサーバのプロセスが存在していることになる。この場合(ステップS35のYes)、呼び出し関係情報生成手段8は、さらにステップS31以降の処理を行えばよい。
 次に、起点サーバから見て呼び出し元側のプロセス間の呼び出し関係を特定する処理について説明する。図25は、起点サーバから見て呼び出し元側のプロセス間の呼び出し関係を特定する処理の例を示すフローチャートである。なお、呼び出し関係情報生成手段8は、図23に示す処理の完了後に、以下に示す処理を行えばよい。
 呼び出し関係情報生成手段8は、サーバから通信記録情報を取得する(ステップS41)。起点情報入力後、最初にステップS41に移行した場合、呼び出し関係情報生成手段8は、起点情報に含まれているサーバ名に対応するサーバから、通信記録情報を取得する。ただし、呼び出し関係情報生成手段8は、最初にステップS31(図23参照)に移行したときに、起点情報に含まれているサーバ名に対応するサーバから、通信記録情報を取得している。従って、最初にステップS41に移行した場合、呼び出し関係情報生成手段8は、その通信記録情報を、最初のステップS41で取得した通信記録情報とみなしてよい。ここでは、呼び出し関係情報生成手段8は、通信記録情報72を、最初のステップS41でサーバ2から取得した通信記録情報とみなす。
 また、ステップS41~S45はループ処理になっていて、ステップS45からステップS41に移行する場合もある。この場合、呼び出し関係情報生成手段8は、直近のステップS44で特定したサーバから、通信記録情報を取得する。
 ステップS31と同様に、呼び出し関係情報生成手段8は、サーバが備えている通信記録手段13に対して通信記録情報を要求することによって、通信記録情報を取得すればよい。通信記録手段13は、その要求に応じて、保持している通信記録情報を呼び出し関係情報生成手段8に送信すればよい。
 ステップS41の次に、呼び出し関係情報生成手段8は、直近のステップS41で取得した通信記録情報と、前々回のステップS41で取得した通信記録情報に基づいて、プロセスの呼び出し関係を特定する(ステップS42)。「前々回のステップS41]とは、直近のステップS41の1回前のステップS41である。
 ただし、最初にステップS42に移行した場合、直近のステップS41が最初のステップS41であり、呼び出し関係情報生成手段8は、それ以前に通信記録情報を取得していない。この場合、呼び出し関係情報生成手段8は、ステップS42でプロセスの呼び出し関係を特定せずに、ステップS43に移行してよい。ここでは、呼び出し関係情報生成手段8は、最初のステップS41で通信記録情報72を取得しているだけであるので、ステップS43に移行する。
 ステップS43では、呼び出し関係情報生成手段8は、直近のステップS41で取得した通信情報を参照し、サーバ(ステップS41で通信記録情報を提供したサーバ)のポートのうち、リッスンしているポートを特定する(ステップS43)。ステップS43は、前述のステップS33と同様の処理である。ここでは、通信記録情報72に基づいて、呼び出し関係情報生成手段8は、サーバ2において、リッスンしているポートはポート“8080”であると特定する。
 次に、呼び出し関係情報生成手段8は、直近のステップS41で取得した通信記録情報を参照し、リッスンしているポートで通信した通信相手のサーバを特定する(ステップS44)。ここでは、呼び出し関係情報生成手段8は、通信記録情報72に基づいて、リッスンしているポートのポート番号“8080”に対応するサーバ1を特定する(図22参照)。
 なお、リッスンしているポートのポート番号“8080”に対応する宛先および宛先ポート情報が記述されていない場合(例えば、図22に例示する通信記録情報72の最後の行が存在しない場合)、呼び出し関係情報生成手段8は、ステップS44でサーバを特定できない。
 また、リッスンしているポートのポート番号に対応するサーバが、運用されているシステムに属さないサーバ(例えば、DNSサーバ等)である場合、呼び出し関係情報生成手段8は、サーバを特定できなかったと判定する。呼び出し関係情報生成手段8は、例えば、運用されているシステムに属する各サーバのサーバ名を予め記憶しておき、通信記録情報から得られたサーバ名と比較することによって、得られたサーバ名を有するサーバがシステムに属するか否かを判定すればよい。
 ステップS44でサーバを特定できた場合(ステップS45のYes)、呼び出し関係情報生成手段8は、ステップS41に移行する。
 次のステップS41において、呼び出し関係情報生成手段8は、直近のステップS44で特定したサーバ1から通信記録情報を取得する。ここでは、呼び出し関係情報生成手段8が、図22に例示する通信記録情報71をサーバ1から取得したものとする。
 続いて、呼び出し関係情報生成手段8は、直近のステップS41で取得した通信記録情報と、前々回のステップS41で取得した通信記録情報とに基づいて、プロセスの呼び出し関係を特定する(ステップS42)。
 ここでは、直近のステップS41で取得した通信記録情報は、通信記録情報71であり、前々回のステップS41で取得した通信記録情報は、通信記録情報72である。また、ステップS42の説明において、前々回のステップS41で取得した通信記録情報を第1通信記録情報と記し、直近のステップS41で取得した通信記録情報を第2通信記録情報と記す。
 呼び出し関係情報生成手段8は、第1通信記録情報(通信記録情報72)に基づいて、リッスンしているポートのポート番号を特定し、さらに、そのポート番号に対応するプロセスIDおよび宛先ポート番号を特定する。ステップS42の説明において、このプロセスIDを有するプロセスを第1プロセスと記す。また、呼び出し関係情報生成手段8は、第1プロセスが動作するサーバとして、第1通信記録情報を提供したサーバを特定する。本例では、呼び出し関係情報生成手段8は、通信記録情報72に基づいて、リッスンしているポートのポート番号“8080”を特定し、そのポート番号に対応するプロセスID“201”を特定する。また、呼び出し関係情報生成手段8は、第1プロセスが動作するサーバとして、「サーバ2」を特定する。また、本例では、呼び出し関係情報生成手段8は、“8080”に対応する宛先ポート番号“33894”を特定する。
 さらに、呼び出し関係情報生成手段8は、第2通信記録情報(通信記録情報71)に基づいて、第1通信記録情報から特定した宛先ポート番号と同一の自ポート番号に対応するプロセスIDを特定する。ステップS42の説明において、このプロセスIDを有するプロセスを第2プロセスと記す。また、呼び出し関係情報生成手段8は、第2プロセスが動作するサーバとして、第2通信記録情報を提供したサーバを特定する。本例では、呼び出し関係情報生成手段8は、通信記録情報71を参照して、第1通信記録情報から特定した宛先ポート番号“33894” と同一の自ポート番号に対応するプロセスID“101”を特定する(図22参照)。また、呼び出し関係情報生成手段8は、第2プロセスが動作するサーバとして、「サーバ1」を特定する。
 呼び出し関係情報生成手段8は、第2プロセスが第1プロセスを呼び出しているという関係と、第1プロセスが動作しているサーバと、2プロセスとを示す呼び出し関係情報を生成する。図26は、ステップS42で生成した呼び出し関係情報の例を示す模式図である。なお、呼び出し関係情報生成手段8は、前回のステップS42までに生成した呼び出し関係情報が存在していれば、新たに生成した呼び出し関係情報を、その呼び出し関係情報に追加する。
 ステップS42の後、呼び出し関係情報生成手段8は、直近のステップS41で取得した通信記録情報を参照し、サーバ(ステップS41で通信記録情報を提供したサーバ)のポートのうち、リッスンしているポートを特定する(ステップS43)。ここでは、呼び出し関係情報生成手段8は、通信記録情報71に基づいて、リッスンしているポートは、ポート“80”であると特定する。
 次に、呼び出し関係情報生成手段8は、直近のステップS41で取得した通信記録情報を参照し、リッスンしているポートで通信した通信相手のサーバを特定する(ステップS44)。本例では、通信記録情報71において、リッスンしているポートのポート番号“80”に対応する宛先および宛先ポート情報が記述されていない。従って、呼び出し関係情報生成手段8は、ステップS44でサーバを特定できない。
 この場合(ステップS45のNo)、起点サーバから見て呼び出し元側のプロセス間の呼び出し関係を特定する処理を終了する。この結果、図26に模式的に示す呼び出し関係情報が得られたことになる。
 なお、上記のステップS44でサーバを特定できた場合には、サーバ1のプロセスが他のサーバのプロセスによって呼び出されていることになる。この場合(ステップS45のYes)、呼び出し関係情報生成手段8は、さらにステップS41以降の処理を行えばよい。
 起点サーバから見て呼び出し元側のプロセス間の呼び出し関係を特定する処理(図23参照)、および、起点サーバから見て呼び出し元側のプロセス間の呼び出し関係を特定する処理(図25参照)が終了した後、呼び出し関係情報生成手段8は、その2つの処理で得られた呼び出し関係情報をまとめる。この結果、図27に模式的に示す呼び出し関係情報が得られる。呼び出し関係情報生成手段8は、この結果得られた呼び出し関係情報を記憶する。
 この後、ファイル情報収集システム1は、ステップS1以降の処理を実行すればよい。
 本実施形態によれば、ファイル情報収集システム1が呼び出し関係情報を生成するので、管理者は予め呼び出し関係情報を定めておく必要がない。よって、管理者の負担を軽減することができる。
 次に、本発明のファイル情報収集システムの概要を説明する。図28は、本発明のファイル情報収集システムの概要を示すブロック図である。本発明のファイル情報収集システムは、情報取得手段81と、リスト作成手段82と、順序制御手段83とを備える。
 情報取得手段81(例えば、情報取得手段2)は、プロセスが特定された場合に、特定されたプロセスを包含したプロセスの親子関係を示すツリー構造によって表される各プロセスのプロセスIDと、各プロセスが開いている各ファイルのファイル名およびファイル属性とを、特定されたプロセスが動作しているサーバから取得する。
 リスト作成手段82(例えば、ファイル特定手段3)は、ファイル属性がライト可能またはリード/ライト可能であって、ファイル名が所定の条件を満たしているファイルを選択し、選択したファイルを対象に、ファイルを出力したサーバの識別情報と、ファイル名と、ファイルを出力したサーバのサーバ属性とを含むレコードのリストを作成する。
 情報取得手段81は、特定されたプロセスが呼び出しているプロセスを新たに特定し、特定されたプロセスが呼び出しているプロセスが存在しなくなった後は、最初に特定されたプロセスの呼び出し元となっているプロセスを新たに特定し、順次、特定されたプロセスの呼び出し元となっているプロセスを新たに特定する。
 リスト作成手段82は、新たにプロセスが特定されたことによってリストを作成した場合、当該リストを作成済みのリストの最後に追加する。
 順序制御手段83(順序制御手段5)は、リストの先頭からレコードを順番に1つずつ選択し、選択したレコードに対応するファイルの更新時刻の情報を、当該ファイルを出力したサーバから取得する。順序制御手段83は、当該更新時刻がユーザによって指定された基準時刻より前の時刻である場合、選択したレコードのサーバ属性を所定の内容に変更し、当該レコードをリストの最後に移動する。
 サーバ属性は、最初に特定されたプロセスが動作しているサーバであるか、最初に特定されたプロセスが動作しているサーバから見て呼び出し先サーバであるか、最初に特定されたプロセスが動作しているサーバから見て呼び出し元サーバであるか、または、上記の所定の内容を示す属性である。
 そのような構成により、運用中のシステムに属するいずれかのサーバでアラートが生じた場合等において、障害解析のための適切なログファイルを判定し、そのファイル名のリストを生成することができる。
 上記の実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)
 プロセスが特定された場合に、特定されたプロセスを包含したプロセスの親子関係を示すツリー構造によって表される各プロセスのプロセスIDと、前記各プロセスが開いている各ファイルのファイル名およびファイル属性とを、特定されたプロセスが動作しているサーバから取得する情報取得手段と、
 ファイル属性がライト可能またはリード/ライト可能であって、ファイル名が所定の条件を満たしているファイルを選択し、選択したファイルを対象に、ファイルを出力したサーバの識別情報と、ファイル名と、ファイルを出力したサーバのサーバ属性とを含むレコードのリストを作成するリスト作成手段とを備え、
 前記情報取得手段は、特定されたプロセスが呼び出しているプロセスを新たに特定し、特定されたプロセスが呼び出しているプロセスが存在しなくなった後は、最初に特定されたプロセスの呼び出し元となっているプロセスを新たに特定し、順次、特定されたプロセスの呼び出し元となっているプロセスを新たに特定し、
 前記リスト作成手段は、新たにプロセスが特定されたことによってリストを作成した場合、当該リストを作成済みのリストの最後に追加し、
 前記リストの先頭からレコードを順番に1つずつ選択し、選択したレコードに対応するファイルの更新時刻の情報を、当該ファイルを出力したサーバから取得し、当該更新時刻がユーザによって指定された基準時刻より前の時刻である場合、選択したレコードのサーバ属性を所定の内容に変更し、当該レコードを前記リストの最後に移動する順序制御手段とを備え、
 前記サーバ属性は、最初に特定されたプロセスが動作しているサーバであるか、最初に特定されたプロセスが動作しているサーバから見て呼び出し先サーバであるか、最初に特定されたプロセスが動作しているサーバから見て呼び出し元サーバであるか、または、前記所定の内容を示す属性である
 ことを特徴とするファイル情報収集システム。
(付記2)
 前記順序制御手段は、選択したファイルの更新時刻の情報およびサイズの情報を、当該ファイルを出力したサーバから取得し、当該更新時刻がユーザによって指定された基準時刻より前の時刻である場合、または、当該サイズが0である場合、当該ファイルのサーバ属性を所定の内容に変更し、当該ファイルのレコードをリストの最後に移動する
 付記1に記載のファイル情報収集システム。
(付記3)
 リストに含まれているファイル名を、サーバ別に表示する表示手段を備え、
 前記表示手段は、前記サーバ属性に応じて、ファイル名の表示態様を変える
 付記1または付記2に記載のファイル情報収集システム。
(付記4)
 前記順序制御手段は、リストの先頭側から、サーバの識別情報が共通であって連続する未選択のレコードの集合を順次、選択し、選択したレコードの集合に対応する各ファイルを、当該各ファイルを出力したサーバから取得し、
 前記順序制御手段が前記サーバから取得したファイル毎に、エラーが発生したことを示す情報を含んでいるか否かを判定し、前記情報を含んでいないファイルの種別を特定の種別に定め、
 前記順序制御手段は、1つサーバから取得した各ファイルが全て、前記情報を含んでいない場合、直近に選択したレコードの集合の後に続くレコードの集合であって、サーバ属性が呼び出し先サーバであるレコードの集合を、リストの最後に移動するとともに、前記レコードの集合に対応する各ファイルの種別を前記特定の種別に定める
 付記1または付記2に記載のファイル情報収集システム。
(付記5)
 前記順序制御手段は、選択したレコードの集合に対応する各ファイルが全て、エラーが発生したことを示す情報を含んでいない場合、レコードの集合の選択を中止する
 付記4に記載のファイル情報収集システム。
(付記6)
 リストに含まれているファイル名を、サーバ別に表示する表示手段を備え、
 前記表示手段は、前記サーバ属性およびファイルの種別に応じて、ファイル名の表示態様を変える
 付記4または付記5に記載のファイル情報収集システム。
(付記7)
 各サーバから通信記録を示す通信記録情報を取得し、前記各サーバの通信記録情報に基づいて、前記各サーバで動作しているプロセス間の呼び出し関係を特定する呼び出し関係特定手段を備える
 付記1から付記6のうちのいずれか1項に記載のファイル情報収集システム。
(付記8)
 プロセスが特定された場合に、特定されたプロセスを包含したプロセスの親子関係を示すツリー構造によって表される各プロセスのプロセスIDと、前記各プロセスが開いている各ファイルのファイル名およびファイル属性とを、特定されたプロセスが動作しているサーバから取得し、
 ファイル属性がライト可能またはリード/ライト可能であって、ファイル名が所定の条件を満たしているファイルを選択し、選択したファイルを対象に、ファイルを出力したサーバの識別情報と、ファイル名と、ファイルを出力したサーバのサーバ属性とを含むレコードのリストを作成し、
 特定されたプロセスが呼び出しているプロセスを新たに特定し、特定されたプロセスが呼び出しているプロセスが存在しなくなった後は、最初に特定されたプロセスの呼び出し元となっているプロセスを新たに特定し、順次、特定されたプロセスの呼び出し元となっているプロセスを新たに特定し、
 新たにプロセスが特定されたことによってリストを作成した場合、当該リストを作成済みのリストの最後に追加し、
 前記リストの先頭からレコードを順番に1つずつ選択し、選択したレコードに対応するファイルの更新時刻の情報を、当該ファイルを出力したサーバから取得し、当該更新時刻がユーザによって指定された基準時刻より前の時刻である場合、選択したレコードのサーバ属性を所定の内容に変更し、当該レコードを前記リストの最後に移動し、
 前記サーバ属性は、最初に特定されたプロセスが動作しているサーバであるか、最初に特定されたプロセスが動作しているサーバから見て呼び出し先サーバであるか、最初に特定されたプロセスが動作しているサーバから見て呼び出し元サーバであるか、または、前記所定の内容を示す属性である
 ことを特徴とするファイル情報収集方法。
(付記9)
 コンピュータに、
 プロセスが特定された場合に、特定されたプロセスを包含したプロセスの親子関係を示すツリー構造によって表される各プロセスのプロセスIDと、前記各プロセスが開いている各ファイルのファイル名およびファイル属性とを、特定されたプロセスが動作しているサーバから取得する情報取得処理、および、
 ファイル属性がライト可能またはリード/ライト可能であって、ファイル名が所定の条件を満たしているファイルを選択し、選択したファイルを対象に、ファイルを出力したサーバの識別情報と、ファイル名と、ファイルを出力したサーバのサーバ属性とを含むレコードのリストを作成するリスト作成処理を実行させ、
 前記情報取得処理で、特定されたプロセスが呼び出しているプロセスを新たに特定させ、特定されたプロセスが呼び出しているプロセスが存在しなくなった後は、最初に特定されたプロセスの呼び出し元となっているプロセスを新たに特定させ、順次、特定されたプロセスの呼び出し元となっているプロセスを新たに特定させ、
 前記リスト作成処理で、新たにプロセスが特定されたことによってリストを作成した場合、当該リストを作成済みのリストの最後に追加させ、
 前記リストの先頭からレコードを順番に1つずつ選択し、選択したレコードに対応するファイルの更新時刻の情報を、当該ファイルを出力したサーバから取得し、当該更新時刻がユーザによって指定された基準時刻より前の時刻である場合、選択したレコードのサーバ属性を所定の内容に変更し、当該レコードを前記リストの最後に移動する順序制御処理を実行させ、
 前記サーバ属性は、最初に特定されたプロセスが動作しているサーバであるか、最初に特定されたプロセスが動作しているサーバから見て呼び出し先サーバであるか、最初に特定されたプロセスが動作しているサーバから見て呼び出し元サーバであるか、または、前記所定の内容を示す属性である
 ことを特徴とするファイル情報収集プログラム。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は2015年12月4日に出願された日本出願特願2015-237675を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、サーバからファイルの情報を収集してログファイルのリストを生成するシステムに好適に適用される。
 1 ファイル情報収集システム
 2 情報取得手段
 3 ファイル特定手段
 4 呼び出し関係情報記憶手段
 5 順序制御手段
 6 表示手段

Claims (9)

  1.  あるプロセスが特定された場合に、前記特定されたプロセスが呼び出しているプロセスと、前記特定されたプロセスの呼び出し元となっているプロセスとを包含する、前記特定されたプロセスと親子関係にある複数のプロセスにおいて、各プロセスのプロセスIDと、前記各プロセスが使用する各ファイルのファイル名およびファイル属性とを、前記特定されたプロセスが動作しているサーバから取得する、情報取得手段と、
     前記ファイル属性がライト可能またはリード/ライト可能であって、前記ファイル名が所定の条件を満たしているファイルを選択し、当該選択されたファイルを対象に、当該ファイルを出力したサーバの識別情報と、当該ファイル名と、当該ファイルを出力したサーバのサーバ属性とを含むレコードのリストを作成し、新たなプロセスを特定することによってリストを作成した場合、当該リストを作成済みのリストの最後に追加する、リスト作成手段と、
     前記リストの先頭から前記レコードを1つずつ順番に選択し、当該選択したレコードに対応するファイルの更新時刻の情報を、当該ファイルを出力したサーバから取得し、当該更新時刻がユーザによって指定された基準時刻より前である場合、前記選択したレコードのサーバ属性を所定の情報に変更し、当該レコードを前記リストの最後に移動させる順序制御手段
    とを備える
     ファイル情報収集システム。
  2.  前記順序制御手段は、前記選択されたファイルの、更新時刻の情報およびサイズの情報を、当該ファイルを出力したサーバから取得し、当該更新時刻がユーザによって指定された基準時刻より前である場合、または、当該サイズが0である場合、当該ファイルのサーバ属性を所定の情報に変更し、当該ファイルのレコードをリストの最後に移動させる
     請求項1に記載のファイル情報収集システム。
  3.  前記リストに含まれている前記ファイル名を、サーバ別に表示する表示手段を備え、
     前記表示手段は、前記サーバ属性に応じて、前記ファイル名の表示態様を変える
     請求項1または請求項2に記載のファイル情報収集システム。
  4.  前記順序制御手段は、
     前記リストの先頭側から、前記サーバの識別情報が共通であって連続する未選択のレコードの集合を順次選択し、当該選択したレコードの集合に対応する各ファイルを、当該各ファイルを出力したサーバから取得し、
     取得したファイル毎に、エラーが発生したことを示すエラー情報を含んでいるか否かを判定し、前記エラー情報を含んでいないファイルの種別を特定の種別に定め、
     1つのサーバから取得した各ファイルが全て、前記エラー情報を含んでいない場合、直近に選択したレコードの集合の後に続くレコードの集合であって、前記サーバ属性が前記呼び出し先サーバであるレコードの集合を、前記リストの最後に移動するとともに、前記レコードの集合に対応する各ファイルの種別を前記特定の種別に定め、
     前記サーバ属性は、前記特定されたプロセスが動作しているサーバ、前記特定されたプロセスが動作しているサーバに対する呼び出し先サーバ、前記特定されたプロセスが動作しているサーバに対する呼び出し元サーバ、または、前記所定の情報、のいずれかを示す情報である
     請求項1または請求項2に記載のファイル情報収集システム。
  5.  前記順序制御手段は、前記選択したレコードの集合に対応する各ファイルの全てが前記エラー情報を含んでいない場合、レコードの集合の選択を中止する
     請求項4に記載のファイル情報収集システム。
  6.  前記リストに含まれている前記ファイル名を、サーバ別に表示する表示手段を更に備え、
     前記表示手段は、前記サーバ属性および前記ファイルの種別に応じて、前記ファイル名の表示態様を変える
     請求項4または請求項5に記載のファイル情報収集システム。
  7.  各サーバから通信記録を示す通信記録情報を取得し、前記各サーバの通信記録情報に基づいて、前記各サーバで動作しているプロセス間の呼び出し関係を特定する呼び出し関係特定手段を更に備える
     請求項1から請求項6のうちのいずれか1項に記載のファイル情報収集システム。
  8.  あるプロセスが特定された場合に、前記特定されたプロセスが呼び出しているプロセスと、前記特定されたプロセスの呼び出し元となっているプロセスとを包含する、前記特定されたプロセスと親子関係にある複数のプロセスにおいて、各プロセスのプロセスIDと、前記各プロセスが使用する各ファイルのファイル名およびファイル属性とを、前記特定されたプロセスが動作しているサーバから取得し、
     前記ファイル属性がライト可能またはリード/ライト可能であって、前記ファイル名が所定の条件を満たしているファイルを選択し、当該選択されたファイルを対象に、当該ファイルを出力したサーバの識別情報と、当該ファイル名と、当該ファイルを出力したサーバのサーバ属性とを含むレコードのリストを作成し、新たなプロセスを特定することによってリストを作成した場合、当該リストを作成済みのリストの最後に追加し、
     前記リストの先頭から前記レコードを1つずつ順番に選択し、当該選択したレコードに対応するファイルの更新時刻の情報を、当該ファイルを出力したサーバから取得し、当該更新時刻がユーザによって指定された基準時刻より前である場合、前記選択したレコードのサーバ属性を所定の情報に変更し、当該レコードを前記リストの最後に移動させる
     ことを備えるファイル情報収集方法。
  9.  あるプロセスが特定された場合に、前記特定されたプロセスが呼び出しているプロセスと、前記特定されたプロセスの呼び出し元となっているプロセスとを包含する、前記特定されたプロセスと親子関係にある複数のプロセスにおいて、各プロセスのプロセスIDと、前記各プロセスが使用する各ファイルのファイル名およびファイル属性とを、前記特定されたプロセスが動作しているサーバから取得し、
     前記ファイル属性がライト可能またはリード/ライト可能であって、前記ファイル名が所定の条件を満たしているファイルを選択し、当該選択されたファイルを対象に、当該ファイルを出力したサーバの識別情報と、当該ファイル名と、当該ファイルを出力したサーバのサーバ属性とを含むレコードのリストを作成し、新たなプロセスを特定することによってリストを作成した場合、当該リストを作成済みのリストの最後に追加し、
     前記リストの先頭から前記レコードを1つずつ順番に選択し、当該選択したレコードに対応するファイルの更新時刻の情報を、当該ファイルを出力したサーバから取得し、当該更新時刻がユーザによって指定された基準時刻より前である場合、前記選択したレコードのサーバ属性を所定の情報に変更し、当該レコードを前記リストの最後に移動させる
     機能をコンピュータに実現させるためのファイル情報収集プログラムを格納する記憶媒体。
PCT/JP2016/085754 2015-12-04 2016-12-01 ファイル情報収集システム、方法および記憶媒体 WO2017094845A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/779,156 US10831581B2 (en) 2015-12-04 2016-12-01 File information collection system and method, and storage medium
JP2017554178A JP6841228B2 (ja) 2015-12-04 2016-12-01 ファイル情報収集システム、方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015237675 2015-12-04
JP2015-237675 2015-12-04

Publications (1)

Publication Number Publication Date
WO2017094845A1 true WO2017094845A1 (ja) 2017-06-08

Family

ID=58797569

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/085754 WO2017094845A1 (ja) 2015-12-04 2016-12-01 ファイル情報収集システム、方法および記憶媒体

Country Status (3)

Country Link
US (1) US10831581B2 (ja)
JP (1) JP6841228B2 (ja)
WO (1) WO2017094845A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782593A (zh) * 2020-06-30 2020-10-16 湖南中车时代通信信号有限公司 一种基于冗余存储系统文件获取方法及装置
JP2021528749A (ja) * 2018-06-27 2021-10-21 アマゾン・テクノロジーズ・インコーポレーテッド 自動パケットレスネットワーク到達可能性分析

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244306A (ja) * 2009-04-06 2010-10-28 Nec Corp 障害解析情報採取装置、障害解析情報採取方法、障害解析情報採取プログラム
JP2011197785A (ja) * 2010-03-17 2011-10-06 Nomura Research Institute Ltd ログ収集システムおよびログ収集プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216457A (ja) 2002-01-23 2003-07-31 Hitachi Ltd エラーログ収集解析エージェントシステム
JP4568502B2 (ja) * 2004-01-09 2010-10-27 株式会社日立製作所 情報処理システムおよび管理装置
US20060015826A1 (en) * 2004-07-13 2006-01-19 Sony Corporation Hard disk multimedia player and method
US8903949B2 (en) * 2005-04-27 2014-12-02 International Business Machines Corporation Systems and methods of specifying service level criteria
US20060264178A1 (en) * 2005-05-20 2006-11-23 Noble Gayle L Wireless diagnostic systems
EP1903441B1 (en) * 2005-07-14 2016-03-23 Fujitsu Ltd. Message analyzing device, message analyzing method and message analyzing program
US8041683B1 (en) * 2006-09-29 2011-10-18 Emc Corporation Methods and apparatus for locating network logs
JP5509564B2 (ja) * 2008-09-30 2014-06-04 富士通株式会社 メッセージ送信方法及びプログラム
JP5304449B2 (ja) * 2009-06-02 2013-10-02 富士通株式会社 シナリオ作成プログラム、シナリオ作成装置およびシナリオ作成方法
US20110029565A1 (en) * 2009-07-31 2011-02-03 Leonardo William Estevez Generation of a Media Profile
US8881129B1 (en) * 2011-05-24 2014-11-04 Okta, Inc. Updating integration metadata in a multi-tenant system
WO2013016013A1 (en) * 2011-07-27 2013-01-31 Cleversafe, Inc. Generating dispersed storage network event records
US8634523B2 (en) * 2011-12-05 2014-01-21 Yellowpages.Com, Llc Telephonic information distribution system and method
WO2013111317A1 (ja) * 2012-01-27 2013-08-01 富士通株式会社 情報処理方法、装置及びプログラム
US9602586B2 (en) * 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244306A (ja) * 2009-04-06 2010-10-28 Nec Corp 障害解析情報採取装置、障害解析情報採取方法、障害解析情報採取プログラム
JP2011197785A (ja) * 2010-03-17 2011-10-06 Nomura Research Institute Ltd ログ収集システムおよびログ収集プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021528749A (ja) * 2018-06-27 2021-10-21 アマゾン・テクノロジーズ・インコーポレーテッド 自動パケットレスネットワーク到達可能性分析
JP7189236B2 (ja) 2018-06-27 2022-12-13 アマゾン・テクノロジーズ・インコーポレーテッド 自動パケットレスネットワーク到達可能性分析
US11671442B2 (en) 2018-06-27 2023-06-06 Amazon Technologies, Inc. Automated packetless network reachability analysis
CN111782593A (zh) * 2020-06-30 2020-10-16 湖南中车时代通信信号有限公司 一种基于冗余存储系统文件获取方法及装置
CN111782593B (zh) * 2020-06-30 2023-12-12 湖南中车时代通信信号有限公司 一种基于冗余存储系统文件获取方法及装置

Also Published As

Publication number Publication date
JPWO2017094845A1 (ja) 2018-10-11
US10831581B2 (en) 2020-11-10
JP6841228B2 (ja) 2021-03-10
US20180357119A1 (en) 2018-12-13

Similar Documents

Publication Publication Date Title
US11550829B2 (en) Systems and methods for load balancing in a system providing dynamic indexer discovery
US10713245B2 (en) Utilizing persistent and non-persistent connections for generating a job result for a job
CN1280759C (zh) 电信系统中的数据同步装置
US10963800B2 (en) Service layer augmentation of response to semantically-informed query of arbitrary external data sources
CN110471923B (zh) 一种区块链交易记录的处理方法及装置
EP2472417A1 (en) Method and device for accessing file resources
CN112380180A (zh) 数据同步处理方法、装置、设备及存储介质
EP1422901A1 (en) Client driven synchronization of file and folder content in web publishing
CN113204598B (zh) 一种数据同步方法、系统及存储介质
CN108924215B (zh) 一种基于树形结构的服务发现处理方法及装置
CN114791846B (zh) 一种针对云原生混沌工程实验实现可观测性的方法
CN112491609B (zh) 基于业务服务的系统应用架构发现方法及系统
CN110580189A (zh) 生成前端页面的方法、装置、计算机设备以及存储介质
JP7108039B2 (ja) システム全体の制御とデータ探索の自動化を可能にするための視覚的および実行テンプレートの推奨
CN111680019B (zh) 一种区块链的数据扩容方法及其装置
WO2017094845A1 (ja) ファイル情報収集システム、方法および記憶媒体
JP5106062B2 (ja) ファイル検索方法、ファイル検索装置、検索システム、及び、ファイル検索プログラム
JP2005259057A (ja) 更新履歴管理装置及び記録媒体
CN113377789A (zh) 数据库变更数据的处理方法、装置、计算机设备和介质
WO2018147529A1 (ko) 온라인 환경에서 구현되는 대시보드 내 차트간 인터랙션 방법
CN109783462A (zh) 一种基于分布式文件系统的数据访问方法和装置
CN112199426B (zh) 微服务架构下的接口调用管理方法、装置、服务器及介质
CN111143006B (zh) 命令帮助信息的获取方法及装置
JP5892006B2 (ja) 分析プログラム、分析方法及び分析装置
CN105893241A (zh) 测试数据的更新方法和装置

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017554178

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16870782

Country of ref document: EP

Kind code of ref document: A1