Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7110762B2 - 監視制御プログラム、監視制御方法および情報処理装置 - Google Patents
[go: Go Back, main page]

JP7110762B2 - 監視制御プログラム、監視制御方法および情報処理装置 - Google Patents

監視制御プログラム、監視制御方法および情報処理装置 Download PDF

Info

Publication number
JP7110762B2
JP7110762B2 JP2018123459A JP2018123459A JP7110762B2 JP 7110762 B2 JP7110762 B2 JP 7110762B2 JP 2018123459 A JP2018123459 A JP 2018123459A JP 2018123459 A JP2018123459 A JP 2018123459A JP 7110762 B2 JP7110762 B2 JP 7110762B2
Authority
JP
Japan
Prior art keywords
monitoring
timeout period
time
setting
execution
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
JP2018123459A
Other languages
English (en)
Other versions
JP2020004112A (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 JP2018123459A priority Critical patent/JP7110762B2/ja
Publication of JP2020004112A publication Critical patent/JP2020004112A/ja
Application granted granted Critical
Publication of JP7110762B2 publication Critical patent/JP7110762B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、監視制御プログラム、監視制御方法および情報処理装置に関する。
安定稼働や障害対応といった側面から、システムの動作を監視する仕組みがシステムに組み込まれる。例えば、エージェントと呼ばれる監視用のソフトウェアが監視対象とするシステムにインストールされることがある。このエージェントは、システムの運用者等により定義された項目、例えばシステムの各種のリソースやネットワーク、アプリケーションなどごとに監視用プログラムを実行することで、システム監視を実現する。
このようにエージェントが実行する監視用プログラムは、システムの運用者等が自由に作成することができる反面で、監視用プログラムが一因となってシステムに意図しない不具合が生じたり、システム監視時にループが発生したりする一面もある。この場合、エージェントがエージェント以外のソフトウェアの動作に悪影響を与える結果、監視という側面で用いられるエージェントがシステムに与えられた本来のタスクを阻害することになる。これを抑止する側面から、監視用プログラムが実行する監視処理には、一定期間で監視処理を強制終了するタイムアウト時間が設定される。
特開2006-338543号公報 国際公開第2014/054274号
しかしながら、上記の技術には、システム監視のタイムアウト時間を適切に設定できないという一面がある。
すなわち、上記のタイムアウトの設定は、システムの運用者等による手動設定に委ねられる現状がある。このように手動設定が行われるタイムアウト時間は、必ずしもシステムの動作状況に対応するとは限らないので、監視処理を適切なタイミングで打ち切ることができるとは限らない。
これに加えて、上記のタイムアウト時間には、固定値が設定されるが、システムの動作状況は必ずしも一定とは限らない。それ故、手動設定が行われたタイムアウト時間がある時点では妥当な値であったとしても、別の時点ではそのタイムアウト時間が妥当な値であるとは限らない。例えば、繁忙期や閑散期などの時間的な条件によってシステムの負荷状態は変化し、負荷状態によって監視用プログラムが実行する監視処理の所要時間も左右される。このようにシステムの動作状況が動的に変化する状況の下で固定値のタイムアウト時間を設定したのでは、システムの動作状況の変化によってタイムアウト時間に過不足が生じる。例えば、タイムアウト時間が監視処理の所要時間よりも短すぎればシステム監視が機能せず、また、タイムアウト時間が監視処理の所要時間よりも長すぎれば監視用プログラムが一因となってシステム本来のタスクが阻害されることもある。
1つの側面では、本発明は、システムの動作状況に合わせてタイムアウト時間を設定できる監視制御プログラム、監視制御方法および情報処理装置を提供することを目的とする。
一態様では、監視制御プログラムは、システムの稼働状況を監視する複数の監視処理それぞれに対して前記監視処理を強制終了する第1のタイムアウト時間を設定して実行された前記複数の監視処理の実行時間それぞれを取得し、再び前記複数の監視処理を開始する際に、取得した前記実行時間に応じて決定した第2のタイムアウト時間を対応する監視処理に設定する、処理をコンピュータに実行させる。
システム監視のタイムアウトを適切に設定できる。
図1は、実施例1に係る監視制御プログラムのユースケースの一例を示す図である。 図2は、実施例1に係るホストの機能的構成の一例を示すブロック図である。 図3は、実績ファイル34の一例を示す図である。 図4は、実施例1に係る起動処理の手順を示すフローチャートである。 図5は、実施例1に係る第1の停止処理の手順を示すフローチャートである。 図6は、実施例1に係る第2の停止処理の手順を示すフローチャートである。 図7は、実績ファイル34の他の一例を示す図である。 図8は、実施例1及び実施例2に係る監視制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。
以下に添付図面を参照して本願に係る監視制御プログラム、監視制御方法および情報処理装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[ユースケースの一例]
図1は、実施例1に係る監視制御プログラムのユースケースの一例を示す図である。図1には、あくまでユースケースの一例として、ホスト30-1~30-nのハードウェアを始め、ソフトウェアやネットワークを含むシステムSYSを監視する例を示す。図1に示すように、システムSYSの監視には、監視対象の一例として示すシステムSYSそのものの他にも、マネージャサーバ10及び運用者端末50などを利用することができる。以下、ホスト30-1~30-nのことを「ホスト30」と記載することがある。
これらのうち、マネージャサーバ10及びホスト30の間は、任意のネットワークを介して接続される。また、マネージャサーバ10及び運用者端末50の間も、任意のネットワークを介して接続できる他、コネクタ等の端子を介してポート間を接続することもできる。例えば、ネットワークには、有線または無線を問わず、構内通信網や広域通信網などの任意の種類の通信網が対応する。なお、図1に示すトポロジは、あくまで監視機能を説明する側面から模式化されたものに過ぎず、実際のトポロジが図示のものに限定される訳ではない。例えば、ホスト30及び運用者端末50が接続されることを妨げない。
ここで、システムSYSの監視は、一例として、ホスト30単位で当該ホスト30を監視する項目が定義された定義ファイルDF、ホスト30を操作するAPI(Application Programming Interface)を提供するマネージャ1、監視用プログラム3a~3nの制御を行うエージェント2をパッケージソフトウェアとして提供することにより、実現される。以下、監視用プログラム3a~3nのことを「監視用プログラム3」と記載することがある。
より詳細には、上記の定義ファイルDFは、システムSYSの運用者等が使用する運用者端末50により作成される。例えば、定義ファイルDFには、ホスト30単位で当該ホスト30を監視する項目、例えばリソースやネットワーク、アプリケーションなどを始め、各項目に対応する監視処理を実行する監視用プログラム3を実行する実行条件などが定義される。このような定義ファイルDFにしたがって、マネージャサーバ10上で動作するマネージャ1、及び、ホスト30上で動作するエージェント2が連携することより、システムSYSが監視される。例えば、マネージャ1は、監視が指定された項目に対応する監視用プログラム3をエージェント2に配布したり、エージェント2から監視結果が記述された実績ファイルを収集したりする。また、エージェント2は、監視用プログラム3a~3nを定義ファイルDFに定義された周期で起動し、監視用プログラム3a~3nに監視処理を実行させる。
このように、マネージャ1が実行されるマネージャサーバ10、エージェント2が実行されるホスト30、及び、定義ファイルDFの作成に用いる運用者端末50は、いずれも機能を分類する上で付与されたラベルであり、そのハードウェア構成は限定されない。このように特定のハードウェアに限定されないという断りの下で例を挙げれば、ホスト30には、WebサーバやAP(Application)サーバ、DB(DataBase)サーバ、メインフレームの他、ロードバランサなどが対応する。また、運用者端末50には、パーソナルコンピュータなどのデスクトップ型のコンピュータなどが対応する。これはあくまで一例であり、運用者端末50は、ラップトップ型のコンピュータや携帯端末装置、ウェアラブル端末などの任意のコンピュータであってかまわない。
[課題の一側面]
上記の背景技術の欄でも説明した通り、エージェント2が実行する監視用プログラム3として、CPU(Central Processing Unit)やメモリ、ストレージなどのリソースの使用状況を監視する汎用の監視用プログラムがパッケージソフトを提供するベンダーにより用意される他、運用者端末50を通じて、運用者等がWebやAPなどのシステムSYS上の要件に対応してカスタマイズされた監視用プログラムを自由に作成することができる。このようなカスタマイズによって監視の自由度が高まる反面で、監視用プログラム3が一因となってホスト30に意図しない不具合が生じたり、監視用プログラム3が実行する監視処理にループが発生したりする一面もある。この場合、エージェント2がエージェント2以外のソフトウェア、例えばWebサービスプログラムやWebアプリケーションプログラムの動作に悪影響を与える結果、監視という側面で用いられるエージェント2がシステムSYSに与えられた本来のタスクを阻害することになる。これを抑止する側面から、監視用プログラム3が実行する監視処理には、一定期間で監視処理を打ち切るタイムアウト時間が設定される。
しかしながら、システム監視のタイムアウト時間を適切に設定することは困難であるという側面がある。
その一因として、システムSYSの運用者等による手動設定に委ねられることが挙げられる。手動設定では、システムSYSの運用者の勘や経験によって精度が左右されるので、妥当な値がタイムアウト時間に設定されることは限らない。
他の一因として、タイムアウト時間に固定値が設定されることが挙げられる。すなわち、たとえ手動設定が行われたタイムアウト時間がある時点では妥当な値であったとしても、別の時点ではそのタイムアウト時間が妥当な値であるとは限らない。例えば、繁忙期や閑散期などの時間的な条件によって各ホスト30の負荷状態は変化し、負荷状態によって監視用プログラム3が実行する監視処理の所要時間も変化する。このように各ホスト30の動作状況が動的に変化する状況の下で固定値のタイムアウト時間を設定したのでは、システムSYSの動作状況の変化によってタイムアウト時間に過不足が生じる。例えば、タイムアウト時間が監視処理の所要時間よりも短すぎればシステム監視が機能せず、また、タイムアウト時間が監視処理の所要時間よりも長すぎれば監視用のソフトウェアが一因となってシステムSYS本来のタスクが阻害されることもある。
[課題解決のアプローチの一側面]
そこで、本実施例に係るエージェント2は、監視用プログラム3を起動する際、過去に監視用プログラム3が実行した監視処理の所要時間の実測値を取得し、当該実測値に応じて監視処理を強制終了するタイムアウト時間を設定する。このように、監視用プログラム3が監視処理を正常終了する場合の所要時間の実測値をタイムアウト時間の設定に用いるので、タイムアウト時間の設定値をシステムSYSの動作状況に近付けることができる。さらに、監視用プログラム3が起動される度に異なる実測値がタイムアウト時間の設定に用いられるので、システムSYSの動作状況の変化にタイムアウト時間の設定値を追従させることができる。したがって、本実施例に係るエージェント2によれば、システムSYSの動作状況に合わせてタイムアウト時間を設定することが可能になる。
[ホスト30の構成]
図2は、実施例1に係るホストの機能的構成の一例を示すブロック図である。図2には、説明の便宜上、上記の監視制御プログラムに対応する機能に関連する機能部を抜粋して示すが、これ以外にも、既存のコンピュータがデフォルトまたはオプションで装備する機能部がホスト30に備わることを妨げない。
図2に示すように、ホスト30は、通信I/F(InterFace)部31と、記憶部33と、制御部35とを有する。ホスト30は、情報処理装置の一例に対応する。
通信I/F部31は、他の装置、例えばマネージャサーバ10などとの間で通信制御を行うインタフェースである。
一実施形態として、通信I/F部31には、LANカードなどのネットワークインタフェースカードなどが対応する。例えば、通信I/F部31は、マネージャサーバ10から定義ファイルDFを始め、監視用プログラムの配信を受け付けたり、あるいは監視用プログラムの実行結果が記録された実績ファイルをマネージャサーバ10へ出力したりする。
記憶部33は、制御部15で実行されるOS(Operating System)を始め、上記のエージェント2や監視用プログラム3a~3nなどのアプリケーションプログラムなどの各種プログラムおよび各種のプログラムに用いられるデータを記憶するストレージの一例に対応する。
一実施形態として、記憶部33は、ホスト30における補助記憶装置として実装することができる。例えば、記憶部33には、HDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などを採用できる。なお、記憶部33は、必ずしも補助記憶装置として実装されずともよく、ホスト30における主記憶装置として実装することもできる。この場合、記憶部33には、各種の半導体メモリ素子、例えばRAM(Random Access Memory)やフラッシュメモリを採用できる。
記憶部33は、制御部35が実行するプログラムに用いられるデータの一例として、実績ファイル34A~34Nを記憶する。これらのデータ以外にも、記憶部33には、他の電子データが記憶されることとしてもかまわない。例えば、記憶部33は、ホスト30-1~30-nごとに定義された定義ファイルDFのうち当該ホスト30に対応する定義ファイルDFをなども併せて記憶することもできる。
実績ファイル34A~34Nは、いずれも監視用プログラム3a~3nの監視結果が実績として記述されたデータである。以下、実績ファイル34A~34Nのことを「実績ファイル34」と記載する場合がある。
一実施形態として、実績ファイル34には、監視用プログラム3が実行する監視処理の開始日時、終了日時および実行時間などの項目が対応付けられたデータを採用することができる。図3は、実績ファイル34の一例を示す図である。図3には、監視用プログラム3が監視処理を実行する度に当該監視処理に関する開始日時、終了日時および実行時間を含むレコードが追加して記述される例が示されている。図3に示す実績ファイル34の1行目で言えば、監視処理を2018年4月1日の13時10分00秒00.024ミリ秒に開始した後に2018年4月1日の13時10分03秒03.030ミリ秒に終了し、所要時間が3006ミリ秒であったことを意味する。図3に示す2行目以降のレコードにおいても、各フィールドの値は異なれども、開始日時、終了日時および実行時間の各項目が持つ意味は共通する。なお、図3には、あくまで一例として、実績ファイル34がCSV(Comma-Separated Values)で記述される例が示されているが、他の形式、例えばXML(Extensible Markup Language)で記述されることとしてもかまわない。
制御部35は、ホスト30の全体制御を行う処理部である。
一実施形態として、制御部35は、CPUやMPU(Micro Processing Unit)などのハードウェアプロセッサにより実装することができる。ここでは、プロセッサの一例として、CPUやMPUを例示したが、汎用型および特化型を問わず、任意のプロセッサ、例えばGPU(Graphics Processing Unit)やDSP(Digital Signal Processor)の他、GPGPU(General-Purpose computing on Graphics Processing Units)により実装することができる。この他、制御部35は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによって実現されることとしてもかまわない。
制御部35は、図示しない主記憶装置として実装されるRAMのワークエリア上に、常駐のプログラムとして設定されたエージェント2を展開してエージェント2を実行することにより、監視制御部300を仮想的に実現する。さらに、制御部35は、監視制御部300の制御にしたがって監視用プログラム3a~3nを実行することにより、監視実行部360A~360Nを仮想的に実現する。なお、ここでは、制御部35が実行するプログラムの例として、システム監視に関連するエージェント2や監視用プログラム3を抜粋して例に挙げたが、OSを始め、システムSYS上の要件に対応するアプリケーションプログラム、例えばWebサービスプログラムやWebアプリケーションプログラムが実行されるのは言うまでもない。
図2に示すように、監視制御部300は、参照部310と、取得部320と、設定部330と、起動部340と、停止部350とを有する。
参照部310は、定義ファイルDFを参照する処理部である。
一実施形態として、参照部310は、常駐のプログラムであるエージェント2が起動または再起動された場合、あるいはホスト30に設定された定義ファイルDFが更新された場合、次のような処理を実行する。すなわち、参照部310は、マネージャサーバ10またはマネージャサーバ10及びホスト30がアクセス可能なファイルサーバ等に保存された定義ファイルDFのうち、当該ホスト30に対応する定義ファイルDFを参照したり、定義ファイルDFに定義された項目に対応する監視用プログラム3の配信を受け付けたりする。
取得部320は、実績ファイル34を取得する処理部である。
一実施形態として、取得部320は、定義ファイルDFに監視の実行が定義された項目に対応する監視用プログラム3ごとに並行して次のような処理を実行する。すなわち、取得部320は、定義ファイルDFに定義された監視用プログラム3の実行条件が満たされるのを待機する。例えば、監視用プログラム3の実行条件として一定間隔で監視処理を実行することが定義されている場合、前回に監視用プログラム3が起動されてから所定の時間が経過するのを待機する。そして、取得部320は、監視用プログラム3の実行条件が満たされた場合、記憶部33に記憶された実績ファイル34A~34Nのうち当該監視用プログラム3に対応する実績ファイル34を取得する。
なお、ここでは、実行条件のあくまで一例として、一定間隔で監視処理を実行させる例を挙げたが、これに限定されない。例えば、定期時刻に監視処理を実行させることとしてもよいし、運用者端末50からリクエストを受け付けた場合に監視処理を実行させることとしてもかまわない。
設定部330は、タイムアウト時間を設定する処理部である。
一実施形態として、設定部330は、取得部320により取得された実績ファイルが取得される度に、当該実績ファイルに含まれる実行時間に応じて、監視用プログラム3が実行する監視処理を強制終了するタイムアウト時間を算出する。例えば、設定部330は、取得部320により取得された実績ファイルに含まれる実行時間のうち、過去の所定回数、例えば5回分の実行時間を今回の監視処理を強制終了するタイムアウト時間の算出に用いる。このようなタイムアウト時間の算出には、各種の統計処理を用いることができる。例えば、設定部330は、過去5回の実行時間の相加平均値Avに安全係数αを乗算する計算を実行することにより、タイムアウト時間の計算値Tout_Av*αを算出する。
その上で、設定部330は、タイムアウト時間の計算値Tout_Av*αが当該監視用プログラム3の監視処理に設定することが許可されたタイムアウト時間の許容限界値Tout_max未満であるか否かを判定する。このとき、設定部330は、タイムアウト時間の計算値Tout_Av*αがタイムアウト時間の許容限界値Tout_max未満である場合、タイムアウト時間の計算値Tout_Av*αをタイムアウト時間Toutに設定する。その一方で、設定部330は、タイムアウト時間の計算値Tout_Av*αがタイムアウト時間の許容限界値Tout_max未満でない場合、タイムアウト時間の許容限界値Tout_maxをタイムアウト時間Toutに設定する。
例えば、図3に示す実績ファイル34が取得された場合、下記の通りにタイムアウト時間が算出される。ここでは、タイムアウト時間の計算に用いる安全係数αが1.5であり、許容限界値が5000ミリ秒であると仮定する。図3に示す実績ファイル34では、過去5回の実行時間のうち直近のものから順に、2993ミリ秒、3179ミリ秒、2882ミリ秒、3119ミリ秒、3006ミリ秒である。この場合、過去5回の実行時間の相加平均値「(2993+3179+2882+3119+3006)/5」に安全係数である1.5を乗算することにより、タイムアウト時間の計算値Tout_Av*αが4553.7と求まる。この場合、タイムアウト時間の計算値Tout_Av*α<タイムアウト時間の許容限界値Tout_maxすなわち、「4553.7<5000」である。したがって、タイムアウト時間Toutは、4553.7ミリ秒と算出される。
なお、ここでは、あくまで統計処理の一例として、相加平均値を計算する場合を例示したが、他の統計処理、例えば加重平均値の計算、メジアンの抽出、あるいは最頻値の抽出などを行うこととしてもかまわない。また、ここでは、相加平均値に安全係数が乗算される例を挙げたが、安全係数は加算されることとしてもよく、また、必ずしも安全係数を乗算または加算せずともかまわない。
起動部340は、監視用プログラム3の起動を制御する処理部である。
一実施形態として、起動部340は、設定部330によりタイムアウト時間が設定された監視用プログラム3を起動する。これによって、監視実行部360が監視用プログラム3の実行を開始することで監視処理が開始される。
停止部350は、監視用プログラム3の停止を制御する処理部である。
1つの側面として、停止部350は、起動部340により起動された実行中の監視用プログラム3ごとに並行して次のような処理を実行する。例えば、停止部350は、監視用プログラム3が起動されてからの経過時間を監視処理の実行時間として計測する。そして、停止部350は、監視処理の実行時間がタイムアウト時間を経過するまでに監視用プログラム3が正常に終了された場合、当該監視処理の開始日時、終了日時および実行時間を含むレコードを実績ファイル34に追記する。一方、停止部350は、監視処理の実行時間がタイムアウト時間を経過するまでに監視用プログラム3が正常に終了されない場合、監視用プログラム3を強制終了した上で、図示しないワークエリア上の実行抑止リストに当該監視用プログラム3の識別情報、例えばプロセス名を登録する。この実行抑止リストにエントリがある監視用プログラム3は、当該エントリが削除されるまで監視用プログラム3の実行が抑止される。なお、ここでは、あくまで一例として、実績ファイル34に対する記録がエージェント2により実行される例を説明したが、監視用プログラム3により実行されることとしてもかまわない。
他の側面として、停止部350は、エージェント2の停止も制御する。例えば、停止部350は、図示しないワークエリアに保存された実行抑止リストに対する更新を監視する。このとき、停止部350は、実行抑止リストに対する更新がある場合、実行抑止リストにエントリがある監視用プログラム3の数が所定の閾値Th以上であるか否かを判定する。ここで、実行抑止リストにエントリがある監視用プログラム3の数が閾値Th以上である場合、ホスト30に与えられた本来のタスクに比べて処理負荷が軽い監視処理に影響を与えるほどの障害や高負荷がホスト30に発生している可能性がある。この場合、ホスト30に与えられた本来のタスクの処理負荷を軽減する側面から、停止部350は、エージェント2を強制終了する。
[処理の流れ]
次に、本実施例に係るホスト30の処理の流れについて説明する。なお、ここでは、ホスト30により実行される(1)起動処理、(2)第1の停止処理、(3)第2の停止処理の順に説明することとする。
(1)起動処理
図4は、実施例1に係る起動処理の手順を示すフローチャートである。この処理は、一例として、定義ファイルDFに監視の実行が定義された項目に対応する監視用プログラム3ごとに並行して実行される。あくまで一例として、前回に監視用プログラム3が起動されてから所定の条件、例えば動作間隔や定期時刻などの条件を満たす場合、当該監視プログラム3の起動処理が開始される。
図4に示すように、取得部320は、記憶部33に記憶された実績ファイル34A~34Nのうち当該監視用プログラム3に対応する実績ファイル34を取得する(ステップS101)。続いて、設定部330は、ステップS101で取得された実績ファイルに含まれる実行時間のうち、過去の所定回数分の実行時間の統計値を算出する(ステップS102)。
そして、設定部300は、ステップS102で算出された実行時間の統計値に安全係数が乗算されたタイムアウト時間の計算値Tout_Av*αがタイムアウト時間の許容限界値Tout_max未満であるか否かを判定する(ステップS103)。
ここで、タイムアウト時間の計算値Tout_Av*αがタイムアウト時間の許容限界値Tout_max未満である場合(ステップS103Yes)、設定部330は、タイムアウト時間の計算値Tout_Av*αをタイムアウト時間Toutに設定する(ステップS104)。
一方、タイムアウト時間の計算値Tout_Av*αがタイムアウト時間の許容限界値Tout_max未満でない場合(ステップS103No)、タイムアウト時間の許容限界値Tout_maxをタイムアウト時間Toutに設定する(ステップS105)。
このようにステップS104またはステップS105でいずれかのタイムアウト時間Toutが設定された後、起動部340は、タイムアウト時間Toutが設定された監視用プログラム3を起動し(ステップS106)、処理を終了する。
(2)第1の停止処理
図5は、実施例1に係る第1の停止処理の手順を示すフローチャートである。この処理は、一例として、図4に示す起動処理で起動されることにより監視実行部360が実行中である監視用プログラム3ごとに並行して実行される。
図5に示すように、停止部350は、監視用プログラム3が起動されてからの経過時間を監視処理の実行時間として計測する(ステップS201)。そして、停止部350は、監視処理の実行時間がタイムアウト時間を経過するまでに監視用プログラム3が正常に終了された場合(ステップS202Yes)、当該監視処理の開始日時、終了日時および実行時間を含むレコードを実績ファイル34に追記し(ステップS203)、処理を終了する。
一方、監視処理の実行時間がタイムアウト時間を経過するまでに監視用プログラム3が正常に終了されない場合(ステップS202NoかつステップS204No)、停止部350は、監視用プログラム3を強制終了する(ステップS205)。そして、停止部350は、図示しないワークエリア上の実行抑止リストに当該監視用プログラム3の識別情報、例えばプロセス名を登録し(ステップS206)、処理を終了する。
(3)第2の停止処理
図6は、実施例1に係る第2の停止処理の手順を示すフローチャートである。この処理は、エージェント2が起動されてから終了するまで継続して実行される。図6に示すように、停止部350は、図示しないワークエリアに保存された実行抑止リストに対する更新を監視する(ステップS301)。
このとき、実行抑止リストに対する更新がある場合(ステップS302Yes)、停止部350は、実行抑止リストにエントリがある監視用プログラム3の数が所定の閾値Th以上であるか否かを判定する(ステップS303)。
そして、実行抑止リストに対する更新がない場合(ステップS302No)、あるいは実行抑止リストにエントリがある監視用プログラム3の数が所定の閾値Th以上でない場合(ステップS303No)、ステップS301に戻って実行抑止リストに対する更新を待機する。
ここで、実行抑止リストにエントリがある監視用プログラム3の数が閾値Th以上である場合(ステップS303Yes)、ホスト30に与えられた本来のタスクに比べて処理負荷が軽い監視処理に影響を与えるほどの障害や高負荷がホスト30に発生している可能性がある。この場合、ホスト30に与えられた本来のタスクの処理負荷を軽減する側面から、停止部350は、エージェント2を強制終了し(ステップS304)、処理を終了する。
[効果の一側面]
上述してきたように、本実施例に係るエージェント2は、監視用プログラム3を起動する際、過去に監視用プログラム3が実行した監視処理の所要時間の実測値を取得し、当該実測値に応じて監視処理を強制終了するタイムアウト時間を設定する。このように、監視用プログラム3が監視処理を正常終了する場合の所要時間の実測値をタイムアウト時間の設定に用いるので、タイムアウト時間の設定値をシステムSYSの動作状況に近付けることができる。さらに、監視用プログラム3が起動される度に異なる実測値がタイムアウト時間の設定に用いられるので、システムSYSの動作状況の変化にタイムアウト時間の設定値を追従させることができる。したがって、本実施例に係るエージェント2によれば、システムSYSの動作状況に合わせてタイムアウト時間を設定することが可能である。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[タイムアウト時間]
上記の実施例1では、タイムアウト時間の算出に過去の所定回数分の実行時間として直近の所定回数分の実行時間を用いる例を説明したが、必ずしもタイムアウト時間の算出に用いるサンプルは直近の実行時間に限定されない。例えば、設定部330は、タイムアウト時間を算出する時点と時間条件、例えば曜日および時刻が類似する実行時間をタイムアウト時間の算出に用いることができる。
図7は、実績ファイル34の他の一例を示す図である。図7には、タイムアウト時間が算出される時点が2018年4月8日の13時00分00秒であるとしたとき、タイムアウト時間の算出時点と曜日および時刻が一致するレコードがハッチングで示されている。すなわち、図7に示すように、タイムアウト時間の算出には、開始時刻が2018年3月4日の13時00分00秒024ミリ秒、2018年3月11日の13時00分00秒032ミリ秒、2018年3月18日の13時00分00秒019ミリ秒、2018年3月25日の13時00分00秒041ミリ秒、2018年4月1日の13時00分00秒018ミリ秒の5つのレコードの実行時間が用いられる。これら5つのレコードにおける実行をタイムアウト時間の算出時点と近いものから順に並べると、2993ミリ秒、3179ミリ秒、2882ミリ秒、3119ミリ秒、3006ミリ秒である。この場合、5つの実行時間の相加平均値「(2993+3179+2882+3119+3006)/5」に安全係数である1.5を乗算することにより、タイムアウト時間の計算値Tout_Av*αが4553.7と算出される。
このように、タイムアウト時間を算出する時点と時間条件が類似する実行時間をタイムアウト時間の算出に用いることで、タイムアウト時間の算出にシステムの動作状況が類似するサンプルの実績値を用いてタイムアウト時間を算出できる。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、監視制御部300に含まれる各機能部のうちいずれかの機能部をホスト30の外部装置としてネットワーク経由で接続するようにしてもよい。また、監視制御部300に含まれる各機能部のうちいずれかの機能部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のホスト30の機能を実現するようにしてもよい。
[監視制御プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図8を用いて、上記の実施例と同様の機能を有する監視制御プログラムを実行するコンピュータの一例について説明する。
図8は、実施例1及び実施例2に係る監視制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。図8に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110~180の各部はバス140を介して接続される。
HDD170には、図8に示すように、上記の実施例1で示した監視制御部300と同様の機能を発揮する監視制御プログラム170aが記憶される。この監視制御プログラム170aは、図2に示した監視制御部300の各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
このような環境の下、CPU150は、HDD170から監視制御プログラム170aを読み出した上でRAM180へ展開する。この結果、監視制御プログラム170aは、図8に示すように、監視制御プロセス180aとして機能する。この監視制御プロセス180aは、RAM180が有する記憶領域のうち監視制御プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、監視制御プロセス180aが実行する処理の一例として、図4~図6に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記の監視制御プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に監視制御プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から監視制御プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに監視制御プログラム170aを記憶させておき、コンピュータ100がこれらから監視制御プログラム170aを取得して実行するようにしてもよい。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)システムの稼働状況を監視する複数の監視処理それぞれに対して前記監視処理を強制終了する第1のタイムアウト時間を設定して実行された前記複数の監視処理の実行時間それぞれを取得し、
再び前記複数の監視処理を開始する際に、取得した前記実行時間に応じて決定した第2のタイムアウト時間を対応する監視処理に設定する、
処理をコンピュータに実行させることを特徴とする監視制御プログラム。
(付記2)設定した前記第2のタイムアウト時間に達して強制終了になった監視処理の数に応じて、複数の監視処理を管理する前記監視制御プログラムを停止する処理を前記コンピュータにさらに実行させることを特徴とする付記1に記載の監視制御プログラム。
(付記3)前記設定する処理は、前記第2のタイムアウト時間の設定時から遡って過去の所定回数分の実行時間の統計値を前記第2のタイムアウト時間に設定することを特徴とする付記1に記載の監視制御プログラム。
(付記4)前記設定する処理は、前記第2のタイムアウト時間の設定時との間で曜日または時刻のうち少なくともいずれか1つを含む時間条件が類似する実行時間の統計値を前記第2のタイムアウト時間に設定することを特徴とする付記3に記載の監視制御プログラム。
(付記5)システムの稼働状況を監視する複数の監視処理それぞれに対して前記監視処理を強制終了する第1のタイムアウト時間を設定して実行された前記複数の監視処理の実行時間それぞれを取得し、
再び前記複数の監視処理を開始する際に、取得した前記実行時間に応じて決定した第2のタイムアウト時間を対応する監視処理に設定する、
処理をコンピュータが実行することを特徴とする監視制御方法。
(付記6)設定した前記第2のタイムアウト時間に達して強制終了になった監視処理の数に応じて、複数の監視処理を管理する前記監視制御プログラムを停止する処理を前記コンピュータがさらに実行することを特徴とする付記5に記載の監視制御方法。
(付記7)前記設定する処理は、前記第2のタイムアウト時間の設定時から遡って過去の所定回数分の実行時間の統計値を前記第2のタイムアウト時間に設定することを特徴とする付記5に記載の監視制御方法。
(付記8)前記設定する処理は、前記第2のタイムアウト時間の設定時との間で曜日または時刻のうち少なくともいずれか1つを含む時間条件が類似する実行時間の統計値を前記第2のタイムアウト時間に設定することを特徴とする付記7に記載の監視制御方法。
(付記9)システムの稼働状況を監視する複数の監視処理それぞれに対して前記監視処理を強制終了する第1のタイムアウト時間を設定して実行された前記複数の監視処理の実行時間それぞれを取得する取得部と、
再び前記複数の監視処理を開始する際に、取得した前記実行時間に応じて決定した第2のタイムアウト時間を対応する監視処理に設定する設定部と、
を有することを特徴とする情報処理装置。
(付記10)設定した前記第2のタイムアウト時間に達して強制終了になった監視処理の数に応じて、複数の監視処理を管理する前記監視制御プログラムを停止する停止部をさらに有することを特徴とする付記9に記載の情報処理装置。
(付記11)前記設定部は、前記第2のタイムアウト時間の設定時から遡って過去の所定回数分の実行時間の統計値を前記第2のタイムアウト時間に設定することを特徴とする付記9に記載の情報処理装置。
(付記12)前記設定部は、前記第2のタイムアウト時間の設定時との間で曜日または時刻のうち少なくともいずれか1つを含む時間条件が類似する実行時間の統計値を前記第2のタイムアウト時間に設定することを特徴とする付記11に記載の情報処理装置。
1 マネージャ
2 エージェント
3 監視用プログラム
10 マネージャサーバ
30 ホスト
31 通信I/F部
33 記憶部
34 実績ファイル
35 制御部
300 監視制御部
310 参照部
320 取得部
330 設定部
340 起動部
350 停止部
360 監視実行部
50 運用者端末

Claims (5)

  1. システムの稼働状況を監視する複数の監視処理それぞれに対して前記監視処理を強制終了する第1のタイムアウト時間を設定して実行された前記複数の監視処理の実行時間それぞれを取得し、
    再び前記複数の監視処理を開始する際に、取得した前記実行時間に応じて決定した第2のタイムアウト時間を対応する監視処理に設定し、
    設定した前記第2のタイムアウト時間に達して強制終了になった監視処理の数に応じて、前記複数の監視処理を管理する監視制御プログラムを停止する、
    処理をコンピュータに実行させることを特徴とする監視制御プログラム。
  2. 前記設定する処理は、前記第2のタイムアウト時間の設定時から遡って過去の所定回数分の実行時間の統計値を前記第2のタイムアウト時間に設定することを特徴とする請求項1に記載の監視制御プログラム。
  3. 前記設定する処理は、前記第2のタイムアウト時間の設定時との間で曜日または時刻のうち少なくともいずれか1つを含む時間条件が類似する実行時間の統計値を前記第2のタイムアウト時間に設定することを特徴とする請求項に記載の監視制御プログラム。
  4. システムの稼働状況を監視する複数の監視処理それぞれに対して前記監視処理を強制終了する第1のタイムアウト時間を設定して実行された前記複数の監視処理の実行時間それぞれを取得し、
    再び前記複数の監視処理を開始する際に、取得した前記実行時間に応じて決定した第2のタイムアウト時間を対応する監視処理に設定し、
    設定した前記第2のタイムアウト時間に達して強制終了になった監視処理の数に応じて、前記複数の監視処理を管理する監視制御プログラムを停止する、
    処理をコンピュータが実行することを特徴とする監視制御方法。
  5. システムの稼働状況を監視する複数の監視処理それぞれに対して前記監視処理を強制終了する第1のタイムアウト時間を設定して実行された前記複数の監視処理の実行時間それぞれを取得する取得部と、
    再び前記複数の監視処理を開始する際に、取得した前記実行時間に応じて決定した第2のタイムアウト時間を対応する監視処理に設定する設定部と、
    設定した前記第2のタイムアウト時間に達して強制終了になった監視処理の数に応じて、前記複数の監視処理を管理する監視制御プログラムを停止する停止部と、
    を有することを特徴とする情報処理装置。
JP2018123459A 2018-06-28 2018-06-28 監視制御プログラム、監視制御方法および情報処理装置 Active JP7110762B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018123459A JP7110762B2 (ja) 2018-06-28 2018-06-28 監視制御プログラム、監視制御方法および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018123459A JP7110762B2 (ja) 2018-06-28 2018-06-28 監視制御プログラム、監視制御方法および情報処理装置

Publications (2)

Publication Number Publication Date
JP2020004112A JP2020004112A (ja) 2020-01-09
JP7110762B2 true JP7110762B2 (ja) 2022-08-02

Family

ID=69100138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018123459A Active JP7110762B2 (ja) 2018-06-28 2018-06-28 監視制御プログラム、監視制御方法および情報処理装置

Country Status (1)

Country Link
JP (1) JP7110762B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114820275B (zh) * 2022-04-25 2025-05-13 麒麟软件有限公司 一种动态定时器及VirtIO GPU性能优化方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036210A (ja) 2001-07-25 2003-02-07 Matsushita Electric Ind Co Ltd エージェントプログラム監視方法及びエージェントプログラム監視システム並びにエージェント監視プログラム
JP2017073655A (ja) 2015-10-07 2017-04-13 日本電信電話株式会社 タイムアウト時間設定装置とタイムアウト時間設定方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036210A (ja) 2001-07-25 2003-02-07 Matsushita Electric Ind Co Ltd エージェントプログラム監視方法及びエージェントプログラム監視システム並びにエージェント監視プログラム
JP2017073655A (ja) 2015-10-07 2017-04-13 日本電信電話株式会社 タイムアウト時間設定装置とタイムアウト時間設定方法

Also Published As

Publication number Publication date
JP2020004112A (ja) 2020-01-09

Similar Documents

Publication Publication Date Title
Panda et al. {IASO}: A {Fail-Slow} detection and mitigation framework for distributed storage services
US9712404B2 (en) Performance evaluation method and information processing device
US9032254B2 (en) Real time monitoring of computer for determining speed and energy consumption of various processes
JP6219512B2 (ja) 仮想ハドゥープマネジャ
US8886866B2 (en) Optimizing memory management of an application running on a virtual machine
US8346933B2 (en) Virtual machine location system, virtual machine location method, program, virtual machine manager, and server
US20250199859A1 (en) Resource Conservation for Containerized Systems
US9158577B2 (en) Immediately launching applications
CN106452818A (zh) 一种资源调度的方法和系统
TWI530789B (zh) 遠端管理式電腦系統的平穩帶外電源控制方法和系統
US11797287B1 (en) Automatically terminating deployment of containerized applications
US20180157557A1 (en) Determining reboot time after system update
CN114185734A (zh) 一种监控集群的方法、装置及电子设备
US8307246B2 (en) Real time monitoring of computer for determining speed of various processes
CN111143069A (zh) 服务管理方法、装置、电子设备、存储介质
JP7110762B2 (ja) 監視制御プログラム、監視制御方法および情報処理装置
US10474518B1 (en) Obtaining historical information in a device core dump
CN110431530B (zh) 度量和日志的预期收集
US20180095798A1 (en) Method and apparatus for software performance tuning with dispatching
US9244736B2 (en) Thinning operating systems
CN118210610A (zh) 一种任务执行方法、装置、电子设备及存储介质
US20230195335A1 (en) Optimizing memory to storage capacity division on a dc persistent memory module (dcpmm) in mixed mode
JP7832048B2 (ja) 計算機システム及びメトリクスの算出方法
CN119045918B (zh) 传感器数据管理方法、装置、计算机设备及存储介质
CN117453182B (zh) 对象分配定位方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220330

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220704

R150 Certificate of patent or registration of utility model

Ref document number: 7110762

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150