JP5821471B2 - Information processing apparatus, process monitoring method, process monitoring program, and recording medium - Google Patents
Information processing apparatus, process monitoring method, process monitoring program, and recording medium Download PDFInfo
- Publication number
- JP5821471B2 JP5821471B2 JP2011211884A JP2011211884A JP5821471B2 JP 5821471 B2 JP5821471 B2 JP 5821471B2 JP 2011211884 A JP2011211884 A JP 2011211884A JP 2011211884 A JP2011211884 A JP 2011211884A JP 5821471 B2 JP5821471 B2 JP 5821471B2
- Authority
- JP
- Japan
- Prior art keywords
- business
- processes
- information
- characteristic information
- monitoring
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Description
本発明は、情報処理装置、プロセス監視方法、プロセス監視プログラム、記録媒体に関する。 The present invention relates to an information processing apparatus, a process monitoring method, a process monitoring program, and a recording medium.
Java(登録商標)仮想マシンにおいて、プロセスが異常終了する場合がある。プロセスが異常終了する原因としては、例えば、ヒープ領域の不足がある。ヒープ領域はプロセスが使用するメモリ領域の1つであって、その大きさには上限が設定される。プロセスが異常終了すると、プロセスにおいて業務アプリケーションプログラム(以下、業務アプリケーション)を実行することができなくなり、業務アプリケーションの実行が継続できなくなる。 In a Java (registered trademark) virtual machine, a process may end abnormally. As a cause of abnormal termination of the process, for example, there is a shortage of heap area. The heap area is one of the memory areas used by the process, and an upper limit is set for the size thereof. If the process terminates abnormally, the business application program (hereinafter referred to as business application) cannot be executed in the process, and the business application cannot be continuously executed.
そこで、プロセスが異常終了する前にプロセスが異常終了する可能性が検出され、例えばオペレータに対して警告が出力される。例えば、ヒープ領域の使用量が閾値を超えた場合、警告メッセージが出力される。これにより、プロセスの異常終了を回避して業務アプリケーションの実行を継続する。 Therefore, the possibility that the process ends abnormally before the process ends abnormally is detected, and a warning is output to the operator, for example. For example, when the usage amount of the heap area exceeds a threshold value, a warning message is output. Thereby, the abnormal termination of the process is avoided and the execution of the business application is continued.
また、コンピュータのハードウェア情報を監視し比較して異常を検出することが提案されている。例えば、リクエスト停止ノード選択手段がクラスタを構成する複数の被障害監視ノードのうちリクエストの分配を停止するノードを選択し、リクエスト停止手段が選択されたノードへのリクエストの配信を停止し、希少ノード計算手段が、選択されたノードの詳細情報を詳細情報格納部より取得し、この詳細情報を用いて複数の被障害監視ノードの中から資源の利用状況が他の被障害監視ノードとは異なるパターンを示すノードを算出し、クラスタ障害推定手段が希少ノード計算手段によって計算された計算結果を用いて異常状態にあるノードを検出することが提案されている。 It has also been proposed to detect abnormalities by monitoring and comparing computer hardware information. For example, the request stop node selection means selects a node that stops distribution of requests from a plurality of fault monitoring nodes constituting the cluster, and the request stop means stops distribution of the request to the selected node, and the rare node The calculation means obtains the detailed information of the selected node from the detailed information storage unit, and using this detailed information, the resource usage status is different from the other faulty monitoring nodes among the plurality of faulty monitoring nodes. It is proposed that the cluster failure estimation means detects a node in an abnormal state using the calculation result calculated by the rare node calculation means.
また、制御対象の状態を取り込み、あらかじめ備えられたタスクを実行することにより決定された信号を該制御対象に出力することを繰り返すコントローラを複数備えるとともに、該複数のコントローラがネットワークで接続された分散制御システムにおいて、前記制御対象のタスクの起動関係を格納し、該タスクの起動関係に関する情報と該コントローラで現在実行中のタスクに関する情報に基づいて近々実行順序の来るタスクを特定するシステムシミュレータと、前記複数のコントローラより前記システムシミュレータにより前記特定されたタスクを実行するコントローラを決定するタスクブローカとを備えることが提案されている。 In addition, a plurality of controllers that repeatedly capture a state of a control target and output a signal determined by executing a task provided in advance to the control target are provided, and the plurality of controllers are connected via a network. In the control system, a system simulator that stores the activation relationship of the task to be controlled, and identifies a task that is about to be executed in the near future based on information on the activation relationship of the task and information on the task currently being executed by the controller, It has been proposed to include a task broker that determines a controller that executes the specified task by the system simulator from the plurality of controllers.
例えば、アプリケーションの障害等の何らかの異常が発生しているプロセスが存在する場合において、異常が発生しているプロセスのヒープ領域の使用量が、閾値を超えない可能性がある。この場合には、ヒープ領域の使用量の閾値を用いても、プロセスが異常終了する可能性を検出することはできない。 For example, when there is a process in which some kind of abnormality such as an application failure exists, the usage amount of the heap area of the process in which the abnormality has occurred may not exceed the threshold. In this case, the possibility of abnormal termination of the process cannot be detected even if the heap area usage threshold is used.
また、コンピュータのハードウェア情報を監視し比較して異常を検出する場合には、コンピュータ単位でハードウェア情報が比較される。このため、業務アプリケーションに固有の異常は、検出することができない。 When an abnormality is detected by monitoring and comparing computer hardware information, the hardware information is compared on a computer basis. For this reason, an abnormality specific to a business application cannot be detected.
本発明の一側面によれば、アプリケーションに起因してプロセスが異常終了する可能性を検出することを目的とする。 An object of one aspect of the present invention is to detect the possibility of abnormal termination of a process due to an application.
開示される情報処理装置は、複数のアプリケーションプログラムに基づき処理を実行する複数のプロセスのそれぞれについて、プロセスの特性を表す特性情報を収集する収集部と、複数のプロセスのうちのあるプロセスに関する特性情報が、複数のプロセスのうち、あるプロセスを除いたプロセスのいずれの特性情報とも特性が異なる場合に、あるプロセスについて異常が発生したと判断する判断部とを含む。 The disclosed information processing apparatus includes: a collection unit that collects characteristic information representing process characteristics for each of a plurality of processes that execute processing based on a plurality of application programs; and characteristic information related to a certain process among the plurality of processes Includes a determination unit that determines that an abnormality has occurred in a certain process when the characteristic is different from any characteristic information of any of the plurality of processes excluding the certain process.
開示される情報処理装置の一側面によれば、アプリケーションに起因してプロセスが異常終了する可能性を検出することができる。 According to one aspect of the information processing apparatus disclosed, it is possible to detect a possibility that a process will end abnormally due to an application.
プロセスにおける異常の種類によっては、異常検出のための閾値それ自体を決定することができない場合がある。この場合には、異常検出のための閾値を用いてプロセスが異常終了する可能性を検出することはできない。 Depending on the type of abnormality in the process, the threshold value for detecting the abnormality itself may not be determined. In this case, it is impossible to detect the possibility of abnormal termination of the process using the threshold value for abnormality detection.
例えば、HTTP(Hypertext Transfer Protocol)において、ステータスコード200(OK)が、クライアントからの「リクエストは成功した」ことを示すコードとして規定されている。ステータスコードが「200」である場合は、クライアントからのリクエストに対するレスポンスと共にリクエストに応じた情報が返信される場合であり、正常復帰の場合である。しかし、実際には、「200」以外のステータスコードが発生する場合がある。換言すれば、正常復帰ではない場合が発生することがある。 For example, in HTTP (Hypertext Transfer Protocol), the status code 200 (OK) is defined as a code indicating that the “request was successful” from the client. When the status code is “200”, information corresponding to the request is returned together with a response to the request from the client, and this is a case of normal return. However, in practice, a status code other than “200” may occur. In other words, there may be a case where the normal return is not achieved.
そこで、「200」以外のステータスコードが発生した場合には、異常が発生したコンピュータを情報処理システムから切り離すことが考えられる。しかし、この場合には、コンピュータそれ自体には異常がないにも拘らず、コンピュータの切離しが頻繁に発生する結果、実際の業務の実行に支障を生じる。従って、「200」以外のステータスコードが発生しても、コンピュータに異常が発生したと判断することは適切ではない。 Therefore, when a status code other than “200” occurs, it is conceivable to disconnect the computer in which the abnormality has occurred from the information processing system. However, in this case, although the computer itself has no abnormality, the computer is frequently disconnected, resulting in an obstacle to the execution of actual work. Therefore, even if a status code other than “200” is generated, it is not appropriate to determine that an abnormality has occurred in the computer.
一方、「200」以外のステータスコードが多く発生する傾向がある場合、コンピュータの異常ではなく、業務アプリケーションのデータが破壊された等の異常が発生している可能性がある。 On the other hand, when there is a tendency that many status codes other than “200” tend to occur, there is a possibility that an abnormality such as destruction of business application data has occurred, not a computer abnormality.
しかし、「200」以外のステータスコードが発生する頻度は、通常、業務アプリケーション毎に異なり、個々の業務アプリケーションに特有の値をとる。換言すれば、種々の業務アプリケーションに共通の値として、「200」以外のステータスコードが発生する頻度を算出することができない。従って、種々の業務アプリケーションにおいて、共通に、「200」以外のステータスコードがある回数だけ発生したら異常であるという判断をすることができない。このため、「200」以外のステータスコードを用いて、異常検出のための妥当な閾値を定めることはできない。 However, the frequency of occurrence of status codes other than “200” usually differs for each business application and takes a value specific to each business application. In other words, it is impossible to calculate the frequency of occurrence of status codes other than “200” as a value common to various business applications. Therefore, in various business applications, it is not possible to determine that it is abnormal if a status code other than “200” is generated a certain number of times. For this reason, an appropriate threshold value for detecting an abnormality cannot be determined using a status code other than “200”.
また、プロセスにおける異常の種類によっては、異常検出のための閾値を設定したとしても、プロセスが異常終了する可能性を検出することができない。 Further, depending on the type of abnormality in the process, even if a threshold value for abnormality detection is set, the possibility of abnormal termination of the process cannot be detected.
例えば、複数の業務プロセスにリクエストが均等に振分けられ、かつ、リクエストに依存して使用する資源量が大きく変動しない場合、複数の業務プロセスは、各々、同じ資源量を消費するはずである。そこで、この場合には、資源の消費量を用いて、異常検出のための閾値を設定することが考えられる。 For example, if requests are evenly distributed to a plurality of business processes and the amount of resources used depending on the requests does not vary greatly, each of the plurality of business processes should consume the same amount of resources. Therefore, in this case, it is conceivable to set a threshold value for detecting an abnormality using the resource consumption.
しかし、アプリケーションの障害等の何らかの異常が発生した結果、特定の業務プロセスだけが大きく資源を消費する場合がある。そして、特定の業務プロセスだけが大きく資源を消費してはいるが、資源の消費量が異常検出のための閾値を超えない場合がある。この場合、異常検出のための閾値を設定しても、異常を検出することができない。 However, as a result of some abnormality such as an application failure, only a specific business process may consume a large amount of resources. In some cases, only a specific business process consumes a large amount of resources, but the amount of resource consumption does not exceed a threshold for detecting an abnormality. In this case, an abnormality cannot be detected even if a threshold value for detecting an abnormality is set.
なお、前述したように、異常が発生したコンピュータを情報処理システムから切り離す場合には、例えば、クラスタシステムのように、業務を実行するコンピュータとは別に代替のコンピュータが用意される。この場合、異常が発生した業務アプリケーションを実行していたコンピュータを停止して、代替のコンピュータによる業務アプリケーションの実行を開始する。これにより、業務アプリケーションの実行は継続される。しかし、異常が発生したコンピュータが停止されるため、異常が発生していた時のプロセス又は業務アプリケーションの状態を維持することができず、異常の原因が解明できない。 As described above, when a computer in which an abnormality has occurred is disconnected from the information processing system, for example, an alternative computer is prepared separately from a computer that executes business, such as a cluster system. In this case, the computer that was executing the business application in which the abnormality occurred is stopped, and the execution of the business application by the alternative computer is started. Thereby, the execution of the business application is continued. However, since the computer in which the abnormality has occurred is stopped, the state of the process or the business application when the abnormality has occurred cannot be maintained, and the cause of the abnormality cannot be elucidated.
開示される情報処理装置は、閾値を用いることなく、アプリケーションに起因してプロセスが異常終了する可能性を検出する。 The disclosed information processing apparatus detects the possibility of abnormal termination of a process due to an application without using a threshold value.
図1は、情報処理システムの一例を示す図である。 FIG. 1 is a diagram illustrating an example of an information processing system.
情報処理システムは、例えばサーバクライアントシステムであり、アプリケーションサーバ1と、クライアント8と、ネットワーク9とを含む。アプリケーションサーバ1は、業務アプリケーション4を実行する、換言すれば、業務処理を実行するサーバ装置である。ネットワーク9は、例えばインターネットのようなネットワークである。クライアント8は、アプリケーションサーバ1に業務リクエストを送信して、業務アプリケーション4の実行を要求するクライアント装置である。
The information processing system is a server client system, for example, and includes an
例えば、アプリケーションサーバ1は、ネットワーク9を介して、クライアント8から業務リクエストを受信する。そして、アプリケーションサーバ1は、受信した業務リクエストにおいて指示された業務アプリケーション4を実行する。その後、アプリケーションサーバ1は、クライアント8からの業務リクエストに対するレスポンス及び業務リクエストに応じた情報、換言すれば、業務アプリケーション4の実行結果を、ネットワーク9を介して、クライアント8に送信する。
For example, the
アプリケーションサーバ1は、振分けプロセス2と、複数の業務プロセス3と、業務アプリケーション4と、複数の代替プロセス5と、業務アプリケーション6と、監視プロセス7とを含む。
The
振分けプロセス2は、振分け処理を実行する振分け部であり、クライアント8からの業務リクエストを複数の業務プロセス3に振分ける。換言すれば、振分けプロセス2は、業務リクエストを業務プロセス3に送信して、当該業務リクエストの実行を業務プロセス3へ依頼する。 The distribution process 2 is a distribution unit that executes distribution processing, and distributes business requests from the clients 8 to a plurality of business processes 3. In other words, the distribution process 2 sends a business request to the business process 3 and requests the business process 3 to execute the business request.
具体的には、振分けプロセス2は、監視プロセス7から業務プロセス3の起動完了の通知を受信した場合に、クライアント8からの業務リクエストを受信する、換言すれば、受付ける。そして、振分けプロセス2は、受け付けた業務リクエストを複数の業務プロセス3の中のいずれの業務プロセス3へ振分けるかを判断する。この後、振分けプロセス2は、前記判断に基づいて、業務リクエストを業務プロセス3に振分ける、換言すれば、業務リクエストの実行を業務プロセス3に依頼する。業務リクエストは、例えば複数の業務プロセス3の各々へ、均等に振分けられる。
Specifically, the distribution process 2 receives a business request from the client 8 when receiving a notification of the completion of the activation of the business process 3 from the
また、振分けプロセス2は、監視プロセス7から代替プロセス5の起動完了の通知を受信した場合に、クライアント8から受け付けた業務リクエストを、代替プロセス5へ振分ける。換言すれば、振分けプロセス2は、監視プロセス7から代替プロセス5の起動完了の通知を受信した場合に、クライアント8から受け付けた業務リクエストを、その時点まで業務リクエストを振分けていた業務プロセス3へは振分けないようにする。これにより、業務プロセス3は、代替プロセス5に切り替えられる。
Further, the distribution process 2 distributes the business request received from the client 8 to the
振分けプロセス2は、例えば、業務の開始に先立って、予め定められた振分けプロセス2の起動コマンドを実行することにより起動される。具体的には、例えば、アプリケーションサーバ1の管理者が、アプリケーションサーバ1の入力装置から振分けプロセス2の起動コマンドを入力することにより、アプリケーションサーバ1に振分けプロセス2の起動コマンドを実行させる。
The distribution process 2 is activated, for example, by executing a predetermined activation command for the distribution process 2 prior to the start of business. Specifically, for example, the administrator of the
業務プロセス3は、実際に業務の処理を実行する業務処理実行部であり、振分けプロセス2により振分けられたクライアント8からの業務リクエストを実行する。換言すれば、業務プロセス3は、受信した業務リクエストにおいて指示された処理を実行する。 The business process 3 is a business process execution unit that actually executes a business process, and executes a business request from the client 8 distributed by the distribution process 2. In other words, the business process 3 executes processing instructed in the received business request.
具体的には、業務プロセス3は、振分けプロセス2から業務リクエストを受信すると、受信した業務リクエストを実行する業務アプリケーション4を呼び出して、呼び出した業務アプリケーション4に業務リクエストにおいて指示された処理を実行させる。換言すれば、業務プロセス3は、業務アプリケーション4に基づき処理を実行する。業務プロセス3は、複数の業務リクエストを振分けられた場合、振分けられた業務リクエスト毎に、業務アプリケーション4に当該業務リクエストを処理させる。これにより、業務プロセス3は、クライアント8から依頼された処理を実行する。業務アプリケーション4は、業務プロセス3において実行されるアプリケーションプログラムである。 Specifically, when the business process 3 receives a business request from the distribution process 2, the business process 3 calls the business application 4 that executes the received business request, and causes the called business application 4 to execute the process specified in the business request. . In other words, the business process 3 executes processing based on the business application 4. When a plurality of business requests are distributed, the business process 3 causes the business application 4 to process the business requests for each distributed business request. As a result, the business process 3 executes the processing requested by the client 8. The business application 4 is an application program executed in the business process 3.
業務プロセス3は、例えば、監視プロセス7が予め定められた業務プロセス3の起動コマンドを実行することにより起動される。監視プロセス7は、例えば、監視プロセス7が起動されると、業務プロセス3の起動コマンドを実行する。この時、複数の業務プロセス3が起動され、並列して稼動させられる。これにより、負荷を分散し、アプリケーションサーバ1を安定的に稼動させることができる。
The business process 3 is started, for example, when the
代替プロセス5は、業務プロセス3に異常が発生した場合、業務プロセス3に代わって処理を実行するプロセスである。従って、代替プロセス5は、業務プロセス3と同一の機能を有する。
The
代替プロセス5は、実際に業務の処理を実行する業務処理実行部であり、振分けプロセス2により振分けられたクライアント8からの業務リクエストを実行する。具体的には、代替プロセス5は、振分けプロセス2から業務リクエストを受信すると、受信した業務リクエストを実行する業務アプリケーション6を呼び出して、呼び出した業務アプリケーション6に業務リクエストにおいて指示された処理を実行させる。代替プロセス5は、複数の業務リクエストを振分けられた場合、振分けられた業務リクエスト毎に、業務アプリケーション6に当該業務リクエストを処理させる。これにより、代替プロセス5は、クライアント8から依頼された処理を実行する。
The
業務アプリケーション6は、代替プロセス5において実行されるアプリケーションプログラムである。業務アプリケーション6は、実際には、業務アプリケーション4と同様のアプリケーションプログラムである。
The
代替プロセス5は、例えば、監視プロセス7が予め定められた代替プロセス5の起動コマンドを実行することにより起動される。監視プロセス7は、例えば、業務プロセス3に異常が発生した場合に、代替プロセス5の起動コマンドを実行する。なお、監視プロセス7が、例えば、監視プロセス7が起動されると直ちに代替プロセス5の起動コマンドを実行するようにしても良い。
The
起動される代替プロセス5の数は、例えば、起動された業務プロセス3の数と同じ数とされる。これにより、業務プロセス3に異常が発生した場合に、異常が発生した業務プロセス3のみでなく、全ての業務プロセス3を代替プロセス5に切替えることができる。なお、起動される代替プロセス5の数は、起動された業務プロセス3の数より少ない数であっても良い。
The number of activated
監視プロセス7は、プロセスを起動する起動部であり、業務プロセス3及び代替プロセス5を起動する。前述したように、監視プロセス7は、監視プロセス7の起動コマンドにより起動されると、業務プロセス3の起動コマンドを複数回実行することにより、複数の業務プロセス3を起動する。また、監視プロセス7は、業務プロセス3に異常が発生した場合に、代替プロセス5の起動コマンドを複数回実行することにより、複数の代替プロセス5を起動する。
The
監視プロセス7は、監視処理を実行する監視部であり、全ての自己が起動したプロセス、換言すれば、業務プロセス3及び代替プロセス5を監視するプロセスである。監視プロセス7は、業務を実行する業務プロセス3及び代替プロセス5を監視し、業務プロセス3について異常が発生したか否かを判断することにより、業務の実行を監視する。業務プロセス3が代替プロセス5に切り替えられた場合には、監視プロセス7は、新たな業務プロセスである代替プロセス5について異常が発生したか否かを判断することにより、業務の実行を監視する。監視プロセス7については、図2を参照して後述する。
The
監視プロセス7は、例えば、業務の開始に先立って、予め定められた監視プロセス7の起動コマンドを実行することにより起動される。具体的には、例えば、アプリケーションサーバ1の管理者が、アプリケーションサーバ1の入力装置から監視プロセス7の起動コマンドを入力することにより、アプリケーションサーバ1に監視プロセス7の起動コマンドを実行させる。
The
図2は、情報処理装置の一例を示す図である。図3は、プロセス監視処理の説明図である。なお、図2において、代替プロセス5の図示を省略している。
FIG. 2 is a diagram illustrating an example of an information processing apparatus. FIG. 3 is an explanatory diagram of the process monitoring process. In FIG. 2, the
監視プロセス7は、複数の業務プロセス3、例えば、業務プロセス#1及び業務プロセス#2を起動する。起動される業務プロセス3の数は、2個には限られない。また、監視プロセス7は、複数の代替プロセス5、例えば、代替プロセス#1及び代替プロセス#2を起動する。起動される代替プロセス5の数は、前述したように、起動された業務プロセス3の数と同数とされる。
The
この後、監視プロセス7は、図3(A)に示す業務プロセス管理情報71を生成し、生成した業務プロセス管理情報71を振分けプロセス2に送信する。実際には、業務プロセス管理情報71は、業務プロセス3の起動完了の通知に付加される。監視プロセス7は、例えば、全ての起動した業務プロセス3から起動完了の通知を受信すると、業務プロセス3の起動完了の通知を振分けプロセス2に送信する。
Thereafter, the
業務プロセス管理情報71は、図3(A)に示すように、実際に業務を実行する業務プロセス3を表す情報である。換言すれば、業務プロセス3は、振分けプロセス2から業務リクエストを振分けられることが可能なプロセスである。業務プロセス管理情報71は、業務プロセス3の起動の都度に、監視プロセス7により生成される。
As shown in FIG. 3A, the business
業務プロセス管理情報71は、プロセス番号毎に、プロセスIDと、ポート番号とを含む。プロセス番号は、起動されているプロセスの中で、業務リクエストを振分けられて実際に業務を実行するプロセス、換言すれば、業務プロセス3を一意に定める識別情報である。プロセスIDは、起動されているプロセスを一意に定める識別情報である。起動されているプロセスには、業務プロセス3、代替プロセス5、及び、その他の全てのプロセスが含まれる。ポート番号は、対応するプロセスIDのプロセスがプロセス間通信において使用するポート、例えば論理的なポートを一意に定める識別情報である。
The business
振分けプロセス2は、監視プロセス7から業務プロセス3の起動完了の通知と業務プロセス管理情報71とを受信すると、業務プロセス管理情報71に基づいて、クライアント8から受け付けた業務リクエストを業務プロセス3へ振分ける。これに応じて、業務リクエストを振分けられた業務プロセス3は、業務リクエストにおいて依頼された業務を、業務アプリケーションにより実行する。
When the distribution process 2 receives the notification of the start completion of the business process 3 and the business
一方、監視プロセス7は、業務プロセス3の起動完了の通知を振分けプロセス2に送信した後、業務プロセス3を監視する。具体的には、監視プロセス7は、予め定められた周期で定期的に、全ての業務プロセス3から業務プロセス情報を収集する。業務プロセス情報の収集は、収集部73によって実行される。業務プロセス情報は、各々の業務プロセス3の特性を表す特性情報である。収集部73は、複数の業務プロセス3の各々から、換言すれば、複数の業務プロセス3の各々について、特性情報を収集する。
On the other hand, the
例えば、業務プロセス#1から図3(B)に示す業務プロセス情報31が収集され、業務プロセス#2から図3(C)に示す業務プロセス情報32が収集される。なお、図2に示すように、業務プロセス#1から収集される情報を業務プロセス情報#1とも言い、業務プロセス#2から収集される情報を業務プロセス情報#2とも言う。
For example, the
業務プロセス情報31は、図3(B)に示すように、業務プロセス#1の特性を表す特性情報である。業務プロセス情報31は、業務プロセス#1により生成され、逐次更新される。
As shown in FIG. 3B, the
業務プロセス情報31は、プロセスIDと、メモリ使用量と、レスポンス時間と、「200以外の回数」とを含む。プロセスIDは、自己のプロセスID、換言すれば、業務プロセス#1のプロセスIDである。メモリ使用量は、その時点で業務プロセス#1が使用しているメモリの量である。レスポンス時間は、業務プロセス#1が自己に振分けられた業務リクエストを受信してから、当該業務リクエストに対するレスポンスを返信するまでの時間である。「200以外の回数」は、業務プロセス#1において、HTTPにおけるステータスコード「200」以外のステータスコードが発生した回数である。HTTPは、複数の業務プロセス3が例えばクライアント8又は振分けプロセス2との間で通信を行う場合のプロトコルである。
The
業務プロセス情報32は、図3(C)に示すように、業務プロセス#2の特性を表す特性情報である。業務プロセス情報32は、業務プロセス#2により生成され、逐次更新される。
The
業務プロセス情報32は、プロセスIDと、メモリ使用量と、レスポンス時間と、「200以外の回数」とを含む。プロセスIDは、自己のプロセスID、換言すれば、業務プロセス#2のプロセスIDである。メモリ使用量は、その時点で業務プロセス#2が使用しているメモリの量である。レスポンス時間は、業務プロセス#2が自己に振分けられた業務リクエストを受信してから、当該業務リクエストに対するレスポンスを返信するまでの時間である。「200以外の回数」は、業務プロセス#2において、「200」以外のステータスコードが発生した回数である。
The
業務プロセス情報31及び32において、メモリ使用量、レスポンス時間、「200以外の回数」が、各々、特性情報である。業務プロセス情報31及び32には、各々、複数の種類の特性情報が含まれる。特性情報は、予め定められた特定の処理についての情報、又は、予め定められた特定の資源についての情報である。具体的には、特性情報は、プロセスが実行した処理の結果が所定の処理結果であった回数を示す情報、又は、プロセスが使用する所定の資源の使用量についての情報である。
In the
メモリ使用量には、例えば、Java仮想マシンにおけるヒープ領域、Cヒープ領域、Permanent世代領域等が含まれる。レスポンス時間としては、業務プロセス3毎のレスポンス時間の他に、業務アプリケーション4毎のレスポンス時間、業務リクエスト毎のレスポンス時間を用いるようにしても良い。「200以外の回数」として、業務プロセス#1において、200番代のステータスコード以外のステータスコードが発生した回数を用いるようにしても良く、また、300番代及び400番代のステータスコードが発生した回数を用いるようにしても良い。
The memory usage includes, for example, a heap area, a C heap area, and a permanent generation area in a Java virtual machine. As the response time, in addition to the response time for each business process 3, the response time for each business application 4 and the response time for each business request may be used. As the “number of times other than 200”, the number of times a status code other than the status code of the 200th generation is generated in the
特性情報は、メモリ使用量、レスポンス時間、「200以外の回数」のような、業務プロセス3が使用している資源に関連するデータに限られない。例えば、業務アプリケーション4の固有情報、データベースのコネクション、スレッドプール、トランザクション情報、ファイルディスクリプタ、ハンドル、CPU使用率等を、特性情報として用いるようにしても良い。 The characteristic information is not limited to data related to resources used by the business process 3, such as memory usage, response time, and “number of times other than 200”. For example, unique information of the business application 4, database connection, thread pool, transaction information, file descriptor, handle, CPU usage rate, and the like may be used as the characteristic information.
特性情報として用いられる業務アプリケーション4の固有情報は、例えば、業務アプリケーション4の禁止されている状態である。特性情報として用いられるデータベースのコネクションは、例えば、業務アプリケーション4がデータベースにアクセスする場合におけるソケットの数である。特性情報として用いられるスレッドプールは、例えば、業務プロセス3がプールしているスレッドの数である。特性情報として用いられるトランザクション情報は、例えば、業務プロセス3におけるトランザクションの数や時間である。特性情報として用いられるファイルディスクリプタやハンドルは、業務プロセス3が有する数である。特性情報として用いられるCPU使用率は、例えば、業務プロセス3がCPUを使用している割合である。 The unique information of the business application 4 used as the characteristic information is, for example, a state where the business application 4 is prohibited. The database connection used as the characteristic information is, for example, the number of sockets when the business application 4 accesses the database. The thread pool used as the characteristic information is, for example, the number of threads pooled by the business process 3. The transaction information used as the characteristic information is, for example, the number and time of transactions in the business process 3. The file descriptors and handles used as characteristic information are the numbers that the business process 3 has. The CPU usage rate used as the characteristic information is, for example, a rate at which the business process 3 uses the CPU.
例えば、監視プロセス7の収集部73は、複数の業務プロセス3の各々に対して特性情報の送信を要求する。これに応じて、複数の業務プロセス3の各々が、特性情報を監視プロセス7の収集部73に送信する。これにより、特性情報が収集される。特性情報は、業務プロセス3が共有メモリ等の記憶装置に書き込んだ特性情報を、監視プロセス7の収集部73が参照することにより、収集するようにしても良い。
For example, the
監視プロセス7は、全ての業務プロセス3から業務プロセス情報を収集すると、収集した業務プロセス情報を比較する。業務プロセス情報の比較は、比較部74によって実行され、全ての業務プロセス3からの業務プロセス情報の収集の都度に実行される。
When the
例えば、比較部74は、複数の業務プロセス3の各々から収集された業務プロセス情報を、第1の業務プロセス3と、第1の業務プロセス3以外の業務プロセスである第2の業務プロセス3の集合とに分ける。そして、比較部74は、第1の業務プロセス3の特性情報と、第2の業務プロセス3の特性情報の集合が示す特性とを比較する。
For example, the
第1の業務プロセス3は、ある1個の業務プロセス3である。第1の業務プロセス3は、業務プロセス情報を収集した複数の業務プロセス3から、1個の業務プロセス3を順次取り出すことにより取得される。 The first business process 3 is a certain business process 3. The first business process 3 is acquired by sequentially extracting one business process 3 from a plurality of business processes 3 that have collected business process information.
監視プロセス7は、比較部74における比較の結果、第1の業務プロセス3の特性情報と、第2の業務プロセス3の特性情報の集合が示す特性とが異なる場合、第1の業務プロセス3に異常が発生したと判断する。異常が発生したか否かの判断は、判断部75によって実行され、業務プロセス情報の比較の都度に実行される。監視プロセス7、換言すれば、判断部75は、複数の業務プロセス3のうちのある業務プロセス3に関する特性情報が、複数の業務プロセス3のうち、前記ある業務プロセス3を除いた残りの業務プロセス3のいずれの特性情報とも特性が異なる場合に、前記ある業務プロセス3について異常が発生したと判断する。
As a result of the comparison in the
第1の業務プロセス3の特性情報と第2の業務プロセス3の特性情報の集合が示す特性とが異なるか否かの判断基準は、特性情報の種類毎に、経験的に定められる。 A criterion for determining whether or not the characteristic information of the first business process 3 is different from the characteristic indicated by the set of characteristic information of the second business process 3 is determined empirically for each type of characteristic information.
例えば、業務プロセス#1が第1の業務プロセス3であり、図3(B)の業務プロセス情報#1が第1の業務プロセス3の特性情報であるとする。また、業務プロセス#2が第2の業務プロセス3であり、図3(C)の業務プロセス情報#2が第2の業務プロセス3の特性情報であるとする。更に、業務プロセス#2と同一の業務プロセス情報を持つ業務プロセス3が、複数存在するものとする。従って、第2の業務プロセス3の特性情報の集合は、図3(C)の業務プロセス情報#2の集合である。
For example, it is assumed that the
この場合、第1の業務プロセス3である業務プロセス#1の特性情報は、「200以外の回数」に着目すると、「5」である。これに対して、第2の業務プロセス3である複数の業務プロセス#2の特性情報の集合が示す特性は、「200以外の回数」に着目すると、「1」である。従って、第1の業務プロセス3である業務プロセス#1の特性情報のみが、他の業務プロセス3の特性情報と異なる値を持つ。この結果、第1の業務プロセス3である業務プロセス#1の特性情報が、第2の業務プロセス3である複数の業務プロセス#2の特性情報の集合が示す特性と異なることになる。そこで、第1の業務プロセス3である業務プロセス#1に異常が発生したと判断される。異常が発生したと判断される業務プロセス3の数は、1個に限られない。
In this case, the characteristic information of the
また、例えば、メモリ使用量について、例えば、第1の業務プロセス3の特性情報のみが増加傾向にあり、第2の業務プロセス3の特性情報の集合が示す特性が増加傾向に無い、換言すれば、減少又はほぼ一定の値を維持する場合に、第1の業務プロセス3に異常が発生したと判断するようにしても良い。逆に、第1の業務プロセス3の特性情報のみが減少傾向にあり、第2の業務プロセス3の特性情報の集合が示す特性が減少傾向に無い、換言すれば、増加又はほぼ一定の値を維持する場合に、第1の業務プロセス3に異常が発生したと判断するようにしても良い。この場合にも、異常が発生したと判断される業務プロセス3の数は、1個に限られない。 Further, for example, with respect to the memory usage, for example, only the characteristic information of the first business process 3 is increasing, and the characteristics indicated by the set of characteristic information of the second business process 3 are not increasing, in other words, When the value decreases or maintains a substantially constant value, it may be determined that an abnormality has occurred in the first business process 3. On the contrary, only the characteristic information of the first business process 3 is decreasing, and the characteristic indicated by the set of characteristic information of the second business process 3 is not decreasing. In other words, an increase or almost constant value is set. When maintaining, it may be determined that an abnormality has occurred in the first business process 3. Also in this case, the number of business processes 3 that are determined to have an abnormality is not limited to one.
また、例えば、レスポンス時間について、例えば、メモリ使用量と同様にして判断するようにしても良い。 For example, the response time may be determined in the same manner as the memory usage, for example.
また、前述したように、業務プロセス情報31及び32には、各々、複数の種類の特性情報が含まれる。そこで、1種類の特性情報について、第1の業務プロセス3の特性情報と第2の業務プロセス3の特性情報の集合が示す特性とが異なる場合には、第1の業務プロセス3の特性情報と第2の業務プロセス3の特性情報の集合が示す特性とが異なると判断するようにしても良い。逆に、複数の種類の特性情報の各々について、第1の業務プロセス3の特性情報と第2の業務プロセス3の特性情報の集合が示す特性とが異なるか否かを判断して、その多数決により、第1の業務プロセス3の特性情報と第2の業務プロセス3の特性情報の集合が示す特性とが異なるか否かを判断するようにしても良い。
Further, as described above, each of the
以上により、異常検出のための閾値を用いることなく、業務プロセス3における異常の発生、実際には、異常の発生の予兆を検出することができる。また、異常検出のための妥当な閾値を設定することができないアプリケーションの異常を検出することができる。この結果、業務プロセス3が異常終了して業務が停止することを回避することができる。 As described above, it is possible to detect the occurrence of an abnormality in the business process 3 and, in fact, a sign of the occurrence of the abnormality, without using a threshold for abnormality detection. Further, it is possible to detect an abnormality of an application for which a reasonable threshold value for abnormality detection cannot be set. As a result, it is possible to avoid the business process 3 from being abnormally terminated and the business being stopped.
監視プロセス7は、業務プロセス3に異常が発生したと判断した場合、例えば、アプリケーションサーバ1の管理者へ、ログへのメッセージの出力や表示装置への表示等により、業務プロセス3に異常が発生したことを警告する。なお、アプリケーションサーバ1の管理者へ、警告と共に、又は、警告とは別に、異常が発生したと判断された業務プロセス3を通知するようにしても良い。
If the
監視プロセス7は、業務プロセス3に異常が発生したと判断した場合、複数の代替プロセス5、例えば、代替プロセス#1及び代替プロセス#2を起動する。起動される代替プロセス5の数は、前述したように、起動された業務プロセス3の数と同数とされる。従って、起動される代替プロセス5の数は、2個には限られない。
When the
この後、監視プロセス7は、図3(D)に示す代替プロセス管理情報72を生成し、生成した代替プロセス管理情報72を振分けプロセス2に送信する。実際には、代替プロセス管理情報72は、代替プロセス5の起動完了の通知に付加される。監視プロセス7は、例えば、全ての起動した代替プロセス5から起動完了の通知を受信すると、代替プロセス5の起動完了の通知を振分けプロセス2に送信する。
Thereafter, the
代替プロセス管理情報72は、図3(D)に示すように、実際に業務を実行する代替プロセス5を表す情報である。代替プロセス管理情報72は、代替プロセス5の起動の都度に、監視プロセス7により生成される。
As shown in FIG. 3D, the alternative
代替プロセス管理情報72は、プロセス番号毎に、プロセスIDと、ポート番号とを含む。プロセス番号は、起動されているプロセスの中で、業務リクエストを振分けられて実際に業務を実行するプロセス、換言すれば、業務プロセス3を置換する代替プロセス5を一意に定める識別情報である。
The alternative
なお、判断部75が、業務プロセス3について異常が発生した場合に、複数の業務プロセス3と同じ数の代替プロセス5を起動するようにしても良い。また、判断部75が、業務リクエストを代替プロセス5に振分けるように振分けプロセス2に通知するようにしても良い。
The
業務プロセス3は、既に振分けられた業務の実行を終了するまで処理を継続する。業務プロセス3は、異常が発生したと判断された業務プロセス3を含むが、異常終了するまでには到っていない。従って、業務プロセス3は、既に振分けられた業務の実行を継続し、終了することができる。 The business process 3 continues the processing until the execution of the already distributed business is completed. The business process 3 includes the business process 3 in which it is determined that an abnormality has occurred, but has not yet reached an abnormal end. Therefore, the business process 3 can continue the execution of the business already distributed and can be terminated.
振分けプロセス2は、監視プロセス7から代替プロセス5の起動完了の通知と代替プロセス管理情報72とを受信すると、代替プロセス管理情報72に基づいて、クライアント8から受け付けた業務リクエストを代替プロセス5へ振分ける。これに応じて、業務リクエストを振分けられた代替プロセス5は、業務リクエストにおいて依頼された業務を業務アプリケーション6により実行する。
Upon receiving the notification of the completion of the activation of the
この結果、クライアント8からの業務リクエストの振分け先が変更され、異常が発生した業務プロセス3のみでなく、全ての業務プロセス3が代替プロセス5に切替えられる。これにより、異常が発生した業務プロセス3のみでなく、異常が発生した時点における全ての業務プロセス3の解析が可能となるので、より正確に異常の原因等を知ることができる。この後、代替プロセス5により、業務アプリケーション6の実行が継続される。
As a result, the distribution destination of the business request from the client 8 is changed, and not only the business process 3 in which an abnormality has occurred but all the business processes 3 are switched to the
一方、監視プロセス7は、代替プロセス5の起動完了の通知を振分けプロセス2に送信した後、複数の業務プロセス3をチェックする。業務プロセス3のチェックは、チェック部76によって実行される。チェック部76は、複数の業務プロセス3の各々をチェックする。
On the other hand, the
具体的には、チェック部76は、代替プロセス5を起動した場合、プロセス監視処理と並行して、全ての業務プロセス3の異常調査を行う。具体的には、監視プロセス7のチェック部76は、複数の業務プロセス3の各々に対して全ての情報の送信を要求する。これに応じて、業務プロセス3は、その時点での業務プロセス情報を含む業務プロセス3についての全ての情報を、監視プロセス7のチェック部76へ送信する。これにより、具体的には、監視プロセス7は、全ての業務プロセス3から業務プロセス情報を含む業務プロセス3についての全ての情報を収集する。
Specifically, when the
なお、チェック部76が、判断部75が業務リクエストを代替プロセス5に振分けるように振分け部に通知した後に、複数の業務プロセス3をチェックするようにしても良い。また、チェック部76が、業務プロセス情報を含む業務プロセス3についての全ての情報に代えて、予め定められた範囲の情報を収集するようにしても良い。また、業務プロセス3に異常が発生した場合、チェック部76が、異常が発生した業務プロセス3のみについて、異常調査を行うようにしても良い。
The
この後、アプリケーションサーバ1の管理者が、収集された情報を解析する。これにより、全ての業務プロセス#1及び業務プロセス#2が生存した状態(alive)で、他の業務の実行に影響を与えることなく、全ての業務プロセス#1及び業務プロセス#2を調査することができる。従って、異常が発生していた時の業務プロセス3の状態を維持することができるので、異常の原因を正しく解明することができる。
Thereafter, the administrator of the
図4は、アプリケーションサーバ1のハードウェアの構成の一例を示す図である。
FIG. 4 is a diagram illustrating an example of a hardware configuration of the
CPU101は、ROM102に格納された制御プログラムに従って、アプリケーションサーバ1を制御する。CPU101は、例えば主メモリであるRAM103上のプログラムを実行する。これにより、振分けプロセス2、業務プロセス3、業務アプリケーション4、代替プロセス5、業務アプリケーション6、監視プロセス7が実現される。プログラムは、例えば、CD−ROMやDVD等の記録媒体109に格納され、記録媒体109からCD−ROMドライブやDVDドライブ等を介してハードディスク106に入力され、ハードディスク106からRAM103にロードされる。
The
業務プロセス管理情報71、代替プロセス管理情報72、業務プロセス情報31及び32は、データ格納部に格納される。データ格納部は、例えばRAM103又はハードディスク106に設けられる。換言すれば、データは、例えばRAM103又はハードディスク106に格納される。
The business
入力装置104は、例えばキーボードであり、マウス等を含んでも良い。出力装置105は、例えばディスプレイであり、プリンタ等の出力装置を含んでも良い。CPU101、ROM102、RAM103、入力装置104、出力装置105、及び、ハードディスク106、ネットワーク接続部107は、バス108を介して、相互に接続される。
The
ネットワーク接続部107は、例えば、送受信装置であり、ネットワーク9に接続され、ネットワーク9を介して他のコンピュータ、例えばクライアント8に接続される。これにより、アプリケーションサーバ1は、クライアント8との間で通信を行う。
The
なお、クライアント8も、例えば、図4に示すハードウェアの構成を有するコンピュータである。 The client 8 is also a computer having the hardware configuration shown in FIG. 4, for example.
図5及び図6は、プロセス監視処理フローであり、一体となってプロセス監視処理フローを表す。 5 and 6 are process monitoring process flows, and integrally represent the process monitoring process flow.
アプリケーションサーバ1において監視プロセス7の起動コマンドが実行されることにより、監視プロセス7が起動される(ステップS1)。更に、アプリケーションサーバ1において、振分けプロセス2の起動コマンドが実行されることにより、振分けプロセス2が起動される(ステップS2)。起動された振分けプロセス2は、監視プロセス7からの業務プロセス3の起動完了の通知待ちの状態となる。監視プロセス7の起動及び振分けプロセス2の起動のいずれを先に実行するようにしても良い。
The
起動された監視プロセス7は、業務プロセス3の起動コマンドを実行することにより、複数の業務プロセス3を起動する(ステップS3)。これにより、例えば、業務プロセス#1が起動され(ステップS4)、業務プロセス#2が起動される(ステップS5)。起動された業務プロセス#1は自己の起動完了の通知を監視プロセス7に送信し、起動された業務プロセス#2は自己の起動完了の通知を監視プロセス7に送信する。
The activated
監視プロセス7は、全ての起動した業務プロセス#1及び業務プロセス#2から起動完了の通知を受信すると、業務プロセス3の起動完了の通知を振分けプロセス2に送信する(ステップS6)。ステップS6における振分けプロセス2への業務プロセス3の起動完了の通知には、図3(A)に示す業務プロセス管理情報71が付加される。
When the
振分けプロセス2は、監視プロセス7から業務プロセス3の起動完了の通知を受信すると、クライアント8からの業務リクエストの受付けを開始し、受け付けた業務リクエストを均等に業務プロセス#1及び業務プロセス#2へ振分ける(ステップS7)。この後、業務プロセス#1及び業務プロセス#2により、業務アプリケーション4が実行される。
When the distribution process 2 receives the notification of the completion of the activation of the business process 3 from the
業務リクエストを振分けられた業務プロセス#1は、業務リクエストにおいて依頼された業務を、業務アプリケーションにより実行する(ステップS8)。また、業務リクエストを振分けられた業務プロセス#2は、業務リクエストにおいて依頼された業務を、業務アプリケーションにより実行する(ステップS9)。
The
一方、監視プロセス7の収集部73は、ステップS6において業務プロセス3の起動完了の通知を振分けプロセス2に送信した後、予め定められた周期で定期的に、全ての業務プロセス#1及び業務プロセス#2から業務プロセス情報を収集する(ステップS10)。例えば、業務プロセス#1から図3(B)に示す業務プロセス情報31が収集され、業務プロセス#2から図3(C)に示す業務プロセス情報32が収集される。
On the other hand, the
次に、監視プロセス7の比較部74は、全ての業務プロセス#1及び業務プロセス#2から業務プロセス情報を収集すると、収集した業務プロセス情報を比較する(ステップS11)。
Next, when the
次に、監視プロセス7の判断部75は、ステップS11における比較の結果、第1の業務プロセス3の特性情報が、第2の業務プロセス3の特性情報の集合が示す特性と異なる場合、第1の業務プロセス3に異常が発生したと判断する(ステップS12)。
Next, as a result of the comparison in step S <b> 11, the
次に、監視プロセス7は、業務プロセス3に異常が発生したと判断した場合、例えば、アプリケーションサーバ1の管理者へ、業務プロセス3に異常が発生したことを警告する(ステップS13)。
Next, when the
次に、監視プロセス7は、業務プロセス3の数と同数の代替プロセス5を起動する(ステップS14)。これにより、例えば、業務プロセス#1に対応する代替プロセス#1が起動され(ステップS15)、業務プロセス#2に対応する代替プロセス#2が起動される(ステップS16)。換言すれば、業務プロセス3に異常が発生したと判断された場合、異常が発生した業務プロセス3のみでなく、全ての業務プロセス3が、後述するように、代替プロセス5に切り替えられる。起動された代替プロセス#1は自己の起動完了の通知を監視プロセス7に送信し、起動された代替プロセス#2は自己の起動完了の通知を監視プロセス7に送信する。
Next, the
なお、代替プロセス5の起動を、種々のタイミングで実行するようにしても良い。異常の発生前に、例えば、ステップS3において代替プロセス5を起動するようにしても良い。また、ステップS12の実行の後にステップS14を実行し、その後、ステップS13を実行するようにしても良い。
The activation of the
また、業務プロセス3に異常が発生したと判断された場合、異常が発生した業務プロセス3のみを、代替プロセス5に切り替えるようにしても良い。
In addition, when it is determined that an abnormality has occurred in the business process 3, only the business process 3 in which the abnormality has occurred may be switched to the
監視プロセス7は、全ての起動した代替プロセス#1及び代替プロセス#2から起動完了の通知を受信すると、振分け先の変更の通知を振分けプロセス2に送信する(ステップS17)。ステップS17における振分けプロセス2への振分け先の変更の通知、換言すれば、代替プロセス5の起動完了の通知には、図3(D)に示す代替プロセス管理情報72が付加される。
When the
振分けプロセス2は、監視プロセス7から代替プロセス5の起動完了の通知を受信すると、クライアント8からの業務リクエストの振分け先を業務プロセス3から代替プロセス5に変更し、クライアント8から受け付けた業務リクエストを、均等に代替プロセス#1及び代替プロセス#2へ振分ける(ステップS18)。これにより、全ての業務プロセス3が代替プロセス5に切替えられる。この後、代替プロセス#1及び代替プロセス#2により、業務アプリケーション6の実行が継続される。
Upon receiving the notification of the completion of the activation of the
図7は、プロセス調査処理フローである。 FIG. 7 is a process investigation process flow.
監視プロセス7のチェック部76は、代替プロセス5を起動した場合、プロセス監視処理と並行して、全ての業務プロセス3の異常調査を行う(ステップS21)。これにより、代替プロセス#1及び代替プロセス#2の起動の原因となった業務プロセス#1及び業務プロセス#2も異常調査される。具体的には、監視プロセス7のチェック部76は、業務プロセス#1に対して業務プロセス#1についての全ての情報の送信を要求し、業務プロセス#2に対して業務プロセス#2についての全ての情報の送信を要求する。
When the
これに応じて、業務プロセス#1は、その時点での業務プロセス情報を含む業務プロセス#1についての全ての情報を、監視プロセス7のチェック部76へ送信する(ステップS22)。また、業務プロセス#2は、その時点での業務プロセス情報を含む業務プロセス#2についての全ての情報を、監視プロセス7のチェック部76へ送信する(ステップS23)。
In response to this, the
この後、アプリケーションサーバ1の管理者が、収集された情報を解析することにより、全ての業務プロセス#1及び業務プロセス#2が生存した状態で、全ての業務プロセス#1及び業務プロセス#2を調査することができる。
Thereafter, the administrator of the
1 アプリケーションサーバ
2 振分けプロセス
3 業務プロセス
4、6 業務アプリケーション
5 代替プロセス
7 監視プロセス
8 クライアント
9 ネットワーク
73 収集部
74 比較部
75 判断部
76 チェック部
DESCRIPTION OF
Claims (8)
前記複数のプロセスのうちのあるプロセスに関する特性情報が、前記複数のプロセスのうち、前記あるプロセスと異なる複数の他のプロセスのいずれの特性情報とも特性が異なる場合に、前記あるプロセスについて異常が発生したと判断する判断部とを含む
ことを特徴とする情報処理装置。 For each of a plurality of processes that execute processing based on a plurality of application programs, a collection unit that collects characteristic information representing the characteristics of the process;
An abnormality occurs in a certain process when the characteristic information related to a certain process of the plurality of processes is different from the characteristic information of any of the plurality of other processes different from the certain process. An information processing apparatus comprising: a determination unit that determines that the determination has been made.
クライアントからのリクエストを前記複数のプロセスに振分ける振分け部を含み、
前記判断部が、前記1又は複数のプロセスについて異常が発生したと判断する場合に、前記複数のプロセスと同じ数の代替プロセスを起動して、前記リクエストを前記代替プロセスに振分けるように前記振分け部に通知する
ことを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus further includes:
A distribution unit that distributes requests from clients to the plurality of processes;
When the determination unit determines that an abnormality has occurred in the one or more processes, the distribution unit starts the same number of alternative processes as the plurality of processes and distributes the request to the alternative processes. The information processing apparatus according to claim 1, wherein the information processing apparatus is notified.
前記判断部が前記リクエストを前記代替プロセスに振分けるように前記振分け部に通知した後に、前記複数のプロセスをチェックするチェック部を含む
ことを特徴とする請求項2に記載の情報処理装置。 The information processing apparatus further includes:
The information processing apparatus according to claim 2 , further comprising: a check unit that checks the plurality of processes after the determination unit notifies the distribution unit to distribute the request to the alternative process.
ことを特徴とする請求項1に記載の情報処理装置。 The characteristic information is information indicating the number of times a result of processing executed by a process is a predetermined processing result or information on a usage amount of a predetermined resource used by the process. Information processing device.
ことを特徴とする請求項4に記載の情報処理装置。 The information processing apparatus according to claim 4, wherein the characteristic information is the number of times a status code other than the status code 200 in HTTP, which is a protocol when the plurality of processes communicate, is generated.
前記監視プロセスが、前記複数のプロセスのうちのあるプロセスに関する特性情報が、前記複数のプロセスのうち、前記あるプロセスと異なる複数の他のプロセスのいずれの特性情報とも特性が異なる場合に、前記あるプロセスについて異常が発生したと判断する
ことを特徴とするプロセス監視方法。 The monitoring process collects characteristic information that represents the characteristics of the process for each of a plurality of processes that execute processing based on a plurality of application programs.
The monitoring process includes the case where the characteristic information related to a certain process of the plurality of processes is different from the characteristic information of any of a plurality of other processes different from the certain process among the plurality of processes. A process monitoring method characterized by determining that an abnormality has occurred in a process.
前記プログラムは、コンピュータに、
複数のアプリケーションプログラムに基づき処理を実行する複数のプロセスのそれぞれについて、プロセスの特性を表す特性情報を収集する処理と、
前記複数のプロセスのうちのあるプロセスに関する特性情報が、前記複数のプロセスのうち、前記あるプロセスと異なる複数の他のプロセスのいずれの特性情報とも特性が異なる場合に、前記あるプロセスについて異常が発生したと判断する処理とを、実行させる
ことを特徴とするプロセス監視プログラム。 A process monitoring program for monitoring a process,
The program is stored in a computer.
For each of a plurality of processes that execute processing based on a plurality of application programs, processing for collecting characteristic information representing the characteristics of the process;
An abnormality occurs in a certain process when the characteristic information related to a certain process of the plurality of processes is different from the characteristic information of any of the plurality of other processes different from the certain process. A process monitoring program characterized by causing a process to be judged to have been executed.
前記プロセス監視プログラムは、コンピュータに、
複数のアプリケーションプログラムに基づき処理を実行する複数のプロセスのそれぞれについて、プロセスの特性を表す特性情報を収集する処理と、
前記複数のプロセスのうちのあるプロセスに関する特性情報が、前記複数のプロセスのうち、前記あるプロセスと異なる複数の他のプロセスのいずれの特性情報とも特性が異なる場合に、前記あるプロセスについて異常が発生したと判断する処理とを、実行させる
ことを特徴とする記録媒体。
A recording medium for recording a process monitoring program for monitoring a process,
The process monitoring program is stored in a computer.
For each of a plurality of processes that execute processing based on a plurality of application programs, processing for collecting characteristic information representing the characteristics of the process;
An abnormality occurs in a certain process when the characteristic information related to a certain process of the plurality of processes is different from the characteristic information of any of the plurality of other processes different from the certain process. A recording medium characterized by causing a process to be determined to have been performed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011211884A JP5821471B2 (en) | 2011-09-28 | 2011-09-28 | Information processing apparatus, process monitoring method, process monitoring program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011211884A JP5821471B2 (en) | 2011-09-28 | 2011-09-28 | Information processing apparatus, process monitoring method, process monitoring program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013073419A JP2013073419A (en) | 2013-04-22 |
JP5821471B2 true JP5821471B2 (en) | 2015-11-24 |
Family
ID=48477870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011211884A Expired - Fee Related JP5821471B2 (en) | 2011-09-28 | 2011-09-28 | Information processing apparatus, process monitoring method, process monitoring program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5821471B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018018122A (en) * | 2016-07-25 | 2018-02-01 | 富士通株式会社 | Information processing program, information processing apparatus, and information processing method |
CN111858628A (en) | 2020-06-30 | 2020-10-30 | 北京百度网讯科技有限公司 | Database-based management method, database-based management platform, electronic device and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000029752A (en) * | 1998-07-10 | 2000-01-28 | Hitachi Ltd | Job behavior analysis method, its device and storage medium |
JP3353745B2 (en) * | 1999-06-25 | 2002-12-03 | 日本電気株式会社 | Processing capacity measuring device and processing capacity measuring method |
JP4457581B2 (en) * | 2003-05-28 | 2010-04-28 | 日本電気株式会社 | Fault-tolerant system, program parallel execution method, fault-detecting system for fault-tolerant system, and program |
JP4725724B2 (en) * | 2005-10-27 | 2011-07-13 | 日本電気株式会社 | Cluster failure estimation system |
-
2011
- 2011-09-28 JP JP2011211884A patent/JP5821471B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013073419A (en) | 2013-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9167028B1 (en) | Monitoring distributed web application transactions | |
CN102143075B (en) | Method and system for achieving load balance | |
US9077610B2 (en) | Performing call stack sampling | |
US11140029B1 (en) | Server side filtering in hybrid cloud environments | |
US11157373B2 (en) | Prioritized transfer of failure event log data | |
US20170126532A1 (en) | Dynamic baseline determination for distributed business transaction | |
WO2006137356A1 (en) | Autonomous operation management system, autonomous operation management method, and program | |
KR20200078328A (en) | Systems and methods of monitoring software application processes | |
CN107025129B (en) | Data processing method and device | |
JP5821471B2 (en) | Information processing apparatus, process monitoring method, process monitoring program, and recording medium | |
US9317355B2 (en) | Dynamically determining an external systems management application to report system errors | |
WO2018173698A1 (en) | Monitoring system, computer-readable storage medium, and monitoring method | |
JP5997005B2 (en) | Information processing apparatus, process normal end determination method, and program | |
EP2874061A1 (en) | A method, a server and a system for distributed computing | |
JP4983636B2 (en) | Transaction apparatus, delay fault analysis apparatus, delay fault analysis method and program | |
CN114338169A (en) | Request processing method, device, server and computer readable storage medium | |
JP2010237793A (en) | Operating status monitoring system, method, and program | |
JP2013088863A (en) | Parallel distributed processing method and parallel distributed processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140603 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150522 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150616 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150817 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150908 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150921 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5821471 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |