WO2018190033A1 - メッセージ出力プログラム、メッセージ出力方法及びメッセージ出力装置 - Google Patents
メッセージ出力プログラム、メッセージ出力方法及びメッセージ出力装置 Download PDFInfo
- Publication number
- WO2018190033A1 WO2018190033A1 PCT/JP2018/008296 JP2018008296W WO2018190033A1 WO 2018190033 A1 WO2018190033 A1 WO 2018190033A1 JP 2018008296 W JP2018008296 W JP 2018008296W WO 2018190033 A1 WO2018190033 A1 WO 2018190033A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- unit
- messages
- word
- message
- group
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Creation or modification of classes or clusters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
Definitions
- the present invention relates to a technique for collecting messages.
- a certain monitoring device receives messages regarding various events from a host included in the network system to be monitored and displays the messages.
- the system administrator checks the displayed message and grasps, for example, the occurrence of a failure.
- the same message may be repeatedly received in the monitoring device. Assuming such a situation, if a filter for discarding the second and subsequent messages for the same message is provided, duplicate messages can be eliminated.
- the filter may combine the series of messages into one message based on a predetermined rule. Thereby, the number of messages can also be reduced.
- An object of the present invention is, in one aspect, to make it easier to grasp the meaning of a plurality of messages caused by the same event.
- a message output method includes (A) classifying a plurality of messages each identified by an identifier into a plurality of classes that are a set of messages based on similarity between messages, and (B) being included in the plurality of messages Including a process of identifying common words in which the number of classes in which the word appears is greater than a reference, and outputting a first message in which messages including the common words are aggregated.
- FIG. 1 is a diagram illustrating a network configuration example.
- FIG. 2 is a diagram illustrating a module configuration example of the monitoring device.
- FIG. 3A is a diagram illustrating an example of the first table.
- FIG. 3B is a diagram illustrating an example of the first table.
- FIG. 3C is a diagram illustrating an example of the first table.
- FIG. 3D is a diagram illustrating an example of the first table.
- FIG. 3E is a diagram illustrating an example of the first table.
- FIG. 4 is a diagram illustrating an example of a list.
- FIG. 5A is a diagram illustrating a module configuration example of the aggregation unit.
- FIG. 5B is a diagram illustrating a module configuration example of the aggregation unit.
- FIG. 5A is a diagram illustrating a module configuration example of the aggregation unit.
- FIG. 6 is a diagram showing a main processing flow.
- FIG. 7 is a diagram illustrating an aggregation processing flow.
- FIG. 8 is a diagram showing a message classification process flow.
- FIG. 9 is a diagram illustrating an example of a word table.
- FIG. 10 is a diagram showing a word extraction processing flow.
- FIG. 11 is a diagram illustrating an example of the aggregation table.
- FIG. 12 is a diagram showing a counting process flow.
- FIG. 13 is a diagram illustrating an example of a duplication multiple table.
- FIG. 14 is a diagram illustrating a duplication number calculation processing flow.
- FIG. 15 is a diagram illustrating an example of a similarity table.
- FIG. 16 is a diagram showing a similarity calculation processing flow.
- FIG. 16 is a diagram showing a similarity calculation processing flow.
- FIG. 17 is a diagram illustrating an example of a classification table.
- FIG. 18 is a diagram showing the same-type group processing flow.
- FIG. 19 is a diagram illustrating an example of a class table.
- FIG. 20A is a diagram illustrating a candidate specifying process flow related to the same type group.
- FIG. 20B is a diagram illustrating a candidate identification process flow related to the same type group.
- FIG. 21A is a diagram illustrating an example of an appearance rate table.
- FIG. 21B is a diagram illustrating an example of an appearance rate table.
- FIG. 22 is a diagram showing a variable discrimination processing flow.
- FIG. 23 is a diagram showing a record addition processing flow of the same type group.
- FIG. 24 is a diagram showing a common variable group processing flow.
- FIG. 25 is a diagram illustrating an example of a common word table.
- FIG. 26 is a diagram illustrating a common word specifying process flow.
- FIG. 27 is a diagram illustrating a group generation processing flow.
- FIG. 28A is a diagram illustrating an example of a primary group table.
- FIG. 28B is a diagram illustrating an example of a primary group table.
- FIG. 29 is a diagram illustrating an example of the secondary group table.
- FIG. 30 is a diagram illustrating a common variable group record addition processing flow.
- FIG. 31 is a functional block diagram of a computer.
- FIG. 1 shows a network configuration example.
- a host 103 a host 103, a DB (DataBase) server 105, and a DNS server 107 are connected to the network.
- the network is, for example, a LAN (Local Area Network).
- the host 103 may use services of another host 103, the DB server 105, or the DNS server 107.
- the DB server 105 and the DNS server 107 are also a kind of host device.
- a monitoring device 101 is further connected to the network.
- the monitoring device 101 monitors the status of the host 103, DB server 105, and DNS server 107. That is, the host 103, the DB server 105, and the DNS server 107 correspond to devices to be monitored. Specifically, when an event occurs in the monitoring target device, the monitoring target device transmits an event notification including a message notifying the contents of the event to the monitoring device 101.
- the monitoring device 101 displays the content of the received event notification on the display device. The administrator checks the contents of the event notification at any time to grasp the status of the monitoring target device.
- FIG. 2 shows a module configuration example of the monitoring device 101.
- the monitoring device 101 includes a reception unit 201, a filter 203, a rule storage unit 205, a first table storage unit 207, a first determination unit 209, a first addition unit 211, an aggregation unit 213, a second table storage unit 215, and a display processing unit. 217, a reference data storage unit 219, a reception unit 221 and a first extraction unit 223.
- the receiving unit 201 receives an event notification.
- the filter 203 performs filtering on the received event notification.
- the rule storage unit 205 stores rules for filtering.
- the first table storage unit 207 stores the first table.
- the first table stores the contents related to the event notification that has passed through the filter 203. The first table will be described later with reference to FIGS. 3A to 3E.
- the first determination unit 209 determines whether or not the number of event notifications received within the unit period exceeds a threshold value.
- the first addition unit 211 adds the event notification received within the unit period to the second table.
- the aggregating unit 213 aggregates event notifications received within the unit period.
- the second table storage unit 215 stores the second table.
- the second table has the same configuration as the first table. However, the second table may include a record having contents that are a collection of event notifications.
- the display processing unit 217 displays a list based on the second table.
- the reference data storage unit 219 stores the content of the event notification that is the aggregation target.
- the accepting unit 221 accepts an inquiry instruction for the contents of event notifications to be aggregated.
- the first extraction unit 223 extracts the event notification that is an aggregation target.
- the content of the event notification extracted by the first extraction unit 223 is displayed by the display processing unit 217.
- the display processing unit 217 is an example of an output unit.
- the output form may be printing, transmission, writing to a storage medium, or the like.
- reception unit 201, filter 203, first determination unit 209, first addition unit 211, aggregation unit 213, display processing unit 217, reception unit 221 and first extraction unit 223 described above are hardware resources (for example, FIG. 31). And a program for causing a processor to execute the processing described below.
- the rule storage unit 205, the first table storage unit 207, the second table storage unit 215, and the reference data storage unit 219 described above are realized using hardware resources (for example, FIG. 31).
- the first table in this example has a record corresponding to the event notification that has passed through the filter 203.
- the record of the first table has a field for storing an event notification ID, a field for storing a reception date, a field for a host, and a field for storing a message.
- the event notification ID identifies the event notification that has passed through the filter 203.
- the reception date and time specifies the time when the event notification is received.
- the host field stores the name of the host that is the source of the event notification.
- the message represents the content of the event.
- the first table shown in FIG. 3A to FIG. 3E has a record relating to the event notification received for 3 seconds from 17:48:44 on October 13, 2015 to 17:48:47. .
- Each record stores contents related to event notification in the order received.
- Messages in 18 records from event notification ID: 52132 to event notification ID: 52149 include the words “ORD05282” and “failure”. Each of these records relates to an event caused by a failure of the DB server 105 whose host name is “ORD05282”. In other words, the messages stored in these records are caused by the same event of failure of the DB server 105.
- the messages in the 16 records from the event notification ID: 52151 to the event notification ID: 52166 have a common part other than the variable corresponding to the host name such as “NT1CF100”, “OMSKOBE”, and “FABS5079”.
- Each of these records relates to an event caused by a failure of the DNS server 107.
- the messages stored in these records are caused by the same event of DNS server 107 failure.
- Event notification ID: 52150 record relates to an event caused by a shortage of resources of the host 103 with the host name “HOST_MVI”. That is, the message stored in this record is caused by an event different from the case of the message stored in another record.
- FIG. 4 shows an example of a list displayed in the present embodiment.
- a group of event notifications related to messages having a common part other than variables such as records from event notification ID: 52151 to event notification ID: 52166, is specified, and these messages are aggregated.
- the first line of the list shown in FIG. 4 shows the contents of the grouped event notifications. “M1” in the event notification item identifies the group.
- the reception date / time indicates the date / time when the event notification of this group was first received.
- the number of hosts in the host item is the net number of hosts that have sent this group event notification.
- contents other than the variable and a code indicating the position of the variable are displayed.
- the message item also indicates that there are 16 messages of this group.
- a group of event notifications related to messages including a common variable is specified, such as records from event notification ID: 52132 to event notification ID: 52149.
- a common variable in this example, “ORD05282”
- the third row of the list shown in FIG. 4 shows the contents of the grouped event notifications.
- “W1” in the event notification item identifies the group.
- the reception date / time indicates the date / time when the event notification of this group was first received.
- the number of hosts in the host item is the net number of hosts that have sent this group event notification.
- the message item indicates that the message of this group includes “ORD05282” and “failure”, and that there are 18 messages of this group.
- the second line of the list shown in FIG. 4 represents the content related to the event notification of ID: 52150 that does not belong to the two groups described above.
- FIG. 5A and FIG. 5B show a module configuration example of the aggregation unit 213.
- the aggregation unit 213 includes a classification unit 501, a first group processing unit 503, a second group processing unit 505, and a second addition unit 507.
- the classification unit 501 executes message classification processing.
- the message classification process will be described later with reference to FIG.
- the classification unit 501 includes a second extraction unit 511, a totaling unit 513, a first calculation unit 515, a second calculation unit 517, and a clustering unit 519.
- the second extraction unit 511 executes word extraction processing.
- the word extraction process will be described later with reference to FIG.
- the aggregation unit 513 executes an aggregation process.
- the aggregation process will be described later with reference to FIG.
- the first calculation unit 515 executes a duplication number calculation process.
- the duplicate calculation process will be described later with reference to FIG.
- the second calculation unit 517 executes similarity calculation processing.
- the similarity calculation process will be described later with reference to FIG.
- the clustering unit 519 executes clustering processing.
- the first group processing unit 503 executes the same type group processing.
- the same type group processing will be described later with reference to FIG.
- the first group processing unit 503 includes a first specifying unit 521, a determining unit 523, and a third adding unit 525.
- specification part 521 performs the candidate specific process which concerns on the same type group.
- the candidate specifying process related to the isomorphic group will be described later with reference to FIGS. 20A and 20B.
- the determination unit 523 executes variable determination processing.
- the variable determination process will be described later with reference to FIG.
- the third addition unit 525 executes a record addition process for the same type group.
- the record addition processing for the same type group will be described later with reference to FIG.
- the second group processing unit 505 executes common variable group processing.
- the common variable group process will be described later with reference to FIG.
- the second group processing unit 505 includes a second specifying unit 531, a generating unit 533, and a fourth adding unit 535.
- specification part 531 performs a common word specific process.
- the common word specifying process will be described later with reference to FIG.
- the generation unit 533 executes group generation processing.
- the group generation process will be described later with reference to FIG.
- the generation unit 533 includes a second determination unit 537 and an integration unit 539.
- the second determination unit 537 determines whether to integrate a plurality of primary groups.
- the primary group will be described later.
- the integration unit 539 integrates a plurality of primary groups to generate a secondary group.
- the secondary group will be described later.
- the fourth addition unit 535 executes a common variable group record addition process.
- the common variable group record addition processing will be described later with reference to FIG.
- the second addition unit 507 adds event notifications that do not belong to the same type group and the common variable group to the second table.
- the classification unit 501, the first group processing unit 503, the second group processing unit 505, and the second addition unit 507 described above include hardware resources (for example, FIG. 31) and a program that causes the processor to execute the processing described below.
- the second extraction unit 511, the totaling unit 513, the first calculation unit 515, the second calculation unit 517, the clustering unit 519, the first specifying unit 521, the determining unit 523, the third adding unit 525, the second specifying unit 531, the generation The unit 533, the fourth addition unit 535, the second determination unit 537, and the integration unit 539 are also realized using hardware resources (for example, FIG. 31) and a program that causes the processor to execute the processing described below.
- the aggregation unit 213 further includes a word table storage unit 551, an aggregation table storage unit 553, a duplicate table storage unit 555, a similarity table storage unit 557, a classification table storage unit 559, a class table storage unit 561, and an appearance rate table storage unit 563. , A common word table storage unit 565 and a group table storage unit 567.
- the word table storage unit 551 stores a word table.
- the word table will be described later with reference to FIG.
- the aggregation table storage unit 553 stores the aggregation table.
- the summary table will be described later with reference to FIG.
- the duplicate table storage unit 555 stores the duplicate table.
- the duplicate table will be described later with reference to FIG.
- the similarity table storage unit 557 stores a similarity table.
- the similarity table will be described later with reference to FIG.
- the classification table storage unit 559 stores a classification table.
- the classification table will be described later with reference to FIG.
- the class table storage unit 561 stores a class table.
- the class table will be described later with reference to FIG.
- the appearance rate table storage unit 563 stores an appearance rate table.
- the appearance rate table will be described later with reference to FIGS. 21A and 21B.
- the common word table storage unit 565 stores a common word table.
- the common word table will be described later with reference to FIG.
- the group table storage unit 567 stores a primary group table and a secondary group table.
- the primary group table will be described later with reference to FIGS. 28A and 28B.
- the secondary group table will be described later with reference to FIG.
- the storage unit 565 and the group table storage unit 567 are realized using hardware resources (for example, FIG. 31).
- Fig. 6 shows the main processing flow.
- the first determination unit 209 sequentially waits for the unit period to elapse (S601).
- the length of the unit period is, for example, 3 seconds.
- the first determination unit 209 calculates the number of event notifications received within the unit period (S603). Then, the first determination unit 209 determines whether or not the number of event notifications received within the unit period exceeds a threshold (S605).
- the threshold is, for example, the number of lines in the list.
- the first addition unit 211 adds the event notifications received within the unit period to the second table (S607).
- the display processing unit 217 displays a list based on the second table (S609). Specifically, the contents of the record with the latest reception date and time are displayed in the first line of the list. Further, the records are specified in the order of going back the reception date and time, and the contents of the records are displayed one after another. The process ends when the last line is displayed. That is, the contents of records corresponding to the number of rows in the list are displayed in the order of reception date and time. And it returns to the process shown to S601 and repeats the process mentioned above.
- the aggregating unit 213 executes an aggregation process (S611).
- the aggregation unit 213 aggregates all or part of event notifications received within the unit period in the aggregation process.
- Fig. 7 shows the aggregation processing flow.
- the classification unit 501 executes message classification processing (S701).
- the classification unit 501 classifies event notifications received within a unit period in the message classification process.
- Fig. 8 shows the message classification process flow.
- the second extraction unit 511 executes word extraction processing (S801).
- the second extraction unit 511 extracts words included in each message in the word extraction process.
- FIG. 9 shows an example of the word table.
- the word table in this example has a record corresponding to the word included in the message.
- the record of the word table has a field for storing an event notification ID and a field for storing a word.
- the event notification ID specifies an event notification including a message in which the word appears.
- FIG. 10 shows a word extraction process flow.
- the second extraction unit 511 specifies one ID of the event notification received during the unit period waited in S601 of FIG. 6 (S1001). For example, the second extraction unit 511 identifies the event notification ID in the order of the reception time.
- the second extraction unit 511 specifies a message included in the event notification (S1003).
- the second extraction unit 511 decomposes the identified message into words (S1005). Then, the second extraction unit 511 provides a new record in the word table for each decomposed word, and stores the event notification ID and the word in association with the record (S1007).
- the second extraction unit 511 determines whether there is an unspecified event notification ID (S1009). If it is determined that there is an unspecified event notification ID, the processing returns to the processing shown in S1001 and the above-described processing is repeated. On the other hand, if it is determined that there is no unspecified event notification ID, the word extraction process is terminated. When the word extraction process is completed, the process returns to the caller message classification process.
- the counting unit 513 executes a counting process (S803).
- the counting unit 513 counts the number of words corresponding to the event notification ID and the number of appearances of each word in the counting process.
- Fig. 11 shows an example of a summary table.
- the tabulation table in this example has a record corresponding to the event notification ID.
- the record of the tabulation table has a field corresponding to the word stored in the word table. In the field, a code indicating that the word is “included” or a code indicating that it is not included is stored.
- the record of the aggregation table further has a field for storing the number of words corresponding to the event notification ID.
- the tabulation table also has a field for storing the number of appearances of each word.
- the words “host” “ORD05282” “in” “disk” “output” “done” “parameter” and “C” are added to the event notification message identified by ID: 52132. This indicates that the words “D” and “E” are not included.
- the first record indicates that the event notification message identified by ID: 52132 includes 17 words.
- FIG. 11 shows that, for example, the word “host” is included in six event notification messages.
- FIG. 12 shows a counting process flow.
- the counting unit 513 identifies one event notification ID received within the unit period waited in S601 of FIG. 6 (S1201).
- the totaling unit 513 specifies the ID of the event notification according to the order of the reception time.
- the totaling unit 513 stores, for each word corresponding to the event notification ID in the word table, a code indicating “include” in the field of the word in the record of the event notification ID in the totaling table (S1203). In addition, the totaling unit 513 stores a code “not included” in a field of a word for which “include” is not set.
- the totaling unit 513 counts the field in which the “include” code is stored, and stores the number of the field in the word count field in the record of the event notification ID (S1205).
- the aggregation unit 513 determines whether there is an unspecified event notification ID (S1207). If it is determined that there is an unspecified event notification ID, the processing returns to the processing shown in S1201 and the above-described processing is repeated.
- the counting unit 513 counts the number of appearances of each word and stores it in the field of the number of appearances corresponding to the word (S1209).
- the number of occurrences of a word is the number of fields in which a code indicating “include” is stored for the word.
- the first calculation unit 515 executes a duplication number calculation process (S805).
- the first calculation unit 515 calculates the number of words included in the comparison destination event notification message among the words included in the comparison source event notification message in the duplication number calculation processing.
- the number of the words is called a multiple number.
- FIG. 13 shows an example of a duplicate table.
- the duplicate table in this example has a record corresponding to the event notification ID of the comparison source.
- the comparison source is each event notification received within the unit period waited in S601 of FIG.
- the record of the duplicate table has a field (hereinafter referred to as duplicate field) corresponding to each event notification ID of the comparison destination.
- the comparison destination is also each event notification received within the unit period waited in S601 of FIG.
- the duplicate number field stores the duplicate number described above.
- the record of the tabulation table further has a field for storing the number of words. The number of words is the same as in the case of the aggregation table shown in FIG.
- FIG. 13 shows that, for example, 16 words out of 17 words included in the event notification message identified by ID: 52132 are included in the event notification message identified by ID: 52133. .
- FIG. 13 shows that, for example, one of the 17 words included in the event notification message identified by ID: 52132 is included in the event notification message identified by ID: 62164. ing.
- FIG. 14 shows the duplication calculation processing flow.
- the first calculation unit 515 identifies one comparison source event notification ID (S1401). For example, the first calculation unit 515 identifies one event notification ID received within the unit period waited in S601 of FIG. 6 according to the order of reception time.
- the first calculation unit 515 identifies one event notification ID as a comparison destination (S1403). For example, the first calculation unit 515 specifies one event notification ID received within the unit period waited in S601 of FIG. 6 according to the order of the reception time, excluding the comparison source event notification ID.
- the first calculation unit 515 identifies one word included in the comparison source message based on the word table (S1405). The first calculation unit 515 determines whether or not the word is included in the comparison target message based on the word table (S1407).
- the first calculation unit 515 sets 1 to the value of the overlap field of the comparison destination event notification ID in the comparison source event notification ID record. Add (S1409). Note that the initial value in the overlapping multiple fields is zero. If it is determined that the word is not included in the comparison target message, the first calculation unit 515 does not update the values of the overlapping fields.
- the first calculation unit 515 determines whether there is an unspecified word (S1411). If it is determined that there is an unspecified word, the process returns to S1405 and the above-described process is repeated.
- the first calculation unit 515 determines whether or not there is an unspecified comparison destination event notification ID (S1413). If it is determined that there is a comparison destination event notification ID that has not been specified, the processing returns to the processing shown in S1403 and the above-described processing is repeated.
- the first calculation unit 515 compares the number of words in the comparison-source event notification ID record with the comparison based on the aggregation table. The number of words in the original event notification message is stored (S1415).
- the first calculation unit 515 determines whether or not there is an unspecified comparison source event notification ID (S1417). If it is determined that there is a comparison-source event notification ID that has not been specified, the process returns to S1401, and the above-described process is repeated.
- the duplication number calculation process ends.
- the process returns to the caller message classification process.
- the second calculation unit 517 executes similarity calculation processing (S807).
- the second calculation unit 517 calculates the similarity between the messages related to the two event notification IDs in the similarity calculation process. When the similarity value is large, it means that two messages are similar. If the similarity value is small, it means that the two messages are not similar.
- FIG. 15 shows an example of a similarity table.
- the similarity table in this example has a record corresponding to the event notification ID of the comparison source.
- the record in the similarity table has a field corresponding to each event notification ID to be compared (hereinafter referred to as a similarity field). In the field, the above-described similarity is stored.
- the similarity between the event notification message identified by ID: 52132 and the event notification message identified by ID: 52133 is 0.94.
- the similarity between the event notification message identified by ID: 52132 and the event notification message identified by ID: 62164 is 0.06.
- FIG. 16 shows a similarity calculation process flow.
- the second calculation unit 517 identifies one set of event notification IDs received within the unit period waited in S601 of FIG. 6 (S1601).
- the second calculation unit 517 calculates the degree of duplication using one event notification ID of the set as a comparison source and the other event notification ID of the set as a comparison destination (S1603).
- the degree of duplication is obtained by dividing the duplication number specified by the comparison source and the comparison destination in the duplication number table by the number of words specified by the comparison source.
- the second calculation unit 517 further calculates a degree of duplication using the other event notification ID as a comparison source and the one event notification ID as a comparison destination (S1605).
- the second calculation unit 517 obtains the average of the two calculated degrees of duplication, and stores it in the similarity field specified by the comparison source and the comparison destination (S1607).
- the degree of duplication calculated in S1603 may be stored in the similarity field.
- the degree of duplication calculated in S1605 may be stored in the similarity field.
- the second calculation unit 517 determines whether there is a set of unspecified event notification IDs (S1609). If it is determined that there is a set of unspecified event notification IDs, the process returns to S1601, and the above-described process is repeated. On the other hand, when it is determined that there is no unspecified event notification ID pair, the similarity calculation process is terminated. When the similarity calculation process ends, the process returns to the caller message classification process.
- the clustering unit 519 executes clustering processing (S809).
- the clustering unit 519 performs event notification clustering based on the similarity in the clustering process.
- the clustering process is a conventional technique.
- the clustering unit 519 performs analysis by the Ward method.
- a class corresponds to a group of event notifications with similar messages.
- FIG. 17 shows an example of a classification table that stores the result of the clustering process.
- the classification table in this example has a record corresponding to the event notification.
- the record of the classification table has a field for storing the event notification ID and a field for storing the class ID.
- the event notification ID identifies the classified event notification.
- the class ID identifies the class to which the event notification belongs, that is, the group.
- FIG. 17 shows an event notification with ID: 52132, an event notification with ID: 52133, an event notification with ID: 52134, an event notification with ID: 52147, an event notification with ID: 52148, and an event notification with ID: 52149. It indicates that it belongs to the class identified by C01.
- the message classification process is finished and the process returns to the caller aggregation process.
- the first group processing unit 503 executes the same type group processing (S703).
- the first group processing unit 503 identifies a group of event notifications related to messages having a common part other than a variable in the same type group processing. This group is called the isomorphic group.
- FIG. 18 shows the same type group processing flow.
- the first specifying unit 521 executes candidate specifying processing related to the same type group (S1801).
- the first specifying unit 521 specifies a class corresponding to a candidate of the same type group in the candidate specifying process related to the same type group.
- FIG. 19 shows an example of a class table.
- the class table in this example has a record corresponding to the class.
- the records in the class table include a field in which a class ID is stored, a field in which the number of event notifications is stored, a field in which multiple averages are stored, a field in which average word counts are stored, and words that do not overlap A field for storing the non-overlapping ratio, and a field for candidates of the same type group.
- Class ID identifies a class.
- the number of event notifications is the number of event notifications included in the class.
- the average of multiples is the average of multiples in each set of event notifications belonging to the class.
- the duplication number is specified based on the duplication table.
- the average number of words is the average number of words in the event notification message belonging to the class.
- the number of non-overlapping words is a value obtained by subtracting the average of multiple words from the average number of words.
- the non-overlapping ratio is a value obtained by dividing the number of non-overlapping words by the average number of words.
- a code indicating that the class is “applicable” or a code indicating that the class is “not applicable” is stored in the field related to the candidate for the same type group. A method for determining whether or not the class corresponds to a candidate for the same type group will be described later.
- the first record shown in the figure indicates that the class of ID: C01 includes six event notifications, and the average of a plurality of overlaps for the set of these event notifications is 16. Further, the first record indicates that the average number of words in the message included in the event notification belonging to the class of ID: C01 is 17 and that a non-overlapping word is regarded as one. In addition, the first record has a non-overlap rate of 0.06 in the class of ID: C01, indicating that this class corresponds to a candidate for the same type group.
- FIG. 20A shows a candidate specifying process flow related to the same type group.
- the first specifying unit 521 specifies one class ID (S2001).
- the first identification unit 521 identifies event notifications belonging to the class based on the classification table (S2003).
- the first specifying unit 521 obtains the number of event notifications belonging to the class, and stores the number in the event notification number field of the record corresponding to the class (S2005).
- the first specifying unit 521 specifies the duplication number related to the group based on the duplication number table for each set of event notifications belonging to the class.
- the first specifying unit 521 calculates the average of the specified overlapping numbers. Then, the first specifying unit 521 stores the calculated average of the duplication numbers in the record corresponding to the class (S2007).
- the first specifying unit 521 specifies the number of words of each event notification belonging to the class and calculates the average of the specified number of words.
- the first specifying unit 521 stores the calculated average number of words in the record corresponding to the class (S2009).
- the first specifying unit 521 obtains the number of non-overlapping words by subtracting the average of multiple words from the average of the number of words.
- the first specifying unit 521 stores the number of non-overlapping words in the record corresponding to the class (S2011).
- the first specifying unit 521 calculates the non-overlapping ratio by dividing the number of non-overlapping words by the average number of words.
- the first specifying unit 521 stores the non-overlap rate in a record corresponding to the class (S2013). Through the terminal A, the processing proceeds to S2015 shown in FIG. 20B.
- the first specifying unit 521 determines whether or not the non-overlap rate exceeds 0 and the non-overlap rate is below a threshold value (for example, 0.2) (S2015). Since the variable is not included when the non-overlapping ratio is 0, it does not correspond to the same type group in this example. If the non-overlapping ratio exceeds the threshold value, it is assumed that there are different words other than the variables, so that it does not fall under the same type group in this example.
- a threshold value for example, 0.2
- the first specifying unit 521 stores a code “applicable” in the candidate field of the same type group in the record corresponding to the class. (S2017).
- the first specifying unit 521 indicates that “not applicable” in the candidate field of the same type group in the record corresponding to the class The code is stored (S2019).
- the first specifying unit 521 determines whether there is an unspecified class ID (S2021). If it is determined that there is an unspecified class ID, the process returns to the process shown in S2001 in FIG. On the other hand, if it is determined that there is no unspecified class ID, the candidate specifying process related to the same type group is finished. When the candidate specifying process related to the isomorphic group is finished, the process returns to the isomorphic group process of the caller.
- the determination unit 523 executes variable determination processing (S1803).
- the determination unit 523 determines a word regarded as a variable among words included in a message belonging to a class corresponding to the candidate of the same type group.
- 21A and 21B show examples of appearance rate tables.
- An appearance rate table is provided for each candidate of the same type group.
- the header of the appearance rate table in this example has a field in which the ID of the class corresponding to the candidate of the same type group is stored.
- the appearance rate table in this example has a record corresponding to a word included in the message of the class.
- the record of the appearance rate table has a field for storing words, a field for storing the number of appearance messages, a field for storing the appearance rate, and a field for variables.
- the word field words included in the message of the class are stored.
- the number of appearance messages is the number of messages including the word among messages of the class.
- the appearance rate is a value obtained by dividing the number of appearing messages by the number of messages belonging to the class.
- a code indicating that the word is “applicable” or a code indicating “not applicable” is stored in the variable.
- FIG. 21A is an example of an appearance rate table regarding the class of ID: C01.
- the first record indicates that the word “host” appears in six messages belonging to the class of ID: C01.
- the first record indicates that the word “host” appears in a message belonging to the class of C01 at a rate of 1.00, and this word does not correspond to a variable.
- FIG. 21B is an example of an appearance rate table regarding the class of ID: C08.
- the last record indicates that the word “GBSE5008” appears in one message belonging to the class of ID: C08.
- the first record indicates that the word “GBSE5008” appears in a message belonging to the class of C08 at a rate of 0.06, and this word corresponds to a variable.
- FIG. 22 shows a variable discrimination processing flow. Based on the class table, the determination unit 523 identifies one class ID corresponding to a candidate for the same type group (S2201).
- the discriminating unit 523 specifies one word included in any message belonging to the class (S2203). Based on the classification table and the word table, the determination unit 523 counts the number of messages in which the word appears among the event notification messages belonging to the class. The determination unit 523 stores the number of messages, that is, the number of appearance messages in the record of the word in the appearance rate table of the class (S2205).
- the discriminating unit 523 obtains the appearance rate by dividing the number of appearance messages by the number of messages belonging to the class.
- the determination unit 523 stores the appearance rate in the record of the word in the appearance rate table of the class (S2207).
- the determination unit 523 determines whether or not the appearance rate exceeds 0 and the appearance rate falls below a threshold value (for example, 0.2) (S2209). In this example, the condition where the appearance rate exceeds 0 may be omitted. When the appearance rate exceeds the threshold, it is estimated that the word is not a variable such as the host name assumed in this example.
- a threshold value for example, 0.2
- the determination unit 523 stores a code “applicable” in the field relating to the variable in the record of the word (S2211).
- the determination unit 523 stores a code “not applicable” in the field related to the variable in the record of the word (S2213).
- the determination unit 523 determines whether there is an unspecified word (S2215). If it is determined that there is an unspecified word, the processing returns to the processing shown in S2203 and the above-described processing is repeated.
- the determination unit 523 determines whether there is an unspecified class ID (S2217). If it is determined that there is an unspecified class ID, the processing returns to the processing shown in S2201 and the above-described processing is repeated.
- variable determination process is terminated.
- the process returns to the caller's isomorphic group process.
- the third addition unit 525 executes a record addition process for the same type group (S1805).
- the third addition unit 525 adds records aggregated for the same type group to the second table in the record addition processing for the same type group.
- FIG. 23 shows a record addition processing flow of the same type group.
- the third adding unit 525 identifies one class including a variable among classes that are candidates for the same type group (S2301). That is, the third adding unit 525 has a code indicating “applicable” in any of the fields related to variables included in the appearance rate table in the appearance rate table related to classes that are candidates for the same type group. Is identified. The identified class corresponds to the isomorphic group.
- the third addition unit 525 provides a new record in the second table (S2303).
- the third adding unit 525 assigns an ID for identifying the same type group (S2305).
- the third adding unit 525 stores the assigned same group ID in the event notification field in the new record.
- the third addition unit 525 specifies the first reception date / time among the reception dates / times of the event notification belonging to the same type group (S2307).
- the third addition unit 525 stores the first reception date in the reception date field in the new record.
- the third adding unit 525 obtains the net number of hosts that transmitted the event notification belonging to the same type group (S2309).
- the third addition unit 525 stores the net number of hosts in the host field in the new record.
- the third addition unit 525 generates a common message including a word other than a variable and a code indicating the variable part (S2311). For example, the third adding unit 525 replaces the word corresponding to the variable with a code indicating the variable part based on any event notification message belonging to the same type group.
- the code indicating the variable part is an example of an element indicating the position of the variable.
- a graphic or mark identifier indicating the variable part may be used. In this case, the display processing unit 217 replaces the identifier with a graphic or mark image for display.
- the third addition unit 525 stores the generated common message in the message field in the new record.
- the third adding unit 525 specifies the number of event notifications belonging to the same type group (S2313).
- the third addition unit 525 stores the specified number of event notifications in the message field of the new record.
- the third adding unit 525 adds the content of the event notification belonging to the same type group to the reference data (S2315). At this time, the content of the event notification is associated with the same group ID.
- the third adding unit 525 determines whether there is an unspecified class (S2317). If it is determined that there is an unspecified class, the processing returns to the processing shown in S2301 and the above-described processing is repeated.
- the record adding process of the same type group is finished.
- the process returns to the calling isomorphic group processing.
- the second group processing unit 505 executes common variable group processing (S705).
- the second group processing unit 505 identifies a group of event notifications related to messages including common variables in the common variable group processing. This group is called a common variable group.
- FIG. 24 shows a common variable group processing flow.
- specification part 531 performs a common word specific process (S2401).
- the second specifying unit 531 specifies a common word appearing in any event notification message belonging to the predetermined number of classes or more. This word is called a common word.
- FIG. 25 shows an example of the common word table.
- the common word table in this example has records corresponding to the words included in the word table.
- the record of the common word table has a field for storing words, a field for storing the number of appearance classes, and a field for common words.
- the words included in the word table are stored in the word field.
- the number of appearance classes is the number of net classes to which the message including the word belongs.
- a code indicating that the word is “applicable” or “not applicable” is stored in the common word.
- the illustrated first record indicates that the word “host” appears in an event notification message belonging to one class and does not correspond to a common word.
- the second record shown in the drawing indicates that the word “ORD05282” appears in the event notification message belonging to the six classes and corresponds to the common word.
- the fourth record shown in the figure indicates that the word “failure” also appears in the event notification message belonging to the six classes and corresponds to the common word.
- FIG. 26 shows a common word specifying process flow.
- the second specifying unit 531 specifies one word included in the word table (S2601).
- specification part 531 provides a new record in a common word table, and stores the said word in the said record.
- the second specifying unit 531 specifies one class ID (S2603). Based on the word table and the classification table, the second specifying unit 531 determines whether or not the word is included in any event notification message belonging to the class (S2605). If it is determined that the word is included in any event notification message belonging to the class, the second specifying unit 531 adds 1 to the value of the number of appearance classes in the record (S2607). Note that the initial value of the number of appearance classes is 0. If it is determined that the word is not included in any message belonging to the class, the second specifying unit 531 does not update the number of appearance classes in the record.
- the second specifying unit 531 determines whether there is an unspecified class ID (S2609). If it is determined that there is an unspecified class ID, the processing returns to the processing shown in S2603 and the above-described processing is repeated.
- the second specifying unit 531 determines whether the number of appearance classes exceeds a threshold (for example, 4) (S2611). If it is determined that the number of appearance classes exceeds the threshold, the second specifying unit 531 stores a code “applicable” in the field related to the common word in the record of the word (S2613). On the other hand, if it is determined that the number of appearance classes is equal to or less than the threshold, the second specifying unit 531 stores a code “not applicable” in the field related to the common word in the record of the word (S2615).
- a threshold for example, 4
- the second specifying unit 531 determines whether or not there is an unprocessed word (S2617). If it is determined that there is an unprocessed word, the processing returns to the processing shown in S2601 and the above-described processing is repeated. On the other hand, when it is determined that there is no unprocessed word, the common word specifying process is terminated. When the common word specifying process is completed, the process returns to the caller common variable group process.
- the generation unit 533 executes group generation processing (S2403).
- the generation unit 533 generates a common variable group based on the common word in the group generation process. Specifically, one or both of the primary group and the secondary group are generated. That is, one or both of the primary group and the secondary group generated in the group generation process corresponds to the common variable group.
- common words may be mixed with common words and non-common variables.
- the common word “ORD05282” corresponds to a common variable.
- the common word “failure” does not correspond to a common variable.
- FIG. 27 shows a group generation processing flow.
- the generation unit 533 generates a primary group for each common word (S2701). Specifically, a primary group table is provided.
- FIG. 28A and FIG. 28B show examples of the primary group table.
- the header of the primary group table in this example has a field for storing a common variable group ID and a field for storing a common word.
- the common variable group ID identifies a common variable group.
- the common variable group ID is not yet set when the primary group table is generated.
- the primary group table in this example has a record in which an event notification ID is stored.
- the event notification ID specifies an event notification related to a message including the common word.
- the example of the primary group table illustrated in FIG. 28A indicates that the common word “ORD05282” is included in the message identified by the 18 event notification IDs illustrated.
- the example of the primary group table illustrated in FIG. 28B indicates that the common word “failure” is included in the message identified by the 18 event notification IDs illustrated.
- the event notification ID in the primary group table shown in FIG. 28A matches the event notification ID in the primary group table shown in FIG. 28B.
- the second determination unit 537 specifies a combination of primary groups (S2703).
- the second determination unit 537 specifies, for example, in order from combinations having a larger number of primary groups as combination elements.
- the second determination unit 537 determines whether or not the event notification IDs in the primary groups related to the combination overlap (S2705). In this example, the second determination unit 537 determines whether or not all event notification IDs in each primary group match. The second determination unit 537 may determine whether or not a part of the event notification IDs in each primary group match. Specifically, the second determination unit 537 may determine whether or not a predetermined number or more of event notification IDs match. Or you may make it the 2nd determination part 537 determine whether event notification ID more than a predetermined ratio corresponds.
- the integration unit 539 integrates the primary groups related to the combination to generate a secondary group (S2707). Specifically, the integration unit 539 generates a secondary group table and deletes each original primary group table. If it is determined that the event notification IDs in each primary group do not overlap, the process proceeds to S2709.
- FIG. 29 shows an example of the secondary group table.
- the header of the secondary group table in this example has a field in which a common variable group ID is stored and a plurality of fields in which common words are stored.
- the common word is a common word included in the event notification message belonging to the secondary group.
- the record in the secondary group table stores an event notification ID related to a message including a plurality of common words stored in the header. That is, the integration unit 539 sets a common event notification ID in the original primary group table in the secondary group table.
- the second determination unit 537 determines whether there is an unprocessed combination (S2709). If it is determined that there is an unprocessed combination, the process returns to the process shown in S2703 and the above-described process is repeated.
- the generation unit 533 assigns a common variable group ID to the remaining primary group, that is, the primary group that has not been integrated (S2711). Then, the common variable group ID is stored in the header of the primary group table. When the group generation process is completed, the process returns to the caller common variable group process.
- the fourth addition unit 535 executes a common variable group record addition process (S2405).
- the fourth addition unit 535 adds the records aggregated for the common variable group to the second table in the common variable group record addition processing.
- Fig. 30 shows the common variable group record addition processing flow.
- the fourth adding unit 535 identifies one generated common variable group (S3001).
- the fourth addition unit 535 provides a new record in the second table (S3003).
- the fourth adding unit 535 stores the common variable group ID in the event notification field in the new record (S3005).
- the fourth addition unit 535 specifies the first reception date / time among the reception dates / times of the event notification belonging to the common variable group (S3007).
- the fourth addition unit 535 stores the first reception date in the reception date field in the new record.
- the fourth addition unit 535 obtains the net number of hosts that transmitted the event notification belonging to the common variable group (S3009).
- the fourth addition unit 535 stores the net number of hosts in the host field in the new record.
- the fourth adding unit 535 stores the common word in the common variable group in the message field of the new record (S3011).
- the fourth adding unit 535 specifies the number of event notifications belonging to the common variable group (S3013).
- the fourth addition unit 535 stores the specified number of event notifications in the message field of the new record.
- the fourth addition unit 535 adds the content of the event notification belonging to the common variable group to the reference data (S3015). At this time, the content of the event notification is associated with the common variable group ID.
- the fourth adding unit 535 determines whether there is an unspecified class (S3017). If it is determined that there is an unspecified class, the processing returns to the processing shown in S3001 and the above-described processing is repeated.
- the record addition process for the common variable group is finished.
- the process returns to the caller common variable group process.
- the second addition unit 507 extracts the event notification record that does not belong to the same type group and the common variable group from the record (first table) corresponding to the event notification received in the unit period waited in S601 of FIG.
- the extracted record is added to the second table (S707).
- the process returns to the caller's main process.
- the display processing unit 217 displays the list (S613). As described above, the display processing unit 217 displays the contents of the records in the second table in the order of reception date and time. In this example, as shown in FIG. 4, a row related to the common variable group with ID: M1 is displayed first. Second, a line related to the event notification of ID: 52150 that does not belong to the common variable group and the same type group is displayed. Third, a row relating to the same type group with ID: W1 is displayed. The contents based on the event notification acquired in the previous unit period are displayed after the fourth. When the display of the list is finished, the process returns to the process shown in S601 and the above-described process is repeated.
- the messages of the common variable group are aggregated, it is easy to grasp the meaning of a plurality of messages caused by the same event. For example, messages including the identifier of the device that caused the failure can be aggregated and the cause device can be indicated by a single message.
- the present invention is not limited to this.
- the functional block configuration described above may not match the program module configuration.
- each storage area described above is an example, and the configuration as described above is not necessarily required. Further, in the processing flow, if the processing result does not change, the processing order may be changed or a plurality of processes may be executed in parallel.
- the monitoring device 101 described above is a computer device, and as shown in FIG. 31, a memory 2501, a CPU (Central Processing Unit) 2503, a hard disk drive (HDD: Hard Disk Drive) 2505, and a display device 2509.
- a display control unit 2507 connected to the computer, a drive device 2513 for a removable disk 2511, an input device 2515, and a communication control unit 2517 for connecting to a network are connected by a bus 2519.
- An operating system (OS) and an application program for executing the processing in this embodiment are stored in the HDD 2505, and are read from the HDD 2505 to the memory 2501 when executed by the CPU 2503.
- OS operating system
- an application program for executing the processing in this embodiment are stored in the HDD 2505, and are read from the HDD 2505 to the memory 2501 when executed by the CPU 2503.
- the CPU 2503 controls the display control unit 2507, the communication control unit 2517, and the drive device 2513 according to the processing content of the application program, and performs a predetermined operation. Further, data in the middle of processing is mainly stored in the memory 2501, but may be stored in the HDD 2505.
- the application program for performing the above-described processing is a computer-readable removable program. It is stored and distributed on the disk 2511 and installed from the drive device 2513 to the HDD 2505. In some cases, the HDD 2505 may be installed via a network such as the Internet and the communication control unit 2517.
- Such a computer apparatus realizes various functions as described above by organically cooperating hardware such as the CPU 2503 and the memory 2501 described above and programs such as the OS and application programs. .
- a plurality of messages each identified by an identifier are classified into a plurality of classes that are a set of messages based on the similarity between messages, and (B) a plurality of messages (C) including a process of outputting a first message in which messages including common words are aggregated.
- messages including the identifier of the device that caused the failure can be aggregated and the cause device can be notified by a single message.
- the identifiers of messages including the common words are duplicated. If the identifiers are duplicated, the first messages related to the common words are grouped into the same group. May be.
- a candidate class in which the ratio of words that do not overlap between messages belonging to the same class is smaller than the reference is specified, and among the plurality of words included in the message belonging to the candidate class, the message unit belonging to the candidate class A word whose appearance rate is smaller than the reference may be determined as a variable.
- a variable is determined for a candidate class, a word other than the variable included in the message belonging to the candidate class and an element indicating the variable position are output as a second message in which messages belonging to the candidate class are aggregated. You may do it.
- a message not corresponding to the aggregation target by the first message and the aggregation target by the second message may be output.
- a program for causing a computer to perform the processing according to the above method can be created.
- the program can be a computer-readable storage medium such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, or a hard disk. It may be stored in a storage device. Note that intermediate processing results are generally temporarily stored in a storage device such as a main memory.
- the message output program according to supplementary note 3 including a process of outputting a message that does not correspond to an aggregation target by the first message and an aggregation target by the second message among the plurality of messages.
- a classification unit that classifies a plurality of messages, each identified by an identifier, into a plurality of classes that are a set of messages based on the similarity between the messages; Among the words included in the plurality of messages, a specifying unit that specifies a common word in which the number of classes in which the word appears is greater than a reference, An output unit that outputs a first message in which messages including the common word are aggregated.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Machine Translation (AREA)
Abstract
【課題】同一事象に起因する複数メッセージの趣旨を把握し易くする。 【解決手段】一態様に係るメッセージ出力方法は、(A)各々識別子によって識別される複数のメッセージを、メッセージ間の類似度に基づきメッセージの集合である複数のクラスに分類し、(B)複数のメッセージに含まれる単語のうち、当該単語が出現するクラスの数が基準より多い共通単語を特定し、(C)共通単語を含むメッセージが集約された第1メッセージを出力する処理を含む。また、共通単語の組合せについて、各共通単語を含むメッセージの上記識別子が重複する場合に、各共通単語に係る第1メッセージを同じグループにまとめるようにしてもよい。
Description
本発明は、メッセージを集約する技術に関する。
或る監視装置は、監視対象のネットワークシステムに含まれるホストから多種多様なイベントに関するメッセージを受け付けて、当該メッセージを表示する。システムの管理者は、表示されたメッセージをチェックして、例えば障害の発生を把握する。
監視装置において、同じメッセージを繰り返し受け付けることもある。このような事態を想定して、同一のメッセージに関して2回目以降のメッセージを破棄するフィルタを設ければ、重複するメッセージを排除することができる。
また、一連のメッセージについて規則性があれば、フィルタが所定のルールに基づいて一連のメッセージを一つのメッセージにまとめることもある。これにより、メッセージの数を減らすこともできる。
このようなフィルタリングを通過した複数のメッセージが同一事象に起因することがある。但し、同一事象に起因するメッセージは、その内容が同一であるとは限らない。また、同一事象に起因するとしても一連のメッセージとしての規則性を有しているとは限らない。従って、従来のフィルタを用いてもこれらのメッセージはそのまま表示される。そのため、システムの管理者が状況の把握に手間取ることがある。
本発明の目的は、一側面では、同一事象に起因する複数メッセージの趣旨を把握し易くすることである。
一態様に係るメッセージ出力方法は、(A)各々識別子によって識別される複数のメッセージを、メッセージ間の類似度に基づきメッセージの集合である複数のクラスに分類し、(B)複数のメッセージに含まれる単語のうち、当該単語が出現するクラスの数が基準より多い共通単語を特定し、(C)共通単語を含むメッセージが集約された第1メッセージを出力する処理を含む。
一側面としては、同一事象に起因する複数メッセージの趣旨を把握し易くなる。
図1に、ネットワーク構成例を示す。この例では、ネットワークにホスト103、DB(DataBase)サーバー105及びDNSサーバー107が接続されている。ネットワークは、例えばLAN(Local Area Network)である。ホスト103は、他のホスト103、DBサーバー105又はDNSサーバー107のサービスを利用することがある。尚、DBサーバー105及びDNSサーバー107もホスト装置の一種である。
ネットワークにはさらに監視機器101が接続されている。監視機器101は、ホスト103、DBサーバー105及びDNSサーバー107の状況を監視する。つまり、ホスト103、DBサーバー105及びDNSサーバー107は、監視対象の装置に相当する。具体的には、監視対象の装置においてイベントが発生すると、監視対象の装置はイベントの内容を知らせるメッセージを含むイベント通知を監視機器101に送信する。監視機器101は、受信したイベント通知の内容を表示装置に表示する。管理者は、随時イベント通知の内容をチェックして、監視対象装置の状況を把握する。
図2に、監視機器101のモジュール構成例を示す。監視機器101は、受信部201、フィルタ203、ルール記憶部205、第1テーブル格納部207、第1判定部209、第1追加部211、集約部213、第2テーブル格納部215、表示処理部217、参照データ記憶部219、受付部221及び第1抽出部223を有する。
受信部201は、イベント通知を受信する。フィルタ203は、受信したイベント通知に対するフィルタリングを行う。ルール記憶部205は、フィルタリングのためのルールを記憶する。第1テーブル格納部207は、第1テーブルを格納する。第1テーブルには、フィルタ203を通過したイベント通知に関する内容が格納される。第1テーブルについては、図3A乃至図3Eを用いて後述する。
第1判定部209は、単位期間内において受信したイベント通知の数が閾値を超えるか否かを判定する。第1追加部211は、単位期間内において受信したイベント通知を第2テーブルに追加する。集約部213は、単位期間内において受信したイベント通知を集約する。第2テーブル格納部215は、第2テーブルを格納する。第2テーブルは、第1テーブルと同様の構成である。但し、第2テーブルは、イベント通知を集約した内容のレコードを含む場合がある。
表示処理部217は、第2テーブルに基づいてリストの表示を行う。参照データ記憶部219は、集約対象となったイベント通知の内容を記憶する。受付部221は、集約対象となったイベント通知の内容の照会指示を受け付ける。照会指示を受け付けた場合に、第1抽出部223は、集約対象となったイベント通知を抽出する。第1抽出部223によって抽出されたイベント通知の内容は、表示処理部217によって表示される。尚、表示処理部217は、出力部の例である。出力の形態は、印刷、送信又は記憶媒体への書き込みなどであってもよい。
上述した受信部201、フィルタ203、第1判定部209、第1追加部211、集約部213、表示処理部217、受付部221及び第1抽出部223は、ハードウエア資源(例えば、図31)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述したルール記憶部205、第1テーブル格納部207、第2テーブル格納部215及び参照データ記憶部219は、ハードウエア資源(例えば、図31)を用いて実現される。
図3A乃至図3Eに、第1テーブルの例を示す。この例における第1テーブルは、フィルタ203を通過したイベント通知に対応するレコードを有している。第1テーブルのレコードは、イベント通知IDが格納されるフィールドと、受信日時が格納されるフィールドと、ホストに関するフィールドと、メッセージが格納されるフィールドとを有している。
イベント通知IDは、フィルタ203を通過したイベント通知を識別する。受信日時は、イベント通知を受信した時点を特定する。ホストのフィールドには、イベント通知の送信元であるホストの名前が格納される。メッセージは、イベントの内容を表す。図3Aに示した第1テーブルの続きを図3Bに示す。図3Bに示した第1テーブルの続きを図3Cに示す。図3Cに示した第1テーブルの続きを図3Dに示す。図3Dに示した第1テーブルの続きを図3Eに示す。
図3A乃至図3Eに示した第1テーブルは、2015年10月13日の17時48分44秒から同17時48分47秒に至る3秒間に受信したイベント通知に関するレコードを有している。各レコードは、受信した順にイベント通知に関する内容を格納している。
イベント通知ID:52132からイベント通知ID:52149までの18個のレコードにおけるメッセージは、「ORD05282」及び「失敗」の単語を含んでいる。これらのレコードは、いずれもホスト名が「ORD05282」であるDBサーバー105の故障に起因するイベントに関する。つまり、これらのレコードに格納されているメッセージは、DBサーバー105の故障という同一事象に起因する。
また、イベント通知ID:52151からイベント通知ID:52166までの16個のレコードにおけるメッセージは、「NT1CF100」「OMSKOBE」及び「FABS5079」などのホスト名に相当する変数以外の部分が共通である。これらのレコードは、いずれもDNSサーバー107の故障に起因するイベントに関する。つまり、これらのレコードに格納されているメッセージは、DNSサーバー107の故障という同一事象に起因する。
イベント通知ID:52150レコードは、ホスト名「HOST_MVI」のホスト103自身の資源不足に起因するイベントに関する。つまり、このレコードに格納されているメッセージは、他のレコードに格納されているメッセージの場合とは異なる事象に起因する。
管理者が、短い時間内に受信した多数のイベント通知の関連を把握し、如何なる事象が想定されるかを検討するには時間がかかる。例えば図3A乃至図3Eに示したイベント通知ID:52132からイベント通知ID:52166までのレコードの内容を一斉に表示させると、先に受信したイベント通知の内容がリストから流れ出てしまう。また、多くの類似するメッセージに係るイベント通知にまぎれて、イベント通知ID:52150のメッセージは見落とされ易い。
図4に、本実施の形態で表示されるリストの例を示す。本実施の形態では、イベント通知ID:52151からイベント通知ID:52166までのレコードのように、変数以外の部分が共通するメッセージに係るイベント通知のグループを特定して、これらのメッセージを集約する。図4に示したリストの第1行は、このグループのイベント通知を集約した内容を示している。イベント通知の項目の「M1」は、当該グループを識別する。受信日時は、このグループのイベント通知を最初に受信した日時を示している。ホストの項目におけるホスト数は、このグループのイベント通知を送信したホストの正味の数である。メッセージの項目には、変数以外の内容と変数の位置を示すコードとが表示される。また、メッセージの項目には、このグループのメッセージが16件あることも示している。
更に、本実施の形態では、イベント通知ID:52132からイベント通知ID:52149までのレコードのように、共通の変数(この例では、「ORD05282」)を含むメッセージに係るイベント通知のグループを特定して、これらのメッセージを集約する。図4に示したリストの第3行は、このグループのイベント通知を集約した内容を示している。イベント通知の項目の「W1」は、当該グループを識別する。受信日時は、このグループのイベント通知を最初に受信した日時を示している。ホストの項目におけるホスト数は、このグループのイベント通知を送信したホストの正味の数である。メッセージの項目には、このグループのメッセージには、「ORD05282」及び「失敗」が含まれていることと、このグループのメッセージが18件あることを示している。
図4に示したリストの第2行は、上述した2つのグループに属さないID:52150のイベント通知に関する内容を表している。
尚、第4行以降には、図3A乃至図3Eに示したイベント通知以前に受信したイベント通知に基づく内容が表されている。この内容については省略する。
図5A及び図5Bに、集約部213のモジュール構成例を示す。集約部213は、分類部501、第1グループ処理部503、第2グループ処理部505及び第2追加部507を有する。
分類部501は、メッセージ分類処理を実行する。メッセージ分類処理については、図8を用いて後述する。分類部501は、第2抽出部511、集計部513、第1算出部515、第2算出部517及びクラスタリング部519を有する。第2抽出部511は、単語抽出処理を実行する。単語抽出処理については、図10を用いて後述する。集計部513は、集計処理を実行する。集計処理については、図12を用いて後述する。第1算出部515は、重複数算出処理を実行する。重複数算出処理については、図14を用いて後述する。第2算出部517は、類似度算出処理を実行する。類似度算出処理については、図16を用いて後述する。クラスタリング部519は、クラスタリング処理を実行する。
第1グループ処理部503は、同型グループ処理を実行する。同型グループ処理については、図18を用いて後述する。第1グループ処理部503は、第1特定部521、判別部523及び第3追加部525を有する。第1特定部521は、同型グループに係る候補特定処理を実行する。同型グループに係る候補特定処理については、図20A及び図20Bを用いて後述する。判別部523は、変数判別処理を実行する。変数判別処理については、図22を用いて後述する。第3追加部525は、同型グループのレコード追加処理を実行する。同型グループのレコード追加処理については、図23を用いて後述する。
第2グループ処理部505は、共通変数グループ処理を実行する。共通変数グループ処理については、図24を用いて後述する。第2グループ処理部505は、第2特定部531、生成部533及び第4追加部535を有する。第2特定部531は、共通単語特定処理を実行する。共通単語特定処理については、図26を用いて後述する。生成部533は、グループ生成処理を実行する。グループ生成処理については、図27を用いて後述する。生成部533は、第2判定部537及び統合部539を有する。第2判定部537は、複数の一次グループを統合するか否かを判定する。一次グループについては、後述する。統合部539は、複数の一次グループを統合し、二次グループを生成する。二次グループについては、後述する。第4追加部535は、共通変数グループのレコード追加処理を実行する。共通変数グループのレコード追加処理については、図30を用いて後述する。
第2追加部507は、同型グループ及び共通変数グループに属していないイベント通知を第2テーブルに追加する。
上述した分類部501、第1グループ処理部503、第2グループ処理部505及び第2追加部507は、ハードウエア資源(例えば、図31)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。同じく第2抽出部511、集計部513、第1算出部515、第2算出部517、クラスタリング部519、第1特定部521、判別部523、第3追加部525、第2特定部531、生成部533、第4追加部535、第2判定部537及び統合部539も、ハードウエア資源(例えば、図31)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
図5Bの説明に移る。集約部213は、更に単語テーブル格納部551、集計テーブル格納部553、重複数テーブル格納部555、類似度テーブル格納部557、分類テーブル格納部559、クラステーブル格納部561、出現率テーブル格納部563、共通単語テーブル格納部565及びグループテーブル格納部567を有する。
単語テーブル格納部551は、単語テーブルを格納する。単語テーブルについては、図9を用いて後述する。集計テーブル格納部553は、集計テーブルを格納する。集計テーブルについては、図11を用いて後述する。重複数テーブル格納部555は、重複数テーブルを格納する。重複数テーブルについては、図13を用いて後述する。類似度テーブル格納部557は、類似度テーブルを格納する。類似度テーブルについては、図15を用いて後述する。分類テーブル格納部559は、分類テーブルを格納する。分類テーブルについては、図17を用いて後述する。
クラステーブル格納部561は、クラステーブルを格納する。クラステーブルについては、図19を用いて後述する。出現率テーブル格納部563は、出現率テーブルを格納する。出現率テーブルについては、図21A及び図21Bを用いて後述する。共通単語テーブル格納部565は、共通単語テーブルを格納する。共通単語テーブルについては、図25を用いて後述する。グループテーブル格納部567は、一次グループテーブル及び二次グループテーブルを格納する。一次グループテーブルについては、図28A及び図28Bを用いて後述する。二次グループテーブルについては、図29を用いて後述する。
上述した単語テーブル格納部551、集計テーブル格納部553、重複数テーブル格納部555、類似度テーブル格納部557、分類テーブル格納部559、クラステーブル格納部561、出現率テーブル格納部563、共通単語テーブル格納部565及びグループテーブル格納部567は、ハードウエア資源(例えば、図31)を用いて実現される。
図6に、メイン処理フローを示す。第1判定部209は、順次単位期間の経過を待つ(S601)。単位期間の長さは、例えば3秒である。
単位期間が経過すると、第1判定部209は、当該単位期間内において受信したイベント通知の数を算出する(S603)。そして、第1判定部209は、当該単位期間内において受信したイベント通知の数が閾値を超えるか否かを判定する(S605)。閾値は、例えばリストの行数である。
当該単位期間内において受信したイベント通知の数が閾値を超えないと判定した場合には、第1追加部211は、当該単位期間内において受信したイベント通知を第2テーブルに追加する(S607)。
表示処理部217は、第2テーブルに基づいて、リストを表示する(S609)。具体的には、最新の受信日時のレコードの内容をリストの先頭行に表示する。更に、受信日時を遡る順に従ってレコードを特定し、当該レコードの内容を次々表示する。末尾の行を表示した時点で処理を終了する。つまり、リストの行数に相当する数のレコードの内容が、受信日時が新しい順に表示される。そして、S601に示した処理に戻って、上述した処理を繰り返す。
一方、S605において当該単位期間内において受信したイベント通知の数が閾値を超えると判定した場合には、集約部213は、集約処理を実行する(S611)。集約部213は、集約処理において、当該単位期間内において受信したイベント通知の全部又は一部を集約する。
図7に、集約処理フローを示す。分類部501は、メッセージ分類処理を実行する(S701)。分類部501は、メッセージ分類処理において、単位期間内において受信したイベント通知を分類する。
図8に、メッセージ分類処理フローを示す。第2抽出部511は、単語抽出処理を実行する(S801)。第2抽出部511は、単語抽出処理において、各メッセージに含まれる単語を抽出する。
単語抽出処理について説明する前に、抽出された単語を格納する単語テーブルについて説明する。図9に、単語テーブルの例を示す。この例における単語テーブルは、メッセージに含まれる単語に対応するレコードを有している。単語テーブルのレコードは、イベント通知IDが格納されるフィールドと、単語が格納されるフィールドとを有している。イベント通知IDは、当該単語が出現するメッセージを含むイベント通知を特定する。
図10に、単語抽出処理フローを示す。第2抽出部511は、図6のS601で待った単位期間内に受信したイベント通知のIDを1つ特定する(S1001)。例えば、第2抽出部511は、受信時間の順に従ってイベント通知のIDを特定する。
第2抽出部511は、当該イベント通知に含まれるメッセージを特定する(S1003)。第2抽出部511は、特定したメッセージを単語に分解する(S1005)。そして、第2抽出部511は、分解された各単語について単語テーブルに新しいレコードを設け、当該レコードに当該イベント通知のIDと当該単語とを対応付けて格納する(S1007)。
第2抽出部511は、未特定のイベント通知IDがあるか否かを判定する(S1009)。未特定のイベント通知IDがあると判定した場合には、S1001に示した処理に戻って、上述した処理を繰り返す。一方、未特定のイベント通知IDがないと判定した場合には、単語抽出処理を終える。単語抽出処理を終えると、呼び出し元のメッセージ分類処理に復帰する。
図8の説明に戻る。集計部513は、集計処理を実行する(S803)。集計部513は、集計処理において、イベント通知IDに対応する単語数及び各単語の出現数を集計する。
集計処理について説明する前に、イベント通知IDに対応する単語数及び各単語の出現数を集計するために用いられる集計テーブルについて説明する。
図11に、集計テーブルの例を示す。この例における集計テーブルは、イベント通知IDに対応するレコードを有している。集計テーブルのレコードは、単語テーブルに格納された単語に対応するフィールドを有する。当該フィールドには、当該単語を「含む」旨のコード又は「含まない」旨のコードが格納される。集計テーブルのレコードは、更に、イベント通知IDに対応する単語数が格納されるフィールドを有する。また、集計テーブルは、各単語の出現数が格納されるフィールドも有している。
図示した1番目のレコードは、ID:52132で識別されるイベント通知のメッセージに「ホスト」「ORD05282」「において」「disk」「出力」「されました」「パラメータ」及び「C」の単語が含まれ、「D」及び「E」の単語が含まれないことを示している。また、1番目のレコードは、ID:52132で識別されるイベント通知のメッセージには、17個の単語が含まれることを示している。
また、図11は、例えば「ホスト」の単語が6個のイベント通知のメッセージに含まれることを示している。
図12に、集計処理フローを示す。集計部513は、図6のS601で待った単位期間
内に受信したイベント通知のIDを1つ特定する(S1201)。例えば、集計部513は、受信時間の順に従ってイベント通知のIDを特定する。
内に受信したイベント通知のIDを1つ特定する(S1201)。例えば、集計部513は、受信時間の順に従ってイベント通知のIDを特定する。
集計部513は、単語テーブルにおいて当該イベント通知IDに対応する単語の各々について、集計テーブルの当該イベント通知IDのレコードにおける当該単語のフィールドに「含む」旨のコードを格納する(S1203)。また、集計部513は、「含む」を設定しない単語のフィールドに、「含まない」旨のコードを格納する。
集計部513は、「含む」旨のコードが格納されたフィールドをカウントし、当該フィールドの数を当該イベント通知IDのレコードにおける単語数のフィールドに格納する(S1205)。
集計部513は、未特定のイベント通知IDがあるか否かを判定する(S1207)。未特定のイベント通知IDがあると判定した場合には、S1201に示した処理に戻って、上述した処理を繰り返す。
一方、未特定のイベント通知IDがないと判定した場合には、集計部513は、各単語の出現数をカウントし、当該単語に対応する出現数のフィールドに格納する(S1209)。単語の出現数は、当該単語に関して「含む」旨のコードが格納されたフィールドの数である。集計処理を終えると、呼び出し元のメッセージ分類処理に復帰する。
図8の説明に戻る。第1算出部515は、重複数算出処理を実行する(S805)。第1算出部515は、重複数算出処理において、比較元のイベント通知のメッセージに含まれる単語のうち、比較先のイベント通知のメッセージにも含まれる単語の数を算出する。当該単語の数を重複数という。
重複数算出処理について説明する前に、重複数を格納する重複数テーブルについて説明する。図13に、重複数テーブルの例を示す。この例における重複数テーブルは、比較元のイベント通知IDに対応するレコードを有している。比較元は、図6のS601で待った単位期間内に受信した各イベント通知である。重複数テーブルのレコードは、比較先の各イベント通知IDに対応するフィールド(以下、重複数フィールドという。)を有する。比較先も、図6のS601で待った単位期間内に受信した各イベント通知である。重複数フィールドには、上述した重複数が格納される。集計テーブルのレコードは、更に、単語数が格納されるフィールドを有する。単語数は、図11に示した集計テーブルの場合と同様である。
図13は、例えばID:52132で識別されるイベント通知のメッセージに含まれる17個の単語のうち、16個の単語がID:52133で識別されるイベント通知のメッセージに含まれることを示している。
また、図13は、例えばID:52132で識別されるイベント通知のメッセージに含まれる17個の単語のうち、1個の単語がID:62164で識別されるイベント通知のメッセージに含まれることを示している。
図14に、重複数算出処理フローを示す。第1算出部515は、比較元のイベント通知IDを1つ特定する(S1401)。例えば、第1算出部515は、図6のS601で待った単位期間内に受信したイベント通知のIDを受信時間の順に従って1つ特定する。
第1算出部515は、比較先のイベント通知IDを1つ特定する(S1403)。例えば、第1算出部515は、比較元のイベント通知IDを除き、図6のS601で待った単
位期間内に受信したイベント通知のIDを受信時間の順に従って1つ特定する。
位期間内に受信したイベント通知のIDを受信時間の順に従って1つ特定する。
第1算出部515は、単語テーブルに基づいて、比較元のメッセージに含まれる単語を1つ特定する(S1405)。第1算出部515は、単語テーブルに基づいて、当該単語が比較先のメッセージに含まれているか否かを判定する(S1407)。
当該単語が比較先のメッセージに含まれていると判定した場合には、第1算出部515は、比較元のイベント通知IDのレコードにおける比較先のイベント通知IDの重複数フィールドの値に1を加える(S1409)。尚、重複数フィールドにおける初期値は0である。当該単語が比較先のメッセージに含まれていないと判定した場合には、第1算出部515は、重複数のフィールドの値を更新しない。
第1算出部515は、未特定の単語があるか否かを判定する(S1411)。未特定の単語があると判定した場合には、S1405に示した処理に戻って、上述した処理を繰り返す。
一方、未特定の単語がないと判定した場合には、第1算出部515は、特定されていない比較先のイベント通知IDがあるか否かを判定する(S1413)。特定されていない比較先のイベント通知IDがあると判定した場合には、S1403に示した処理に戻って、上述した処理を繰り返す。
一方、特定されていない比較先のイベント通知IDがないと判定した場合には、第1算出部515は、集計テーブルに基づいて、比較元のイベント通知IDのレコードにおける単語数のフィールドに、比較元であるイベント通知のメッセージにおける単語数を格納する(S1415)。
第1算出部515は、特定されていない比較元のイベント通知IDがあるか否かを判定する(S1417)。特定されていない比較元のイベント通知IDがあると判定した場合には、S1401に示した処理に戻って、上述した処理を繰り返す。
一方、特定されていない比較元のイベント通知IDがないと判定した場合には、重複数算出処理を終える。重複数算出処理を終えると、呼び出し元のメッセージ分類処理に復帰する。
図8の説明に戻る。第2算出部517は、類似度算出処理を実行する(S807)。第2算出部517は、類似度算出処理において、2つのイベント通知IDに係るメッセージ間の類似度を算出する。類似度の値が大きい場合には、2つのメッセージが類似することを意味する。類似度の値が小さい場合には、2つのメッセージが類似しないことを意味する。
類似度算出処理について説明する前に、類似度を格納する類似度テーブルについて説明する。図15に、類似度テーブルの例を示す。この例における類似度テーブルは、比較元のイベント通知IDに対応するレコードを有している。類似度テーブルのレコードは、比較先の各イベント通知IDに対応するフィールド(以下、類似度フィールドという。)を有する。当該フィールドには、上述した類似度が格納される。
例えば、ID:52132で識別されるイベント通知のメッセージとID:52133で識別されるイベント通知のメッセージとの類似度は、0.94である。また、ID:52132で識別されるイベント通知のメッセージとID:62164で識別されるイベント通知のメッセージとの類似度は、0.06である。
図16に、類似度算出処理フローを示す。第2算出部517は、図6のS601で待った単位期間内に受信したイベント通知のIDの組を1つ特定する(S1601)。
第2算出部517は、当該組の一方のイベント通知IDを比較元とし、当該組の他方のイベント通知IDを比較先とする重複度を算出する(S1603)。重複度は、重複数テーブルにおいて比較元及び比較先によって特定される重複数を、比較元によって特定される単語数で除することによって求められる。
第2算出部517は、更に、上記他方のイベント通知IDを比較元とし、上記一方のイベント通知IDを比較先とする重複度を算出する(S1605)。
そして、第2算出部517は、算出した2つの重複度の平均を求め、比較元及び比較先によって特定される類似度フィールドに格納する(S1607)。但し、S1603で算出した重複度を、当該類似度フィールドに格納するようにしてもよい。或いは、S1605で算出した重複度を、当該類似度フィールドに格納するようにしてもよい。
第2算出部517は、未特定のイベント通知IDの組があるか否かを判定する(S1609)。未特定のイベント通知IDの組があると判定した場合には、S1601に示した処理に戻って、上述した処理を繰り返す。一方、未特定のイベント通知IDの組がないと判定した場合には、類似度算出処理を終える。類似度算出処理を終えると、呼び出し元のメッセージ分類処理に復帰する。
図8の説明に戻る。クラスタリング部519は、クラスタリング処理を実行する(S809)。クラスタリング部519は、クラスタリング処理において、類似度に基づいてイベント通知のクラスタリングを行う。クラスタリング処理は、従来技術である。例えば、クラスタリング部519は、ウォード法による分析を行う。クラスは、メッセージが類似するイベント通知のグループに相当する。
図17に、クラスタリング処理の結果を格納する分類テーブルの例を示す。この例における分類テーブルは、イベント通知に対応するレコードを有している。分類テーブルのレコードは、イベント通知IDが格納されるフィールドと、クラスIDが格納されるフィールドとを有している。イベント通知IDは、分類されたイベント通知を特定する。クラスIDは、当該イベント通知が属するクラス、つまりグループを識別する。
図17は、例えばID:52132のイベント通知、ID:52133のイベント通知、ID:52134のイベント通知、ID:52147のイベント通知、ID:52148のイベント通知及びID:52149のイベント通知が、ID:C01で識別されるクラスに属することを示している。
クラスタリング処理を終えると、メッセージ分類処理も終え、呼び出し元の集約処理に復帰する。
図7の説明に戻る。第1グループ処理部503は、同型グループ処理を実行する(S703)。第1グループ処理部503は、同型グループ処理において、変数以外の部分が共通するメッセージに係るイベント通知のグループを特定する。当該グループを同型グループという。
図18に、同型グループ処理フローを示す。第1特定部521は、同型グループに係る候補特定処理を実行する(S1801)。第1特定部521は、同型グループに係る候補
特定処理において、同型グループの候補に該当するクラスを特定する。
特定処理において、同型グループの候補に該当するクラスを特定する。
候補特定処理について説明する前に、クラステーブルについて説明する。図19に、クラステーブルの例を示す。この例におけるクラステーブルは、クラスに対応するレコードを有している。クラステーブルのレコードは、クラスIDが格納されるフィールドと、イベント通知数が格納されるフィールドと、重複数の平均が格納されるフィールドと、単語数の平均が格納されるフィールドと、重複しない単語の数が格納されるフィールドと、非重複率が格納されるフィールドと、同型グループの候補に関するフィールドとを有している。
クラスIDは、クラスを識別する。イベント通知数は、当該クラスに含まれるイベント通知の数である。重複数の平均は、当該クラスに属するイベント通知の各組における重複数の平均である。重複数は、重複テーブルに基づいて特定される。単語数の平均は、当該クラスに属するイベント通知のメッセージにおける単語数の平均である。重複しない単語の数は、単語数の平均から重複数の平均を引いた値である。非重複率は、重複しない単語の数を単語数の平均で除した値である。同型グループの候補に関するフィールドには、当該クラスが同型グループの候補に「該当する」旨のコード又は「該当しない」旨のコードが格納される。当該クラスが同型グループの候補に該当するか否かに関する判定方法は、後述する。
図示した1番目のレコードは、ID:C01のクラスには、6個のイベント通知が含まれ、これらのイベント通知の組に関する重複数の平均が16であることを示している。更に、当該1番目のレコードは、ID:C01のクラスに属するイベント通知に含まれるメッセージの単語数の平均が17個であり、重複しない単語が1個と看做されることを示している。加えて、当該1番目のレコードは、ID:C01のクラスにおける非重複率が0.06であり、このクラスが同型グループの候補に該当することを示している。
図20Aに、同型グループに係る候補特定処理フローを示す。第1特定部521は、クラスIDを1つ特定する(S2001)。第1特定部521は、分類テーブルに基づいて、当該クラスに属するイベント通知を特定する(S2003)。第1特定部521は、当該クラスに属するイベント通知の数を求め、当該クラスに対応するレコードのイベント通知数のフィールドに格納する(S2005)。
第1特定部521は、当該クラスに属するイベント通知の各組に関して、重複数テーブルに基づいて当該組に係る重複数を特定する。第1特定部521は、特定した重複数の平均を算出する。そして、第1特定部521は、算出した重複数の平均を当該クラスに対応するレコードに格納する(S2007)。
第1特定部521は、当該クラスに属する各イベント通知の単語数を特定し、特定した単語数の平均を算出する。第1特定部521は、算出した単語数の平均を当該クラスに対応するレコードに格納する(S2009)。
第1特定部521は、単語数の平均から重複数の平均を引いて、重複しない単語の数を求める。第1特定部521は、当該重複しない単語の数を当該クラスに対応するレコードに格納する(S2011)。
第1特定部521は、重複しない単語の数を単語数の平均で除して、非重複率を求める。第1特定部521は、当該非重複率を当該クラスに対応するレコードに格納する(S2013)。端子Aを介して、図20Bに示したS2015の処理に移る。
第1特定部521は、非重複率が0を超え且つ非重複率が閾値(例えば、0.2)を下回るか否かを判定する(S2015)。非重複率が0である場合には変数を含まないので、この例における同型グループには該当しないものとする。非重複率が閾値を超える場合には、変数以外にも異なる単語があると想定されるので、この例における同型グループには該当しないものとする。
非重複率が0を超え且つ非重複率が閾値を下回る場合には、第1特定部521は、当該クラスに対応するレコードにおける同型グループの候補のフィールドに「該当する」旨のコードを格納する(S2017)。
一方、非重複率が0である場合又は非重複率が閾値以上である場合には、第1特定部521は、当該クラスに対応するレコードにおける同型グループの候補のフィールドに「該当しない」旨のコードを格納する(S2019)。
第1特定部521は、未特定のクラスIDがあるか否かを判定する(S2021)。未特定のクラスIDがあると判定した場合には、端子Bを介して、図20AのS2001に示した処理に戻って、上述した処理を繰り返す。一方、未特定のクラスIDがないと判定した場合には、同型グループに係る候補特定処理を終える。同型グループに係る候補特定処理を終えると、呼び出し元の同型グループ処理に復帰する。
図18の説明に戻る。判別部523は、変数判別処理を実行する(S1803)。判別部523は、変数判別処理において、同型グループの候補に該当するクラスに属するメッセージに含まれる単語のうち、変数と看做される単語を判別する。
図21A及び図21Bに、出現率テーブルの例を示す。出現率テーブルは、同型グループの候補毎に設けられる。この例における出現率テーブルのヘッダは、同型グループの候補に該当するクラスのIDが格納されるフィールドを有している。更に、この例における出現率テーブルは、当該クラスのメッセージに含まれる単語に対応するレコードを有している。出現率テーブルのレコードは、単語が格納されるフィールドと、出現メッセージ数が格納されるフィールドと、出現率が格納されるフィールドと、変数に関するフィールドとを有している。
単語のフィールドには、当該クラスのメッセージに含まれる単語が格納される。出現メッセージ数は、当該クラスのメッセージのうち、当該単語を含むメッセージの数である。出現率は、出現メッセージ数を当該クラスに属するメッセージの数で除した値である。変数に関するフィールドには、当該単語が変数に「該当する」旨のコード又は「該当しない」旨のコードが格納される。
図21Aは、ID:C01のクラスに関する出現率テーブルの例である。1番目のレコードは、単語「ホスト」がID:C01のクラスに属する6個のメッセージに出現することを示している。また、当該1番目のレコードは、単語「ホスト」がC01のクラスに属するメッセージに1.00の割合で出現し、この単語が変数に該当しないことを示している。
図21Bに、ID:C08のクラスに関する出現率テーブルの例である。最後のレコードは、単語「GBSE5008」がID:C08のクラスに属する1個のメッセージに出現することを示している。また、当該1番目のレコードは、単語「GBSE5008」がC08のクラスに属するメッセージに0.06の割合で出現し、この単語が変数に該当することを示している。
図22に、変数判別処理フローを示す。判別部523は、クラステーブルに基づいて、同型グループの候補に該当するクラスIDを1つ特定する(S2201)。
判別部523は、当該クラスに属するいずれかのメッセージに含まれる単語を1つ特定する(S2203)。判別部523は、分類テーブル及び単語テーブルに基づいて、当該クラスに属するイベント通知のメッセージのうち、当該単語が出現するメッセージの数を計数する。判別部523は、当該メッセージの数、つまり出現メッセージ数を当該クラスの出現率テーブルにおける当該単語のレコードに格納する(S2205)。
判別部523は、出現メッセージ数を当該クラスに属するメッセージの数で除して、出現率を求める。判別部523は、当該出現率を当該クラスの出現率テーブルにおける当該単語のレコードに格納する(S2207)。
判別部523は、出現率が0を超え且つ出現率が閾値(例えば、0.2)を下回るか否かを判定する(S2209)。この例では出現率が0を超える条件を省くようにしてもよい。尚、出現率が閾値を超える場合には、当該単語がこの例で想定しているホスト名のような変数ではないと見込まれる。
出現率が0を超え且つ出現率が閾値を下回ると判定した場合には、判別部523は、当該単語のレコードにおける変数に関するフィールドに「該当する」旨のコードを格納する(S2211)。
一方、出現率が0である場合又は出現率が閾値以上である場合には、判別部523は、当該単語のレコードにおける変数に関するフィールドに「該当しない」旨のコードを格納する(S2213)。
判別部523は、未特定の単語があるか否かを判定する(S2215)。未特定の単語があると判定した場合には、S2203に示した処理に戻って、上述した処理を繰り返す。
一方、未特定の単語がないと判定した場合には、判別部523は、未特定のクラスIDがあるか否かを判定する(S2217)。未特定のクラスIDがあると判定した場合には、S2201に示した処理に戻って、上述した処理を繰り返す。
一方、未特定のクラスIDがないと判定した場合には、変数判別処理を終える。変数判別処理を終えると、呼び出し元の同型グループ処理に復帰する。
図18の説明に戻る。第3追加部525は、同型グループのレコード追加処理を実行する(S1805)。第3追加部525は、同型グループのレコード追加処理において、同型グループに関して集約されたレコードを第2テーブルに追加する。
図23に、同型グループのレコード追加処理フローを示す。第3追加部525は、同型グループの候補であるクラスのうち、変数を含むクラスを1つ特定する(S2301)。つまり、第3追加部525は、同型グループの候補であるクラスに関する出現率テーブルのうち、当該出現率テーブルに含まれる変数に関するフィールドのいずれかに「該当する」旨のコードが設定されているものを特定する。特定されたクラスは、同型グループに相当する。
第3追加部525は、第2テーブルに新たなレコードを設ける(S2303)。第3追加部525は、当該同型グループを識別するIDを割り当てる(S2305)。第3追加
部525は、割り当てられた同型グループIDを新たなレコードにおけるイベント通知のフィールドに格納する。
部525は、割り当てられた同型グループIDを新たなレコードにおけるイベント通知のフィールドに格納する。
第3追加部525は、当該同型グループに属するイベント通知の受信日時のうち、最初の受信日時を特定する(S2307)。第3追加部525は、当該最初の受信日時を新たなレコードにおける受信日時のフィールドに格納する。
第3追加部525は、当該同型グループに属するイベント通知を送信した正味のホスト数を求める(S2309)。第3追加部525は、当該正味のホスト数を新たなレコードにおけるホストのフィールドに格納する。
第3追加部525は、変数以外の単語と変数部分を示すコードとを含む共通メッセージを生成する(S2311)。例えば、第3追加部525は、当該同型グループに属するいずれかのイベント通知のメッセージを基礎として、変数に該当する単語を変数部分を示すコードに置き換える。変数部分を示すコードは、変数の位置を示す要素の例である。変数部分を示すコードに代えて、変数部分を示す図形又はマークの識別子を用いるようにしてもよい。尚、この場合、表示処理部217は識別子を図形又はマークの画像に置き換えて表示する。第3追加部525は、生成した共通メッセージを新たなレコードにおけるメッセージのフィールドに格納する。
第3追加部525は、当該同型グループに属するイベント通知の数を特定する(S2313)。第3追加部525は、特定したイベント通知数を新たなレコードにおけるメッセージのフィールドに格納する。
第3追加部525は、当該同型グループに属するイベント通知の内容を参照データに加える(S2315)。このとき、当該イベント通知の内容は、同型グループIDと紐付けられる。
第3追加部525は、未特定のクラスがあるか否かを判定する(S2317)。未特定のクラスがあると判定した場合には、S2301に示した処理に戻って、上述した処理を繰り返す。
一方、未特定のクラスがないと判定した場合には、同型グループのレコード追加処理を終える。同型グループのレコード追加処理を終えると、呼び出し元の同型グループ処理に復帰する。
図18の説明に戻る。同型グループのレコード追加処理を終えると、同型グループ処理を終える。同型グループ処理を終えると、呼び出し元の集約処理に復帰する。
図7の説明に戻る。第2グループ処理部505は、共通変数グループ処理を実行する(S705)。第2グループ処理部505は、共通変数グループ処理において、共通の変数を含むメッセージに係るイベント通知のグループを特定する。当該グループを共通変数グループという。
図24に、共通変数グループ処理フローを示す。第2特定部531は、共通単語特定処理を実行する(S2401)。第2特定部531は、共通単語特定処理で、所定数以上のクラスにおいて、当該クラスに属するいずれかのイベント通知のメッセージに出現する共通の単語を特定する。当該単語を共通単語という。
共通単語特定処理について説明する前に、共通単語を特定するために用いられる共通単
語テーブルについて説明する。図25に、共通単語テーブルの例を示す。この例における共通単語テーブルは、単語テーブルに含まれる単語に対応するレコードを有している。共通単語テーブルのレコードは、単語が格納されるフィールドと、出現クラス数が格納されるフィールドと、共通単語に関するフィールドとを有している。
語テーブルについて説明する。図25に、共通単語テーブルの例を示す。この例における共通単語テーブルは、単語テーブルに含まれる単語に対応するレコードを有している。共通単語テーブルのレコードは、単語が格納されるフィールドと、出現クラス数が格納されるフィールドと、共通単語に関するフィールドとを有している。
単語のフィールドには、単語テーブルに含まれる単語が格納される。出現クラス数は、当該単語を含むメッセージが属する正味のクラス数である。共通単語のフィールドには、当該単語が共通単語に「該当する」旨のコード又は「該当しない」旨のコードが格納される。
図示した1番目のレコードは、単語「ホスト」が1個のクラスに属するイベント通知のメッセージに出現し、共通単語に該当しないことを示している。図示した2番目のレコードは、単語「ORD05282」が6個のクラスに属するイベント通知のメッセージに出現し、共通単語に該当することを示している。図示した4番目のレコードは、単語「失敗」も6個のクラスに属するイベント通知のメッセージに出現し、共通単語に該当することを示している。
図26に、共通単語特定処理フローを示す。第2特定部531は、単語テーブルに含まれる単語を1つ特定する(S2601)。第2特定部531は、共通単語テーブルに新たなレコードを設けて、当該レコードに当該単語を格納する。
第2特定部531は、クラスIDを1つ特定する(S2603)。第2特定部531は、単語テーブル及び分類テーブルに基づいて、当該単語が当該クラスに属するいずれかのイベント通知のメッセージに含まれるか否かを判定する(S2605)。当該単語が当該クラスに属するいずれかのイベント通知のメッセージに含まれると判定した場合には、第2特定部531は、当該レコードにおける出現クラス数の値に1を加える(S2607)。尚、出現クラス数の初期値は0である。当該単語が当該クラスに属するいずれのメッセージにも含まれないと判定した場合には、第2特定部531は、当該レコードにおける出現クラス数を更新しない。
第2特定部531は、未特定のクラスIDがあるか否かを判定する(S2609)。未特定のクラスIDがあると判定した場合には、S2603に示した処理に戻って、上述した処理を繰り返す。
一方、未特定のクラスIDがないと判定した場合には、第2特定部531は、出現クラス数が閾値(例えば、4)を上回るか否かを判定する(S2611)。出現クラス数が閾値を上回ると判定した場合には、第2特定部531は、当該単語のレコードにおける共通単語に関するフィールドに「該当する」旨のコードを格納する(S2613)。一方、出現クラス数が閾値以下であると判定した場合には、第2特定部531は、当該単語のレコードにおける共通単語に関するフィールドに「該当しない」旨のコードを格納する(S2615)。
第2特定部531は、未処理の単語があるか否かを判定する(S2617)。未処理の単語があると判定した場合には、S2601に示した処理に戻って、上述した処理を繰り返す。一方、未処理の単語がないと判定した場合には、共通単語特定処理を終える。共通単語特定処理を終えると、呼び出し元の共通変数グループ処理に復帰する。
図24の説明に戻る。生成部533は、グループ生成処理を実行する(S2403)。生成部533は、グループ生成処理において、共通単語に基づいて共通変数グループを生成する。具体的には、一次グループ及び二次グループのいずれか一方又は両方が生成され
る。つまり、グループ生成処理において生成される一次グループ及び二次グループのいずれか一方又は両方が共通変数グループに相当する。
る。つまり、グループ生成処理において生成される一次グループ及び二次グループのいずれか一方又は両方が共通変数グループに相当する。
尚、本実施の形態では、共通単語には、共通変数に相当するものと共通変数に相当しないものが混在する場合がある。上述の例で、共通単語「ORD05282」は共通変数に相当する。一方、共通単語「失敗」は共通変数に相当しない。
図27に、グループ生成処理フローを示す。生成部533は、共通単語毎に一次グループを生成する(S2701)。具体的には、一次グループテーブルが設けられる。
図28A及び図28Bに、一次グループテーブルの例を示す。この例における一次グループテーブルのヘッダは、共通変数グループIDが格納されるフィールドと、共通単語が格納されるフィールドとを有している。共通変数グループIDは、共通変数グループを識別する。但し、一次グループテーブルが生成された時点において、共通変数グループIDはまだ設定されない。更に、この例における一次グループテーブルは、イベント通知IDが格納されるレコードを有している。イベント通知IDは、当該共通単語を含むメッセージに係るイベント通知を特定する。
図28Aに示した一次グループテーブルの例は、図示した18個のイベント通知IDで特定されるメッセージに共通単語「ORD05282」が含まれることを示している。図28Bに示した一次グループテーブルの例は、図示した18個のイベント通知IDで特定されるメッセージに共通単語「失敗」が含まれることを示している。尚、この例で、図28Aに示した一次グループテーブルにおけるイベント通知IDと図28Bに示した一次グループテーブルにおけるイベント通知IDとが一致している。
図27の説明に戻る。第2判定部537は、一次グループの組合せを特定する(S2703)。第2判定部537は、例えば組合せ要素となる一次グループの数がより多い組合せから順に特定する。
第2判定部537は、当該組合せに係る各一次グループにおけるイベント通知IDが重複するか否かを判定する(S2705)。この例では、第2判定部537は、各一次グループにおけるイベント通知IDがすべて一致するか否かを判定する。第2判定部537は、各一次グループにおけるイベント通知IDの一部が一致するか否かを判定するようにしてもよい。具体的には、第2判定部537は、所定数以上のイベント通知IDが一致するか否かを判定するようにしてもよい。或いは、第2判定部537は、所定割合以上のイベント通知IDが一致するか否かを判定するようにしてもよい。
各一次グループにおけるイベント通知IDが重複すると判定した場合には、統合部539は、当該組合せに係る各一次グループを統合し、二次グループを生成する(S2707)。具体的には、統合部539は、二次グループテーブルを生成し、元の各一次グループテーブルを削除する。各一次グループにおけるイベント通知IDが重複しないと判定した場合には、そのままS2709の処理に移る。
図29に、二次グループテーブルの例を示す。この例における二次グループテーブルのヘッダは、共通変数グループIDが格納されるフィールドと、共通単語が格納される複数のフィールドとを有している。共通単語は、二次グループに属するイベント通知のメッセージに含まれる共通の単語である。二次グループテーブルにおけるレコードには、ヘッダに格納されている複数の共通単語を含むメッセージに係るイベント通知IDが格納される。つまり、統合部539は、元の各一次グループテーブルにおいて共通のイベント通知IDを、二次グループテーブルに設定する。
図27の説明に戻る。第2判定部537は、未処理の組合せがあるか否かを判定する(S2709)。未処理の組合せがあると判定した場合には、S2703に示した処理に戻って、上述した処理を繰り返す。
一方、未処理の組合せがないと判定した場合には、生成部533は、残りの一次グループ、つまり統合されなかった一次グループに共通変数グループIDを割り当てる(S2711)。そして、一次グループテーブルのヘッダに、当該共通変数グループIDを格納する。グループ生成処理を終えると、呼び出し元の共通変数グループ処理に復帰する。
図24の説明に戻る。第4追加部535は、共通変数グループのレコード追加処理を実行する(S2405)。第4追加部535は、共通変数グループのレコード追加処理において、共通変数グループに関して集約されたレコードを第2テーブルに追加する。
図30に、共通変数グループのレコード追加処理フローを示す。第4追加部535は、生成された共通変数グループを1つ特定する(S3001)。
第4追加部535は、第2テーブルに新たなレコードを設ける(S3003)。第4追加部535は、共通変数グループIDを新たなレコードにおけるイベント通知のフィールドに格納する(S3005)。
第4追加部535は、当該共通変数グループに属するイベント通知の受信日時のうち、最初の受信日時を特定する(S3007)。第4追加部535は、当該最初の受信日時を新たなレコードにおける受信日時のフィールドに格納する。
第4追加部535は、当該共通変数グループに属するイベント通知を送信した正味のホスト数を求める(S3009)。第4追加部535は、当該正味のホスト数を新たなレコードにおけるホストのフィールドに格納する。
第4追加部535は、当該共通変数グループにおける共通単語を新たなレコードにおけるメッセージのフィールドに格納する(S3011)。
第4追加部535は、当該共通変数グループに属するイベント通知の数を特定する(S3013)。第4追加部535は、特定したイベント通知数を新たなレコードにおけるメッセージのフィールドに格納する。
第4追加部535は、当該共通変数グループに属するイベント通知の内容を参照データに加える(S3015)。このとき、当該イベント通知の内容は、共通変数グループIDと紐付けられる。
第4追加部535は、未特定のクラスがあるか否かを判定する(S3017)。未特定のクラスがあると判定した場合には、S3001に示した処理に戻って、上述した処理を繰り返す。
一方、未特定のクラスがないと判定した場合には、共通変数グループのレコード追加処理を終える。共通変数グループのレコード追加処理を終えると、呼び出し元の共通変数グループ処理に復帰する。
図24の説明に戻る。共通変数グループ処理を終えると、呼び出し元の集約処理に復帰する。
図7の説明に戻る。第2追加部507は、図6のS601で待った単位期間内に受信したイベント通知に相当するレコード(第1テーブル)から、同型グループ及び共通変数グループに属していないイベント通知のレコードを抽出し、抽出したレコードを第2テーブルに追加する(S707)。集約処理を終えると、呼び出し元のメイン処理に復帰する。
図6の説明に戻る。表示処理部217は、リストを表示する(S613)。上述したように、表示処理部217は、受信日時が新しい順に第2テーブルのレコードの内容を表示する。この例では、図4に示したように、1番目にID:M1の共通変数グループに関する行が表示される。2番目に共通変数グループ及び同型グループに属さないID:52150のイベント通知に関する行が表示される。3番目にID:W1の同型グループに関する行が表示される。4番目以降には、以前の単位期間に取得したイベント通知に基づく内容が表示される。そして、リストの表示を終えると、S601に示した処理に戻って、上述した処理を繰り返す。
本実施の形態によれば、共通変数グループのメッセージを集約するので、同一事象に起因する複数メッセージの趣旨を把握し易くなる。例えば、障害の原因となった装置の識別子を含むメッセージを集約し、単一のメッセージによって原因の装置を示すことができる。
また、同じメッセージに含まれる複数の共通単語を一緒に集約内容として表示するので、より具体的に同一事象に起因する複数メッセージの趣旨を把握し易くなる。例えば、原因の装置を特定する情報の他に、当該装置の状態を併せて把握することができる。
また、同型グループのメッセージを集約するので、複数発生した同様のイベントを捉え易くなる。
また、共通変数グループと同型グループとのいずれにも属さないメッセージを表示するので、集約対象以外のメッセージの見逃しを防止できる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
なお、上で述べた監視機器101は、コンピュータ装置であって、図31に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ド
ライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御
部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・
ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
ライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御
部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・
ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係るメッセージ出力方法は、(A)各々識別子によって識別される複数のメッセージを、メッセージ間の類似度に基づきメッセージの集合である複数のクラスに分類し、(B)複数のメッセージに含まれる単語のうち、当該単語が出現するクラスの数が基準より多い共通単語を特定し、(C)共通単語を含むメッセージが集約された第1メッセージを出力する処理を含む。
このようにすれば、同一事象に起因する複数メッセージの趣旨を把握し易くなる。例えば、障害の原因となった装置の識別子を含むメッセージを集約し、単一のメッセージによって原因の装置を知らせることができる。
更に、共通単語の組合せについて、各共通単語を含むメッセージの上記識別子が重複するか否かを判定し、上記識別子が重複する場合に、各共通単語に係る第1メッセージを同じグループにまとめるようにしてもよい。
このようにすれば、より具体的に同一事象に起因する複数メッセージの趣旨を把握し易くなる。例えば、原因の装置に関する情報の他に、当該装置における現象を併せて把握することができる。
更に、複数のクラスのうち、同一クラスに属するメッセージ間において重複しない単語の割合が基準より小さい候補クラスを特定し、候補クラスに属するメッセージに含まれる複数の単語のうち、候補クラスに属するメッセージ単位の出現率が基準よりも小さい単語を変数であると判別するようにしてもよい。また、候補クラスに関して変数が判別された場合に、候補クラスに属するメッセージが集約された第2メッセージとして、候補クラスに属するメッセージに含まれる変数以外の単語と変数の位置を示す要素とを出力するようにしてもよい。
このようにすれば、例えば複数発生した同様のイベントを捉え易くなる。
更に、複数のメッセージのうち、第1メッセージによる集約対象及び第2メッセージによる集約対象に該当しないメッセージを出力するようにしてもよい。
このようにすれば、集約対象以外のメッセージの見逃しを防止できる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD-ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
各々識別子によって識別される複数のメッセージを、メッセージ間の類似度に基づきメッセージの集合である複数のクラスに分類し、
前記複数のメッセージに含まれる単語のうち、当該単語が出現するクラスの数が基準より多い共通単語を特定し、
前記共通単語を含むメッセージが集約された第1メッセージを出力する
処理をコンピュータに実行させるメッセージ出力プログラム。
各々識別子によって識別される複数のメッセージを、メッセージ間の類似度に基づきメッセージの集合である複数のクラスに分類し、
前記複数のメッセージに含まれる単語のうち、当該単語が出現するクラスの数が基準より多い共通単語を特定し、
前記共通単語を含むメッセージが集約された第1メッセージを出力する
処理をコンピュータに実行させるメッセージ出力プログラム。
(付記2)
更に、
前記共通単語の組合せについて、各共通単語を含むメッセージの前記識別子が重複するか否かを判定し、
前記識別子が重複する場合に、前記各共通単語に係る前記第1メッセージを同じグループにまとめる
処理を含む付記1記載のメッセージ出力プログラム。
更に、
前記共通単語の組合せについて、各共通単語を含むメッセージの前記識別子が重複するか否かを判定し、
前記識別子が重複する場合に、前記各共通単語に係る前記第1メッセージを同じグループにまとめる
処理を含む付記1記載のメッセージ出力プログラム。
(付記3)
更に、
前記複数のクラスのうち、同一クラスに属するメッセージ間において重複しない単語の割合が基準より小さい候補クラスを特定し、
前記候補クラスに属するメッセージに含まれる複数の単語のうち、前記候補クラスに属するメッセージ単位の出現率が基準よりも小さい単語を変数であると判別し、
前記候補クラスに関して前記変数が判別された場合に、前記候補クラスに属する前記メッセージが集約された第2メッセージとして、前記候補クラスに属する前記メッセージに含まれる前記変数以外の単語と前記変数の位置を示す要素とを出力する
処理を含む付記1又は2記載のメッセージ出力プログラム。
更に、
前記複数のクラスのうち、同一クラスに属するメッセージ間において重複しない単語の割合が基準より小さい候補クラスを特定し、
前記候補クラスに属するメッセージに含まれる複数の単語のうち、前記候補クラスに属するメッセージ単位の出現率が基準よりも小さい単語を変数であると判別し、
前記候補クラスに関して前記変数が判別された場合に、前記候補クラスに属する前記メッセージが集約された第2メッセージとして、前記候補クラスに属する前記メッセージに含まれる前記変数以外の単語と前記変数の位置を示す要素とを出力する
処理を含む付記1又は2記載のメッセージ出力プログラム。
(付記4)
更に、
前記複数のメッセージのうち、前記第1メッセージによる集約対象及び前記第2メッセージによる集約対象に該当しないメッセージを出力する
処理を含む付記3記載のメッセージ出力プログラム。
更に、
前記複数のメッセージのうち、前記第1メッセージによる集約対象及び前記第2メッセージによる集約対象に該当しないメッセージを出力する
処理を含む付記3記載のメッセージ出力プログラム。
(付記5)
各々識別子によって識別される複数のメッセージを、メッセージ間の類似度に基づきメッセージの集合である複数のクラスに分類し、
前記複数のメッセージに含まれる単語のうち、当該単語が出現するクラスの数が基準より多い共通単語を特定し、
前記共通単語を含むメッセージが集約された第1メッセージを出力する
処理を含み、コンピュータにより実行されるメッセージ出力方法。
各々識別子によって識別される複数のメッセージを、メッセージ間の類似度に基づきメッセージの集合である複数のクラスに分類し、
前記複数のメッセージに含まれる単語のうち、当該単語が出現するクラスの数が基準より多い共通単語を特定し、
前記共通単語を含むメッセージが集約された第1メッセージを出力する
処理を含み、コンピュータにより実行されるメッセージ出力方法。
(付記6)
各々識別子によって識別される複数のメッセージを、メッセージ間の類似度に基づきメッセージの集合である複数のクラスに分類する分類部と、
前記複数のメッセージに含まれる単語のうち、当該単語が出現するクラスの数が基準より多い共通単語を特定する特定部と、
前記共通単語を含むメッセージが集約された第1メッセージを出力する出力部と
を有するメッセージ出力装置。
各々識別子によって識別される複数のメッセージを、メッセージ間の類似度に基づきメッセージの集合である複数のクラスに分類する分類部と、
前記複数のメッセージに含まれる単語のうち、当該単語が出現するクラスの数が基準より多い共通単語を特定する特定部と、
前記共通単語を含むメッセージが集約された第1メッセージを出力する出力部と
を有するメッセージ出力装置。
101 監視機器 103 ホスト
105 DBサーバー 107 DNSサーバー
201 受信部 203 フィルタ
205 ルール記憶部 207 第1テーブル格納部
209 第1判定部 211 第1追加部
213 集約部 215 第2テーブル格納部
217 表示処理部 219 参照データ記憶部
221 受付部 223 第1抽出部
501 分類部 503 第1グループ処理部
505 第2グループ処理部 507 第2追加部
511 第2抽出部 513 集計部
515 第1算出部 517 第2算出部
519 クラスタリング部 521 第1特定部
523 判別部 525 第3追加部
531 第2特定部 533 生成部
535 第4追加部 537 第2判定部
539 統合部 551 単語テーブル格納部
553 集計テーブル格納部 555 重複数テーブル格納部
557 類似度テーブル格納部 559 分類テーブル格納部
561 クラステーブル格納部 563 出現率テーブル格納部
565 共通単語テーブル格納部 567 グループテーブル格納部
105 DBサーバー 107 DNSサーバー
201 受信部 203 フィルタ
205 ルール記憶部 207 第1テーブル格納部
209 第1判定部 211 第1追加部
213 集約部 215 第2テーブル格納部
217 表示処理部 219 参照データ記憶部
221 受付部 223 第1抽出部
501 分類部 503 第1グループ処理部
505 第2グループ処理部 507 第2追加部
511 第2抽出部 513 集計部
515 第1算出部 517 第2算出部
519 クラスタリング部 521 第1特定部
523 判別部 525 第3追加部
531 第2特定部 533 生成部
535 第4追加部 537 第2判定部
539 統合部 551 単語テーブル格納部
553 集計テーブル格納部 555 重複数テーブル格納部
557 類似度テーブル格納部 559 分類テーブル格納部
561 クラステーブル格納部 563 出現率テーブル格納部
565 共通単語テーブル格納部 567 グループテーブル格納部
Claims (6)
- 各々識別子によって識別される複数のメッセージを、メッセージ間の類似度に基づきメッセージの集合である複数のクラスに分類し、
前記複数のメッセージに含まれる単語のうち、当該単語が出現するクラスの数が基準より多い共通単語を特定し、
前記共通単語を含むメッセージが集約された第1メッセージを出力する
処理をコンピュータに実行させるメッセージ出力プログラム。 - 更に、
前記共通単語の組合せについて、各共通単語を含むメッセージの前記識別子が重複するか否かを判定し、
前記識別子が重複する場合に、前記各共通単語に係る前記第1メッセージを同じグループにまとめる
処理を含む請求項1記載のメッセージ出力プログラム。 - 更に、
前記複数のクラスのうち、同一クラスに属するメッセージ間において重複しない単語の割合が基準より小さい候補クラスを特定し、
前記候補クラスに属するメッセージに含まれる複数の単語のうち、前記候補クラスに属するメッセージ単位の出現率が基準よりも小さい単語を変数であると判別し、
前記候補クラスに関して前記変数が判別された場合に、前記候補クラスに属する前記メッセージが集約された第2メッセージとして、前記候補クラスに属する前記メッセージに含まれる前記変数以外の単語と前記変数の位置を示す要素とを出力する
処理を含む請求項1又は2記載のメッセージ出力プログラム。 - 更に、
前記複数のメッセージのうち、前記第1メッセージによる集約対象及び前記第2メッセージによる集約対象に該当しないメッセージを出力する
処理を含む請求項3記載のメッセージ出力プログラム。 - 各々識別子によって識別される複数のメッセージを、メッセージ間の類似度に基づきメッセージの集合である複数のクラスに分類し、
前記複数のメッセージに含まれる単語のうち、当該単語が出現するクラスの数が基準より多い共通単語を特定し、
前記共通単語を含むメッセージが集約された第1メッセージを出力する
処理を含み、コンピュータにより実行されるメッセージ出力方法。 - 各々識別子によって識別される複数のメッセージを、メッセージ間の類似度に基づきメッセージの集合である複数のクラスに分類する分類部と、
前記複数のメッセージに含まれる単語のうち、当該単語が出現するクラスの数が基準より多い共通単語を特定する特定部と、
前記共通単語を含むメッセージが集約された第1メッセージを出力する出力部と
を有するメッセージ出力装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017079499A JP6794909B2 (ja) | 2017-04-13 | 2017-04-13 | メッセージ出力プログラム、メッセージ出力方法及びメッセージ出力装置 |
| JP2017-079499 | 2017-04-13 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018190033A1 true WO2018190033A1 (ja) | 2018-10-18 |
Family
ID=63792361
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2018/008296 Ceased WO2018190033A1 (ja) | 2017-04-13 | 2018-03-05 | メッセージ出力プログラム、メッセージ出力方法及びメッセージ出力装置 |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP6794909B2 (ja) |
| WO (1) | WO2018190033A1 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7199991B2 (ja) * | 2019-02-13 | 2023-01-06 | セコム株式会社 | 見守りシステム、見守り方法及びプログラム |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016076075A (ja) * | 2014-10-06 | 2016-05-12 | 富士通株式会社 | フィルタルール作成装置、フィルタルール作成方法、およびプログラム |
| JP2016143320A (ja) * | 2015-02-04 | 2016-08-08 | 富士通株式会社 | ログ監視方法、ログ監視装置、ログ監視システム、及びログ監視プログラム |
-
2017
- 2017-04-13 JP JP2017079499A patent/JP6794909B2/ja not_active Expired - Fee Related
-
2018
- 2018-03-05 WO PCT/JP2018/008296 patent/WO2018190033A1/ja not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016076075A (ja) * | 2014-10-06 | 2016-05-12 | 富士通株式会社 | フィルタルール作成装置、フィルタルール作成方法、およびプログラム |
| JP2016143320A (ja) * | 2015-02-04 | 2016-08-08 | 富士通株式会社 | ログ監視方法、ログ監視装置、ログ監視システム、及びログ監視プログラム |
Non-Patent Citations (1)
| Title |
|---|
| KIMURA, TATSUAKI ET AL.: "Mining Network Logs for Diagnosing Large- scale Networks Problems", IEICE TECHNICAL REPORT, vol. 111, no. 468, 1 March 2012 (2012-03-01), pages 261 - 264 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6794909B2 (ja) | 2020-12-02 |
| JP2018180927A (ja) | 2018-11-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Messalas et al. | Model-agnostic interpretability with shapley values | |
| CN110717828B (zh) | 一种基于频繁交易模式的异常账户检测方法及系统 | |
| DE112020005289B4 (de) | Teilweise sortierte blockchain | |
| Mishra et al. | Feature driven and point process approaches for popularity prediction | |
| Nadler et al. | Modeling the impact of baryons on subhalo populations with machine learning | |
| Ovaskainen et al. | What can observational data reveal about metacommunity processes? | |
| Nicolay et al. | Epidemiology of measles during the COVID-19 pandemic, a description of the surveillance data, 29 EU/EEA countries and the United Kingdom, January to May 2020 | |
| Giorgi et al. | The remarkable benefit of user-level aggregation for lexical-based population-level predictions | |
| JP6803754B2 (ja) | ログメッセージグループ化装置、ログメッセージグループ化システムおよびログメッセージグループ化方法 | |
| CN109542741A (zh) | 日志自动分组存储方法、装置、计算机设备和存储介质 | |
| Atar et al. | Fluid limits for many-server systems with reneging under a priority policy | |
| Du et al. | A movement of varying faces: How “Occupy Central” was framed in the news in Hong Kong, Taiwan, Mainland China, the UK, and the US | |
| Chakraborty et al. | Movie success prediction using historical and current data mining | |
| JP6794909B2 (ja) | メッセージ出力プログラム、メッセージ出力方法及びメッセージ出力装置 | |
| JPWO2017037801A1 (ja) | 監視システムおよび監視方法 | |
| Dieks | Quantum mechanics: an intelligible description of objective reality? | |
| Diaz et al. | TwiSP: a framework for exploring polarized issues in Twitter | |
| Tao et al. | Cross-space active learning on graph convolutional networks | |
| CN109767546B (zh) | 有价票据的质量核查调度装置和质量核查调度方法 | |
| JP7607607B2 (ja) | コンソーシアム運営装置及びコンソーシアム運営方法 | |
| Ruth et al. | SARS-CoV-2 transmission in university classes | |
| CN116720706B (zh) | 一种基于大数据技术的企业信息处理系统和处理方法 | |
| JP2024158087A (ja) | 監視システムおよび監視方法 | |
| Wu et al. | Efficient on/off-line query pre-processing for telecom social streaming data | |
| Grandjean | Iconic Images as Elite Spectacle: Religious Symbolism and Postmodernism in the (Dis) Service of Power |
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: 18784923 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18784923 Country of ref document: EP Kind code of ref document: A1 |