WO2012160637A1 - メッセージ判定装置およびメッセージ判定プログラム - Google Patents

メッセージ判定装置およびメッセージ判定プログラム Download PDF

Info

Publication number
WO2012160637A1
WO2012160637A1 PCT/JP2011/061760 JP2011061760W WO2012160637A1 WO 2012160637 A1 WO2012160637 A1 WO 2012160637A1 JP 2011061760 W JP2011061760 W JP 2011061760W WO 2012160637 A1 WO2012160637 A1 WO 2012160637A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
pattern
unit
interval
occurrence
Prior art date
Application number
PCT/JP2011/061760
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 JP2013516095A priority Critical patent/JP5704234B2/ja
Priority to PCT/JP2011/061760 priority patent/WO2012160637A1/ja
Priority to EP11866262.6A priority patent/EP2717162A4/en
Publication of WO2012160637A1 publication Critical patent/WO2012160637A1/ja
Priority to US14/078,699 priority patent/US9547545B2/en

Links

Images

Classifications

    • 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/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
    • 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/0751Error or fault detection not based on redundancy
    • 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Definitions

  • the present invention relates to a message determination device and the like.
  • the management device that manages the operation monitors a message output in the event of an abnormality, and detects an abnormality in the system.
  • the management device detects a system abnormality by monitoring a message output in a normal state from a device or application in the system, in addition to a message output in the case of an abnormality.
  • an operation manager who manages the operation manually defines a message to be monitored as a rule related to the operation in correspondence with the device configuration of the system, the operation of the system, and the like.
  • the management apparatus can detect the abnormality of the system by monitoring the message to be monitored defined in the rule based on the rule regarding the operation.
  • the management apparatus is a combination of one or two or more consecutive messages generated when the distributed system is normally operated, and an identifier for uniquely identifying the message and each message indicated by the identifier
  • a normal pattern having the number of occurrences of as a constituent element is stored. Then, the management device refers to the normal pattern, searches for an identifier that matches the identifier of the collected message, and counts the number of occurrences of the message indicated by the identifier when there is a corresponding identifier. Then, the management device determines that an abnormality has occurred when the counted number of occurrences is greater than or less than a predefined value.
  • the failure prediction apparatus calculates the number of bits between error frames, which is the total number of bits of a frame transmitted on a transmission path between a certain error frame and a subsequent error frame. Then, the failure prediction apparatus compares the calculated number of bits with a threshold value calculated based on the number of transmission bits corresponding to the rate of occurrence of a statistically naturally occurring transmission path bit error. Detect faults. Then, the failure prediction apparatus determines that a failure has occurred on the network system when the calculated number of bits is smaller than the threshold value.
  • FCS Flash Check Sequence
  • JP 2007-96835 A JP-A-11-224214 JP-A-8-139722 JP 2006-318071 A
  • the management device may have difficulty detecting a system abnormality.
  • the device in which the error has occurred cannot output a message properly.
  • a device in which an abnormality has occurred cannot output a message that has been output when it is normal, or cannot output at a timing that should be output when it is normal.
  • a device in which an abnormality has occurred does not necessarily output a message regarding the abnormality for every abnormality. Then, even if the operation manager defines a message or the like to be monitored as a rule regarding operation, the management apparatus may not be able to detect an abnormality using the defined rule.
  • the operation manager defines the rules regarding operations in advance. Then, there is a problem that it may be difficult for the management apparatus to detect the abnormality.
  • the goal is to detect system anomalies.
  • the message determination device is generated in the system, a storage unit that stores a message generated in the system, an extraction unit that extracts a message having a certain generation interval from the message stored in the storage unit, and the system.
  • a determination unit that determines whether or not an occurrence interval of the message extracted by the extraction unit out of the fixed message is out of the predetermined range.
  • FIG. 1 is a functional block diagram illustrating the configuration of the message determination device according to the first embodiment.
  • FIG. 2 is a functional block diagram illustrating the configuration of the management apparatus according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of a data structure of an occurrence interval table according to the first embodiment.
  • FIG. 4 is a diagram illustrating an example of the data structure of the monitoring table according to the first embodiment.
  • FIG. 5A is a diagram illustrating an example of a message classification method (message type ID type).
  • FIG. 5B is a diagram illustrating another example (regular expression type) of the message classification method.
  • FIG. 5C is a diagram illustrating another example (similarity determination type) of the message classification method.
  • FIG. 1 is a functional block diagram illustrating the configuration of the message determination device according to the first embodiment.
  • FIG. 2 is a functional block diagram illustrating the configuration of the management apparatus according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of a
  • FIG. 6 is a flowchart illustrating a processing procedure for generating monitoring information according to the first embodiment.
  • FIG. 7A is a flowchart showing a processing procedure for failure detection when a message is generated in a shorter period than usual.
  • FIG. 7B is a flowchart showing a failure detection processing procedure when a message that should have occurred does not occur or when a message has occurred after a longer period than usual.
  • FIG. 8 is a functional block diagram illustrating the configuration of the management apparatus according to the third embodiment.
  • FIG. 9 is a diagram illustrating an example of a data structure of an occurrence interval table according to the third embodiment.
  • FIG. 10 is a diagram illustrating an example of the data structure of the monitoring table according to the third embodiment.
  • FIG. 9 is a diagram illustrating an example of a data structure of an occurrence interval table according to the third embodiment.
  • FIG. 11 is a diagram illustrating an example of a technique for extracting a message generated during a certain period as a pattern.
  • FIG. 12 is a diagram for explaining a specific example of the same determination of message patterns.
  • FIG. 13 is a flowchart illustrating a processing procedure for generating monitoring information according to the third embodiment.
  • FIG. 14A is a flowchart illustrating a failure detection processing procedure when a message is generated in a shorter period than usual.
  • FIG. 14B is a flowchart showing a failure detection processing procedure when a message that should occur is not generated or when a message is generated after a longer period than usual.
  • FIG. 15 is a diagram illustrating a computer that executes a message determination program.
  • FIG. 1 is a functional block diagram illustrating the configuration of the message determination device according to the first embodiment.
  • the message determination device 9 includes a storage unit 11, an extraction unit 12, and a determination unit 13.
  • Examples of the message determination device 9 include a management terminal for managing the entire system including a device such as a PC (Personal Computer). Further, the message determination device 9 is connected to each device such as a PC in the system via a network. Each device in the system outputs a message generated at the time of abnormality and normal to the message determination device 9.
  • the storage unit 11 stores messages generated in the system.
  • the extraction unit 12 extracts a message whose occurrence interval is within a certain range from the message stored in the storage unit 11.
  • the determination unit 13 determines whether or not the generation interval of the message extracted by the extraction unit 12 out of a certain range is out of a certain range among the messages generated in the system.
  • the message determination device 9 extracts a message whose generation interval is within a certain range from the messages generated in the system. Therefore, by using the extracted message for determination of the generation interval for the message, the system abnormality can be detected. It can be detected.
  • Example 2 [Configuration of Management Device According to Second Embodiment] Next, Example 2 will be described.
  • a management device that monitors messages output from each device in the network system is employed as an example of a message determination device will be described.
  • FIG. 2 is a functional block diagram illustrating the configuration of the management apparatus according to the second embodiment.
  • the management device 1 includes a network control unit 31, a collection unit 32, a monitoring information generation unit 33, a detection unit 34, a warning unit 35, and a storage unit 36.
  • the storage unit 36 includes a message log 361, an occurrence interval table 362, and a monitoring table 363.
  • the storage unit 36 is, for example, a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk.
  • the network control unit 31 communicates via a network, and here communicates with each device in the network system and receives a message output from each device.
  • the network may be wired or wireless, and may be any network that can communicate with each device in the network system.
  • the collecting unit 32 receives a message received by the network control unit 31 during operation of the network system, and collects the received message. Then, the collection unit 32 stores the collected messages in a message log 361 that stores a message generation history.
  • the message collected by the collection unit 32 means a message output by each device in the network system, and includes an important message and an unimportant message.
  • the important message here means a message to be monitored used when detecting a failure of the system, and the unimportant message means any other message. Details of a method for extracting a message to be monitored will be described later.
  • the monitoring information generating unit 33 analyzes the message log 361 and generates monitoring information that is information used when detecting a failure in the system.
  • the monitoring information includes, for example, a threshold value for determining whether the message is a monitoring target or a failure.
  • the monitoring information includes information defining rules regarding operation.
  • the monitoring information generation unit 33 updates the monitoring information at regular intervals or irregular intervals, and generates information corresponding to the latest device configuration of the network system. As an example of the fixed period, it may be one hour or one day. Further, as an irregular example, there are a time when the device configuration has changed and a time when devices have been added.
  • the monitoring information generation unit 33 includes a calculation unit 331 and an extraction unit 332.
  • the calculation unit 331 analyzes the message log 361 and calculates an occurrence interval for each message type. For example, the calculation unit 331 selects messages one by one in ascending order from the oldest time among the messages stored in the message log 361, and classifies the selected messages. As an example, a specific field of a message is assigned to an ID (IDentification) indicating the type of message, and the calculation unit 331 classifies the ID assigned to the specific field as the type of the message for the selected message. . Details of the message classification method will be described later.
  • the calculation unit 331 searches for an entry corresponding to the classified message type from the occurrence interval table 362 that manages the occurrence interval for each message type. Then, if the corresponding entry cannot be searched, the calculation unit 331 adds an entry related to the selected message to the occurrence interval table 362. On the other hand, when the calculation unit 331 can search for the corresponding entry, the calculation unit 331 generates the classified message based on the message stored in the message log 361 and the occurrence of the same type of message whose occurrence time is closest to the message. Calculate the interval. Then, the calculation unit 331 updates information related to the calculated occurrence interval with respect to the corresponding entry in the occurrence interval table 362.
  • the calculation unit 331 adds 1 to the number of occurrences corresponding to the message type of the corresponding entry for the classified message, and updates the added number of occurrences.
  • the calculation unit 331 temporarily holds the generation interval in the storage unit 36 in association with the message type of the corresponding entry. This is because, for the messages from the start to the end of the message log 361, the calculation of the average interval and the standard deviation of the classified message generation intervals is completed after the calculation of the message classification and the generation interval is completed.
  • the calculation unit 331 classifies messages from the start to the end of the message log 361, and further repeats the process of calculating the occurrence interval. Then, when the calculation unit 331 processes to the end of the message log 361, the calculation unit 331 corresponds to the message type based on the occurrence frequency temporarily stored corresponding to the number of occurrences and the message type stored in the occurrence interval table 362. Calculate the average interval between occurrences. Further, the calculation unit 331 calculates the variance of the occurrence interval corresponding to the type of message using the calculated average interval and the temporarily generated occurrence interval, and calculates the standard deviation from the calculated variance. Then, the calculation unit 331 updates the calculated standard deviation to the corresponding entry corresponding to the message type in the occurrence interval table 362.
  • the calculation unit 331 has been described as selecting messages one by one in ascending order from the oldest time among the messages stored in the message log 361. However, the calculation unit 331 is not limited to this, and one message is selected in descending order from the newest time. The messages may be selected one by one.
  • FIG. 3 is a diagram illustrating an example of a data structure of an occurrence interval table according to the second embodiment.
  • the occurrence interval table 362 stores the number of occurrences 362b, the average interval 362c, and the standard deviation 362d in association with each message type 362a.
  • the message type 362a indicates the type of message.
  • an ID messages type ID
  • the number of occurrences 362b indicates the number of occurrences of a message corresponding to the message type 362a.
  • the average interval 362c indicates an average of occurrence intervals corresponding to the message type 362a.
  • the standard deviation 362d indicates the standard deviation of the occurrence interval corresponding to the message type 362a. For example, when the message type 362a is “C”, “2406” is set as the value of the number of occurrences 362b, “120.2” seconds are set as the value of the average interval 362c, and “10.5” seconds are set as the value of the standard deviation 362d. I remember it.
  • the extraction unit 332 extracts a message whose message generation interval is within a certain range as a monitoring target. For example, the extraction unit 332 extracts message types in which the variation in the occurrence interval from the average interval is within a certain range based on the average interval and the standard deviation indicating the average of the occurrence intervals stored in the occurrence interval table 362. . The extracted type of message is monitored. As an example, the extraction unit 332 extracts message types of “0.1” or less indicating a range in which the quotient when the standard deviation is divided by the average interval. That is, 10% or less of the average interval is set as a certain range. Then, the extraction unit 332 stores an entry corresponding to the extracted message type in the monitoring table 363 that manages the type of message to be monitored.
  • the extraction unit 332 extracts a message whose quotient when the standard deviation is divided by the average interval is smaller than “0.1”.
  • the extraction unit 332 is not limited to this and is not limited to the system configuration or system operation. Messages smaller than the corresponding values may be extracted.
  • FIG. 4 is a diagram illustrating an example of the data structure of the monitoring table according to the second embodiment.
  • the monitoring table 363 stores an average interval 363b, a standard deviation 363c, the latest message 363d, and an elapsed time 363e from the previous time in association with each message type 363a.
  • the message type 363a indicates the type of message to be monitored.
  • the average interval 363b indicates an average of occurrence intervals corresponding to the message type 363a.
  • the standard deviation 363c indicates the standard deviation of the occurrence interval corresponding to the message type 363a.
  • the most recent message 363d indicates a message that occurred most recently.
  • the elapsed time 363e from the previous time indicates the elapsed time from the time of the previous occurrence to the current time for the same type of message. For example, when the message type 363a is “C”, the value of the average interval 363b is “120.2” seconds, the standard deviation 363c is “10.5” seconds, the latest message 363d is “O”, the previous time “115” seconds are stored as the elapsed time 363e from
  • the detection unit 34 receives the message received by the network control unit 31 and monitors the occurrence interval of the monitoring target if the received message is the monitoring target extracted by the extraction unit 332. And the detection part 34 detects as a failure of a network system, when the generation
  • a message is out of a certain range, it can be divided into a case where a message is generated in a shorter period than usual and a case where a message that is supposed to occur is not generated or a message is generated after a longer period than usual. .
  • the detection unit 34 classifies the received message. Note that a classification method similar to the method classified by the calculation unit 331 is used. Then, the detection unit 34 searches the monitoring table 363 for an entry corresponding to the classified message type. When the detection unit 34 can search, the detection unit 34 calculates the elapsed time of the corresponding entry based on the message stored in the message log 361. That is, the detection unit 34 calculates the elapsed time from the time of the message of the same entry closest to the time of the received message to the time of the received message. And the detection part 34 determines whether the calculated elapsed time is below a threshold value. Then, when the calculated elapsed time is equal to or less than the threshold value, the detection unit 34 determines that the message is generated in a shorter period than usual, and detects the failure of the network system.
  • the detection unit 34 uses the message information stored in the message log 361 to calculate the elapsed time from the previous occurrence time to the current time. calculate. And the detection part 34 determines whether the calculated elapsed time is more than a threshold value. When the calculated elapsed time is equal to or greater than the threshold, the detection unit 34 determines that a message that should be generated does not occur or that a message has occurred after a longer period than normal, and is detected as a failure of the network system. To do.
  • the threshold value is determined for each message type.
  • an upper and lower limit value of the generation interval that includes approximately 95% of the generation intervals of the plurality of messages generated for each message type can be used. That is, as shown in Equation (1), the occurrence interval X from the value obtained by subtracting the value obtained by multiplying the standard deviation by 2 from the average interval to the value obtained by adding the value obtained by multiplying the standard deviation by 2 to the average interval is
  • the message generation interval includes approximately 95% of the messages related to each entry in the generation interval table 362. Average interval ⁇ standard deviation ⁇ 2 ⁇ occurrence interval X ⁇ average interval + standard deviation ⁇ 2 (1) Therefore, an occurrence interval exceeding approximately 95% is regarded as a system failure.
  • a lower limit value can be used as a threshold value when a message is generated in a shorter period than usual.
  • an upper limit value can be used as a threshold value when a message that should occur is not generated or when a message is generated after a longer period than usual.
  • the warning unit 35 warns that the failure has been detected by, for example, displaying on a display or sending a mail to a predetermined mail address.
  • FIG. 5A is a diagram illustrating an example of a message classification method (message type ID type).
  • a specific field of the message is an ID indicating the type of message.
  • the calculation unit 331 and the detection unit 34 classify the messages according to the message ID.
  • “AP020S001” in a specific field of the message is an ID indicating the message type, that is, a message type ID.
  • FIG. 5B is a diagram showing another example (regular expression type) of the message classification method.
  • the regular expression type has a regular expression for identifying the type of message in the message dictionary. Then, the calculation unit 331 and the detection unit 34 classify the message by comparing the input message with a regular expression in the message dictionary.
  • FIG. 5C is a diagram showing another example (similarity determination type) of the message classification method.
  • the similarity determination type has a message learned from a past message log 361 in a learning dictionary. Then, the calculation unit 331 and the detection unit 34 compare the input message with the character string of each message in the learning dictionary, and classify the input message based on the similarity as a result of the comparison.
  • the input message M0 is compared with the message with the ID “001” in the learning dictionary and has a similarity of 6 words out of 9 words, that is, 66.666%.
  • the input message M0 is compared with the message of ID “002” in the learning dictionary, and has a similarity of 1 word out of 9 words, that is, 11.11%.
  • the input message M0 is classified as the ID “001”.
  • FIG. 6 is a flowchart illustrating a processing procedure for generating monitoring information according to the second embodiment. It is assumed that the message log 361 stores messages output from each device in the network system by the collection unit 32.
  • the calculation unit 331 determines whether or not there is a monitoring information generation request (step S11). When it is determined that there is no monitoring information generation request (step S11; No), the calculation unit 331 repeats the determination process until it is determined that there is a monitoring information generation request. On the other hand, if it is determined that a monitoring information generation request has been made (step S11; Yes), the calculation unit 331 opens a file of the message log 361 (step S12).
  • calculation part 331 reads one message among the messages memorize
  • the calculation unit 331 classifies the read message (step S14). For example, the calculation unit 331 classifies the ID assigned to a specific field as the message type for the read message. Then, the calculation unit 331 searches the occurrence interval table 362 for an entry corresponding to the classified message type (step S15).
  • the calculation unit 331 determines whether a corresponding entry has been found (step S16). If it is determined that no corresponding entry has been found (step S16; No), the calculation unit 331 adds an entry relating to the classified message to the occurrence interval table 362 (step S17), and proceeds to step S18.
  • step S16 when it is determined that the corresponding entry has been found (step S16; Yes), the calculation unit 331 calculates the generation interval between the classified message and the message of the same type closest to the message based on the message log 361. (Step S18).
  • the calculation unit 331 updates information related to the calculated occurrence interval for the corresponding entry (step S19). For example, the calculation unit 331 adds 1 to the number of occurrences corresponding to the message type of the corresponding entry, and updates the added number of occurrences. At this time, the calculation unit 331 temporarily holds the generation interval in the storage unit 36 in association with the message type of the corresponding entry.
  • step S20 determines whether it is the termination
  • step S20 determines whether it is the termination
  • the calculation unit 331 calculates the standard deviation of the occurrence intervals of all entries based on the entries stored in the occurrence interval table 362 (step S20). S21). For example, the calculation unit 331 calculates an average interval of the occurrence intervals corresponding to the message types based on the occurrence count stored in the occurrence interval table 362 and the occurrence intervals temporarily held corresponding to the message types of the entries. calculate. Then, the calculation unit 331 calculates the variance of the occurrence interval corresponding to the message type using the calculated average interval and the temporarily generated occurrence interval, and calculates the standard deviation corresponding to the message type from the calculated variance. calculate.
  • the extraction unit 332 extracts an entry whose ratio between the standard deviation and the average interval calculated for each message type of the entry is equal to or less than a threshold value, and adds the extracted entry to the monitoring table 363 (step S22). For example, “0.1” indicating 10% of the average interval is applied as the threshold, but the threshold is not limited thereto.
  • FIG. 7A shows a processing procedure of failure detection when a message is generated in a shorter period than usual.
  • FIG. 7B shows a failure detection processing procedure when a message that should have occurred does not occur or when a message has occurred after a longer period than usual.
  • the detection unit 34 determines whether a message has been received (step S31). If it is determined that no message has been received (step S31; No), the detection unit 34 repeats the determination process until a message is received. On the other hand, when it determines with having received the message (step S31; Yes), the detection part 34 classifies the received message (step S32). For example, the detection unit 34 classifies the ID assigned to a specific field as the message type for the received message.
  • the detection unit 34 searches the monitoring table 363 for an entry corresponding to the classified message type (step S33). Here, the detection unit 34 determines whether or not a corresponding entry has been found (step S34). When it is determined that the corresponding entry has not been found (step S34; No), the detection unit 34 proceeds to step S31 because the received message is not a monitoring target.
  • the detection unit 34 updates the field of the latest message 363d in the monitoring table 363 (step S35). In other words, the detection unit 34 updates the field of the message 363d closest to the corresponding entry to “ ⁇ ”, and updates the field of the message 363d closest to the other entry to “ ⁇ ”.
  • the detection unit 34 calculates the elapsed time of the corresponding entry (step S36). That is, the detection unit 34 calculates the elapsed time from the time of the message of the same entry closest to the time of the received message to the time of the received message. And the detection part 34 determines whether the calculated elapsed time is below a threshold value (for example, lower limit mentioned above) (step S37). If it is determined that the elapsed time is not less than or equal to the threshold (step S37; No), the detection unit 34 proceeds to step S31 because a message has not occurred in a shorter period than usual.
  • a threshold value for example, lower limit mentioned above
  • the detection unit 34 determines that a message has occurred in a shorter period than normal, and detects a failure in the network system (step S38). Then, the warning unit 35 issues an alert in response to a notification from the detection unit 34 that a network system failure has been detected, for example, by displaying on a display or sending a mail to a predetermined mail address (step S39).
  • the detection unit 34 determines whether or not a certain time has elapsed (step S41). When it is determined that the predetermined time has not elapsed (step S41; No), the detection unit 34 proceeds to step S41 to wait until the predetermined time elapses.
  • the predetermined time As an example of the fixed time, it may be 1 minute or 5 minutes, and a time corresponding to the system configuration or system operation may be applied.
  • the detection unit 34 calculates the elapsed time of each entry stored in the monitoring table 363 (step S42). For example, for each entry stored in the monitoring table 363, the detection unit 34 uses the message information stored in the message log 361 to calculate the elapsed time from the previous occurrence time to the current time.
  • the detection unit 34 determines whether or not there is an entry whose elapsed time is equal to or greater than a threshold value (for example, the above-described upper limit value) (step S43). When it is determined that there is no entry whose elapsed time is equal to or greater than the threshold (step S43; No), the detection unit 34 proceeds to step S41 because any entry has a message with a normal elapsed time.
  • a threshold value for example, the above-described upper limit value
  • the detection unit 34 detects a failure of the network system because a message that should have occurred is not generated for the entry. (Step S44). Then, the warning unit 35 issues an alert in response to a notification from the detection unit 34 that a failure of the network system has been detected for the entry, for example, by displaying on a display or sending a mail to a predetermined mail address (step S45). ).
  • the collection unit 32 stores messages generated in the network system in the message log 361. Then, the extraction unit 332 extracts a message whose message generation interval stored in the message log 361 is within a certain range. Therefore, the extraction unit 332 extracts a message whose message generation interval is within a certain range, so that the extracted message can be a monitoring target, and monitoring information including the monitoring target message is automatically defined. be able to.
  • the detection unit 34 determines whether or not the generation interval of the message extracted by the extraction unit 332 out of a certain range is out of a certain range among the messages generated in the network system. Therefore, when the occurrence interval of the message extracted by the extraction unit 332 exceeds a certain range, the detection unit 34 can easily detect a system failure caused by, for example, the message not being output. In addition, when the generation interval of the message extracted by the extraction unit 332 falls below a certain range, the detection unit 34 can easily detect a system failure caused by, for example, outputting the message in a short period.
  • the extraction unit 332 classifies each message type stored in the message log 361. Then, the extraction unit 332 extracts a type of message whose message generation interval is within a certain range for each type of classified message. Therefore, the extraction unit 332 can extract messages that are not completely coincident with each other as one type of message instead of extracting only those that are completely coincident with each other, and can perform failure detection with high versatility.
  • the management apparatus 1 has described the case where a type of message whose message generation interval is within a certain range is extracted as a monitoring target.
  • the management apparatus 1 is not limited to this, and may extract a message pattern whose message pattern generation interval is within a certain range as a monitoring target.
  • the message pattern here refers to a set of messages generated within a certain period. That is, the management apparatus 1 extracts a set of messages whose generation intervals are within a certain range.
  • the management apparatus 2 extracts a message pattern stored in the message log 361, and extracts, as a monitoring target, a pattern in which the occurrence interval of each pattern is within a certain range for each extracted message pattern. The case where it does is demonstrated.
  • FIG. 8 is a functional block diagram illustrating the configuration of the management apparatus according to the third embodiment.
  • symbol is shown, and the description of the overlapping structure and operation
  • the difference between the second embodiment and the third embodiment is that the calculation unit 331 of the monitoring information generation unit 33 is changed to the calculation unit 331A, and the extraction unit 332 is changed to the extraction unit 332A.
  • the difference between the second embodiment and the third embodiment is that the generation interval table 362 in the storage unit 36 is changed to the generation interval table 362A, and the monitoring table 363 is changed to the monitoring table 363A.
  • the detection unit 34 is changed to a detection unit 34A.
  • the calculation unit 331A analyzes the message log 361 and calculates an occurrence interval for each message pattern. For example, the calculation unit 331A selects the messages stored in the message log 361 one by one and classifies the selected messages. As an example, a specific field of the message is assigned to an ID (IDentification) indicating the type of message, and the calculation unit 331A classifies the ID assigned to the specific field as the type of the message for the selected message. . Note that the message classification method is the same as described with reference to FIGS.
  • the calculation unit 331A extracts messages generated from a time when the selected message is generated up to a certain period before as a pattern.
  • the fixed period it may be 2 minutes or 3 minutes, and a time according to the system configuration or system operation of the system may be applied. Details of a method for extracting a message generated during a certain period as a pattern will be described later.
  • the calculation unit 331A searches the occurrence interval table 362A for an entry corresponding to the extracted pattern. If the calculation unit 331A fails to search, the calculation unit 331A adds an entry corresponding to the selected pattern to the occurrence interval table 362A. Based on the message stored in the message log 361, the calculation unit 331A calculates the occurrence interval between the extracted pattern and the same pattern whose occurrence time is closest to the pattern. Then, the calculation unit 331A updates information related to the calculated occurrence interval for the corresponding entry in the occurrence interval table 362A. As an example, the calculation unit 331A adds 1 to the number of occurrences corresponding to the pattern of the corresponding entry for the extracted pattern, and updates the added number of occurrences.
  • the calculation unit 331A temporarily holds the generation interval in the storage unit 36 in association with the pattern of the corresponding entry. This is because, for the messages from the start to the end of the message log 361, after the extraction of the pattern and the calculation of the occurrence interval are completed, the average interval and the standard deviation of the occurrence intervals of the extracted pattern are calculated.
  • the calculation unit 331A repeats the process of extracting the message pattern for the messages from the start to the end of the message log 361 and calculating the occurrence interval of the extracted message pattern.
  • the calculation unit 331A determines the occurrence interval corresponding to the pattern based on the occurrence number stored in the occurrence interval table 362A and the occurrence interval temporarily held corresponding to the pattern. Calculate the average interval.
  • the calculation unit 331A calculates the variance of the occurrence intervals corresponding to the pattern using the calculated average interval and the occurrence interval temporarily held corresponding to the pattern, and calculates the standard deviation from the calculated variance. Then, the calculation unit 331A updates the calculated standard deviation to the entry of the corresponding pattern in the occurrence interval table 362A.
  • FIG. 9 is a diagram illustrating an example of a data structure of an occurrence interval table according to the third embodiment.
  • the occurrence interval table 362A stores a pattern content 362f, an occurrence count 362b, an average interval 362c, and a standard deviation 362d in association with each pattern type 362e.
  • the pattern type 362e indicates a message pattern type.
  • an ID that uniquely represents the message pattern can be used.
  • the content 362f of the pattern indicates the type of message included in the pattern extracted by the message pattern extraction unit 400.
  • the number of occurrences 362b, the average interval 362c, and the standard deviation 362d have the same data structure as the occurrence interval table 362 shown in FIG.
  • An example of a record stored in the occurrence interval table 362A is shown.
  • the pattern type 362e is “A”
  • “a, b, c, d” as the pattern contents 362f, “144” as the value of the number of occurrences 362b, “3601.8” seconds as the value of the average interval 362c, “30.5” seconds are stored as the value of the standard deviation 362d.
  • the extraction unit 332A extracts a pattern whose pattern generation interval is within a certain range as a monitoring target. Then, the extraction unit 332A stores the entry corresponding to the extracted pattern in the monitoring table 363A.
  • FIG. 10 is a diagram illustrating an example of the data structure of the monitoring table according to the third embodiment.
  • the monitoring table 363A associates the pattern contents 363g, the partial match 363h, the average interval 363b, the standard deviation 363c, the latest message 363d, and the elapsed time 363e from the previous time for each pattern type 363f.
  • the pattern type 363f indicates the type of the message pattern to be monitored.
  • an ID uniquely representing a message pattern can be used.
  • the content 363g of the pattern indicates the type of message included in the pattern.
  • the partial match 363h indicates the type of message actually generated during monitoring among the types of messages included in the pattern.
  • the average interval 363b, the standard deviation 363c, the latest message 363d, and the elapsed time 363e from the previous time have the same data structure as the monitoring table 363 shown in FIG.
  • An example of a record stored in the monitoring table 363A is shown.
  • the pattern type 363f is “A”
  • “a, b, c, d” as the pattern contents 363g
  • “a, b, c” as the partial match 363h
  • “3601.8” as the value of the average interval 363b “30.5” seconds is stored as the value of the second and standard deviation 363c.
  • “ ⁇ ” is stored as the latest message 363d
  • “3680” seconds are stored as the elapsed time 363e from the previous time.
  • the detection unit 34A monitors the occurrence interval of the pattern extracted by the extraction unit 332A. When the occurrence interval of the pattern is out of a certain range corresponding to the pattern, the detection is performed as a failure of the network system. Detect. If it is out of a certain range, the message pattern occurs in a shorter period than usual, and the message pattern that should occur does not occur or the message pattern occurs after a longer period than usual. Divided into cases.
  • the detection unit 34A when the detection unit 34A receives a message, the detection unit 34A classifies the received message using a method similar to the method classified by the calculation unit 331A. Then, the detection unit 34A extracts messages generated as a pattern from a time when the received message is generated until a certain period of time. The certain period is equivalent to the certain period used when the pattern is extracted by the calculation unit 331A.
  • the detection unit 34A searches the monitoring table 362A for an entry corresponding to the extracted pattern. For example, the detection unit 34A compares the extracted pattern contents with the contents of the pattern contents 363g stored in the monitoring table 363A, and determines whether the patterns are the same. As an example, the detection unit 34A compares the extracted pattern content and the content of the pattern contents 363g, and based on the order of messages included in each content and the message matching rate, the detection unit 34A is a complete match or a partial match. Determine if there is. Then, the detection unit 34A determines that the pattern determined to be complete match or partial match is the same pattern, and searches the monitoring table 363A for an entry of the pattern.
  • the detection unit 34A updates the type of message that was the partial match in the field of the partial match 363h of the corresponding entry. As a result, the detection unit 34A can identify the type of message that did not match in the partially matched pattern, so that the occurrence status of the message can be grasped. For example, in FIG. 10, when the pattern type 363 f is “A”, there are “a, b, c, d” message types as the pattern contents 363 g. However, as the partial match 363h, the message type is “a, b, c”, and the message type that does not match in the pattern contents 363g can be specified as “d”. Therefore, for example, the detection unit 34A can grasp that the message type “d” has not occurred.
  • the detection unit 34A calculates the elapsed time of the corresponding entry based on the message stored in the message log 361. That is, the detection unit 34A calculates the elapsed time from the occurrence time of the same pattern closest to the occurrence time of the pattern including the received message to the occurrence time of the pattern including the received message.
  • the pattern occurrence time may refer to, for example, the start message of the messages included in the pattern, that is, the generation time of the oldest message, or the end message, that is, the generation time of the latest message. Also good.
  • the detection unit 34A determines whether or not the calculated elapsed time is equal to or less than a threshold value. When the calculated elapsed time is equal to or less than the threshold, the detection unit 34A detects the failure of the network system because the message pattern has occurred in a shorter period than usual.
  • the detection unit 34A uses the message information stored in the message log 361 for each pattern of the plurality of entries stored in the monitoring table 363A to calculate the elapsed time from the previous occurrence time to the current time. calculate. Then, the detection unit 34A determines whether or not the calculated elapsed time is equal to or greater than a threshold value. When the calculated elapsed time is equal to or greater than the threshold, the detection unit 34A does not generate a message pattern that should occur, or a message pattern has occurred after a longer period than usual. Detect as.
  • FIG. 11 is a diagram illustrating an example of a technique for extracting a message generated during a certain period as a pattern.
  • the calculation unit 331A classifies each past message stored in, for example, the message log 361 using a message dictionary.
  • the calculation unit 331A extracts messages generated from a certain time before a certain period as a pattern.
  • the calculation unit 331A extracts a message “abc” generated from the generation time of the classified message “c” until a certain period before as a pattern.
  • the calculation unit 331A extracts, as a pattern, messages “bcd” generated from the generation time of the classified message “d” until a certain period before.
  • the calculation unit 331A extracts a message “ce” generated from a generation time of the classified message “e” until a certain period before as a pattern.
  • FIG. 12 is a diagram for explaining a specific example of the same determination of message patterns.
  • the message pattern “abc” includes types “a”, “b”, and “c” after message classification. It is assumed that messages are generated in the order of “a”, “b”, and “c”.
  • the detection unit 34A compares the contents of the T time message pattern with the contents of the pattern contents 363g stored in the monitoring table 363A, and determines whether the patterns are the same.
  • the detection unit 34A compares the message pattern “abc” at time T with the contents “abcd” of the contents 363g of the pattern whose pattern type 363f is “A”. Then, the detection unit 34A includes the message pattern “abc” of the T time in this order in the content “abcd” for the pattern type “A”, but does not include “d”. Judge that it is not an exact match.
  • the detection unit 34A determines that the patterns determined to be partial match are the same pattern. Then, the detection unit 34A updates the message pattern “abc” of the T time in the field of the partial match 363h where the pattern type 363f of the partial match is “A”.
  • FIG. 13 is a flowchart illustrating a processing procedure for generating monitoring information according to the third embodiment. It is assumed that the message log 361 stores messages output from each device in the network system by the collection unit 32.
  • the calculation unit 331A determines whether or not there is a request for generating monitoring information (step S51). When it is determined that there is no monitoring information generation request (step S51; No), the calculation unit 331A repeats the determination process until it is determined that there is a monitoring information generation request. On the other hand, when it is determined that a monitoring information generation request has been made (step S51; Yes), the calculation unit 331A opens a file of the message log 361 (step S52).
  • the calculation unit 331A reads one message out of the messages stored in the message log 361 (step S53).
  • the calculation unit 331A classifies the read message (step S54). For example, the calculation unit 331A classifies the ID assigned to a specific field as the message type for the read message. Then, the calculation unit 331A extracts, as a pattern, messages that have occurred in the past certain period from the generation time of one read message (step S55). Then, the calculation unit 331A searches the occurrence interval table 362A for an entry corresponding to the extracted pattern (step S56).
  • the calculation unit 331A determines whether or not a corresponding entry has been found (step S57). When it is determined that the corresponding entry is not found (step S57; No), the calculation unit 331A adds the corresponding entry to the occurrence interval table 362A (step S58), and proceeds to step S59.
  • step S57 when it is determined that the corresponding entry is found (step S57; Yes), the calculation unit 331A calculates the generation interval between the extraction pattern and the same pattern whose generation time is closest to the pattern based on the message log 361. (Step S59).
  • the calculation unit 331A updates the information related to the calculated occurrence interval for the corresponding entry (step S60). For example, the calculation unit 331A adds 1 to the number of occurrences corresponding to the pattern of the corresponding entry, and updates the added number of occurrences. At this time, the calculation unit 331A temporarily holds the generation interval in the storage unit 36 in association with the pattern of the corresponding entry.
  • the calculation unit 331A determines whether it is the end of the message log (step S61). If it is determined that it is not the end of the message log (step S61; No), the calculation unit 331A proceeds to step S53 in order to read the next message.
  • the calculation unit 331A calculates the standard deviation of the occurrence intervals of all entries based on the entries stored in the occurrence interval table 362A (step S61). S62). For example, the calculation unit 331A calculates the average interval of the occurrence intervals corresponding to the pattern based on the occurrence count stored in the occurrence interval table 362A and the occurrence interval temporarily held corresponding to the entry pattern. Then, the calculation unit 331A calculates the variance of the occurrence interval corresponding to the pattern using the calculated average interval and the occurrence interval temporarily held corresponding to the entry pattern, and corresponds to the pattern from the calculated variance. Calculate the standard deviation.
  • the extraction unit 332A extracts an entry in which the ratio between the standard deviation and the average interval calculated for each entry pattern is equal to or less than a threshold value, and adds the entry to the monitoring table 363A (step S63). For example, “0.1” indicating 10% of the average interval is applied as the threshold, but the threshold is not limited thereto.
  • FIG. 14A shows a failure detection processing procedure when a message pattern occurs in a shorter period than usual.
  • FIG. 14B shows a processing procedure for failure detection when a message pattern that should occur does not occur or a message pattern occurs after a longer period than usual.
  • the detection unit 34A determines whether a message has been received (step S71). When it is determined that no message has been received (step S71; No), the detection unit 34A repeats the determination process until a message is received. On the other hand, when it is determined that a message has been received (step S71; Yes), the detection unit 34A classifies the received message using a method similar to the method classified by the calculation unit 331A (step S72).
  • the detection unit 34A extracts, as a pattern, messages that have occurred in the past certain period from the time of occurrence of the received message (step S73). Then, the detection unit 34A searches the monitoring table 363A for an entry corresponding to the extracted pattern (step S74).
  • the detection unit 34A determines whether or not a corresponding entry has been found (step S75). When it is determined that the corresponding entry is not found (step S75; No), the detection unit 34A proceeds to step S71 because the pattern of the corresponding entry is not a monitoring target.
  • the detection unit 34A compares the extracted pattern content with the content of the pattern content 363g of the corresponding entry, and determines whether the match is complete. Determine if they match.
  • the detection unit 34A updates the type of the message that is the partial match in the field of the partial match 363h of the corresponding entry (step S76).
  • the detector 34A updates the field of the most recent message 363d in the monitoring table 363A (step S77). That is, the detection unit 34A updates the field of the latest message 363d of the corresponding entry to “ ⁇ ”, and updates the field of the latest message 363d of other entries to “ ⁇ ”.
  • the detection unit 34A calculates the elapsed time of the corresponding entry (step S78). That is, the detection unit 34A calculates the elapsed time from the occurrence time of the same pattern closest to the occurrence time of the pattern including the received message to the occurrence time of the pattern including the received message.
  • the detection unit 34A determines whether or not the calculated elapsed time is equal to or less than a threshold value (for example, the lower limit value described above) (step S79). If it is determined that the elapsed time is not less than or equal to the threshold (step S79; No), the detection unit 34A proceeds to step S71 because a message pattern has not occurred in a shorter time than usual.
  • a threshold value for example, the lower limit value described above
  • the detection unit 34A detects a failure of the network system because the message pattern is generated in a shorter time than usual (step S80). Then, in response to the notification that the network system failure has been detected from the detection unit 34A, the warning unit 35 performs an alert, for example, by displaying on a display or sending a mail to a predetermined mail address (step S81).
  • the detection unit 34A determines whether or not a predetermined time has elapsed (step S91). If it is determined that the predetermined time has not elapsed (step S91; No), the detection unit 34A proceeds to step S91 to wait until the predetermined time has elapsed.
  • the detection unit 34A calculates the elapsed time of each entry stored in the monitoring table 363A (step S92). For example, for each entry stored in the monitoring table 363A, the detection unit 34A uses the message information stored in the message log 361 to calculate the elapsed time from the previous occurrence time to the current time.
  • the detection unit 34A determines whether or not there is an entry whose elapsed time is equal to or greater than a threshold value (for example, the above-described upper limit value) (step S93). When it is determined that there is no entry whose elapsed time is equal to or greater than the threshold (step S93; No), the detection unit 34A proceeds to step S91 because any entry has a message pattern with a normal elapsed time.
  • a threshold value for example, the above-described upper limit value
  • step S93 if it is determined that there is an entry whose elapsed time is equal to or greater than the threshold (step S93; Yes), the detection unit 34A does not generate a message pattern that should occur for the entry. Detection is performed (step S94). Then, the warning unit 35 issues an alert in response to a notification from the detection unit 34A that a failure of the network system has been detected for the entry, for example, by displaying on a display or sending a mail to a predetermined mail address (step S95). ).
  • the collection unit 32 stores messages generated in the network system in the message log 361. Then, the extraction unit 332A extracts, for each message stored in the message log 361, a pattern of messages generated within a certain period from a predetermined time. Then, the extraction unit 332A extracts a message pattern in which the occurrence interval of each pattern is within a certain range for each extracted message pattern. Therefore, the extraction unit 332A extracts a message pattern in which the occurrence interval of the message pattern falls within a certain range, so that the extracted pattern can be set as a monitoring target, and rules regarding operations including the monitoring target pattern are automatically set. Can be defined.
  • the detection unit 34A determines whether or not the generation interval of the message pattern extracted by the extraction unit 332A out of a predetermined range is included in the messages generated in the network system. Accordingly, when the occurrence interval of the message pattern extracted by the extraction unit 332A exceeds a certain range, the detection unit 34A can easily detect a system failure caused by, for example, the message pattern not being output. In addition, when the occurrence interval of the message pattern extracted by the extraction unit 332A is less than a certain range, the detection unit 34A can easily cause a system failure due to the output of the message pattern in a short period of time, for example. Can be detected.
  • the functions of the collection unit 32, the monitoring information generation unit 33, the detection units 34 and 34A, and the warning unit 35 are realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). be able to. Further, it can be realized by causing a predetermined program to function a CPU (Central Processing Unit).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • management apparatuses 1 and 2 are equipped with functions such as the collection unit 32, the monitoring information generation unit 33, and the detection units 34 and 34A described above in an information processing apparatus such as a known personal computer or workstation. Can be realized.
  • each component of each illustrated apparatus does not necessarily need to be physically configured as illustrated. That is, the specific mode of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
  • the calculation unit 331 and the extraction unit 332 may be integrated as one unit.
  • the detection unit 34 has a detection unit when a message is generated in a shorter period than normal, and a detection unit when a message that is supposed to occur is not generated or a message is generated after a longer period than normal, May be dispersed.
  • the storage unit 36 such as the message log 361 and the occurrence interval table 362 may be connected as an external device of the management apparatus 1 via a network.
  • FIG. 15 is a diagram illustrating a computer that executes a message determination program.
  • the computer 1000 includes a RAM (Random Access Memory) 1010, a network interface device 1020, an HDD 1030, a CPU (Central Processing Unit) 1040, a medium reading device 1050, and a bus 1060.
  • the RAM 1010, the network interface device 1020, the HDD 1030, the CPU 1040, and the medium reading device 1050 are connected by a bus 1060.
  • the HDD 1030 stores a message determination program 1031 having the same functions as those of the collection unit 32, the monitoring information generation unit 33, and the detection unit 34 illustrated in FIG. Further, the HDD 1030 stores management information 1032 corresponding to the message log 361, the occurrence interval table 362, and the monitoring table 363 shown in FIG.
  • the message determination program 1031 functions as the message determination process 1011. Then, the message determination process 1011 loads information read from the management information 1032 and the like into an area allocated to itself on the RAM 1010 as appropriate, and executes various data processing based on the loaded data and the like.
  • the message determination program 1031 does not necessarily have to be stored in the HDD 1030.
  • the computer 1000 reads out and executes this program stored in a “portable physical medium” such as a CD-ROM. Also good.
  • this program may be stored in another computer (or server) connected to the computer 1000 via a public line, the Internet, a LAN (Local Area Network), a WAN (Wide Area Network), or the like.
  • the computer 1000 reads the program from these and executes it.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 メッセージ判定装置(9)は、システムで発生したメッセージを記憶する記憶部(11)と、記憶部(11)によって記憶されたメッセージから発生間隔が一定範囲であるメッセージを抽出する抽出部(12)と、システムで発生したメッセージのうち抽出部(12)によって抽出されたメッセージについて発生間隔が一定範囲を外れたか否かを判定する判定部(13)とを有することとしたので、一定範囲を外れた場合にシステムの障害を検知できる。

