JP6390208B2 - 監視対象プログラムの選択方法、監視対象選択プログラム及び監視対象選択装置 - Google Patents

監視対象プログラムの選択方法、監視対象選択プログラム及び監視対象選択装置 Download PDF

Info

Publication number
JP6390208B2
JP6390208B2 JP2014132954A JP2014132954A JP6390208B2 JP 6390208 B2 JP6390208 B2 JP 6390208B2 JP 2014132954 A JP2014132954 A JP 2014132954A JP 2014132954 A JP2014132954 A JP 2014132954A JP 6390208 B2 JP6390208 B2 JP 6390208B2
Authority
JP
Japan
Prior art keywords
program
pattern
monitoring
information
extracted
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.)
Active
Application number
JP2014132954A
Other languages
English (en)
Other versions
JP2016012208A (ja
Inventor
暉 李
暉 李
康英 當房
康英 當房
川口 剛
剛 川口
善和 小田
善和 小田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014132954A priority Critical patent/JP6390208B2/ja
Priority to US14/738,306 priority patent/US20150378862A1/en
Publication of JP2016012208A publication Critical patent/JP2016012208A/ja
Application granted granted Critical
Publication of JP6390208B2 publication Critical patent/JP6390208B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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
    • G06F11/3409Recording 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 for performance assessment
    • G06F11/3419Recording 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 for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Description

本発明は、監視対象プログラムを選択する技術に関する。
システムを監視するために、監視対象のシステム上で動作するプログラムやプロセスを事前に選択し、異常を検知することが行われている。また、各システム上においても、プログラムの動作を監視する監視プログラムが動作し、異常を検知することが行われている。
第1の技術として、コンピュータシステムにおける性能障害を検知する障害検知システムがある(例えば、特許文献1)。障害検知システムは、プログラム挙動検知部、性能情報収集部、性能パターン出力部、性能障害検知部を備える。プログラム挙動検知部は、コンピュータシステム上で動作する監視対象プログラムが監視対象挙動を実行したことを検知する。性能情報収集部は、監視対象プログラムが監視対象挙動を実行したことが検知されたタイミングで、当該監視対象プログラムに関連する性能を示す性能情報を収集する。性能パターン出力部は、監視対象プログラムが実行した監視対象挙動と当該監視対象プログラムに関連する性能情報とを対応付けてパターン化した性能パターンを作成する。性能障害検知部は、前記性能パターンを正常時の性能パターンと照合することで、性能障害を検知する。
第2の技術として、コンピュータ相互監視方式がある(例えば、特許文献2)。コンピュータ相互監視方式では、自コンピュータ監視プログラム監視手段は、自コンピュータ監視プログラム動作確認応答手段を呼び出し、自コンピュータ監視プログラムの動作を確認する。自コンピュータ監視プログラム動作確認応答手段は、呼び出されると、自コンピュータ監視プログラムの動作状況を返却する。被監視コンピュータ管理プログラム監視手段は、被監視コンピュータ管理プログラム動作確認応答手段を呼び出し、被監視コンピュータ管理プログラムの動作を確認する。被監視コンピュータ管理プログラム監視手段は、呼び出されると、被監視コンピュータ管理プログラムの動作状況を返却する。
特開2011−198087号公報 特開2004−341779号公報 特開2002−328850号公報
監視対象システムにおいて、監視対象のプログラムやプロセスの選択は種々の方法で行うことができる。しかしながら、ある程度の選択を行った後、不要な監視対象を除外する絞り込み作業が必要となる。
また、監視プログラム自身が異常終了した場合には、監視を十分に行うことができない。その一方で、各システムにおいて、どのような監視プログラムが稼働しているかについては、管理者は十分な知識を有していない場合も多い。そのため、監視対象のプログラムやプロセスを絞り込む際に、除外対象として良いか、判断することができない。
本発明では、一側面として、監視対象システムにおいて監視対象とすべきプログラムを選択する技術を提供する。
監視対象プログラムの選択方法において、コンピュータが、次の処理を行う。すなわち、コンピュータが、監視対象のシステム上で動作する複数のプログラムのうち、オペレーティングシステムに対して発行したコマンド履歴が所定のパターン条件を満たすプログラムを特定する。コンピュータが、少なくとも、前記複数のプログラムから、特定した該プログラムを除外したプログラムを監視対象として選択する。前記特定においては、前記コマンド履歴から、所定時間連続して動作すると共に、前記プログラム内で順に連続して実行される順次連続処理のパターン情報を格納する格納部から取得した該パターン情報と一致する順次連続処理を行うプログラムを抽出し、抽出した該プログラムの1回の実行によって1回実行される該順次連続処理の実行時間を、抽出した該プログラムの実行毎に計測し、計測された最大の実行時間と最小の実行時間との割合に応じて、前記所定のパターン条件を満たすプログラムを特定する。
本発明によれば、一側面として、監視対象システムにおいて監視対象とすべきプログラムを選択することができる。
本実施形態における監視対象選択装置の一例を示す。 本実施形態に係るサーバの機能ブロック図を示す。 本実施形態に係る全体の処理を示す。 監視プログラムの処理パターンを説明するための図である。 本実施形態におけるマスターパターン情報の一例を示す。 本実施形態の実施例におけるサーバの構成を示す。 本実施形態の実施例におけるログ出力部より出力されるログファイル(トレース情報)の一例を示す。 本実施形態の実施例におけるマスター情報テーブルの一例を示す。 本実施形態の実施例における動作モードテーブルの一例を示す。 本実施形態の実施例における動作時間テーブルの一例を示す。 本実施形態の実施例におけるパターン作業テーブルの一例を示す。 本実施形態の実施例におけるパターン明細作業テーブルの一例を示す。 本実施形態の実施例における管理部の処理フローを示す。 本実施形態の実施例におけるログ出力部の処理フローを示す。 本実施形態の実施例における特定部の処理フローを示す。 S33の処理の詳細を示す。 S34の処理の詳細を示す。 S51の処理の詳細を示す。 S52の処理の詳細を示す。 S35の処理の詳細を示す。 本実施形態の実施例における監視部の処理フローを示す。 本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。
図1は、本実施形態における監視対象選択装置の一例を示す。監視対象選択装置1は、特定部2、選択部3を含む。監視対象選択装置1の一例として、サーバ11,21が挙げられる。
特定部2は、監視対象のシステム上で動作する複数のプログラムのうち、オペレーティングシステムに対して発行したコマンド履歴が所定のパターン条件を満たすプログラムを特定する。特定部2の一例として、S2−3及びS3の処理を行う特定部15、またはS33,S34の処理を行う特定部24が挙げられる。
選択部3は、少なくとも、複数のプログラムから、特定したプログラムを除外したプログラムを監視対象として選択する。選択部3の一例として、S3の処理を行う特定部15、またはS34の処理を行う特定部24が挙げられる。
このように構成することにより、監視対象システムにおいて監視対象とすべきプログラムを特定することができる。
監視対象選択装置1は、さらに、格納部4を含む。格納部4は、プログラム内で順に連続して実行される順次連続処理のパターン情報を格納する。格納部4の一例として、マスターパターン情報36を記憶する記憶部31が挙げられる。
この場合、特定部2は、コマンド履歴から、所定時間連続して動作すると共に、パターン情報と一致する順次連続処理を行うプログラムを抽出する。それから、特定部2は、抽出したプログラムのうち同一プログラム内で複数回実行される順次連続処理の実行時間のそれぞれを計測する。そして、特定部2は、計測された最大の実行時間と最小の実行時間との割合に応じて、所定のパターン条件を満たすプログラムを特定する。
特定部2は、さらに、抽出したプログラムのうち、同じプログラムが複数回実行されているか否かに応じて、所定のパターン条件を満たすプログラムを特定する。
このように構成することにより、監視対象候補のプログラムから、監視する必要のあるプログラムに類似する処理パターンを有するプログラムを除外し、少数のプログラムを監視対象に決定することができる。これにより、業務システムに与える負荷を少しでも小さくすることができる。
以下に、本実施形態について詳述する。
図2は、本実施形態に係るサーバの機能ブロック図を示す。サーバ11は、制御部12、記憶部17を含む。制御部12は、管理部13、収集部14、特定部15、監視部16として機能する。
管理部13は、収集部14、特定部15、監視部16の機能を制御する。収集部14は、実行された関数に基づくプロセスから出力されるログ(トレース情報)を収集する。特定部15は、収集したトレース情報に基づいて、監視対象となる監視プログラムに対応するプロセスを特定する。監視部16は、特定されたプロセスに対応する監視プログラムの監視を行なう。
記憶部17は、収集したログ(トレース情報)、監視対象となる監視プログラムに対応するプロセスを特定するために用いるマスターパターン情報、監視対象を管理するマスター情報テーブル等を格納する。
図3は、本実施形態に係る全体の処理を示す。まず、管理部13は、各プロセスがトレース情報を出力するように、収集モードに設定する。収集部14は、各プロセスから出力されたトレース情報を収集する(S1)。
次に、特定部15は、収集されたトレース情報と、予め登録されたマスターパターンとに基づいて、動作しているプロセス(プログラム)から、監視プログラムの候補を抽出する(S2)。マスターパターン情報は、監視対象のプログラムの実行により、繰り返し実行される1以上の関数の処理シーケンスのパターン情報であって、イベントや性能監視プログラムの特徴的な処理シーケンスをパターン化した情報である。
特定部15は、監視プログラムの候補から例外のプログラムを除外し、監視対象となる監視プログラムを決定する(S3)。特定部15は、監視対象として決定した監視プログラムに関する情報を、マスター情報としてマスター情報テーブルに登録する。
監視部16は、マスター情報テーブルに登録した監視プログラムを監視する(S24)。
ここで、S1〜S3の処理は、S4の処理を実現するための監視対象情報収集・登録処理であり、本実施形態の導入時に、および導入以降は定期的(例えば、1回/1週間)に行い、監視対象情報を最新化する。
S4は、S1〜S3で収集・登録した監視対象情報を活用し、本番環境にて日々日常的に動作し、監視プログラムの動作異常を監視し続ける。
以下に、S1〜S4の詳細について説明する。
S1は、管理部13により、各プロセスがトレース情報を出力するように収集モードに設定されると、収集部14は、各プロセスから出力されたトレース情報を収集する。本実施形態では、予め、オペレーティングシステム(OS)別に、所定の関数のライブラリが、その関数のライブラリとトレース情報を出力する関数とをラッピングした関数(ラッパー関数)のライブラリで置き換えられている。これにより、該当の関数が実行された時、ラッパー関数がトレース情報を出力する。
例えば、OSの1つであるLinux(登録商標)の場合は、以下の手順で、所定の関数のライブラリをラッパー関数のライブラリで置き換える。まず、置き換える対象の関数は、例えば、fork/exec/open/creat/close/unlink/read/write/connect/send/recv/stat/waitであるとする。置き換える対象の関数のラッパー関数が準備され、そのラッパー関数が動的ライブラリとして作成される。
次に、ライブラリパスを設定する変数として、例えば、LD_PRELOAD/LD_LIBRARY_PATHというように、上記の動的ライブラリの場所が設定される。
これにより、管理部13は、各プロセスがトレース情報を出力するように、収集モードに設定すると、各プロセスはトレース情報を出力する。その結果、収集部14は、各プロセスから出力されたトレース情報を収集することができる。
S2では、特定部15は、収集されたトレース情報と、予め登録されたマスターパターン情報とに基づいて、動作しているプロセス(プログラム)から、監視プログラムの候補を抽出する。
まず、特定部15は、常駐プロセスを抽出する(S2−1)。特定部15は、プロセスのトレース情報を解析して、常駐プロセスかどうかを判定して、常駐プロセスを抽出する。例えば、特定部15は、一定時間(例:1日)以上動作し続けているプロセスを常駐プロセスと判定する。判定の結果、特定部15は、常駐プロセスと判定したプロセスのプログラム名を、常駐プロセステーブルに格納する。
次に、特定部15は、常駐プロセスの繰り返している処理シーケンスを抽出する(S2−2)。特定部15は、常駐プロセスのトレース情報を解析して、それぞれのプロセスが繰り返している処理パターン(処理シーケンス、およびそのシーケンスの繰り返し間隔、定期的かどうかの情報)を抽出する。
ここで、トレース情報から、プログラムにおいて実行された関数の確認方法と、監視プログラムの特徴的な処理シーケンスのマスターパターンとについて説明する。監視プログラムの処理は、図4に示すパターンに分類できる。
図4は、監視プログラムの処理パターンを説明するための図である。性能情報を定期的に収集するプログラム(性能情報収集プログラム)は、パターンP1〜P3に分類することができる。
パターンP1の場合、性能情報収集プログラムがOSのコマンド(一定期間後情報を出力するタイプ)を実行することにより、性能情報が収集される。この方法では、処理は以下のシーケンスP1−1〜P1−4の繰り返しになる。
(P1−1)性能情報収集プログラムが、OSのコマンドを実行する。この場合、fork関数、およびexec関数が実行されるため、特定部15は、ラッパー関数の出力情報から、fork関数、およびexec関数の実行を確認する。なお、実行するコマンド名は、exec関数の引数から取得できる。
(P1−2)性能情報収集プログラムが、OSのコマンドの出力を読み込む。この場合、read関数が実行されるため、特定部15は、ラッパー関数の出力情報からread関数の実行を確認できる。
(P1−3)性能情報収集プログラムが、読み込んだOSのコマンドの出力を解析する。
(P1−4)性能情報収集プログラムが、解析した結果をファイルに出力する(書き込む)。この場合、write関数が実行されるため、特定部15は、ラッパー関数の出力情報からwrite関数の実行を確認することができる。
上記より、特定部15は、ラッパー関数の出力情報から、パターンP1として、以下の処理シーケンスを特定できる。
P1: fork→exec→read→write
パターンP1の例としては、sarコマンドが実行されることにより、全体のCPU情報を取得する処理シーケンスが該当する。
パターンP2の場合、性能情報収集プログラムがOSのコマンド(即時に情報を出力するタイプ)を実行することにより、性能情報を収集する。この方法では、処理は以下のシーケンスP2−1〜P2−5の繰り返しになる。
(P2−1)性能情報収集プログラムが、OSのコマンドを実行する。この場合、fork関数、およびexec関数が実行されるため、特定部15は、ラッパー関数の出力情報から、fork関数、およびexec関数の実行を確認することができる。なお、実行するコマンド名は、exec関数の引数から取得できる。
(P2−2)性能情報収集プログラムが、OSのコマンドの出力を読み込む。この場合、read関数が実行されるため、特定部15は、ラッパー関数の出力情報からread関数の実行を確認できる。
(P2−3)性能情報収集プログラムが、読み込んだOSのコマンドの出力を解析する。
(P2−4)性能情報収集プログラムが、解析した結果をファイルに出力する(書き込む)。この場合、write関数が実行されるため、特定部15は、ラッパー関数の出力情報からwrite関数の実行を確認することができる。
(P2−5)性能情報収集プログラムが、一定期間待つ。この場合、sleep関数が実行されるため、特定部15は、ラッパー関数の出力情報から、sleep関数の実行を確認できる。
上記より、特定部15は、ラッパー関数の出力情報から、パターンP2として、以下の処理シーケンスを特定できる。
P2: fork→exec→read→write→sleep
パターンP2の例としては、psコマンドが実行されることにより、プロセス毎のCPU情報を取得する処理シーケンスが該当する。
パターンP3の場合、性能情報収集プログラムが、サービス(FTP(file transfer protocol)、TELNET、Web(HTTP(HyperText Transfer Protocol))、Web(HTTPS)等)にアクセスして性能を実測して収集する。この方法では、処理は以下のシーケンスP3−1〜P3−5の繰り返しになる。
(P3−1)性能情報収集プログラムが、サービスに接続してリクエストを送信する。性能情報収集プログラムが、コマンド“connect”でサービスに接続し、コマンド“send”でリクエストを送信するため、特定部15は、ラッパー関数の出力情報からコマンド“connect”、“send”を確認できる。また、引数から、サービスのIP(Internet Protocol)アドレス/ポート番号が取得できる。例えば、サービスが「FTP」の場合、ポート番号「21」が取得される。サービスが「TELNET」の場合、ポート番号「23」が取得される。サービスが「Web (HTTP)」の場合、ポート番号「80」が取得される。サービスが「Web (HTTPS)」の場合、ポート番号「443」が取得される。
(P3−2)性能情報収集プログラムが、サービスから応答を受信する。応答を受信する関数はrecvであり、特定部15は、ラッパー関数の出力情報から、recv関数の実行を確認することができる。
(P3−3)性能情報収集プログラムが、読み込んだOSのコマンドの出力を解析する。
(P3−4)性能情報収集プログラムが、解析した結果をファイルに出力する(書き込む)。この場合、write関数が実行されるため、特定部15は、ラッパー関数の出力情報からwrite関数の実行を確認することができる。
(P3−5)性能情報収集プログラムが、一定期間待つ。この場合、sleep関数が実行されるため、特定部15は、ラッパー関数の出力情報から、sleep関数の実行を確認できる。
上記より、特定部15は、ラッパー関数の出力情報から、パターンP3として以下の処理シーケンスを確認することで特定できる。
P3: connect→send→recv→write→sleep
パターンP3の例としては、webサーバのレスポンス時間を実測して収集する場合が考えられる。
次に、性能情報収集プログラム以外の他の監視プログラムは、パターンP4〜P7に分類することができる。
パターンP4の場合、Webサービスの生死監視等の、サービス/サーバの生死監視について、処理は以下のシーケンスP4−1〜P4−5の繰り返しになる。
(P4−1)監視プログラムが、サービス(FTP(file transfer protocol)、TELNET、Web(HTTP(HyperText Transfer Protocol))、Web(HTTPS))に接続してリクエストを送信する。監視プログラムが、コマンド“connect”でサービスに接続し、コマンド“send”でリクエストを送信するため、特定部15は、ラッパー関数の出力情報からコマンド“connect”、”send”を判断できる。また、引数から、サービスのIP(Internet Protocol)アドレス/ポート番号が取得できる。
(P4−2)監視プログラムが、サービスから応答を受信する。応答を受信する関数はrecvであり、特定部15は、ラッパー関数の出力情報から、recv関数の実行を確認することができる。
(P4−3)監視プログラムが、recv関数の実行結果を解析する。
(P4−4)監視プログラムが、その解析の結果、サービスに異常がある場合、通知を出力する。
(P4−5)監視プログラムが、一定期間待つ。この場合、sleep関数が実行されるため、特定部15は、ラッパー関数の出力情報から、sleep関数の実行を確認できる。
上記より、特定部15は、ラッパー関数の出力情報から、パターンP4として、以下の処理シーケンスを確認することで特定できる。
P4: connect→send→recv→sleep
パターンP5の場合、apacheプロセスの生死監視等の、プロセスの生死監視について、処理は以下のシーケンスP5−1〜P5−5の繰り返しになる。
(P5−1)監視プログラムが、プロセス一覧情報を取得するコマンドを実行する。この場合、fork/exec関数が実行されるため、特定部15は、ラッパー関数の出力情報からfork/exec関数の実行を確認する。
(P5−2)監視プログラムが、fork/exec関数で実行されるコマンドの出力結果を読み込む。この場合、read関数が実行されるため、特定部15は、ラッパー関数の出力情報からread関数の実行を確認できる。
(P5−3)監視プログラムが、read関数の実行結果を解析する。
(P5−4)監視プログラムが、その解析の結果、サービスに異常がある場合、通知を出力する。
(P5−5)監視プログラムが、一定期間待つ。この場合、sleep関数が実行されるため、特定部15は、ラッパー関数の出力情報から、sleep関数の実行を確認できる。
上記より、特定部15は、ラッパー関数の出力情報から、パターンP5として以下の処理シーケンスを確認することで特定できる。
P5: fork→exec→read→sleep
パターンP6の場合、シスログファイルの更新監視等の、ファイルの更新監視について、処理はシーケンスP6−1〜P6−4の繰り返しになる。
(P6−1)監視プログラムが、ファイルの変更情報を取得する。コマンド「stat」が実行されるため、特定部15は、ラッパー関数の出力情報からコマンド「stat」の実行を確認する。また、引数から、ファイル名が特定される。
(P6−2)監視プログラムが、取得したファイルの変更情報を解析する。
(P6−3)監視プログラムが、ファイルの変更情報に変更があった場合に解析の結果を出力する。この場合、write関数が実行されるため、特定部15は、ラッパー関数の出力情報から、write関数の実行を確認できる。
(P6−4)監視プログラムが、一定期間待つ。この場合、sleep関数が実行されるため、特定部15は、ラッパー関数の出力情報から、sleep関数の実行を確認できる。
上記より、特定部15は、ラッパー関数の出力情報から、パターンP6として以下の処理シーケンスを確認することで特定できる。
P6: stat→sleep
パターンP7の場合、イベント発生有無の監視等の、イベント監視について、処理は以下のシーケンスP7−1〜P7−3の繰り返しになる。
(P7−1)監視プログラムが、イベントの発生を待つ。この場合、wait関数が実行されるため、特定部15は、ラッパー関数の出力情報から、wait関数の実行を確認できる。
(P7−2)監視プログラムが、発生したイベントの内容を読み込む。この場合、read関数が実行されるため、特定部15は、ラッパー関数の出力情報から、read関数の実行を確認できる。
(P7−3)イベントが発生した場合、監視プログラムが、通知を出力する。この場合、write関数が実行されるため、特定部15は、ラッパー関数の出力情報から、write関数の実行を確認できる。
上記より、特定部15は、ラッパー関数の出力情報から、パターンP7として、以下の処理シーケンスを確認することで特定できる。
P7: wait→read→write
それから、特定部15は、S2−2で抽出したプロセスの処理パターンと、予め登録された監視プログラムの特徴的な処理シーケンスのマスターパターンとを照合して、監視プログラムの候補を特定する(S2−3)。ここでは、特定部15は、S2−2で抽出した各プロセスの処理シーケンスを、マスターパターン(図5)と照合して、パターンが一致するプロセスを、監視プログラムの候補として抽出する。
ここで、S2−3の照合処理により監視プログラムの候補でないと判断される例を示す。プロセス「apache」について、このプロセスは、常時HTTPリクエストを受信しようとしている。HTTPリクエストを受信すると、プロセス(親プロセス)は子プロセスを起動して、受信したリクエストの処理を子プロセスに任せる。そして、親プロセスは、再びHTTPリクエストを受信しようとする。
プロセス「apache」の動作シーケンスは、以下の通りである。
recv→fork→exec→wait→recv→fork→exec→wait→
(ここで、recv→fork→exec→wait→が繰り返されるシーケンスである。)
照合処理では、上記動作シーケンスと、監視プログラムの特徴的なシーケンスであるP1〜P7のマスターパターンとが照合される。照合の結果、この動作シーケンスは、パターンP1〜P7の何れにも一致しないため、特定部15は、apacheプロセスは、監視プログラムの候補でないと判定する。
次に、S3では、特定部15は、監視プログラムの候補から例外のプログラムを除外し、監視対象となる監視プログラムを決定する。S2で特定したプログラムには、監視プログラムの他に、コマンドやジョブの起動/リモートサーバへのリクエスト送信とレスポンス受信を繰り返す特性を持つオンライン業務の制御プログラムまたはバッチジョブの制御プログラムも含まれている可能性がある。
ここでは、業務システムに与える負荷を少しでも小さくするために、イベント監視や性能情報監視をする監視プログラムの常駐プロセス以外を除外する。監視プログラムは、“同じコマンド(リクエスト送信)”を“一定間隔”で行う特性を持っている。例外プログラムの除外処理は、この特性と異なる以下の特性をチェックすることで実現する。
例えば、オンライン業務の制御プログラムの場合、ユーザの依頼があった時にオンライン業務を実行することから、処理シーケンスの実行は非定期的である。そこで、処理シーケンスが繰り返される周期の時間をチェックし、処理シーケンスの周期に2倍以上の差異が存在する場合、そのプログラムは除外する対象であると判定する。
バッチジョブの制御プログラムの場合、ジョブによって、定期的に実行するバッチジョブもあり、ユーザのコマンドで随時実行するバッチジョブもあるため、処理シーケンスの実行は、定期と非定期の両方がある。そこで、処理シーケンスが繰り返される周期の時間をチェックし、周期に2倍以上の差異が存在する場合、そのプログラムは除外する対象と判定する。周期に2倍以上の差異が存在しない場合、起動されるプログラムの名前をチェックし、同一名のプログラムが複数存在した場合、その同一名のプログラムを除外する対象と判定する。
これによって、特定部15は、S2−3で特定したプログラムから、オンライン業務の制御プログラムおよびバッチジョブの制御プログラムを除外して、監視対象の監視プログラムを決定する。
S3では、特定部15は、監視対象として決定した監視プログラムの処理シーケンスのパターン情報及びその関連情報をマスター情報としてマスター情報テーブルに登録する。このようにしてマスター情報テーブルが生成される。
図5は、本実施形態におけるマスターパターン情報の一例を示す。マスターパターン情報は、パターン毎に、処理シーケンスの実行パターンが格納されている。マスターパターン情報は、「パターン名」、「処理シーケンス」の項目を含む。
なお、本実施形態では、図5で示すパターンP1〜P7をマスターパターン情報としたが、これに限定されず、繰り返して関数が順次実行される動作シーケンスのパターンであればいずれをマスターパターン情報として登録してもよい。
次に、S4では、監視部16は、マスター情報を用いて、監視対象として決定した監視プログラムを監視する。ここでは、マスター情報に登録された監視プログラム(監視対象)から監視プロセスのトレース情報が出力され、監視対象でないプログラムからトレース情報は出力されない。
監視部16は、出力されたトレース情報を解析して、監視プロセスの動作パターンを抽出する。監視部16は、トレース情報から解析した動作パターンと、マスター情報テーブルに格納されたマスターパターンとを照合して、動作中の監視プログラムの動作が異常あるか否かを判定する。
本実施形態によれば、コンピュータ上のイベントや性能監視を行っているプロセスを特定する際、特定部15は、次の処理を行う。すなわち、特定部15は、マスターパターン情報と、稼働中のプロセスが起動(呼出)するコマンド(リクエスト)の数・間隔の情報とに基づいて、イベントや性能監視プログラムと類似するシーケンスのプロセスを除外する。ここで、これにより、イベントや性能監視プログラムだけを特定することができる。また、業務サーバに負荷を与えずに(少数のプロセスのみを監視)監視できる。
次に、上述した実施形態の実施例について詳述する。
図6は、本実施形態の実施例におけるサーバの構成を示す。サーバ21は、業務アプリケーションプログラムが稼動している業務サーバである。サーバ21は、制御部22、記憶部31を含む。
所定の関数のライブラリをラッパー関数のライブラリで置き換えることにより、各プロセス41は、起動時に、ログ出力部42が組み込まれる。ログ出力部42は、実行された関数に基づくログ(トレース情報)を出力する。
プロセス41には、後述するように、監視対象となるプロセス1,2,・・・、監視対象から除外されるプロセスM,N,・・・、監視対象ではないプロセスP,Q,・・・がある。
記憶部31には、各プロセス41のログ出力部42から出力されるログファイル(トレース情報)32、管理DB33、動作時間テーブル37、パターン作業テーブル38、パターン明細テーブル39等が格納される。管理DB33は、マスター情報テーブル34、動作モードテーブル35、マスターパターン情報36を格納する。動作モードテーブル35は、制御部22の動作モードを制御するためのテーブルである。
制御部22は、管理部23、特定部24、監視部25として機能する。管理部23は、特定部24、監視部25の機能を制御する。特定部24は、記憶部31に格納されたログファイル32に基づいて、監視対象となる監視プログラムに対応するプロセスを特定し、マスター情報テーブル34に登録する。監視部25は、マスター情報テーブル34に登録されたプロセスに対応する監視プログラムの監視を行なう。
図7は、本実施形態の実施例におけるログ出力部より出力されるログファイル(トレース情報)の一例を示す。ログファイル32は、コマンドが実行された日時32−1、プログラム名32−2、関数名等(その関数の引数)32−3を含む。
図8は、本実施形態の実施例におけるマスター情報テーブルの一例を示す。マスター情報テーブル34は、監視対象として決定したプログラム(プロセス)に関する情報を格納する。マスター情報テーブル34は、「プログラム番号」34−1、「プログラム名」34−2、「プロセスID」34−3、「パターンID」34−4、「パターン番号」34−5、「処理シーケンス」34−6、「引数」34−7、「間隔(秒)」34−8の項目を含む。
「プログラム番号」34−1には、プログラム番号が格納される。「プログラム名」34−2には、プログラムの名称が格納される。「プロセスID」34−3には、プロセスを識別するプロセスIDが格納される。「パターンID」34−4には、処理のパターンを識別するパターンIDが格納される。「パターン番号」34−5には、パターンIDに対応する番号が格納される。「処理シーケンス」34−6には、パターンIDで識別されるパターンに含まれる連続した複数の関数による処理シーケンスが格納される。「引数」34−7には、「処理シーケンス」34−6に格納された関数の引数が格納される。「間隔(秒)」34−8には、処理シーケンスの繰り返し間隔(周期)が格納される。
図9は、本実施形態の実施例における動作モードテーブルの一例を示す。動作モードテーブル35は、「動作モード」35−1、「設定日時」35−2の項目を含む。
「動作モード」35−1には、制御部22の動作モードを制御する情報が格納される。動作モード=“1”(収集モード)は、監視対象情報を収集中であることを示す。動作モード=“2”(監視モード)は、監視対象情報を収集済みで、監視中であることを示す。
「設定日時」35−2には、動作モードを設定した日時が格納される。
図10は、本実施形態の実施例における動作時間テーブルの一例を示す。動作時間テーブル37は、常駐プロセスを決定するために用いられるテーブルである。動作時間テーブル37は、「プログラム番号」37−1、「プログラム番号」37−2、「動作時間(分)」37−3の項目を含む。
「プログラム番号」37−1には、プログラムを識別する番号が格納される。「プログラム番号」37−2には、そのプログラムの名称が格納される。「動作時間(分)」37−3には、そのプログラムの動作時間が格納される。
図11は、本実施形態の実施例におけるパターン作業テーブルの一例を示す。パターン作業テーブル38は、マスター情報テーブル34へ、監視対象のプログラムの情報を登録する際、及び、監視前に監視対象を決定する際に用いられる作業テーブルである。
パターン作業テーブル38は、「プログラム番号」38−1、「プログラム名」38−2、「プロセスID」38−3、「パターンID」38−4、「パターン番号」38−5、「処理シーケンス」38−6、「引数」38−7、「間隔(秒)」38−8の項目を含む。パターン作業テーブル38の有する項目は、マスター情報テーブル34の有する項目と同じである。
図12は、本実施形態の実施例におけるパターン明細作業テーブルの一例を示す。パターン明細作業テーブル39は、パターン作業テーブル38に登録されたプログラムに対応する明細テーブルであって、マスター情報テーブル34の「間隔(秒)」34−8に登録する間隔を算出するために用いられるテーブルである。
パターン明細作業テーブル39は、「プログラム番号」39−1、「No.」39−2、「シーケンス時間」39−3、「合計」39−4の項目を含む。
「プログラム番号」39−1は、パターン作業テーブル38の「プログラム番号」38−1に格納されたプログラム番号が格納される。「No.」39−2には、そのプログラムの実行回数が格納される。「シーケンス時間」39−3は、可変の項目であり、そこには、パターン作業テーブル38の「処理シーケンス」38−6に登録された各関数のシーケンス毎の動作時間が格納される。
次に、本実施形態の実施例の処理のフローについて説明する。
図13は、本実施形態の実施例における管理部の処理フローを示す。管理部23は、動作モードテーブル35に、動作モード=“1”(収集モード)を設定して、所定期間(例えば、1週間)、待つ(S11)。これにより、図14で説明するフローが実行される。
所定期間経過後、管理部23は、マスター情報登録プロセスを起動し、その完了を待つ(S12)。これにより、図15で説明するフローが実行される。
管理部23は、動作モードテーブル35に、動作モード=“2”(監視モード)を設定して、監視プロセスを起動する(S13)。これにより、図21で説明するフローが実行される。
図14は、本実施形態の実施例におけるログ出力部の処理フローを示す。各プログラムで使用する関数は、ラッパー関数のライブラリを用いるように設定されている。そのプログラムからラッパー関数が呼び出されることにより起動するプロセスは、ログ出力部42として機能し、ラッピングされている本来の関数を呼び出す(S21)。
ログ出力部42は、呼び出し元のプログラム名を取得する(S22)。ログ出力部42は、動作モードテーブル35を参照して、動作モードを判定する(S23)。動作モード=1(収集モード)の場合(S23で「Yes」)、ログ出力部42は、図7に示すように、そのプロセスに基づいて、呼び出し時刻、復帰時刻、プログラム名、プロセスID,引数、復帰値等のトレース情報をログファイル32に出力する(S25)。
動作モード=2(監視モード)の場合(S23で「Yes」)、ログ出力部42は、マスター情報テーブル34を参照し、呼び出し元のプログラムについてのマスター情報が登録されているか否かを判定する(S24)。
呼び出し元のプログラムに関するマスター情報が登録されている場合(S24で「Yes」)、ログ出力部42は、次の処理を行う。すなわち、ログ出力部42は、図7に示すように、そのプロセスに基づいて、呼び出し時刻、復帰時刻、プログラム名、プロセスID,引数、復帰値等のトレース情報をログファイル32に出力する(S25)。
呼び出し元のプログラムについてのマスター情報が登録されていない場合(S24で「No」)、本フローは終了する。
図15は、本実施形態の実施例における特定部の処理フローを示す。特定部24は、管理部23からの制御に基づいて、常駐プロセスを抽出する(S31)。S31では、特定部24は、ログファイル32に基づいて、プログラム(プロセス)の起動時刻を解析し、その起動時刻から各プログラム(プロセス)の動作時間を算出する。特定部24は、算出した各プログラム(プロセス)の動作時間を動作時間テーブル37に登録する。特定部24は、動作時間テーブル37に登録した動作時間から、一定時間以上(例えば、1日)動作し続けたプロセスを常駐プロセスと判定し、他のプロセスを非常駐プロセスとして除外する。
次に、特定部24は、ログファイル32から、各常駐プロセスの処理シーケンスを抽出する(S32)。S32では、特定部24は、ログファイル32から、S31で判定した常駐プロセスに対応するプログラムから呼び出された関数を時刻順に抽出する。
次に、特定部24は、S32で抽出した処理シーケンスのパターンから、マスターパターン情報36と一致する処理シーケンスのパターンのプロセス(プログラム)を抽出する(S33)。S33の処理の詳細については、後述する。
次に、特定部24は、S33で抽出したプロセス(プログラム)から、例外プロセスを除外する(S34)。S34の処理については後述する。
そして、特定部24は、S34で残ったプロセス(プログラム)に関する情報をマスター情報として、マスター情報テーブル34に登録する(S35)。S35の処理については後述する。
図16は、S33の処理の詳細を示す。S33の処理は、S32において処理シーケンスを抽出した全てのプロセスについて行う。
特定部24は、S32で、処理シーケンスが抽出されたプロセスのうち、1つのプロセスの処理シーケンスを取り出す(S41)。
特定部24は、取り出したプロセスの処理シーケンスが、マスターパターン情報36に登録されたパターンP1〜P7のいずれかと一致するかを判定する(S42)。取り出したプロセスの処理シーケンスが、マスターパターン情報36に登録されたパターンP1〜P7のいずれとも一致しない場合(S42で「No」)、特定部24は、S45の処理を行う。
取り出したプロセスの処理シーケンスが、マスターパターン情報36に登録されたパターンP1〜P7のいずれかと一致する場合(S42で「Yes」)、特定部24は、取り出したプロセスが監視対象プロセスの候補であると判定する(S43)。
特定部24は、その監視対象プロセス候補についての情報を、パターン作業テーブル38、パターン明細作業テーブル39に記録する(S44)。すなわち、特定部24は、ログファイル32及びマスターパターン情報36を用いて、パターン作業テーブル38に、その監視対象プロセス候補についてのエントリ(「間隔(秒)」38−8以外の項目)を登録する。また、特定部24は、ログファイル32及びマスターパターン情報36を用いて、パターン明細作業テーブル39に、エントリを登録する。
特定部24は、S32で処理シーケンスを抽出したプロセスに、未処理のものがある場合(S45で「Yes」)、次のプロセスを取り出し(S46)、S42〜S44を行う。S32で処理シーケンスを抽出した全プロセスについて、処理が完了すると(S45で「No」)、本フローは終了する。
図17は、S34の処理の詳細を示す。特定部24は、S33で決定した監視対象プロセス候補から、複数コマンドを起動するプログラムを除外する(S51)。
それから、特定部24は、S33で決定した監視対象プロセス候補から、処理シーケンスの繰り返し間隔に2倍以上の差異があるプログラムを除外する(S52)。
図18は、S51の処理の詳細を示す。特定部24は、パターン作業テーブル38の先頭のプログラムのエントリを取り出す(S61)。特定部24は、取り出したエントリから、プログラム名、プロセスID、パターン名を抽出する(S62)。
特定部24は、パターン作業テーブル38において、取り出したエントリ以降に同じプログラム名及びプロセスIDのエントリがあるかを判定する(S63)。パターン作業テーブル38において、取り出したエントリ以降に同じプログラム名及びプロセスIDのエントリがない場合、特定部24は、S66の処理を行う。
パターン作業テーブル38において、取り出したエントリ以降に同じプログラム名及びプロセスIDのエントリがある場合(S63で「Yes」)、特定部24は、そのエントリのプロセスが例外プログラムであると判定する(S64)。
特定部24は、パターン作業テーブル38及びパターン明細作業テーブル39から、例外プログラムであると判定したエントリを全て削除する(S65)。
特定部24は、パターン作業テーブル38の次のエントリを取り出し(S66で「No」、S67)、S62〜S65を行う。パターン作業テーブル38に登録された全エントリについて、処理が完了すると(S66で「Yes」)、本フローは終了する。
図19は、S52の処理の詳細を示す。特定部24は、パターン作業テーブル38の先頭のプログラムのエントリを取り出す(S71)。特定部24は、パターン明細作業テーブル39から、その取り出したエントリのプログラムに対応する各エントリの「合計」39−4から合計値を取得する。そして、特定部24は、その取得した合計値のうち、最大の合計値と、最小の合計値を取得する(S72)。
特定部24は、最大の合計値が最小の合計値の2倍以上か否かを判定する(S73)。最大の合計値が最小の合計値の2倍未満の場合(S73で「No」)、特定部24は、S76の処理を行う。
最大の合計値が最小の合計値の2倍以上の場合がある場合(S73で「Yes」)、特定部24は、そのエントリのプロセスが例外プログラムであると判定する(S74)。
特定部24は、パターン作業テーブル38及びパターン明細作業テーブル39から、例外プログラムであると判定したエントリを全て削除する(S75)。
特定部24は、パターン作業テーブル38の次のエントリを取り出し(S76で「No」、S77)、S72〜S75を行う。パターン作業テーブル38に登録された全エントリについて、処理が完了すると(S76で「Yes」)、本フローは終了する。
なお、本実施例では、最大の合計値が最小の合計値のn(n=2)倍以上か否かについて判定したが、nの値は2に限定されず、所定の値、例えば、n=1.5等であってもよい。
図20は、S35の処理の詳細を示す。特定部24は、パターン作業テーブル38の内容をマスター情報テーブル34に格納する(S81)。
それから、特定部24は、プログラム毎に、パターン明細作業テーブル39の「合計」の平均値を算出する。特定部24は、そのプログラム毎に算出した合計の平均値を、マスター情報テーブル34の「間隔(秒)」34−8にセットする(S82)。これにより、監視対象のプログラム(プロセス)についての情報(マスター情報)がマスター情報テーブル34に登録される。
図21は、本実施形態の実施例における監視部の処理フローを示す。動作モードテーブル35に、監視モードが設定されている場合、図14で説明したように、ログファイル32は、マスター情報テーブル34に登録されているプロセスから出力される。監視部25は、そのマスター情報テーブル34に登録されているプロセスから出力されたログファイル32から、各プロセスの動作パターン(処理シーケンス)を抽出する(S91)。
監視部25は、ログファイル32から抽出したプロセスの動作パターンと、マスター情報テーブル34に登録されたそのプロセスに対応するプロセスのパターンとを比較する(S92)。
比較の結果、動作異常がある場合(S93で「Yes」)、監視部25は、予め設定した動作(例えば、異常を通知する電子メールを送信する、所定のコマンドを実行する、等)を行う(S94)。
図22は、本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。コンピュータ50は、サーバ11、21として機能する。コンピュータ50は、CPU52、ROM53、RAM56、通信I/F54、記憶装置57、出力I/F51、入力I/F55、読み取り装置58、バス89、出力機器61、入力機器62によって構成されている。
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス59には、CPU52、ROM53、RAM56、通信I/F54、記憶装置57、出力I/F51、入力I/F55、及び読み取り装置58が接続されている。読み取り装置58は、可搬型記録媒体を読み出す装置である。出力機器61は、出力I/F51に接続されている。入力機器62は、入力I/F55に接続にされている。
記憶装置57としては、ハードディスク、フラッシュメモリ、磁気ディスクなど様々な形式の記憶装置を使用することができる。記憶装置57またはROM53には、CPU52を管理部13,23、収集部14、ログ出力部42、特定部15,24、監視部16,25として機能させるプログラムが格納されている。また、記憶装置57またはROM53には、ログファイル32、管理DB33、動作モードテーブル37、パターン作業テーブル38、パターン明細作業テーブルが格納されている。RAM56には、情報が一時的に記憶される。
CPU52は、本実施形態に係るプログラムを読み出し、当該プログラムを実行する。
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク60、および通信I/F54を介して、例えば記憶装置57に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置58にセットされて、CPU52によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置58によって読み取られる。
また、入力機器62には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレットなどを用いることが可能である。また、出力機器61には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク60は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 監視対象選択装置
2 特定部
3 選択部
4 格納部
11 サーバ
12 制御部
13 管理部
14 収集部
15 特定部
16 監視部
17 記憶部
21 サーバ
22 制御部
23 管理部
24 特定部
25 監視部
31 記憶部
32 ログファイル
33 管理DB
34 マスター情報テーブル
35 動作モードテーブル
36 マスターパターン情報
37 動作時間テーブル
38 パターン作業テーブル
39 パターン明細テーブル
41 プロセス
42 ログ出力部

Claims (5)

  1. コンピュータが、
    監視対象のシステム上で動作する複数のプログラムのうち、オペレーティングシステムに対して発行したコマンド履歴が所定のパターン条件を満たすプログラムを特定し、
    少なくとも、前記複数のプログラムから、特定した該プログラムを除外したプログラムを監視対象として選択し、
    前記特定において、前記コマンド履歴から、所定時間連続して動作すると共に、前記プログラム内で順に連続して実行される順次連続処理のパターン情報を格納する格納部から取得した該パターン情報と一致する順次連続処理を行うプログラムを抽出し、抽出した該プログラムの1回の実行によって1回実行される該順次連続処理の実行時間を、抽出した該プログラムの実行毎に計測し、計測された最大の実行時間と最小の実行時間との割合に応じて、前記所定のパターン条件を満たすプログラムを特定する
    ことを特徴とする監視対象プログラムの選択方法
  2. 前記特定において、さらに、前記抽出したプログラムのうち1回の実行によってある1のプログラムを複数回実行させていたプログラムを、所定のパターン条件を満たすプログラムとして特定する
    ことを特徴とする請求項に記載の監視対象プログラムの選択方法。
  3. コンピュータに、
    監視対象のシステム上で動作する複数のプログラムのうち、オペレーティングシステムに対して発行したコマンド履歴が所定のパターン条件を満たすプログラムを特定し、
    少なくとも、前記複数のプログラムから、特定した該プログラムを除外したプログラムを監視対象として選択する、
    処理を実行させ、
    前記特定において、前記コマンド履歴から、所定時間連続して動作すると共に、前記プログラム内で順に連続して実行される順次連続処理のパターン情報を格納する格納部から取得した該パターン情報と一致する順次連続処理を行うプログラムを抽出し、抽出した該プログラムの1回の実行によって1回実行される該順次連続処理の実行時間を、抽出した該プログラムの実行毎に計測し、計測された最大の実行時間と最小の実行時間との割合に応じて、前記所定のパターン条件を満たすプログラムを特定する
    ことを特徴とする監視対象選択プログラム
  4. 前記特定において、さらに、前記抽出したプログラムのうち1回の実行によってある1のプログラムを複数回実行させていたプログラムを、所定のパターン条件を満たすプログラムとして特定する
    ことを特徴とする請求項に記載の監視対象選択プログラム。
  5. 監視対象のシステム上で動作する複数のプログラムのうち、オペレーティングシステムに対して発行したコマンド履歴が所定のパターン条件を満たすプログラムを特定する特定部と、
    少なくとも、前記複数のプログラムから、特定した該プログラムを除外したプログラムを監視対象として選択する選択部と、
    を備え
    前記特定部は、前記コマンド履歴から、所定時間連続して動作すると共に、前記プログラム内で順に連続して実行される順次連続処理のパターン情報を格納する格納部から取得した該パターン情報と一致する順次連続処理を行うプログラムを抽出し、抽出した該プログラムの1回の実行によって1回実行される該順次連続処理の実行時間を、抽出した該プログラムの実行毎に計測し、計測された最大の実行時間と最小の実行時間との割合に応じて、前記所定のパターン条件を満たすプログラムを特定する
    ことを特徴とする監視対象選択装置。
JP2014132954A 2014-06-27 2014-06-27 監視対象プログラムの選択方法、監視対象選択プログラム及び監視対象選択装置 Active JP6390208B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014132954A JP6390208B2 (ja) 2014-06-27 2014-06-27 監視対象プログラムの選択方法、監視対象選択プログラム及び監視対象選択装置
US14/738,306 US20150378862A1 (en) 2014-06-27 2015-06-12 Selection method for selecting monitoring target program, recording medium and monitoring target selection apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014132954A JP6390208B2 (ja) 2014-06-27 2014-06-27 監視対象プログラムの選択方法、監視対象選択プログラム及び監視対象選択装置

Publications (2)

Publication Number Publication Date
JP2016012208A JP2016012208A (ja) 2016-01-21
JP6390208B2 true JP6390208B2 (ja) 2018-09-19

Family

ID=54930631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014132954A Active JP6390208B2 (ja) 2014-06-27 2014-06-27 監視対象プログラムの選択方法、監視対象選択プログラム及び監視対象選択装置

Country Status (2)

Country Link
US (1) US20150378862A1 (ja)
JP (1) JP6390208B2 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091800A (ja) * 2000-09-18 2002-03-29 Toshiba Corp 状態監視方法
JP2006053788A (ja) * 2004-08-12 2006-02-23 Ntt Docomo Inc ソフトウェア動作監視装置及びソフトウェア動作監視方法
JP2008102778A (ja) * 2006-10-19 2008-05-01 Fujitsu Ltd 情報処理装置、情報処理装置の制御方法及びプログラム
US8782613B2 (en) * 2008-08-12 2014-07-15 Hewlett-Packard Development Company, L.P. Optimizing applications using source code patterns and performance analysis
US8108331B2 (en) * 2008-08-28 2012-01-31 Sap Ag Method and system for enhancing computer object rules and catalogs
JP5365273B2 (ja) * 2009-03-11 2013-12-11 日本電気株式会社 情報処理システム、監視方法及び監視プログラム
WO2010113212A1 (ja) * 2009-03-31 2010-10-07 富士通株式会社 メモリリーク監視装置、及び方法
US8490060B2 (en) * 2009-09-23 2013-07-16 International Business Machines Corporation Tracing memory updates and accesses for debugging computer programs
WO2013186870A1 (ja) * 2012-06-13 2013-12-19 株式会社日立製作所 サービス監視システム、及び、サービス監視方法

Also Published As

Publication number Publication date
US20150378862A1 (en) 2015-12-31
JP2016012208A (ja) 2016-01-21

Similar Documents

Publication Publication Date Title
US10783051B2 (en) Performance regression framework
US11256818B2 (en) System and method for enabling and verifying the trustworthiness of a hardware system
Wang et al. Self-adaptive cloud monitoring with online anomaly detection
US8949658B1 (en) Load balancer host selection and fault detection
EP2523115B1 (en) Operation management device, operation management method, and program storage medium
CN110678864A (zh) 危害和取证数据的plc指标的收集
JP4811830B1 (ja) コンピュータリソース制御システム
US9164857B2 (en) Scalable structured data store operations
WO2014156825A1 (ja) ログ出力制御装置、方法及びプログラム
Gazzola et al. ExVivoMicroTest: ExVivo testing of microservices
JP2015194797A (ja) 監視漏れ特定処理プログラム,監視漏れ特定処理方法及び監視漏れ特定処理装置
JP6390208B2 (ja) 監視対象プログラムの選択方法、監視対象選択プログラム及び監視対象選択装置
Jammal et al. A formal model for the availability analysis of cloud deployed multi-tiered applications
JP2011159011A (ja) ジョブ監視システム及びジョブ監視プログラム
Munawar et al. Monitoring multi-tier clustered systems with invariant metric relationships
JP6780326B2 (ja) 情報処理装置及びプログラム
JP7074187B2 (ja) 監視装置、監視方法及びプログラム
CN113419949A (zh) 数据处理的异常检测方法、装置、设备及存储介质
KR101934381B1 (ko) 해킹툴 탐지 방법 및 이를 수행하는 사용자 단말 및 서버
JP2012194604A (ja) 情報処理装置、メッセージ切分け方法およびメッセージ切分けプログラム
JP7014438B2 (ja) プログラム管理方法、管理サーバ及びプログラム
AU2014200806B1 (en) Adaptive fault diagnosis
CN113031960B (zh) 代码编译方法、装置、服务器及存储介质
JP7319564B2 (ja) データ共有システム、管理端末、データ共有方法、および、データ共有プログラム
JP2012089109A (ja) コンピュータリソース制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180330

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180806

R150 Certificate of patent or registration of utility model

Ref document number: 6390208

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150