This application is related to and claims the benefit of priority from Japanese Patent Application No. 2007-51624, filed on Mar. 1, 2007, the entire contents of which are incorporated herein by reference.
The present invention relates to system monitoring program(s), method(s), and apparatus(es) for monitoring a system in which a plurality of types of unit process(es) are executed. More specifically, the present invention relates to a system monitoring program, method, and apparatus implemented to aid monitoring of a system and/or execute analysis of a processing status of a system.
The disclosed system monitoring apparatus and method monitor a system in which a plurality of types of unit processes are executed.
The system monitoring apparatus and method include determining whether each unit process executed by a system matches one of a plurality of unit process models generated by individually modeling a plurality of types of unit processes, determining, based on a result of determination of whether each unit process matches one of the process models, whether analysis of a processing status of the system is needed, and displaying, when determining that analysis of the processing status of the system is needed, a difference of a most approximate unit process model among the plurality of unit process models in relation each unit process determined as matching none of the plurality of unit process models.
Additional aspects and/or advantages will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the invention.
These and/or other aspects and advantages will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below to explain the present invention by referring to the figures.
Computer systems play a role of indispensable infrastructure systems in various fields, as a result, it is becoming increasingly important to keep computer systems running consistently and properly without stopping. Thus, various techniques for monitoring an operation status of computer systems and discovering abnormalities in the systems as soon as possible are needed.
For example, in the case of a network system, techniques for determining a range relevant to a symptom of a problem by linking network system design information, such as site information and network configuration information, to operation statistics information of network devices and displaying a list of operation statistics information of network devices along a path from a server to a client have been developed (e.g., Japanese Unexamined Patent Application Publication No. 2002-99469).
In the case of a business system, in order to monitor a processing status, it is effective to analyze transactions (flow of service processes) that serve as unit processes. Thus, techniques for collecting a log of messages exchanged for service processes on a network and estimating transactions on the basis of calling relationships among the messages in the log have been developed (e.g., Japanese Unexamined Patent Application Publication No. 2006-11683). By using such techniques, it is possible to extract a large number of types of transactions in the business system, even those with low frequencies of occurrence, without manual operations. This can aid analysis of the system.
Now, a system monitoring program, method, and apparatus according to a preferred embodiment of the present invention is described with reference to the accompanying drawings.
First, a scheme of transaction monitoring and detailed analysis according to an embodiment is described.
Furthermore, a matching process is performed to find a match between the extracted transactions and transaction models, and a processing status of the business system is monitored on the basis of a ratio of transactions for which matching transaction models have been found. If an abnormality in the business system is detected, transactions for which no matching transaction models have been found are analyzed in detail, and results of the analysis are displayed. The transaction models are generated by modeling individual types of transactions on the basis of previous transactions that were extracted from observed messages.
Furthermore, in the transaction monitoring according to this embodiment, the transaction models are updated when an update instruction issued by a system administrator is received. The system administrator issues an instruction for updating the transaction models when it is determined on the basis of displayed result(s) of analysis that mismatch with the transaction models is caused by updating of the system or change in usage patterns of the system necessitating updating of the transaction models.
Hereinafter, a case where a transaction monitoring apparatus monitors a business system and a transaction detail analyzing apparatus performs detailed analysis of transaction(s) is described. Alternatively, however, monitoring of a business system and detailed analysis of transactions may both be performed by a single apparatus.
Next, a configuration of a transaction monitoring apparatus according to an embodiment is described.
The input unit 110 is a processing unit that accepts (receives) various instructions regarding monitoring of transaction(s), for example, from a system administrator. More specifically, the input unit 110 accepts (receives) instruction(s) issued by the system administrator using an input device, such as a mouse, a keyboard, etc. The output unit 120 is a processing unit that outputs result(s) of monitoring by the transaction monitoring apparatus 100. For example, the output unit 120 outputs result(s) of monitoring to an output device, such as a display.
The new-transaction-information storage unit 131 is a storage unit that stores information regarding new transactions that are monitored, as new transaction information.
A transaction notation represents a hierarchical structure of a plurality of messages constituting a transaction.
For example, in a transaction “M1”, a message “HTTP;/dir/program1.cgi?x=a” in “layer 0” is first executed, a message “IIOP;method1” in “layer 1” is executed next, messages in “layer 2” are then executed, and then the processing returns to “layer 1”.
In “layer 2”, a message “SQL;Open_A”, a message “SQL;Fetch_A”, and a message “SQL;Close_A” are executed, and after all these messages have been executed, the processing returns to “layer 1” and then to “layer 0”, whereby all the processing is completed. When all the processing has been completed, results of the processing in the transaction are returned, whereby the transaction is completed.
Thus, in a transaction notation, a transaction is represented with a notation indicating a layer before each message, such as “0”, “0-0”, or “0-0-1”. “0” indicates a first message in “layer 0”, “0-0” indicates a first message in “layer 1”, and “0-0-1” indicates a second message in “layer 2”.
The monitoring-setting-information storage unit 132 is a storage unit that stores setting information regarding system monitoring, as monitoring setting information.
The model-matching-ratio evaluating condition defines an interval of time at which a ratio of matching between new transactions and transaction models is evaluated. Furthermore, the model-matching-ratio determining criterion serves to determine a processing status of the system on the basis of the model matching ratio. In this example, the transaction monitoring apparatus 100 determines that a processing status of the system is “normal” if the model matching ratio is greater than or equal to 0.95 and less than or equal to 1.00, determines that the processing status of the system is “alert” if the model matching ratio is greater than or equal to 0.85 and less than 0.95, and determines that the processing status of the system is “warning” if the model matching ratio is greater than or equal to 0.00 and less than 0.85.
The model-information storage unit 133 is a storage unit that stores information of transaction models as model information.
The transaction-element-dissimilarity storage unit 134 is a storage unit that stores transaction element dissimilarities, i.e., dissimilarities between transaction elements.
The edit distance between transaction elements p and q refers to a number of times of insertion, deletion, or replacement that is needed to obtain the transaction element q from the transaction element p. When the transactions p and q are of the same protocol type, the dissimilarity ed(p, q) between the transaction elements p and q is defined as follows:
ed(p,q)=(Edit distance between p and q)/(Sum of character string lengths of p and q)
Whereas when the transaction elements p and q are of different protocol types the dissimilarity ed(p, q) is defined as follows:
ed(p,q)=1(predefined value)
For example, in
ed(A,I)=3/(21+21)=0.0714
On the other hand, the transaction element A and the transaction element B are of different protocol types, so that the dissimilarity ed(A, B) between the transaction elements A and B takes on a predefined value as follows:
ed(A,B)=1
The analysis-result-transaction-information storage unit 135 is a storage unit that stores results of analysis of new transactions as analysis-result transaction information.
The monitoring-information storage unit 136 is a storage unit that stores results of monitoring of a processing status of a business system as monitoring information.
The 60 seconds here is a value defined as a model-matching-ratio evaluating condition, and the status of the business system is determined on the basis of a model-matching-ratio determining criterion. However, the present invention is not limited to any particular value as a as a model-matching-ratio evaluating condition. For example, the model-matching-ratio evaluating condition and the model-matching-ratio determining criterion are values defined by a system administrator as monitoring setting information and stored in the monitoring-setting-information storage unit 132.
The transaction extracting unit 141 is a processing unit that collects a log of messages exchanged for transaction processing on a network, and extracts transactions on the basis of calling relationship(s) among the messages in the log. Information regarding the transactions extracted by the transaction extracting unit 141 is stored in the new-transaction-information storage unit 131. Although the transaction extracting unit 141 is provided in the transaction monitoring apparatus 100 herein, the transaction extracting unit 141 may be provided as a separate apparatus.
The monitoring-setting-information reading unit 142 is a processing unit that reads monitoring setting information from the monitoring-setting-information storage unit 132 and writes the monitoring information to the reference-information storage unit 150. The model-information reading unit 143 is a processing unit that reads model information from the model-information storage unit 133 and writes the model information to the reference-information storage unit 150.
The new-transaction-information reading unit 144 is a processing unit that reads information of new transactions from the new-transaction-information storage unit 131 and supplies the information to the transaction-and-model matching unit 146 on a transaction-by-transaction basis. The transaction-element-dissimilarity reading unit 145 is a processing unit that reads transaction element dissimilarities from the transaction-element-dissimilarity storage unit 134 and writes the transaction-element dissimilarities to the reference-information storage unit 150.
The transaction-and-model matching unit 146 is a processing unit that receives information of new transactions from the new-transaction-information reading unit 144 on a transaction-by-transaction basis, and that executes a matching process to determine whether each of the new transactions matches one of the transaction models with reference to the model information and the transaction-element dissimilarities stored in the reference-information storage unit 150. The transaction-and-model matching unit 146 then writes the results to the analysis-result-transaction-information storage unit 135 as information attached to information of the transactions.
The transaction-and-model matching unit 146 calculates a distance L(ti, Mj) between a transaction ti and each transaction model Mj using a relevant transaction element dissimilarity, and determines that the transaction ti matches a transaction model Mk if L(ti, Mk) is smallest and is within a predetermined threshold.
For example, since “HTTP;/dir/program1/cgi?x=a” of “t10054” and “HTTP;/dir/program1/cgi?x=a” of “M1” are the same, the transaction element dissimilarity is 0. Furthermore, the transaction element dissimilarity between “IIOP;method3” of “t10054” and “IIOP;method1” of “M1” is 0.0714 according to
Similarly, L(t10054, M3)=0.0714, so the transaction-and-model matching unit 146 determines that a distance between “t10054” and “M3” is smallest. Then, the transaction-and-model matching unit 146 compares a value of L(t10054, M3) with the predetermined threshold The transaction-and-model matching unit 146 determines that “t10054” matches “M3” if the value of L(t10054, M3) is within the predetermined threshold, and determines that “t10054” does not match any transaction model if the value of L(t10054, M3) is not within the predetermined threshold.
As described above, the transaction-and-model matching unit 146 calculates the distance L(ti, Mj) between the transaction ti and each transaction model Mj using the relevant transaction element dissimilarity, and determines that the transaction model ti matches the transaction model Mk if the smallest distance L(ti, Mk) is within the predetermined threshold. In this manner, the transaction-and-model matching unit 146 can determine whether each new transaction matches one of the transaction models. Furthermore, the transaction-and-model matching unit 146 counts number of transaction(s) for which the matching process has been executed and number of matching transaction(s).
The model-matching-ratio evaluating unit 147 is a processing unit that calculates model matching ratios at intervals of time defined by the model-matching-ratio evaluating condition, and that determines the processing status of the business system on the basis of the model-matching-ratio determining criterion. The model-matching-ratio evaluating unit 147 supplies the determined status to the monitoring-information storage unit 136 as monitoring information.
The monitoring-information displaying unit 148 is a processing unit that displays monitoring information stored in the monitoring-information storage unit 136 via the output unit 120.
The reference-information storage unit 150 is a storage unit that stores monitoring setting information, model information, new transaction information, and transaction element dissimilarities read by the monitoring-setting-information reading unit 142, the model-information reading unit 143, the new-transaction-information reading unit 144, and the transaction-element-dissimilarity reading unit 145, respectively. The information stored in the reference-information storage unit 150 is referred to by the transaction-and-model matching unit 146 and the model-matching-ratio evaluating unit 147.
The controlling unit 160 controls the input unit 110, the output unit 120, the transaction extracting unit 141, the monitoring-setting-information reading unit 142, the model-information reading unit 143, the new-transaction-information reading unit 144, the transaction-element-dissimilarity reading unit 145, the transaction-and-model matching unit 146, the model-matching-ratio evaluating unit 147, and the monitoring-information displaying unit 148 so that the transaction monitoring apparatus 100 functions as one apparatus. The storage units shown in
Next, a procedure of a transaction monitoring process executed by the transaction monitoring apparatus 100 according to an embodiment is described.
As shown in
Then, the new-transaction-information reading unit 144 reads information of a new transaction t and passes information of the transaction t to the transaction-and-model matching unit 146 (operation S104), and the transaction-and-model matching unit 146 adds “1” to the number of observed transactions (increments number of observed transaction(s) by 1) (operation S105). It is assumed here that a number of observed transactions has been initialized to “0”.
Then, the transaction-and-model matching unit 146 searches the reference-information storage unit 150 for a transaction model that matches the transaction t (operation S106), and determines whether a transaction model that matches the transaction t exists (operation S107). If a transaction model that matches the transaction t exists, the transaction-and-model matching unit 146 adds “1” to the model matching number (operation S108) (increments number of transaction(s) with matching model by 1). It is assumed here that the model matching number has been initialized to “0”. On the other hand, if at operation S107, it is determined that a transaction model that matches the transaction t does not exist, the process proceeds to operation S109 discussed in detail below.
Then, the transaction-and-model matching unit 146 writes information of the transaction t and the result of matching in the analysis-result-transaction-information storage unit 135 (operation S109). Then, with reference to the model-matching-ratio evaluating condition in the reference-information storage unit 150, the model-matching-ratio evaluating unit 147 checks whether a model-matching-ratio evaluating condition is satisfied, i.e., whether a time to evaluate a model matching ratio has occurred (operation S110). If the model-matching-ratio evaluating condition is not satisfied, the process proceeds to operation S117.
On the other hand, if the model-matching-ratio evaluating condition is satisfied, the model-matching-ratio evaluating unit 147 calculates a model matching ratio using a number of observed transactions and a number of models with matching model. Then, the model-matching-ratio evaluating unit 147 determines a status of the business system according to the model matching ratio on the basis of the model-matching-ratio determining criterion, and writes the status to the monitoring-information storage unit 136 (operation S111).
Then, the monitoring-information displaying unit 148 checks whether the model matching ratio written to the monitoring-information storage unit 136 is within a normal range (operation S112). If the model matching ratio is within the normal range, the monitoring-information displaying unit 148 updates a display of a graph of model matching ratio (operation S113). If the model matching ratio is not within the normal range, the monitoring-information displaying unit 148 updates display of the graph of model matching ratio with alert information attached (operation S114). Furthermore, the controlling unit 160 instructs the transaction detail analyzing apparatus to execute detailed analysis (operation S115).
The controlling unit 160 initializes the number of observed transactions and the model matching number to “0” (operation S116), and checks whether a predetermined monitoring quitting condition is satisfied (operation S117). If the predetermined monitoring quitting condition is not satisfied, the process returns to operation S104 to process a next transaction. On the other hand, if the predetermined monitoring quitting condition is satisfied, the transaction monitoring process is exited.
As described above, a detailed analysis can be started by instructing the transaction detail analyzing apparatus to execute detailed analysis when a model matching ratio is not within the normal range.
Next, detailed analysis executed by the transaction detail analyzing apparatus is described.
As shown in
Then, the transaction detail analyzing apparatus displays the transaction in such a manner that the extracted difference is highlighted. For example, the transaction detail analyzing apparatus displays a transaction element different from that in the approximate model in bold letters, a transaction element not existing in the approximate model with an underline, and an element existing in the approximate model but missing in the transaction in italics. Although specific types of indicating (i.e., presenting in bold, underline, italic, etc.) a difference between a transaction and a most approximate transaction model is discussed in relation to
With the output from the apparatus according to this embodiment described above, advantageously, the system administrator can readily grasp a change in a processing status of a system, so that the system administrator can readily analyze the processing status of the system.
Furthermore, the transaction detail analyzing apparatus stores information regarding problem instance(s) of transaction(s) that occurred in the past as performance degradation/problem pattern(s) in a database. If a similar performance degradation/problem pattern exists in the database, the transaction detail analyzing apparatus displays a time of occurrence, a problem type, a basic model (approximate model), and so forth of the performance degradation/problem pattern as background information.
As shown in
On the other hand, if an input indicating that system administrator has determined that the transaction is caused by a performance degradation, a problem, or the like of the system, the transaction analyzing apparatus additionally registers the transaction in the transaction performance degradation/problem database together with the background information.
As described above, the transaction detail analyzing apparatus displays transactions in such a manner that differences from approximate models are highlighted, and if a similar performance degradation/problem pattern in the past is found, the transaction detail analyzing apparatus displays background information of the performance degradation/problem pattern. This can aid analysis of a processing status of a system by the system administrator.
That is, with the output from the apparatus according to the embodiment described above, the system administrator can efficiently obtain past information regarding occurrence of problem(s) in the system. Thus, advantageously, the system administrator can efficiently analyze the processing status of the system.
Furthermore, the transaction detail analyzing apparatus additionally registers a transaction for which a determination by the system administrator that the transaction is “normal” is accepted as a new transaction model. Thus, transaction models can be updated in accordance with updating of the system or change in usage pattern(s) of the system. Furthermore, the transaction detail analyzing apparatus additionally registers performance degradation/problem patterns of transactions in the database, so that the database becomes more effective.
That is, in the apparatus according to this embodiment, transaction models are updated in accordance with updating of the system or change in usage pattern(s) of the system. Thus, advantageously, the load of a system administrator to update transaction models can be alleviated.
Next, a configuration of the transaction detail analyzing apparatus is described.
The input unit 210 is a processing unit that accepts (receives) instruction(s) regarding result(s) of detailed analysis, or the like, from a system administrator. More specifically, the input unit 210 accepts instructions issued by the system administrator using an input device, such as a mouse or a keyboard. The output unit 220 is a processing unit that outputs result(s) of analysis by the transaction detail analyzing apparatus 200. For example, the output unit 220 displays results of analysis of transactions on a display.
The detailed-analysis-setting-information storage unit 231 is a storage unit that stores setting information regarding detailed analysis as detailed-analysis setting information.
The dissimilarity threshold for model(s) is a threshold that is used to search for a transaction model that is approximate to a transaction. If there exists no transaction model having a dissimilarity within this threshold, no approximate model is returned by searching. The dissimilarity threshold for performance degradation/problem pattern(s) is used to search for a performance degradation/problem pattern that is approximate to the transaction. If there exists no performance degradation/problem pattern having a dissimilarity within this threshold, no performance degradation/problem pattern is returned by searching. In
The transaction-element-dissimilarity storage unit 232 is a storage unit that stores dissimilarities between pairs of transaction elements as transaction element dissimilarities, similarly to the transaction-element dissimilarity storage unit 134. The model-information storage unit 233 is a storage unit that stores information of transaction models as model information, similar to the model-information storage unit 133.
The analysis-result-transaction-information storage unit 234 is a storage unit that stores result(s) of analysis of transaction(s) as analysis-result transaction information, similar to the analysis-result-transaction-information storage unit 135. Furthermore, the analysis-result-transaction-information storage unit 234 also stores information regarding approximate model(s) and background information.
The performance degradation/problem pattern DB 235 is a database that stores information of abnormal transactions that occurred in the past as performance degradation/problem patterns together with background information.
The pattern section is a storage area that stores the “transaction notation” of an abnormal transaction that occurred in the past as a “pattern notation” and that stores a list of IDs of corresponding instance(s) as a problem instance ID list for each “pattern notation”. The instance section stores information of an abnormal transaction that occurred in the past, together with background information. More specifically, the instance section is a storage area that stores a problem instance ID identifying a problem instance, a transaction ID, a start time and an end time, a “pattern notation”, a basic model, and a “problem type”. The basic model refers to a model ID of a most approximate transaction model.
The detailed-analysis-result storage unit 236 is a storage unit that stores result(s) of detailed analysis of transaction(s). For example, the detailed-analysis-result storage unit 236 stores a “transaction notation”, a model ID of an approximate model, information regarding a difference with the approximate model, and background information.
The detailed-analysis-setting unit 241 is a processing unit that reads detailed-analysis setting information from the detailed-analysis-setting-information storage unit 231 and writes the detailed-analysis setting information to the reference-information storage unit 260. The transaction-element-dissimilarity reading unit 242 is a processing unit that reads transaction element dissimilarities from the transaction-element-dissimilarity storage unit 232 and writes the transaction element dissimilarities to the reference-information storage unit 260.
The model-information reading unit 243 is a processing unit that reads model information from the model-information storage unit 233 and writes the model information to the reference-information storage unit 260. The transaction-information reading unit 244 is a processing unit that reads information of transaction(s) not matching any transaction model from the analysis-result-transaction-information storage unit 234 and writes the information to the reference-information storage unit 260.
The approximate-model searching unit 245 is a processing unit that searches the reference-information storage unit 260 for a transaction model that is approximate to a transaction not matching any transaction model, and writes a result of searching to the detailed-analysis-result storage unit 236 together with information of the transaction. If there exists no transaction model having a dissimilarity within the dissimilarity threshold for models, the approximate-model searching unit 245 returns no approximate model as a result of the searching.
The transaction-and-approximate-model difference extracting unit 246 is a processing unit that compares a transaction with an approximate model to extract differences. The transaction-and-approximate-model difference extracting unit 246 extracts different part(s), missing part(s), and extra part(s) by comparison with the approximate model, and writes the results of extraction to the detailed-analysis-result storage unit 236.
The model updating unit 247 is a processing unit that registers a transaction as a new transaction model to the model-information storage unit 233 when an instruction to add the transaction as a model is input by the system administrator.
The performance-degradation/problem-pattern searching unit 248 is a processing unit that searches the performance degradation/problem pattern DB 235 for a performance degradation/problem pattern and writes a result of searching to the detailed-analysis-result storage unit 236.
The performance degradation/problem pattern DB updating unit 249 is a processing unit that registers a transaction as a new problem instance in the performance degradation/problem pattern DB 235 when an input indicating that the system administrator has determined that the transaction is abnormal is accepted.
The transaction-information updating unit 250 is a processing unit that updates analysis-result transaction information in the analysis-result-transaction-information storage unit 234 on the basis of result(s) of detailed analysis.
The detailed-analysis-result displaying unit 251 is a processing unit that displays result(s) of detailed analysis stored in the detailed-analysis-result storage unit 236 via the output unit 220. The system administrator is thus assisted in finding a cause of mismatch between transactions and transaction model(s) on the basis of result(s) of detailed analysis displayed by the detailed-analysis-result displaying unit 251.
The reference-information storage unit 260 stores detailed-analysis setting information, transaction element dissimilarities, model information, and transaction information read by the detailed-analysis-setting unit 241, the transaction-element-dissimilarity reading unit 242, the model-information reading unit 243, and the transaction-information reading unit 244, respectively. The information stored in the reference-information storage unit 260 is referred to by the approximate-model searching unit 245, the transaction-and-approximate-model difference extracting unit 246, the performance-degradation/problem-pattern searching unit 248, and so forth.
The controlling unit 270 controls the input unit 210, the output unit 220, the detailed-analysis-setting unit 241, the transaction-element-dissimilarity reading unit 242, the model-information reading unit 243, the transaction-information reading unit 244, the approximate-model searching unit 245, the transaction-and-approximate-model difference extracting unit 246, the model updating unit 247, the performance-degradation/problem-pattern searching unit 248, the performance-degradation/problem-pattern-DB updating unit 249, the transaction-information updating unit 250, and the detailed-analysis-result displaying unit 251 described above so that the transaction detail analyzing apparatus 200 functions as one apparatus. In
Next, a procedure of a transaction detail analyzing process executed by the transaction detail analyzing apparatus 200 according to an embodiment is described.
As shown in
Then, the transaction-information reading unit 244 reads transaction information of transactions not matching any transaction model in a predetermined period, i.e., information of transactions t1, . . . and tn not matching any transaction model, and writes the transaction information to the reference-information storage unit 260 (operation S204). Then, the controlling unit 270 exercises control to execute operations S205 to S213 for information ti of each of the transactions.
More specifically, the approximate-model searching unit 245 reads ti from the reference-information storage unit 260, searches for a transaction model M′ most approximate to ti, and writes M′ as information of an approximate model to the detailed-analysis-result storage unit 236 together with ti (operation S205). Then, the transaction-and-approximate-model difference extracting unit 246 extracts difference(s) between ti and M′, and writes information of the differences to the detailed-analysis-result storage unit 236 (operation S206). Then, the performance-degradation/problem-pattern searching unit 248 searches the performance degradation/problem pattern DB 235 for a problem instance having a pattern matching ti, and writes a result of searching to the detailed-analysis-result storage unit 236 (operation S207).
Then, the detailed-analysis-result displaying unit 251 checks whether there exists any problem instance having a pattern matching ti (operation S208). If a matching problem instance is found, the detailed-analysis-result displaying unit 251 displays background information, information of M′, and difference(s) (operation S209). If no matching problem instance is found, the detailed-analysis-result displaying unit 251 displays the information of M′ and difference(s) (operation S210).
Then, the model updating unit 247 accepts (receives) an instruction from a system administrator as to whether ti is to be added to the transaction models (operation S211). If an instruction to add is accepted, the model updating unit 247 adds ti to update the transaction models in the model-information storage unit 233 (operation S212).
On the other hand, if an instruction not to add is accepted, the performance degradation/problem pattern DB updating unit 249 accepts an instruction from the system administrator as to whether ti is to be added to the performance degradation/problem pattern DB 235 (operation S213). If an instruction to add is accepted, the performance degradation/problem pattern DB updating unit 249 adds ti to the performance degradation/problem pattern DB 235 together with background information (operation S214).
On the other hand, if at operation S113, an instruction to add is not accepted, the process proceeds to operation S115. Then, the transaction-information updating unit 250 updates information of ti in the analysis-result-transaction-information storage unit 234 (operation S215).
As described above, the transaction detail analyzing apparatus 200 analyzes in detail transactions not matching any transaction model and displays results of the analysis. This assists in aiding analysis of abnormalities by a system administrator.
Although the detailed-analysis-result displaying unit 251 displays background information obtained by searching the performance degradation/problem pattern DB 235 on a basis of individual problem instances in this embodiment, alternatively, background information may be grouped on the basis of basic models or problem types and displayed on a group-by-group basis.
In the example shown in
As described above, according to this embodiment, the transaction monitoring apparatus 100 monitors transactions on the basis of transaction models, and the transaction detail analyzing apparatus 200 is instructed to analyze in detail transactions not matching any transaction model if the model matching ratio is less than a predetermined threshold. This can aid system analysis by a system administrator.
More specifically, for each transaction not matching any transaction model, the approximate-model searching unit 245 of the transaction detail analyzing apparatus 200 searches for a most approximate model, the transaction-and-approximate-model difference extracting unit 246 extracts differences from the approximate model, and the detailed-analysis-result displaying unit 251 displays a difference(s) in a highlighted manner. Thus, the system administrator can readily determine whether the transaction is abnormal or not. Furthermore, the model updating unit 247 additionally registers each transaction determined by the system administrator as not abnormal (normal) as a new transaction model. Thus, the transaction monitoring apparatus 100 can operate in accordance with updating of the system or change in usage patterns of the system.
The performance-degradation/problem-pattern searching unit 248 searches the performance degradation/problem pattern DB 235 for past problem instances of the same problem type and displays background information of the problem instance. Thus, the system administrator can analyze an abnormality of the system using information of the past problem instance of the same problem type.
That is, with the output from the apparatus according to the embodiment described above, the system administrator can efficiently obtain past information regarding an occurrence of problem(s) in a system. Thus, advantageously, the system administrator can efficiently analyze a processing status of the system.
Furthermore, the performance degradation/problem pattern DB updating unit 249 additionally registers each transaction determined as a problem by the system administrator as a problem instance in the performance degradation/problem pattern DB 235. Thus, information of problem instances can be accumulated in a database and used for problem analysis.
Furthermore, in the apparatus according to an embodiment, transaction models are updated in accordance with updating of the system or change in usage patterns of the system. Thus, advantageously, the load of the system administrator to update transaction models can be alleviated.
In an embodiment, the system administrator determines whether to update transaction models on the basis of result(s) of detailed analysis displayed by the detailed-analysis-result displaying unit 251, and issues an instruction to the transaction detail analyzing apparatus 200. Alternatively, the transaction detail analyzing apparatus 200 may be configured to automatically determine whether to update transaction model(s).
For example, the transaction detail analyzing apparatus 200 may be configured to determine that a transaction not matching any transaction models is “normal” and to automatically add the transaction to transaction models if a number of difference(s) is the same as a number of “Fetch” commands in SQL statements. Alternatively, the transaction detail analyzing apparatus 200 may be configured to determine that a transaction not matching any transaction model(s) is “normal” and to automatically add the transaction to transaction models if a difference in the number of “Fetch” commands is within “3” while leaving the determination to the system administrator if the difference exceeds “3”. By automatically updating transaction models, the transaction detail analyzing apparatus can reduce the load of the system administrator.
Although the transaction monitoring apparatus and the transaction detail analyzing apparatus have been described above, a configuration of the transaction monitoring apparatus or the transaction detail analyzing apparatus can be implemented in software to provide a transaction monitoring program or a transaction detail analyzing program having similar functions. Now, a computer for executing these programs is described.
The RAM 310 is a memory that stores program(s) or result(s) of processing in the course of execution of program(s). The CPU 320 reads program(s) from the RAM 310 and executes the program(s). The HDD 330 is a disk device that stores program(s) and data. The LAN interface 340 is an interface that serves to connect the computer 300 with another computer via a LAN. The input/output interface 350 is an interface connecting an input device, such as a mouse or a keyboard, and a display. The DVD drive 360 is a device that reads data from or writes data to a DVD.
A transaction monitoring program 311 executed by the computer 300 is stored on a DVD, read from the DVD by the DVD drive 360, and installed on the computer 300. Alternatively, the transaction monitoring program 311 is stored in a database or the like of another computer system connected via the LAN interface 340, read from the database, and installed on the computer 300. Then, the installed transaction monitoring program 311 is stored in the HDD 330, read by the RAM 310, and executed by the CPU 320.
Furthermore, although the embodiment has been described in the context of monitoring and analysis of transactions, without limitation to the embodiment, the present invention can be applied similarly to computer system(s) that process(es) unit process(es) similar to transaction(s).
Although a few embodiments have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2007-51624 | Mar 2007 | JP | national |