Description

メッセージ判定装置およびメッセージ判定プログラム
 本発明は、メッセージ判定装置等に関する。
 従来から、メッセージを基に運用を管理する電子計算機システムでは、システム内の機器やアプリケーション等が異常時に異常に関するメッセージを出力する。そして、運用を管理する管理装置が、異常時に出力されるメッセージを監視し、システムの異常を検知する。
 また、管理装置は、異常時に出力されるメッセージとは別に、システム内の機器やアプリケーション等から正常時に出力されるメッセージを監視することで、システムの異常を検知する。このとき、運用を管理する運用管理者は、システムの機器構成やシステムの動作等に対応させて、手作業で、監視対象とするメッセージを運用に関するルールとして定義する。これにより、管理装置は、運用に関するルールに基づいて、ルールに定義された監視対象のメッセージを監視して、システムの異常を検知できる。
 ここで、メッセージを監視して異常を検知する技術がある。この技術では、管理装置が、分散システムが正常に運用された場合に生成される1または2以上の連続したメッセージの組み合わせであって、該メッセージを一意に識別する識別子と該識別子が示す各メッセージの発生回数とを構成要素とする通常パターンを記憶する。そして、管理装置は、通常パターンを参照し、収集したメッセージの識別子と一致する識別子を検索し、該当する識別子が存在する場合には該識別子が示すメッセージの発生回数をカウントする。そして、管理装置は、カウントした発生回数があらかじめ定義された値以上若しくは以下の場合に、異常と判断する。
 また、イベントを監視してCPU(Central Processing Unit)の処理能力を検知する技術がある。この技術では、中継機能付きの機器が、パケットの宛先が自機器宛て以外の場合には、定期的に発生するイベントの発生間隔を監視し、監視したイベントの発生間隔があらかじめ定められた間隔を超えているか否かによってCPUの処理能力を判断する。そして、機器は、イベントの発生間隔があらかじめ定められた間隔を超えている場合に、CPUの余力がないことを検知する。
 また、FCS(Frame Check Sequence)エラーフレーム(以降、エラーフレームという。)を検出してネットワークシステム上の障害を検知する技術がある。この技術では、障害予測装置が、あるエラーフレームとその次に発生するエラーフレームとの間に伝送路上を伝送するフレームの総ビット数であるエラーフレーム間ビット数を算出する。そして、障害予測装置は、算出したビット数と、統計的に自然に発生する伝送路ビットエラーの発生率に対応する伝送ビット数に基づいて算出される閾値とを比較して、ネットワークシステム上の障害を検知する。そして、障害予測装置は、算出したビット数が閾値よりも小さいとき、ネットワークシステム上で障害が発生していると判定する。
特開2007-96835号公報 特開平11-224214号公報 特開平8-139722号公報 特開2006-318071号公報
 しかしながら、管理装置はシステムの異常を検知することが難しい場合があるという問題があった。
 例えば、システム内の機器に異常が発生した場合、異常が発生した機器は、メッセージを適正に出力できない。すなわち、異常が発生した機器は、正常時に出力していたメッセージを出力できなかったり、正常時であれば出力するはずのタイミングで出力できなかったりする。また、異常が発生した機器は、かならずしもあらゆる異常について、異常に関するメッセージを出力するわけではない。そうすると、運用管理者が監視対象であるメッセージ等を運用に関するルールとして定義しても、管理装置は定義されたルールを用いて、異常を検知できない場合がある。
 また、運用管理者が運用に関するルールを定義することは難しい。すなわち、運用管理者が運用に関するルールを手作業で定義するためには、システムの機器構成やシステムの動作等に関する十分な知識を持つことが望ましい。加えて、運用管理者が、例えば他者から運用を引き継ぐ場合、十分な知識を入手できない場合もある。そうすると、運用管理者は運用に関するルールを手作業で定義することが難しいので、管理装置は、異常を検知することが困難となる。
 しかも、例えば、クラウドコンピューティングのようにシステムの機器構成が頻繁に変化する場合、運用管理者は、運用に関するルールを定義することは難しくなるので、管理装置は異常を検知することが、なおさら困難となる。
 メッセージを監視して障害を検知する従来の技術であっても、カウントした発生回数と比較する値や、イベントの発生間隔と比較する間隔や、障害を検知するために用いられるエラーフレーム等を、運用管理者があらかじめ運用に関するルールとして定義する。そうすると、管理装置は異常を検知することが難しい場合があるという問題が同様にある。
 1つの側面では、システムの異常を検知することを目的とする。
 第1の案では、メッセージ判定装置は、システムで発生したメッセージを記憶する記憶部と、前記記憶部によって記憶されたメッセージから発生間隔が一定範囲であるメッセージを抽出する抽出部と前記システムで発生したメッセージのうち前記抽出部によって抽出されたメッセージについて発生間隔が前記一定範囲を外れたか否かを判定する判定部とを備える。
 システムの異常を検知することができる。
図1は、実施例1に係るメッセージ判定装置の構成を示す機能ブロック図である。 図2は、実施例1に係る管理装置の構成を示す機能ブロック図である。 図3は、実施例1に係る発生間隔テーブルのデータ構造の一例を示す図である。 図4は、実施例1に係る監視用テーブルのデータ構造の一例を示す図である。 図5Aは、メッセージの分類手法の例(メッセージ種類ID型)を示す図である。 図5Bは、メッセージの分類手法の別の例(正規表現型)を示す図である。 図5Cは、メッセージの分類手法の別の例(類似度判定型)を示す図である。 図6は、実施例1に係る監視用情報生成の処理手順を示すフローチャートである。 図7Aは、通常より短期間でメッセージが発生している場合の障害検知の処理手順を示すフローチャートである。 図7Bは、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合の障害検知の処理手順を示すフローチャートである。 図8は、実施例3に係る管理装置の構成を示す機能ブロック図である。 図9は、実施例3に係る発生間隔テーブルのデータ構造の一例を示す図である。 図10は、実施例3に係る監視用テーブルのデータ構造の一例を示す図である。 図11は、一定期間に発生したメッセージをパターンとして抽出する手法の一例を示す図である。 図12は、メッセージパターンの同一判定の具体例を説明する図である。 図13は、実施例3に係る監視用情報生成の処理手順を示すフローチャートである。 図14Aは、通常より短期間でメッセージが発生している場合の障害検知の処理手順を示すフローチャートである。 図14Bは、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合の障害検知の処理手順を示すフローチャートである。 図15は、メッセージ判定プログラムを実行するコンピュータを示す図である。
 以下に、本願の開示するメッセージ判定装置およびメッセージ判定プログラムの実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
 図1は、本実施例1に係るメッセージ判定装置の構成を示す機能ブロック図である。図1に示すように、メッセージ判定装置9は、記憶部11、抽出部12および判定部13を有する。メッセージ判定装置9としては、PC(Personal Computer)等の装置を含む、システム全体を管理するための管理端末が挙げられる。また、メッセージ判定装置9は、システム内の例えばPC等の各機器とネットワークを介して接続されている。システム内の各機器は、異常時および正常時に発生したメッセージをメッセージ判定装置9に出力する。
 記憶部11は、システムで発生したメッセージを記憶する。抽出部12は、記憶部11によって記憶されたメッセージから発生間隔が一定範囲であるメッセージを抽出する。
 判定部13は、システムで発生したメッセージのうち抽出部12によって抽出されたメッセージについて発生間隔が一定範囲を外れたか否かを判定する。
 このようにして、メッセージ判定装置9は、システムで発生したメッセージから発生間隔が一定範囲であるメッセージを抽出するので、メッセージについての発生間隔の判定に抽出したメッセージを用いることにより、システムの異常を検知できる。
[実施例2に係る管理装置の構成]
 次に、実施例2について説明する。実施例2では、メッセージ判定装置の一例として、ネットワークシステム内の各機器から出力されるメッセージを監視する管理装置を採用した場合について説明する。
 図2は、実施例2に係る管理装置の構成を示す機能ブロック図である。図2に示すように、管理装置1は、ネットワーク制御部31、収集部32、監視用情報生成部33、検知部34、警告部35および記憶部36を有する。
 記憶部36は、メッセージログ361、発生間隔テーブル362および監視用テーブル363を有する。なお、記憶部36は、例えば、RAM(Random Access Memory)、フラッシュメモリ(flash memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置である。
 ネットワーク制御部31は、ネットワークを介して通信を行い、ここでは、ネットワークシステム内の各機器と通信を行い各機器から出力されるメッセージを受信する。なお、ネットワークは、有線であっても、無線であっても良く、ネットワークシステム内の各機器と通信を行えるものであれば良い。
 収集部32は、ネットワークシステムの運用時にネットワーク制御部31によって受信されたメッセージを受け取り、受け取ったメッセージを収集する。そして、収集部32は、収集したメッセージを、メッセージの発生履歴を記憶するメッセージログ361に格納する。収集部32によって収集されるメッセージは、ネットワークシステム内の各機器によって出力されるメッセージを意味し、重要なメッセージおよび重要でないメッセージを含む。ここでいう重要なメッセージとは、システムの障害検知を行う際に用いられる監視対象となるメッセージをいい、重要でないメッセージとは、それ以外のメッセージをいう。なお、監視対象となるメッセージを抽出する方法の詳細については後述する。
 監視用情報生成部33は、メッセージログ361を解析して、システムの障害検知を行う際に用いられる情報である監視用情報を生成する。監視用情報には、例えば、監視対象となるメッセージや障害か否かを判定する閾値が含まれる。すなわち、監視用情報には、運用に関するルールを定義した情報が含まれる。なお、監視用情報生成部33は、一定期間毎または不定期毎に監視用情報を更新し、ネットワークシステムの最新の機器構成に対応させた情報を生成する。一定期間の例として、1時間であっても良いし、1日であっても良い。また、不定期の例として、機器構成が変化した時期や機器が追加された時期が挙げられる。
 さらに、監視用情報生成部33は、算出部331および抽出部332を有する。
 算出部331は、メッセージログ361を解析して、メッセージの種類毎の発生間隔を算出する。例えば、算出部331は、メッセージログ361に記憶されたメッセージのうち最も古い時刻から昇順に1個ずつメッセージを選択し、選択したメッセージを分類する。一例として、メッセージの特定のフィールドを、メッセージの種類を示すID(IDentification)に割り当てておき、算出部331は、選択したメッセージについて、特定のフィールドに割り当てられたIDを当該メッセージの種類として分類する。なお、メッセージの分類手法の詳細については後述する。
 また、算出部331は、分類したメッセージの種類に該当するエントリを、メッセージの種類毎に発生間隔を管理する発生間隔テーブル362から検索する。そして、算出部331は、該当するエントリを検索できなかった場合には、選択したメッセージに関するエントリを発生間隔テーブル362に追加する。一方、算出部331は、該当するエントリを検索できた場合には、メッセージログ361に記憶されたメッセージに基づいて、分類したメッセージと、発生時刻が当該メッセージと最も近い同一種類のメッセージとの発生間隔を算出する。そして、算出部331は、算出した発生間隔に関連する情報を発生間隔テーブル362の該当するエントリに対して更新する。一例として、算出部331は、分類したメッセージについて、該当するエントリのメッセージの種類に対応する発生回数を1加算し、加算した発生回数を更新する。この場合、算出部331は、該当するエントリのメッセージの種類に対応させて発生間隔を記憶部36に一時的に保持する。これは、メッセージログ361の開始から終端までのメッセージについて、メッセージの分類および発生間隔の算出が終了した後、分類したメッセージの発生間隔の平均間隔および標準偏差を算出するためである。
 そして、算出部331は、メッセージログ361の開始から終端までのメッセージを分類し、さらに発生間隔を算出する処理を繰り返す。そして、算出部331は、メッセージログ361の終端まで処理すると、発生間隔テーブル362に記憶された発生回数およびメッセージ種類に対応させて一時的に保持した発生間隔に基づいて、メッセージの種類に対応した発生間隔の平均間隔を算出する。さらに、算出部331は、算出した平均間隔および一時的に保持した発生間隔を用いて、メッセージの種類に対応した発生間隔の分散を算出し、算出した分散から標準偏差を算出する。そして、算出部331は、発生間隔テーブル362のメッセージの種類に対応した該当するエントリに、算出した標準偏差を更新する。
 なお、算出部331は、メッセージログ361に記憶されたメッセージのうち最も古い時刻から昇順に1個ずつメッセージを選択するものとして説明したが、これに限定されず、最も新しい時刻から降順に1個ずつメッセージを選択するものとしても良い。
 ここで、発生間隔テーブル362のデータ構造について、図3を参照して説明する。図3は、実施例2に係る発生間隔テーブルのデータ構造の一例を示す図である。図3に示すように、発生間隔テーブル362は、メッセージの種類362a毎に発生回数362b、平均間隔362cおよび標準偏差362dを対応付けて記憶する。メッセージの種類362aは、メッセージの種類を示す。メッセージの種類362aとして、例えば、メッセージを一意に表すID(メッセージ種類ID)を用いることができる。発生回数362bは、メッセージの種類362aに対応したメッセージの発生回数を示す。平均間隔362cは、メッセージの種類362aに対応した発生間隔の平均を示す。標準偏差362dは、メッセージの種類362aに対応した発生間隔の標準偏差を示す。例えば、メッセージの種類362aが「C」である場合、発生回数362bの値として「2406」、平均間隔362cの値として「120.2」秒、標準偏差362dの値として「10.5」秒を記憶している。
 抽出部332は、メッセージの発生間隔が一定範囲となるメッセージを監視対象として抽出する。例えば、抽出部332は、発生間隔テーブル362に記憶された発生間隔の平均を示す平均間隔および標準偏差に基づいて、平均間隔からの発生間隔のばらつきが一定の範囲に収まるメッセージの種類を抽出する。抽出した種類のメッセージが監視対象となる。一例として、抽出部332は、標準偏差を平均間隔で割ったときの商が一定の範囲を示す「0.1」以下のメッセージの種類を抽出する。すなわち、平均間隔の10%以下を一定の範囲とする。そして、抽出部332は、抽出したメッセージの種類に対応するエントリを、監視対象であるメッセージの種類を管理する監視用テーブル363に格納する。なお、抽出部332は、標準偏差を平均間隔で割ったときの商が「0.1」より小さいメッセージを抽出するものとしたが、これに限定されず、システムの機器構成やシステムの動作に応じた値より小さいメッセージを抽出するようにしても良い。
 ここで、監視用テーブル363のデータ構造について、図4を参照して説明する。図4は、実施例2に係る監視用テーブルのデータ構造の一例を示す図である。図4に示すように、監視用テーブル363は、メッセージの種類363a毎に平均間隔363b、標準偏差363c、直近のメッセージ363dおよび前回からの経過時間363eを対応付けて記憶する。メッセージの種類363aは、監視対象であるメッセージの種類を示す。平均間隔363bは、メッセージの種類363aに対応した発生間隔の平均を示す。標準偏差363cは、メッセージの種類363aに対応した発生間隔の標準偏差を示す。直近のメッセージ363dは、直近に発生したメッセージを示す。直近のメッセージ363dとして、例えば、直近にメッセージが発生した場合に「○」、直近にメッセージが発生していない場合に「-」を用いることができる。前回からの経過時間363eは、同一種類のメッセージについて、前回発生した時刻から現在の時刻までの経過時間を示す。例えば、メッセージの種類363aが「C」である場合、平均間隔363bの値として「120.2」秒、標準偏差363cの値として「10.5」秒、直近のメッセージ363dとして「○」、前回からの経過時間363eとして「115」秒を記憶している。
 検知部34は、ネットワーク制御部31によって受信されたメッセージを受け取り、受け取ったメッセージが抽出部332によって抽出された監視対象であれば、監視対象について発生間隔を監視する。そして、検知部34は、監視対象の発生間隔が当該監視対象に対応する一定範囲を外れた場合に、ネットワークシステムの障害として検知する。一定範囲を外れた場合には、通常より短期間でメッセージが発生している場合と、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合とに分けられる。
 まず、通常より短期間でメッセージが発生している場合について説明する。例えば、検知部34は、メッセージを受け取ったとき、受け取ったメッセージを分類する。なお、分類手法は、算出部331で分類した手法と同様の手法を用いるものとする。そして、検知部34は、分類したメッセージの種類に該当するエントリを監視用テーブル363から検索する。そして、検知部34は、検索できた場合には、メッセージログ361に記憶されたメッセージに基づいて、該当するエントリの経過時間を算出する。すなわち、検知部34は、受け取ったメッセージの時刻と最も近い同一エントリのメッセージの時刻から、受け取ったメッセージの時刻までの経過時間を算出する。そして、検知部34は、算出した経過時間が閾値以下であるか否かを判定する。そして、検知部34は、算出した経過時間が閾値以下である場合、通常より短期間でメッセージが発生していると判定し、ネットワークシステムの障害として検知する。
 次に、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合について説明する。例えば、検知部34は、監視用テーブル363に記憶された複数のエントリの各メッセージについて、メッセージログ361に記憶されたメッセージの情報を用いて、前回発生した時刻から現在の時刻までの経過時間を算出する。そして、検知部34は、算出した経過時間が閾値以上であるか否かを判定する。そして、検知部34は、算出した経過時間が閾値以上である場合、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生していると判定し、ネットワークシステムの障害として検知する。
 ここで、閾値の一例について示す。閾値は、メッセージの種類毎に決定される。そして、閾値は、メッセージの種類毎に発生する複数のメッセージの発生間隔のうち略95%を含むこととなる発生間隔の上下限値を用いることができる。つまり、式(1)に示すように、平均間隔から標準偏差に2を乗じた値を引いた値から、標準偏差に2を乗じた値を平均間隔に加算した値までの発生間隔Xは、発生間隔テーブル362の各エントリに関わるメッセージのうち略95%のメッセージの発生間隔を含む。
 平均間隔-標準偏差×2<発生間隔X<平均間隔+標準偏差×2・・・式(1)
したがって、略95%を超えた発生間隔をシステムの障害とする。そこで、通常より短期間でメッセージが発生している場合の閾値は、下限値を用いることができる。一方、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合の閾値は、上限値を用いることができる。
 警告部35は、検知部34によって障害が検知されると、例えばディスプレイへの表示、所定のメールアドレスへのメール送信等によって障害が検知されたことを警告する。
[メッセージの分類手法]
 次に、メッセージの分類手法について、図5A~図5Cを用いて説明する。図5Aは、メッセージの分類手法の例(メッセージ種類ID型)を示す図である。図5Aに示すように、メッセージ種類ID型は、メッセージの特定のフィールドを、メッセージの種類を示すIDとする。そして、算出部331および検知部34は、メッセージのIDによってメッセージを分類する。図5Aの例では、メッセージの特定のフィールドにある「AP020S001」がメッセージの種類を示すID、すなわちメッセージ種類IDとなる。
 図5Bは、メッセージの分類手法の別の例(正規表現型)を示す図である。図5Bに示すように、正規表現型は、メッセージの種類を識別するための正規表現をメッセージ辞書に持つ。そして、算出部331および検知部34は、入力されたメッセージをメッセージ辞書の正規表現と比較することでメッセージを分類する。
 図5Cは、メッセージの分類手法の別の例(類似度判定型)を示す図である。図5Cに示すように、類似度判定型は、過去のメッセージログ361から学習したメッセージを学習辞書に持つ。そして、算出部331および検知部34は、入力されたメッセージを学習辞書の各メッセージの文字列と比較し、比較した結果、類似度により入力されたメッセージを分類する。図5Cの例では、入力されたメッセージM0は、学習辞書内のID「001」のメッセージと比較され、9語中6語、すなわち66.666%の類似度となる。一方、入力されたメッセージM0は、学習辞書内のID「002」のメッセージと比較され、9語中1語、すなわち11.11%の類似度となる。ここで、同一種類に分類する基準値を60%とした場合、入力されたメッセージM0は、ID「001」として分類される。
[実施例2に係る監視用情報生成の処理手順]
 次に、実施例2に係る監視用情報生成の処理手順を、図6を参照して説明する。図6は、実施例2に係る監視用情報生成の処理手順を示すフローチャートである。なお、メッセージログ361には、ネットワークシステム内の各機器から出力されたメッセージが収集部32によって記憶されているものとする。
 まず、算出部331は、監視用情報の生成要求があったか否かを判定する(ステップS11)。監視用情報の生成要求がなかったと判定した場合(ステップS11;No)、算出部331は、監視用情報の生成要求があると判定するまで、判定処理を繰り返す。一方、監視用情報の生成要求があったと判定した場合(ステップS11;Yes)、算出部331は、メッセージログ361のファイルをオープンする(ステップS12)。
 そして、算出部331は、メッセージログ361に記憶されたメッセージのうち1メッセージを読み込む(ステップS13)。例えば、算出部331は、メッセージログ361に記憶されたメッセージを最も古い時刻から昇順に読み込む。
 続いて、算出部331は、読み込んだメッセージを分類する(ステップS14)。例えば、算出部331は、読み込んだメッセージについて、特定のフィールドに割り当てられたIDを当該メッセージの種類として分類する。そして、算出部331は、分類したメッセージの種類に該当するエントリを発生間隔テーブル362から検索する(ステップS15)。
 ここで、算出部331は、該当するエントリがみつかったか否かを判定する(ステップS16)。該当するエントリがみつからなかったと判定した場合(ステップS16;No)、算出部331は、分類したメッセージに関するエントリを発生間隔テーブル362に追加し(ステップS17)、ステップS18に移行する。
 一方、該当するエントリがみつかったと判定した場合(ステップS16;Yes)、算出部331は、メッセージログ361に基づいて、分類したメッセージと、当該メッセージと最も近い同一種類のメッセージとの発生間隔を算出する(ステップS18)。
 そして、算出部331は、該当するエントリに対して、算出した発生間隔に関連する情報を更新する(ステップS19)。例えば、算出部331は、該当するエントリのメッセージの種類に対応した発生回数を1加算し、加算した発生回数を更新する。このとき、算出部331は、該当するエントリのメッセージの種類に対応させて発生間隔を記憶部36に一時的に保持する。
 そして、算出部331は、メッセージログの終端であるか否かを判定する(ステップS20)。メッセージログの終端でないと判定した場合(ステップS20;No)、算出部331は、次のメッセージを読み込むため、ステップS13に移行する。
 一方、メッセージログの終端であると判定した場合(ステップS20;Yes)、算出部331は、発生間隔テーブル362に記憶されたエントリに基づいて、全エントリの発生間隔の標準偏差を算出する(ステップS21)。例えば、算出部331は、発生間隔テーブル362に記憶された発生回数およびエントリのメッセージの種類に対応させて一時的に保持した発生間隔に基づいて、メッセージの種類に対応した発生間隔の平均間隔を算出する。そして、算出部331は、算出した平均間隔および一時的に保持した発生間隔を用いて、メッセージの種類に対応した発生間隔の分散を算出し、算出した分散からメッセージの種類に対応した標準偏差を算出する。
 続いて、抽出部332は、エントリのメッセージの種類毎に算出した標準偏差と平均間隔の比が閾値以下のエントリを抽出し、抽出したエントリを監視用テーブル363に追加する(ステップS22)。閾値には、例えば、平均間隔の10%を示す「0.1」が適用されるが、これに限定されるものではない。
[実施例2に係る障害検知の処理手順]
 次に、実施例2に係る障害検知の処理手順を、図7Aおよび図7Bを参照して説明する。図7Aは、通常より短期間でメッセージが発生している場合の障害検知の処理手順を示す。図7Bは、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合の障害検知の処理手順を示す。
 最初に、通常より短期間でメッセージが発生する場合の障害検知の処理手順について、図7Aを参照して説明する。まず、検知部34は、メッセージを受け取ったか否かを判定する(ステップS31)。メッセージを受け取っていないと判定した場合(ステップS31;No)、検知部34は、メッセージを受け取るまで判定処理を繰り返す。一方、メッセージを受け取ったと判定した場合(ステップS31;Yes)、検知部34は、受け取ったメッセージを分類する(ステップS32)。例えば、検知部34は、受け取ったメッセージについて、特定のフィールドに割り当てられたIDを当該メッセージの種類として分類する。
 そして、検知部34は、分類したメッセージの種類に該当するエントリを監視用テーブル363から検索する(ステップS33)。ここで、検知部34は、該当するエントリがみつかったか否かを判定する(ステップS34)。該当するエントリがみつからなかったと判定した場合(ステップS34;No)、検知部34は、受け取ったメッセージが監視対象でないので、ステップS31に移行する。
 一方、該当するエントリがみつかったと判定した場合(ステップS34;Yes)、検知部34は、監視用テーブル363の直近のメッセージ363dのフィールドを更新する(ステップS35)。すなわち、検知部34は、該当するエントリの直近のメッセージ363dのフィールドを「○」に更新し、それ以外のエントリの直近のメッセージ363dのフィールドを「-」に更新する。
 そして、検知部34は、該当するエントリの経過時間を算出する(ステップS36)。すなわち、検知部34は、受け取ったメッセージの時刻に最も近い同一エントリのメッセージの時刻から、受け取ったメッセージの時刻までの経過時間を算出する。そして、検知部34は、算出した経過時間が閾値(例えば、前述した下限値)以下であるか否かを判定する(ステップS37)。経過時間が閾値以下でないと判定した場合(ステップS37;No)、検知部34は、通常より短期間でメッセージが発生していないので、ステップS31に移行する。
 一方、経過時間が閾値以下であると判定した場合(ステップS37;Yes)、検知部34は、通常より短期間でメッセージが発生していると判定し、ネットワークシステムの障害として検知する(ステップS38)。そして、警告部35は、検知部34からネットワークシステムの障害を検知した旨の通知に応じて、例えばディスプレイへの表示、所定のメールアドレスへのメール送信等によってアラートを行う(ステップS39)。
 次に、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合の障害検知の処理手順について、図7Bを参照して説明する。まず、検知部34は、一定時間が経過したか否かを判定する(ステップS41)。一定時間が経過していないと判定した場合(ステップS41;No)、検知部34は、一定時間が経過するまで待機すべく、ステップS41に移行する。なお、一定時間の例として、1分間であっても良いし、5分間であっても良く、システムの機器構成やシステムの動作に応じた時間を適用すれば良い。
 一方、一定時間が経過していると判定した場合(ステップS41;Yes)、検知部34は、監視用テーブル363に記憶された各エントリの経過時間を算出する(ステップS42)。例えば、検知部34は、監視用テーブル363に記憶された各エントリについて、メッセージログ361に記憶されたメッセージの情報を用いて、前回発生した時刻から現在の時刻までの経過時間を算出する。
 そして、検知部34は、経過時間が閾値(例えば、前述した上限値)以上であるエントリはあったか否かを判定する(ステップS43)。経過時間が閾値以上であるエントリはなかったと判定した場合(ステップS43;No)、検知部34は、どのエントリも通常の経過時間でメッセージが存在しているので、ステップS41に移行する。
 一方、経過時間が閾値以上のエントリはあったと判定した場合(ステップS43;Yes)、検知部34は、当該エントリについて、発生するはずのメッセージが発生していないので、ネットワークシステムの障害として検知する(ステップS44)。そして、警告部35は、検知部34から当該エントリについてネットワークシステムの障害を検知した旨の通知に応じて、例えばディスプレイへの表示、所定のメールアドレスへのメール送信等によってアラートを行う(ステップS45)。
 このように、収集部32は、ネットワークシステムで発生したメッセージをメッセージログ361に格納する。そして、抽出部332は、メッセージログ361によって記憶されたメッセージの発生間隔が一定範囲となるメッセージを抽出する。したがって、抽出部332は、メッセージの発生間隔が一定範囲となるメッセージを抽出するので、抽出したメッセージを監視対象とすることができ、監視対象とするメッセージを含め監視用情報を自動的に定義することができる。
 また、検知部34は、ネットワークシステムで発生したメッセージのうち抽出部332によって抽出されたメッセージについて発生間隔が一定範囲を外れたか否かを判定する。したがって、検知部34は、抽出部332によって抽出されたメッセージについて発生間隔が一定範囲を超えるような場合、例えば当該メッセージが出力されないことを原因としたシステム障害を容易に検知できる。また、検知部34は、抽出部332によって抽出されたメッセージについて発生間隔が一定範囲を下回るような場合、例えば当該メッセージが短期間で出力されることを原因としたシステム障害を容易に検知できる。
 また、抽出部332は、メッセージログ361に記憶されたそれぞれのメッセージの種類を分類する。そして、抽出部332は、分類したメッセージの種類毎にメッセージの発生間隔が一定範囲となる種類のメッセージを抽出する。したがって、抽出部332は、メッセージ同士が完全一致のメッセージだけを抽出するのではなく、完全一致でないメッセージ同士を1つの種類のメッセージとして抽出できるので、汎用性の高い障害検知を行うことができる。
 ところで、実施例2の管理装置1では、メッセージの発生間隔が一定範囲となる種類のメッセージを監視対象として抽出する場合について説明した。しかしながら、管理装置1は、これに限定されず、メッセージのパターンの発生間隔が一定範囲となるメッセージのパターンを監視対象として抽出しても良い。ここでいうメッセージのパターンとは、一定期間内に発生するメッセージの集合をいう。すなわち、管理装置1は、発生間隔が一定範囲となるメッセージの集合を抽出する。
 そこで、実施例3では、管理装置2が、メッセージログ361に記憶されたメッセージのパターンを抽出し、抽出したメッセージのパターン毎に、各パターンの発生間隔が一定範囲となるパターンを監視対象として抽出する場合を説明する。
[実施例3に係る管理装置の構成]
 図8は、実施例3に係る管理装置の構成を示す機能ブロック図である。なお、図2に示す管理装置1と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例2と実施例3とが異なるところは、監視用情報生成部33の算出部331を算出部331Aに変更し、抽出部332を抽出部332Aに変更した点にある。また、実施例2と実施例3とが異なるところは、記憶部36の発生間隔テーブル362を発生間隔テーブル362Aに変更し、監視用テーブル363を監視用テーブル363Aに変更した点にある。また、実施例2と実施例3とが異なるところは、検知部34を検知部34Aに変更した点にある。
 算出部331Aは、メッセージログ361を解析して、メッセージのパターン毎の発生間隔を算出する。例えば、算出部331Aは、メッセージログ361に記憶されたメッセージを1個ずつ選択し、選択したメッセージを分類する。一例として、メッセージの特定のフィールドを、メッセージの種類を示すID(IDentification)に割り当てておき、算出部331Aは、選択したメッセージについて、特定のフィールドに割り当てられたIDを当該メッセージの種類として分類する。なお、メッセージの分類手法については、図5A~図5Cで説明したとおりであるので、説明を省略する。
 また、算出部331Aは、選択したメッセージの発生時刻から一定期間前までに発生したメッセージをパターンとして抽出する。なお、一定期間の例として、2分間であっても良いし、3分間であっても良く、システムの機器構成やシステム動作に応じた時間を適用すれば良い。また、一定期間に発生したメッセージをパターンとして抽出する手法の詳細については後述する。
 また、算出部331Aは、抽出したパターンに該当するエントリを発生間隔テーブル362Aから検索する。そして、算出部331Aは、検索できなかった場合には、選択したパターンに該当するエントリを発生間隔テーブル362Aに追加する。そして、算出部331Aは、メッセージログ361に記憶されたメッセージに基づいて、抽出したパターンと、発生時刻が当該パターンに最も近い同一のパターンとの発生間隔を算出する。そして、算出部331Aは、発生間隔テーブル362Aの該当するエントリに対して、算出した発生間隔に関連する情報を更新する。一例として、算出部331Aは、抽出したパターンについて、該当するエントリのパターンに対応する発生回数を1加算し、加算した発生回数を更新する。このとき、算出部331Aは、該当するエントリのパターンに対応させて発生間隔を記憶部36に一時的に保持する。これは、メッセージログ361の開始から終端までのメッセージについて、パターンの抽出および発生間隔の算出が終了した後、抽出したパターンの発生間隔の平均間隔および標準偏差を算出するためである。
 そして、算出部331Aは、メッセージログ361の開始から終端までのメッセージについて、メッセージのパターンを抽出し、さらに抽出したメッセージのパターンの発生間隔を算出する処理を繰り返す。そして、算出部331Aは、メッセージログ361の終端まで処理すると、発生間隔テーブル362Aに記憶された発生回数およびパターンに対応させて一時的に保持した発生間隔に基づいて、パターンに対応した発生間隔の平均間隔を算出する。さらに、算出部331Aは、算出した平均間隔およびパターンに対応させて一時的に保持した発生間隔を用いて、パターンに対応した発生間隔の分散を算出し、算出した分散から標準偏差を算出する。そして、算出部331Aは、発生間隔テーブル362Aの該当するパターンのエントリに、算出した標準偏差を更新する。
 ここで、発生間隔テーブル362Aのデータ構造について、図9を参照して説明する。図9は、実施例3に係る発生間隔テーブルのデータ構造の一例を示す図である。図9に示すように、発生間隔テーブル362Aは、パターンの種類362e毎にパターンの中身362f、発生回数362b、平均間隔362cおよび標準偏差362dを対応付けて記憶する。パターンの種類362eは、メッセージのパターンの種類を示す。メッセージのパターンの種類362eとして、例えば、メッセージのパターンを一意に表すIDを用いることができる。パターンの中身362fは、メッセージパターン抽出部400によって抽出されたパターンに含まれるメッセージの種類を示す。なお、発生回数362b、平均間隔362cおよび標準偏差362dについては、図3に示す発生間隔テーブル362と同一のデータ構造であるので、その説明については省略する。
 発生間隔テーブル362Aに記憶されたレコードの一例を示す。パターンの種類362eが「A」である場合、パターンの中身362fとして「a,b,c,d」、発生回数362bの値として「144」、平均間隔362cの値として「3601.8」秒、標準偏差362dの値として「30.5」秒を記憶している。
 図8に戻って、抽出部332Aは、パターンの発生間隔が一定範囲となるパターンを監視対象として抽出する。そして、抽出部332Aは、抽出したパターンに対応するエントリを監視用テーブル363Aに格納する。
 ここで、監視用テーブル363Aのデータ構造について、図10を参照して説明する。図10は、実施例3に係る監視用テーブルのデータ構造の一例を示す図である。図10に示すように、監視用テーブル363Aは、パターンの種類363f毎にパターンの中身363g、部分一致363h、平均間隔363b、標準偏差363c、直近のメッセージ363dおよび前回からの経過時間363eを対応付けて記憶する。パターンの種類363fは、監視対象であるメッセージのパターンにおける種類を示す。パターンの種類363fとして、例えば、メッセージのパターンを一意に表すIDを用いることができる。パターンの中身363gは、パターンに含まれるメッセージの種類を示す。部分一致363hは、パターンに含まれるメッセージの種類のうち監視中に実際に発生したメッセージの種類を示す。なお、平均間隔363b、標準偏差363c、直近のメッセージ363dおよび前回からの経過時間363eについては、図4に示す監視用テーブル363と同一のデータ構造であるので、その説明については省略する。
 監視用テーブル363Aに記憶されたレコードの一例を示す。パターンの種類363fが「A」である場合、パターンの中身363gとして「a,b,c,d」、部分一致363hとして「a,b,c」、平均間隔363bの値として「3601.8」秒、標準偏差363cの値として「30.5」秒を記憶している。さらに、直近のメッセージ363dとして「-」、前回からの経過時間363eとして「3680」秒を記憶している。
 図8に戻って、検知部34Aは、抽出部332Aによって抽出されたパターンについて発生間隔を監視し、当該パターンの発生間隔が当該パターンに対応する一定範囲を外れた場合に、ネットワークシステムの障害として検知する。一定範囲を外れた場合には、通常より短期間でメッセージのパターンが発生している場合と、発生するはずのメッセージのパターンが発生しないかまたは通常より長期間経過後にメッセージのパターンが発生している場合とに分けられる。
 まず、通常より短期間でメッセージのパターンが発生している場合について説明する。例えば、検知部34Aは、メッセージを受け取ったとき、算出部331Aで分類した手法と同様の手法を用いて、受け取ったメッセージを分類する。そして、検知部34Aは、受け取ったメッセージの発生時刻から一定期間前までに発生したメッセージをパターンとして抽出する。かかる一定期間は、算出部331Aによってパターンを抽出した場合に用いられる一定期間と同値であるものとする。
 また、検知部34Aは、抽出したパターンに該当するエントリを監視用テーブル362Aから検索する。例えば、検知部34Aは、抽出したパターンの内容と監視用テーブル363Aに記憶されたパターンの中身363gの内容とを比較し、パターンが同一であるか否かを判定する。一例として、検知部34Aは、抽出したパターンの内容およびパターンの中身363gの内容を比較し、それぞれの内容に含まれるメッセージの順序およびメッセージの一致率に基づいて、完全一致であるか部分一致であるかを判定する。そして、検知部34Aは、完全一致または部分一致であると判定したパターンを同一パターンであると判断して、当該パターンのエントリを監視用テーブル363Aから検索する。そして、検知部34Aは、部分一致である場合、該当するエントリの部分一致363hのフィールドに、部分一致であったメッセージの種類を更新する。これにより、検知部34Aは、部分一致となったパターンの中で一致しなかったメッセージの種類を特定できるので、メッセージの発生状況を把握することが可能となる。例えば、図10では、パターンの種類363fが「A」である場合、パターンの中身363gとして「a,b,c,d」のメッセージの種類がある。ところが、部分一致363hとしてメッセージの種類が「a,b,c」であり、パターンの中身363gの中で一致しなかったメッセージの種類が「d」と特定できる。したがって、例えば検知部34Aは、メッセージの種類「d」が発生していないことを把握できる。
 また、検知部34Aは、メッセージログ361に記憶されたメッセージに基づいて、該当するエントリの経過時間を算出する。すなわち、検知部34Aは、受け取ったメッセージを含むパターンの発生時刻に最も近い同一パターンの発生時刻から、受け取ったメッセージを含むパターンの発生時刻までの経過時間を算出する。なお、パターンの発生時刻とは、例えば、パターンに含まれるメッセージのうち始端のメッセージ、つまり最も古いメッセージの発生時刻を指しても良いし、終端のメッセージ、つまり最も新しいメッセージの発生時刻を指しても良い。
 そして、検知部34Aは、算出した経過時間が閾値以下であるか否かを判定する。そして、検知部34Aは、算出した経過時間が閾値以下である場合、通常より短期間で当該メッセージのパターンが発生しているので、ネットワークシステムの障害として検知する。
 次に、発生するはずのメッセージのパターンが発生しないかまたは通常より長期間経過後にメッセージのパターンが発生している場合について説明する。例えば、検知部34Aは、監視用テーブル363Aに記憶された複数のエントリの各パターンについて、メッセージログ361に記憶されたメッセージの情報を用いて、前回の発生時刻から現在の時刻までの経過時間を算出する。そして、検知部34Aは、算出した経過時間が閾値以上であるか否かを判定する。そして、検知部34Aは、算出した経過時間が閾値以上である場合、発生するはずのメッセージのパターンが発生しないかまたは通常より長期間経過後にメッセージのパターンが発生しているので、ネットワークシステムの障害として検知する。
 次に、一定期間に発生したメッセージをパターンとして抽出する手法について、図11を参照して説明する。図11は、一定期間に発生したメッセージをパターンとして抽出する手法の一例を示す図である。なお、図11の例では、図5Bで示した正規表現型でメッセージを分類するものとする。図11に示すように、算出部331Aは、例えばメッセージログ361に記憶された、過去のそれぞれのメッセージを、メッセージ辞書を用いて分類する。ここでは、各メッセージが分類された結果、発生時刻の古い順に「abcdcefebca・・・」と表される。
 そして、算出部331Aは、ある時刻から一定期間前までに発生したメッセージをパターンとして抽出する。ここでは、一例として、算出部331Aは、分類したメッセージ「c」の発生時刻から一定期間前までに発生したメッセージ「abc」をパターンとして抽出する。また、別の例として、算出部331Aは、分類したメッセージ「d」の発生時刻から一定期間前までに発生したメッセージ「bcd」をパターンとして抽出する。さらに、別の例として、算出部331Aは、分類したメッセージ「e」の発生時刻から一定期間前までに発生したメッセージ「ce」をパターンとして抽出する。
 次に、メッセージパターンの同一判定の具体例について、図12を参照して説明する。図12は、メッセージパターンの同一判定の具体例を説明する図である。図12に示すように、T時刻のメッセージのパターンの内容が「abc」である場合について説明する。なお、メッセージのパターン「abc」には、メッセージの分類後の種類「a」、「b」、「c」を含んでいる。そして、「a」「b」「c」の順序で、メッセージが発生したものとする。
 検知部34Aは、T時刻のメッセージのパターンの内容と監視用テーブル363Aに記憶されたパターンの中身363gの内容とを比較し、パターンが同一であるか否かを判定する。ここでは、検知部34Aは、T時刻のメッセージのパターン「abc」とパターンの種類363fが「A」であるパターンの中身363gの内容「abcd」とを比較する。すると、検知部34Aは、パターンの種類「A」についての内容「abcd」にはT時刻のメッセージのパターン「abc」がこの順序で含まれているが、「d」が含まれていないので、完全一致ではないと判定する。ところが、検知部34Aは、一致と判定する一致率の境界を例えば70%とすると、これら内容の一致率は4個中3個中一致する75%であり70%より大きいので、部分一致であると判定する。この結果、検知部34Aは、部分一致であると判定したパターンを同一パターンであると判断する。そして、検知部34Aは、部分一致であるパターンの種類363fが「A」である部分一致363hのフィールドに、T時刻のメッセージのパターン「abc」を更新する。
[実施例3に係る監視用情報生成の処理手順]
 次に、実施例3に係る監視用情報生成の処理手順を、図13を参照して説明する。図13は、実施例3係る監視用情報生成の処理手順を示すフローチャートである。なお、メッセージログ361には、ネットワークシステム内の各機器から出力されたメッセージが収集部32によって記憶されているものとする。
 まず、算出部331Aは、監視用情報の生成要求があったか否かを判定する(ステップS51)。監視用情報の生成要求がなかったと判定した場合(ステップS51;No)、算出部331Aは、監視用情報の生成要求があると判定するまで、判定処理を繰り返す。一方、監視用情報の生成要求があったと判定した場合(ステップS51;Yes)、算出部331Aは、メッセージログ361のファイルをオープンする(ステップS52)。
 そして、算出部331Aは、メッセージログ361に記憶されたメッセージのうち1メッセージを読み込む(ステップS53)。
 続いて、算出部331Aは、読み込んだメッセージを分類する(ステップS54)。例えば、算出部331Aは、読み込んだメッセージについて、特定のフィールドに割り当てられたIDを当該メッセージの種類として分類する。そして、算出部331Aは、読み込んだ1メッセージの発生時刻から過去一定期間に発生したメッセージをパターンとして抽出する(ステップS55)。そして、算出部331Aは、抽出したパターンに該当するエントリを発生間隔テーブル362Aから検索する(ステップS56)。
 ここで、算出部331Aは、該当するエントリがみつかったか否かを判定する(ステップS57)。該当するエントリがみつからなかったと判定した場合(ステップS57;No)、算出部331Aは、該当するエントリを発生間隔テーブル362Aに追加し(ステップS58)、ステップS59に移行する。
 一方、該当するエントリがみつかったと判定した場合(ステップS57;Yes)、算出部331Aは、メッセージログ361に基づいて、抽出パターンと、発生時刻が当該パターンに最も近い同一パターンとの発生間隔を算出する(ステップS59)。
 そして、算出部331Aは、該当するエントリに対して、算出した発生間隔に関連する情報を更新する(ステップS60)。例えば、算出部331Aは、該当するエントリのパターンに対応する発生回数を1加算し、加算した発生回数を更新する。このとき、算出部331Aは、該当するエントリのパターンに対応させて発生間隔を記憶部36に一時的に保持する。
 そして、算出部331Aは、メッセージログの終端であるか否かを判定する(ステップS61)。メッセージログの終端でないと判定した場合(ステップS61;No)、算出部331Aは、次のメッセージを読み込むため、ステップS53に移行する。
 一方、メッセージログの終端であると判定した場合(ステップS61;Yes)、算出部331Aは、発生間隔テーブル362Aに記憶されたエントリに基づいて、全エントリの発生間隔の標準偏差を算出する(ステップS62)。例えば、算出部331Aは、発生間隔テーブル362Aに記憶された発生回数およびエントリのパターンに対応させて一時的に保持した発生間隔に基づいて、パターンに対応した発生間隔の平均間隔を算出する。そして、算出部331Aは、算出した平均間隔およびエントリのパターンに対応させて一時的に保持した発生間隔を用いて、パターンに対応した発生間隔の分散を算出し、算出した分散からパターンに対応した標準偏差を算出する。
 続いて、抽出部332Aは、エントリのパターン毎に算出した標準偏差と平均間隔の比が閾値以下のエントリを抽出し、監視用テーブル363Aに追加する(ステップS63)。閾値には、例えば、平均間隔の10%を示す「0.1」が適用されるが、これに限定されるものではない。
[実施例3に係る障害検知の処理手順]
 次に、実施例3に係る障害検知の処理手順を、図14Aおよび図14Bを参照して説明する。図14Aは、通常より短期間でメッセージのパターンが発生している場合の障害検知の処理手順を示す。図14Bは、発生するはずのメッセージのパターンが発生しないかまたは通常より長期間経過後にメッセージのパターンが発生している場合の障害検知の処理手順を示す。
 最初に、通常より短時間でメッセージのパターンが発生する場合の障害検知の処理手順について、図14Aを参照して説明する。まず、検知部34Aは、メッセージを受け取ったか否かを判定する(ステップS71)。メッセージを受け取っていないと判定した場合(ステップS71;No)、検知部34Aは、メッセージを受け取るまで判定処理を繰り返す。一方、メッセージを受け取ったと判定した場合(ステップS71;Yes)、検知部34Aは、算出部331Aで分類した手法と同様の手法を用いて、受け取ったメッセージを分類する(ステップS72)。
 そして、検知部34Aは、受け取ったメッセージの発生時刻から過去一定期間に発生したメッセージをパターンとして抽出する(ステップS73)。そして、検知部34Aは、抽出したパターンに該当するエントリを監視用テーブル363Aから検索する(ステップS74)。
 ここで、検知部34Aは、該当するエントリがみつかったか否かを判定する(ステップS75)。該当するエントリがみつからなかったと判定した場合(ステップS75;No)、検知部34Aは、該当するエントリのパターンが監視対象でないので、ステップS71に移行する。
 一方、該当するエントリがみつかったと判定した場合(ステップS75;Yes)、検知部34Aは、抽出したパターンの内容および該当するエントリのパターンの中身363gの内容とを比較し、完全一致であるか部分一致であるかを判定する。そして、検知部34Aは,部分一致である場合、該当するエントリの部分一致363hのフィールドに、部分一致であったメッセージの種類を更新する(ステップS76)。さらに、検知部34Aは、監視用テーブル363Aの直近のメッセージ363dのフィールドを更新する(ステップS77)。すなわち、検知部34Aは、該当するエントリの直近のメッセージ363dのフィールドを「○」に更新し、それ以外のエントリの直近のメッセージ363dのフィールドを「-」に更新する。
 そして、検知部34Aは、該当するエントリの経過時間を算出する(ステップS78)。すなわち、検知部34Aは、受け取ったメッセージを含むパターンの発生時刻に最も近い同一パターンの発生時刻から、受け取ったメッセージを含むパターンの発生時刻までの経過時間を算出する。
 そして、検知部34Aは、算出した経過時間が閾値(例えば、前述した下限値)以下であるか否かを判定する(ステップS79)。経過時間が閾値以下でないと判定した場合(ステップS79;No)、検知部34Aは、通常より短時間でメッセージのパターンが発生していないので、ステップS71に移行する。
 一方、経過時間が閾値以下であると判定した場合(ステップS79;Yes)、検知部34Aは、通常より短時間でメッセージのパターンが発生しているので、ネットワークシステムの障害として検知する(ステップS80)。そして、警告部35は、検知部34Aからネットワークシステムの障害を検知した旨の通知に応じて、例えばディスプレイへの表示、所定のメールアドレスへのメール送信等によってアラートを行う(ステップS81)。
 次に、発生するはずのメッセージのパターンが発生しないかまたは通常より長期間でメッセージのパターンが発生している場合の障害検知の処理手順について、図14Bを参照して説明する。まず、検知部34Aは、一定時間が経過したか否かを判定する(ステップS91)。一定時間が経過していないと判定した場合(ステップS91;No)、検知部34Aは、一定時間が経過するまで待機すべく、ステップS91に移行する。
 一方、一定時間が経過していると判定した場合(ステップS91;Yes)、検知部34Aは、監視用テーブル363Aに記憶された各エントリの経過時間を算出する(ステップS92)。例えば、検知部34Aは、監視用テーブル363Aに記憶された各エントリについて、メッセージログ361に記憶されたメッセージの情報を用いて、前回発生した時刻から現在の時刻までの経過時間を算出する。
 そして、検知部34Aは、経過時間が閾値(例えば、前述した上限値)以上であるエントリはあったか否かを判定する(ステップS93)。経過時間が閾値以上であるエントリはなかったと判定した場合(ステップS93;No)、検知部34Aは、どのエントリも通常の経過時間でメッセージのパターンが存在しているので、ステップS91に移行する。
 一方、経過時間が閾値以上のエントリはあったと判定した場合(ステップS93;Yes)、検知部34Aは、当該エントリについて、発生するはずのメッセージのパターンが発生していないので、ネットワークシステムの障害として検知する(ステップS94)。そして、警告部35は、検知部34Aから当該エントリについてネットワークシステムの障害を検知した旨の通知に応じて、例えばディスプレイへの表示、所定のメールアドレスへのメール送信等によってアラートを行う(ステップS95)。
 このようにして、収集部32は、ネットワークシステムで発生したメッセージをメッセージログ361に格納する。そして、抽出部332Aは、メッセージログ361によって記憶されたそれぞれのメッセージについて、所定時刻から一定期間内に発生したメッセージのパターンを抽出する。そして、抽出部332Aは、抽出したメッセージのパターン毎に各パターンの発生間隔が一定範囲となるメッセージのパターンを抽出する。したがって、抽出部332Aは、メッセージのパターンの発生間隔が一定範囲となるメッセージのパターンを抽出するので、抽出したパターンを監視対象とすることができ、監視対象とするパターンを含め運用に関するルールを自動的に定義することができる。
 また、検知部34Aは、ネットワークシステムで発生したメッセージのうち抽出部332Aによって抽出されたメッセージのパターンについて発生間隔が一定範囲を外れたか否かを判定する。したがって、検知部34Aは、抽出部332Aによって抽出されたメッセージのパターンについて発生間隔が一定範囲を超えるような場合、例えば当該メッセージのパターンが出力されないことを原因としたシステム障害を容易に検知できる。また、検知部34Aは、抽出部332Aによって抽出されたメッセージのパターンについて発生間隔が一定範囲を下回るような場合、例えば当該メッセージのパターンが短期間で出力されることを原因としたシステム障害を容易に検知できる。
[プログラム等]
 なお、収集部32、監視用情報生成部33、検知部34、34Aおよび警告部35の機能は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現することができる。また、所定のプログラムがCPU(Central Processing Unit)を機能させることで実現することができる。
 また、管理装置1、2は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した収集部32、監視用情報生成部33および検知部34、34A等の各機能を搭載することによって実現することができる。
 また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、算出部331と抽出部332とを1個の部として統合しても良い。一方、検知部34を通常より短期間でメッセージが発生している場合の検知部と、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合の検知部とに分散しても良い。また、メッセージログ361や発生間隔テーブル362等の記憶部36を管理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
 また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図15を用いて、図2に示した管理装置1と同様の機能を有するメッセージ判定プログラムを実行するコンピュータの一例を説明する。
 図15は、メッセージ判定プログラムを実行するコンピュータを示す図である。図15に示すように、コンピュータ1000は、RAM(Random Access Memory)1010と、ネットワークインタフェース装置1020と、HDD1030と、CPU(Central Processing Unit)1040と、媒体読取装置1050と、バス1060とを有する。RAM1010、ネットワークインタフェース装置1020、HDD1030、CPU1040、媒体読取装置1050は、バス1060によって接続されている。
 そして、HDD1030には、図2に示した収集部32、監視用情報生成部33および検知部34と同様の機能を有するメッセージ判定プログラム1031が記憶される。また、HDD1030には、図2に示したメッセージログ361、発生間隔テーブル362および監視用テーブル363に対応する管理情報1032が記憶される。
 そして、CPU1010がメッセージ判定プログラム1031をHDD1030から読み出してRAM1010にロードすることにより、メッセージ判定プログラム1031は、メッセージ判定プロセス1011として機能するようになる。そして、メッセージ判定プロセス1011は、管理情報1032から読み出した情報等を適宜RAM1010上の自身に割り当てられた領域にロードし、このロードしたデータ等に基づいて各種データ処理を実行する。
 なお、上記のメッセージ判定プログラム1031は、必ずしもHDD1030に格納させなくても良く、CD-ROM等の「可搬用の物理媒体」に記憶されたこのプログラムを、コンピュータ1000が読み出して実行するようにしても良い。
 また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)等にこのプログラムを記憶させておいても良い。この場合には、コンピュータ1000がこれらからプログラムを読み出して実行する。
 1、2 管理装置
 9 メッセージ判定装置
 31 ネットワーク制御部
 32 収集部
 33 監視用情報生成部
 331、331A 算出部
 12、332、332A 抽出部
 13 判定部
 34、34A 検知部
 35 警告部
 11、36 記憶部
 361 メッセージログ
 362、362A 発生間隔テーブル
 363、363A 監視用テーブル

Claims (5)

  1.  システムで発生したメッセージを記憶する記憶部と、
     前記記憶部によって記憶されたメッセージから発生間隔が一定範囲であるメッセージを抽出する抽出部と
     前記システムで発生したメッセージのうち前記抽出部によって抽出されたメッセージについて発生間隔が前記一定範囲を外れたか否かを判定する判定部と
     を有することを特徴とするメッセージ判定装置。
  2.  前記抽出部は、前記記憶部によって記憶されたそれぞれのメッセージを分類し、分類して得られたメッセージの種類から発生間隔が一定範囲であるメッセージの種類を抽出し、
     前記判定部は、前記抽出部によって抽出されたメッセージの種類について発生間隔が前記一定範囲を外れたか否かを判定することを特徴とする請求項1に記載のメッセージ判定装置。
  3.  前記抽出部は、前記記憶部によって記憶されたメッセージから発生間隔が一定範囲であるメッセージの集合を抽出し、
     前記判定部は、前記抽出部によって抽出されたメッセージの集合について発生間隔が前記一定範囲を外れたか否かを判定することを特徴とする請求項1または2に記載のメッセージ判定装置。
  4.  前記抽出部は、一定期間毎または不定期毎に前記メッセージを抽出し、
     前記判定部は、前記抽出部によって抽出されたメッセージについて発生間隔が前記一定範囲を外れたか否かを判定することを特徴とする請求項1または2に記載のメッセージ判定装置。
  5.  コンピュータに、
     システムで発生したメッセージを記憶した記憶部から発生間隔が一定範囲であるメッセージを抽出し、
     前記システムで発生したメッセージのうち前記抽出する処理によって抽出されたメッセージについて発生間隔が前記一定範囲を外れたか否かを判定する
     処理を実行させることを特徴とするメッセージ判定プログラム。
PCT/JP2011/061760 2011-05-23 2011-05-23 メッセージ判定装置およびメッセージ判定プログラム WO2012160637A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013516095A JP5704234B2 (ja) 2011-05-23 2011-05-23 メッセージ判定装置およびメッセージ判定プログラム
PCT/JP2011/061760 WO2012160637A1 (ja) 2011-05-23 2011-05-23 メッセージ判定装置およびメッセージ判定プログラム
EP11866262.6A EP2717162A4 (en) 2011-05-23 2011-05-23 MESSAGE DETECTION DEVICE AND MESSAGE MESSAGE PROGRAM
US14/078,699 US9547545B2 (en) 2011-05-23 2013-11-13 Apparatus and program for detecting abnormality of a system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/061760 WO2012160637A1 (ja) 2011-05-23 2011-05-23 メッセージ判定装置およびメッセージ判定プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/078,699 Continuation US9547545B2 (en) 2011-05-23 2013-11-13 Apparatus and program for detecting abnormality of a system

Publications (1)

Publication Number Publication Date
WO2012160637A1 true WO2012160637A1 (ja) 2012-11-29

Family

ID=47216740

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/061760 WO2012160637A1 (ja) 2011-05-23 2011-05-23 メッセージ判定装置およびメッセージ判定プログラム

Country Status (4)

Country Link
US (1) US9547545B2 (ja)
EP (1) EP2717162A4 (ja)
JP (1) JP5704234B2 (ja)
WO (1) WO2012160637A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014153723A (ja) * 2013-02-04 2014-08-25 Nippon Telegr & Teleph Corp <Ntt> ログ生起異常検知装置及び方法
WO2016199411A1 (ja) * 2015-06-11 2016-12-15 日本電気株式会社 ログ表示装置とログ表示方法およびログ表示プログラム
JP2017076299A (ja) * 2015-10-16 2017-04-20 富士通株式会社 事象発生通知プログラム、事象発生通知方法、及び、事象発生通知装置
JP2017107372A (ja) * 2015-12-09 2017-06-15 三菱電機株式会社 障害予兆検出システムおよび障害予兆検出方法
US9690639B2 (en) 2012-08-08 2017-06-27 Fujitsu Limited Failure detecting apparatus and failure detecting method using patterns indicating occurrences of failures
JP2018045403A (ja) * 2016-09-14 2018-03-22 株式会社日立製作所 異常検知システム及び異常検知方法
JP2018163574A (ja) * 2017-03-27 2018-10-18 サクサ株式会社 ログ管理装置及びログ管理用プログラム
JPWO2021250873A1 (ja) * 2020-06-12 2021-12-16
JP7504816B2 (ja) 2021-01-28 2024-06-24 株式会社日立製作所 ログ検索支援装置、及びログ検索支援方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101672553B1 (ko) 2007-06-25 2016-11-03 큐디 비젼, 인크. 조성물 및 나노물질의 침착을 포함하는 방법
US9929325B2 (en) 2012-06-05 2018-03-27 Samsung Electronics Co., Ltd. Lighting device including quantum dots
US11789842B2 (en) * 2021-10-11 2023-10-17 Dell Products L.P. System and method for advanced detection of potential system impairment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08139722A (ja) 1994-11-15 1996-05-31 Toshiba Corp ネットワーク障害予測装置
JPH09114703A (ja) * 1995-10-20 1997-05-02 Hitachi Ltd 分散処理システムの監視方法
JPH11224214A (ja) 1998-02-05 1999-08-17 Fujitsu Ltd イベント分類装置およびそのプログラム記録媒体
JP2006318071A (ja) 2005-05-11 2006-11-24 Fujitsu Ltd メッセージ異常自動判別装置、方法、及びプログラム
JP2006331026A (ja) * 2005-05-25 2006-12-07 Hitachi Information Systems Ltd メッセージ分析システム及びメッセージ分析プログラム
JP2007096835A (ja) 2005-09-29 2007-04-12 Matsushita Electric Ind Co Ltd Cpu負荷制御方法および負荷制御装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194681B1 (en) * 1999-07-30 2007-03-20 Microsoft Corporation Method for automatically assigning priorities to documents and messages
US6714967B1 (en) * 1999-07-30 2004-03-30 Microsoft Corporation Integration of a computer-based message priority system with mobile electronic devices
JP2001188694A (ja) * 2000-01-05 2001-07-10 Hitachi Information Systems Ltd イベントログの発生頻度分布表の表示方法および発生パターンの識別方法、ならびにそれらのプログラムを記録した記録媒体
US8024415B2 (en) * 2001-03-16 2011-09-20 Microsoft Corporation Priorities generation and management
US20030028680A1 (en) * 2001-06-26 2003-02-06 Frank Jin Application manager for a content delivery system
US7409423B2 (en) * 2001-06-28 2008-08-05 Horvitz Eric J Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access
US7912904B2 (en) * 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
WO2008105099A1 (ja) * 2007-02-28 2008-09-04 Fujitsu Limited アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置
US20090106366A1 (en) * 2007-10-17 2009-04-23 Nokia Corporation System and method for visualizing threaded communication across multiple communication channels using a mobile web server
JP5163404B2 (ja) * 2008-09-30 2013-03-13 日本電気株式会社 障害分析システム、障害分析方法および障害分析用プログラム
JP5293115B2 (ja) * 2008-11-26 2013-09-18 富士通株式会社 故障原因推測方法、故障原因推測装置、及びプログラム
US8069374B2 (en) * 2009-02-27 2011-11-29 Microsoft Corporation Fingerprinting event logs for system management troubleshooting
KR101299220B1 (ko) * 2010-01-08 2013-08-22 한국전자통신연구원 감성 신호 감지 장치와 감성 서비스 제공 장치 간의 감성 통신 방법
US8312096B2 (en) * 2010-12-08 2012-11-13 Google Inc. Priority inbox notifications and synchronization for mobile messaging application
KR101184515B1 (ko) * 2010-12-20 2012-09-19 경희대학교 산학협력단 사용자 이동 패턴과 감정 정보에 따른 사용자 정보의 제공 서버의 운영 방법
CN102685020B (zh) * 2011-03-09 2015-07-29 腾讯科技(北京)有限公司 微博墙显示方法及系统
JP5794181B2 (ja) * 2012-03-15 2015-10-14 富士通株式会社 プログラム、分析方法、情報処理装置
US9124618B2 (en) * 2013-03-01 2015-09-01 Cassidian Cybersecurity Sas Process of reliability for the generation of warning messages on a network of synchronized data
JP6201670B2 (ja) * 2013-11-15 2017-09-27 富士通株式会社 判定装置、判定プログラム、及び判定方法
JP6244998B2 (ja) * 2014-03-11 2017-12-13 富士通株式会社 情報通信方法及び情報処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08139722A (ja) 1994-11-15 1996-05-31 Toshiba Corp ネットワーク障害予測装置
JPH09114703A (ja) * 1995-10-20 1997-05-02 Hitachi Ltd 分散処理システムの監視方法
JPH11224214A (ja) 1998-02-05 1999-08-17 Fujitsu Ltd イベント分類装置およびそのプログラム記録媒体
JP2006318071A (ja) 2005-05-11 2006-11-24 Fujitsu Ltd メッセージ異常自動判別装置、方法、及びプログラム
JP2006331026A (ja) * 2005-05-25 2006-12-07 Hitachi Information Systems Ltd メッセージ分析システム及びメッセージ分析プログラム
JP2007096835A (ja) 2005-09-29 2007-04-12 Matsushita Electric Ind Co Ltd Cpu負荷制御方法および負荷制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2717162A4

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690639B2 (en) 2012-08-08 2017-06-27 Fujitsu Limited Failure detecting apparatus and failure detecting method using patterns indicating occurrences of failures
JP2014153723A (ja) * 2013-02-04 2014-08-25 Nippon Telegr & Teleph Corp <Ntt> ログ生起異常検知装置及び方法
WO2016199411A1 (ja) * 2015-06-11 2016-12-15 日本電気株式会社 ログ表示装置とログ表示方法およびログ表示プログラム
JP2017076299A (ja) * 2015-10-16 2017-04-20 富士通株式会社 事象発生通知プログラム、事象発生通知方法、及び、事象発生通知装置
JP2017107372A (ja) * 2015-12-09 2017-06-15 三菱電機株式会社 障害予兆検出システムおよび障害予兆検出方法
JP2018045403A (ja) * 2016-09-14 2018-03-22 株式会社日立製作所 異常検知システム及び異常検知方法
JP2018163574A (ja) * 2017-03-27 2018-10-18 サクサ株式会社 ログ管理装置及びログ管理用プログラム
JPWO2021250873A1 (ja) * 2020-06-12 2021-12-16
WO2021250873A1 (ja) * 2020-06-12 2021-12-16 日本電信電話株式会社 ルール生成装置、ルール生成方法およびプログラム
JP7392852B2 (ja) 2020-06-12 2023-12-06 日本電信電話株式会社 ルール生成装置、ルール生成方法およびプログラム
JP7504816B2 (ja) 2021-01-28 2024-06-24 株式会社日立製作所 ログ検索支援装置、及びログ検索支援方法

Also Published As

Publication number Publication date
JP5704234B2 (ja) 2015-04-22
EP2717162A4 (en) 2015-10-28
US20140068356A1 (en) 2014-03-06
US9547545B2 (en) 2017-01-17
JPWO2012160637A1 (ja) 2014-07-31
EP2717162A1 (en) 2014-04-09

Similar Documents

Publication Publication Date Title
JP5704234B2 (ja) メッセージ判定装置およびメッセージ判定プログラム
CN107171819B (zh) 一种网络故障诊断方法及装置
JP6643211B2 (ja) 異常検知システム及び異常検知方法
JP6652699B2 (ja) アノマリ評価プログラム、アノマリ評価方法、および情報処理装置
US9084937B2 (en) Faults and performance issue prediction
CA2816469C (en) Faults and performance issue prediction
JP6152788B2 (ja) 障害予兆検知方法、情報処理装置およびプログラム
US20160378583A1 (en) Management computer and method for evaluating performance threshold value
US20180357214A1 (en) Log analysis system, log analysis method, and storage medium
US20140269339A1 (en) System for analysing network traffic and a method thereof
JP2015028700A (ja) 障害検知装置、障害検知方法、障害検知プログラム及び記録媒体
US9860109B2 (en) Automatic alert generation
CN114978568A (zh) 使用机器学习进行数据中心管理
CN112671767B (zh) 一种基于告警数据分析的安全事件预警方法及装置
WO2017110720A1 (ja) ログ分析システム、ログ分析方法及びプログラムを格納した記録媒体
JP6223380B2 (ja) 中継装置及びプログラム
US8543552B2 (en) Detecting statistical variation from unclassified process log
CN110489260B (zh) 故障识别方法、装置及bmc
JP7207009B2 (ja) 異常検知装置、異常検知方法および異常検知プログラム
US20160299966A1 (en) System and Method for Creation and Detection of Process Fingerprints for Monitoring in a Process Plant
JP2014153736A (ja) 障害予兆検出方法、プログラムおよび装置
US20210027254A1 (en) Maintenance management apparatus, system, method, and non-transitory computer readable medium
JP2007164346A (ja) 決定木変更方法、異常性判定方法およびプログラム
JP2020030628A (ja) 監視システム、監視方法および監視プログラム
JP4850733B2 (ja) ヘルスチェック装置及びヘルスチェック方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11866262

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013516095

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE