以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず、第1の実施の形態について説明する。第1の実施の形態は、装置からの構成情報の取得に起因するその装置の負荷を軽減するように、構成情報の取得時機(タイミング)を動的に変更するものである。しかも第1の実施の形態では、複数の構成情報があるとき、構成情報ごとに取得時機を変更可能とする。
図1は、第1の実施の形態のシステム構成の一例を示す図である。構成管理装置10は、収集対象装置1の構成情報を収集し、その構成情報に基づいて収集対象装置1の構成を管理する。構成管理装置10で収集された構成情報は、端末装置2から参照可能となる。
構成管理装置10は、記憶部11、決定処理部12、取得処理部13、負荷監視処理部14、および参照管理処理部15を有している。
記憶部11は、負荷情報11aと構成情報テーブル11bとを記憶する。負荷情報11aは、収集対象装置1の負荷の状態を示す情報である。例えば収集対象装置1の負荷が、所定値より高いか低いかが、負荷情報11aに示される。
構成情報テーブル11bには、構成情報ごとの構成情報IDに対応付けて、更新頻度、参照頻度、および値が設定される。更新頻度は、例えば単位時間当たりに構成情報の値が更新された回数である。また構成情報が前回更新されてからの経過時間を更新頻度としてもよい。参照頻度は、例えば単位時間当たりに構成情報が参照された回数である。また構成情報が前回参照されてからの経過時間を参照頻度としてもよい。
決定処理部12は、構成情報の参照頻度、構成情報の更新頻度、および収集対象装置1の負荷のうちの少なくとも1つに基づいて、収集対象装置1の負荷が抑えられるように、構成情報を取得する時機を決定する。図1の例では、決定処理部12は、構成情報の参照頻度、構成情報の更新頻度、および収集対象装置1の負荷の組み合わせにより、構成情報の取得時機を決定する。なお、構成情報の取得時機の決定は、例えば所定周期で定期的に実行される。
また決定処理部12は、構成情報の取得時機の示す定義情報を、予め複数用意しておき、複数の定義情報から、構成情報に適用する定義情報を選択することで、その構成情報の取得時機を決定することもできる。例えば定義情報には、構成情報に対する参照要求が入力されたときを、構成情報の取得時機とすることが定義される。また定義情報に、構成情報の値が更新されたときを構成情報の取得時機とすることを定義してもよい。さらに定義情報に、所定のスケジュールで指定された時機と構成情報に対する参照要求が入力されたときとを構成情報の取得時機とすることを定義してもよい。
取得処理部13は、収集対象装置1と連携し、決定処理部12が決定した時機に、収集対象装置1から構成情報を取得する。例えば取得処理部13は、参照時に取得する構成情報に対する参照要求があったことの通知を、参照管理処理部15から受け取ると、その構成情報を収集対象装置1から取得する。また取得処理部13は、収集対象装置1に対して、更新時に取得する構成情報を指定して、その構成情報の更新の有無の監視を指示する。すると収集対象装置1は、指定された構成情報の値が更新されると、更新後の構成情報を構成管理装置10に送信する。また取得処理部13は、構成情報について、スケジュールで指定された時機(例えば所定周期)で取得することが決定されている場合、指定された時機になると、その構成情報を収集対象装置1から取得する。取得処理部13は、取得した構成情報の値を、記憶装置11の構成情報テーブル11bに設定する。
また取得処理部13は、各構成情報の更新頻度を計算し、更新頻度を示す情報を構成情報テーブル11bに設定する。例えば取得処理部13は、取得した構成情報の値が、直前まで構成情報テーブル11bに設定されていた値と異なる場合、その構成情報が更新されたと判断する。そして取得処理部13は、構成情報ごとに更新頻度を計算し、構成情報の更新頻度が所定値より高ければ、構成情報テーブル11bにおけるその構成情報の更新頻度を「高」と設定する。また取得処理部13は、更新頻度が所定値以下であれば、構成情報テーブル11bにおけるその構成情報の更新頻度を「低」と設定する。
負荷監視処理部14は、収集対象装置1の負荷を監視する。例えば負荷監視処理部14は、収集対象装置1から、CPU(Central Processing Unit)使用率やメモリ使用率を取得する。そして負荷監視処理部14は、取得した情報に基づいて、収集対象装置1の負荷を判断し、負荷が所定値を超えていれば、負荷情報11aに「高」と設定する。また負荷監視処理部14は、負荷が所定値以下であれば、負荷情報11aに「低」と設定する。
参照管理処理部15は、端末装置2からの構成情報の参照要求に応じて、記憶部11から構成情報を取得し、端末装置2に応答する。参照管理処理部15は、参照対象の構成情報の取得時機が参照時であれば、取得処理部13にその構成情報の参照要求を取得したことを通知する。そして参照管理処理部15は、取得処理部13により最新の構成情報が取得された後、記憶部11から、参照要求で指定された構成情報を取得する。
また参照管理処理部15は、各構成情報の参照頻度を計算し、参照頻度を示す情報を構成情報テーブル11bに設定する。例えば参照管理処理部15は、構成情報ごとに参照頻度を計算し、構成情報の参照頻度が所定値より高ければ、構成情報テーブル11bにおけるその構成情報の参照頻度を「高」と設定する。また参照管理処理部15は、参照頻度が所定値以下であれば、構成情報テーブル11bにおけるその構成情報の参照頻度を「低」と設定する。
このような構成のシステムにおいて、各構成情報の更新頻度は、取得処理部13により最新の状況に応じた値が設定される。また各構成情報の参照頻度は、参照管理処理部15により、最新の状況に応じた値が設定される。さらに負荷情報11aは、負荷監視処理部14により、最新の状況に応じた値が設定される。このような状況化で、決定処理部12により、所定のタイミングで、構成情報ごとの取得時機が決定される。例えば構成情報の更新頻度と参照頻度が共に高い場合、その構成情報の取得時機は、参照時に決定される。構成情報の更新頻度は高いが、参照頻度は低い場合、その構成情報の取得時機は、参照時に決定される。構成情報の更新頻度は低いが、参照頻度は高い場合、その構成情報の取得時機は、更新時に決定される。構成情報の更新頻度と参照頻度とが共に低い場合、収集対象装置1の負荷が低ければ、その構成情報の取得時機は、更新時に決定される。他方、収集対象装置1の負荷が高い場合、その構成情報の取得時機は、参照時と所定周期とに決定される。
決定処理部12が決定した構成情報ごとの取得時機は、取得処理部13に通知される。取得処理部13は通知された取得時機に、各構成情報の最新の値を取得する。図1の例では、構成情報ID「1」の構成情報の取得時機は参照時である。そこで取得処理部13は、構成情報ID「1」の構成情報に対する参照が行われるごとに、収集対象装置1から、その構成情報の最新の値を取得する。そして取得処理部13は、取得した最新の値の構成情報を、構成情報テーブル11bに設定する。
また図1の例では、構成情報ID「2」の構成情報の取得時機は更新時である。そこで取得処理部13は、構成情報ID「2」の構成情報の監視を、収集対象装置1に依頼する。すると収集対象装置1は、構成情報ID「2」の構成情報の値の変更の有無を監視し、変更された場合、変更後の値を有する構成情報を、構成管理装置10に送信する。送信された構成情報は、取得処理部13で取得され、記憶部11内の構成情報テーブル11bに設定される。
さらに図1の例では、構成情報ID「4」の構成情報の取得時機は参照時と所定周期である。そこで取得処理部13は、構成情報ID「3」の構成情報に対する参照が行われるごとに、収集対象装置1から、その構成情報の最新の値を取得する。また取得処理部13は、所定周期で、参照の有無に拘わらず、収集対象装置1から、その構成情報の最新の値を取得する。そして取得処理部13は、取得した最新の値の構成情報を、構成情報テーブル11bに設定する。
このようにして、構成管理装置10は、端末装置2からの参照要求に対して、最新の値の構成情報を応答することができる。しかも構成情報の取得時機が、そのときの状態に応じて動的に変更される。例えば、更新頻度と参照頻度とが低いために取得時機が更新時であった構成情報について、更新頻度が高くなれば、取得時機が参照時に変更される。その結果、構成情報の取得回数を抑制することができ、構成情報の取得に起因する収集対象装置1に対する負荷が軽減できる。同時に、構成管理装置10の負荷も軽減される。
なお、図1の例では、更新頻度(変化特性)、参照頻度(利用特性)、および収集対象装置1の負荷(負荷特性)を組み合わせて取得時機を決定しているが、いずれか1つの特性に基づいて取得時機を決定してもよい。
例えば決定処理部12は、構成情報の更新頻度のみに基づいて、構成情報の取得時機を決定できる。例えば決定処理部12は、構成情報の更新頻度が所定値より高い場合は、構成情報に対する参照要求が入力されたときを構成情報の取得時機とする。そして決定処理部12は、構成情報の更新頻度が所定値以下の場合は、構成情報の値が更新されたときを構成情報の取得時機とする。これにより、構成情報の更新頻度が高いときには、参照時に構成情報を取得するようにして、構成情報の取得回数を低減できる。
また決定処理部12は、構成情報の参照頻度のみに基づいて、構成情報の取得時機を決定できる。例えば決定処理部12は、構成情報の参照頻度が所定値以下の場合は、所定のスケジュールで指定された時機と構成情報に対する参照要求が入力されたときとを構成情報の取得時機とする。また決定処理部12は、構成情報の参照頻度が所定値より高い場合は、構成情報の値が更新されたときを構成情報の取得時機とする。これにより、構成情報の参照度が高いときには、更新時に構成情報を取得するようにして、構成情報の取得回数を低減できる。なお、決定処理部12は、構成情報の参照頻度が所定値以下の場合は、構成情報に対する参照要求が入力されたときのみを構成情報の取得時機としてもよい。
さらに決定処理部12は、収集対象装置1の負荷のみに基づいて、構成情報の取得時機を決定できる。例えば決定処理部12は、収集対象装置1の負荷が所定値より高い場合は、所定のスケジュールで指定された時機と構成情報に対する参照要求が入力されたときとを構成情報の取得時機とする。収集対象装置1の負荷が所定値以下の場合は、決定処理部12は、構成情報の値が更新されたときを構成情報の取得時機とする。これにより、収集対象装置1の負荷が高いときには、構成情報の取得時機を参照時として、収集対象装置1による構成情報の更新の有無の監視負担を軽減し、収集対象装置1の負荷を軽減することができる。
決定処理部12は、収集対象装置1の負荷が過大となりそうなとき、以後、更新時を取得時機とする構成情報の数を増やさないようにしてもよい。例えば決定処理部12は、複数の構成情報のうち、更新時を取得時機とする構成情報数の増減と、収集対象装置1の負荷の増減に基づいて、構成情報数が1増加するごとの収集対象装置1の負荷量を求める。そして決定処理部12は、構成情報数が1増加するごとの負荷量を現在の収集対象装置1の負荷に加算したとき、収集対象装置1の負荷が所定値以上となる場合、更新時を取得時機とする構成情報数の増加を抑止する。これにより、更新時を取得時機とする構成上情報の増加により収集対象装置1が過負荷状態に陥ることを抑止できる。
なお構成管理装置10は、例えばコンピュータにプログラムを実行させることで実現できる。決定処理部12、取得処理部13、負荷監視処理部14、および参照管理処理部15は、例えば構成管理装置10が有するプロセッサにより実現することができる。また、記憶部11は、例えば構成管理装置10が有するメモリにより実現することができる。
また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、サーバが、システム全体の負荷軽減と構成情報の最新性とを両立したディスカバリ方法により、複数の装置に対するディスカバリ(構成情報の取得)を行うものである。
図2は、第2の実施の形態のシステム構成例を示す図である。ネットワーク20を介して、構成管理サーバ100、端末装置31,クラウドシステム32、収集対象装置200,300,400が接続されている。構成管理サーバ100は、収集対象装置200,300,400から構成情報を収集し、各装置の構成を管理する。収集対象装置200,300,400としては、サーバコンピュータ、ラップコンピュータ、スマートフォンなどの携帯情報端末装置がある。
端末装置31は、ユーザからの入力に応じて、構成管理サーバ100に対して構成情報の参照要求を送信する。そして端末装置31は、構成管理サーバ100から応答された構成情報をモニタに表示する。または端末装置31は、アプリケーションソフトウェアなどで取得した構成情報を解析し、解析結果をモニタに表示する。
クラウドシステム32は、例えばシステムの構成情報の解析によるシステム管理サービスを行う。そのためにクラウドシステム32は、構成管理サーバ100に構成情報の参照要求を送信し、構成管理サーバ100から構成情報を取得する。そしてクラウドシステム32は、取得した構成情報に基づいて、システムの動作状況などの解析を行う。
図3は、第2の実施の形態に用いる構成管理サーバのハードウェアの一構成例を示す図である。構成管理サーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、構成管理サーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、構成管理サーバ100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、構成管理サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。図3には構成管理サーバ100のハードウェア構成を示したが、端末装置31、クラウドシステム32を構成するコンピュータ、収集対象装置200,300,400も、構成管理サーバ100と同様のハードウェアで実現できる。また第1の実施の形態に示した構成管理装置10、収集対象装置1、および端末装置2も、図3に示した構成管理サーバ100と同様のハードウェアにより実現することができる。
構成管理サーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。構成管理サーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、構成管理サーバ100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また構成管理サーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
次に、構成情報の活用例について説明する。
図4は、構成情報の活用例を示す図である。図4の例では、4台の収集対象装置から構成情報を収集している。構成情報を活用する運用シーンとしては、例えば以下の3つの例が考えられる。
第1の例として、複数の構成対象装置の最新の構成情報を比較して、構成の異なる構成対象装置を特定することができる。図4の例では、収集対象装置Aの最新の構成情報と、収集対象装置Bの最新の構成情報とが比較されている。
第2の例として、過去の構成情報と現在の構成情報とを比較し、構成の変更箇所を把握することもできる。図4の例では、収集対象装置Cの過去の構成情報が保持されており、過去の構成情報と現在の構成情報とが比較されている。
第3の例として、未来(設計)のシステム構成を計画し、装置の未来の目標とする構成を示す構成情報と現在の構成情報とを比較することもできる。これにより目標とするシステムを実現するための装置構成の変更内容を把握できる。図4の例では、構成情報Dについて、未来の目標とする構成情報と、現在の構成情報とが比較されている。
このような構成情報の活用のため、システム内の各装置から構成情報が管理装置で収集され、蓄積される。そして構成情報の活用時には、各収集対象装置の現在の構成情報が利用される場合が多い。そのため、最新の構成情報が確実に収集できていることが重要となる。
図5は、構成情報の収集機能を示すブロック図である。構成管理サーバ100は、CMDB(Configuration Management Database)110、自律型収集エンジン120、および性能監視部130を有している。
CMDB110は、構成情報群111を保管するデータベースである。構成情報は、CI(Configuration Item)とも呼ばれる。自律型収集エンジン120は、収集対象装置200,300,400と連携して、収集対象装置200,300,400から構成情報を収集する。自律型収集エンジン120は、収集した構成情報111をCMDB110に格納する。なお自律型収集エンジン120は、各構成情報の収集タイミングを判断するために、性能監視部130から収集対象装置200,300,400の性能情報を取得する。
性能監視部130は、収集対象装置200,300,400の性能を監視する。例えば性能監視部130は、収集対象装置200,300,400それぞれから、性能情報を取得する。性能情報は、例えば現在のCPU使用率やCPU使用率の履歴などである。性能監視部130は、取得した性能情報、または性能情報を解析して得られる統計値を、自律型収集エンジン120に送信する。
収集対象装置200,300,400は、それぞれ収集エンジン210,310,410を有している。収集エンジン210,310,410は、自装置内の構成情報を収集し、構成管理サーバ100に送信する。
図6は、CMDBの一例を示す図である。CMDB110には、ICTシステムごとの構成情報群111,112,・・・が格納されている。
CMDB110の構成情報群111は、複数の構成情報(CI:Configuration Item)111−1,111−2,・・・を有する。ここで、1つの構成情報は1つのアイテム(item)に対応する。アイテムは複数のレコード(record)を持つ。レコードの下に、サーバやネットワークなどの構成情報を任意の形式で持つ。
例えば構成情報111−1は、アイテムのIDやタイプが設定された要素111aの下に、レコードを示す要素111b,111e,・・・が設定されている。レコードを示す要素111bの下には、階層構造で複数の要素111c,111dが設定されている。各要素111c,111d内の先頭の1行は、要素名である。例えば要素111cの要素名は、「Server」である。また各要素内の要素名の下の各行の文字列が属性を表している。例えば要素111c内の「ipaddress=“192.168.1.10”」が1つの属性であり、このうち“192.168.1.10”がその属性の値である。
次に、構成情報を収集するためのディスカバリ方法について説明する。ディスカバリ方法としては、定期ディスカバリ、取得型ディスカバリ、および通知型ディスカバリがある。
<定期ディスカバリ>
まず定期ディスカバリについて説明する。
図7は、定期ディスカバリ処理の一例を示す図である。定期ディスカバリは、スケジュールによって予め指定された時刻にディスカバリを実行するものである。定期ディスカバリは、以下の手順で行われる。
[手順1]ディスカバリ依頼
構成管理サーバ100の自律型収集エンジン120が、スケジュールで指定された時刻になったときに、ディスカバリ依頼を各収集対象装置200,300,400に送信する。
[手順2]構成情報を更新
各収集対象装置200,300,400の収集エンジン210,310,410は、自装置から構成情報を収集する。そして収集エンジン210,310,410は、収集した構成情報を、構成管理サーバ100に送信する。構成管理サーバ100では、自律型収集エンジン120が構成情報を取得し、取得した構成情報をCMDB110に登録する。
[手順3]構成情報の参照
利用者は、参照装置30(端末装置31またはクラウドシステム32)を用いて、構成管理サーバ100内のCMDB110にアクセスし、定期ディスカバリで収集した時点の構成情報を参照する。
図8は、定期ディスカバリの実施例を示す図である。図8の例では、毎日午前0時にディスカバリを行うようにスケジュールされている。この場合、収集対象装置200,300,400の構成情報が、構成管理サーバ100において毎日午前0時に収集され、CMDB110内の構成情報が更新される。
このような定期ディスカバリは、構成情報を一括取得するため、ディスカバリ実行時に、収集対象装置200,300,400と構成管理サーバ100に負荷がかかる。しかし、システムが運用していない時間帯にディスカバリするようスケジュールすることで、システムの運用には影響を与えないようにすることができる(例えば、毎日午前0時にディスカバリを実施)。
ここで、収集対象装置200,300,400のある構成情報の値が「a」に変化した場合、その日の深夜0時にディスカバリが行われ、変更内容がCMDB110に反映される。次の日に参照装置30が構成情報を参照すると、前日に変更された値「a」の構成情報を参照できる。その後、収集対象装置200,300,400の構成情報の値が「b」に変化し、同日に参照装置30が構成情報を参照すると、前日に変更された値「a」の構成情報しか参照できない。すなわち構成情報の値が「b」に変更されているにも拘わらず、参照装置30からは、変更前の値「a」の構成情報しか参照できず、構成情報の最新性が欠如している。このように、定期ディスカバリは、システムの運用に影響は与えずにすむが、最新の構成情報を活用することができない。
<取得型ディスカバリ>
次に取得型ディスカバリについて説明する。
図9は、取得型ディスカバリ処理の一例を示す図である。取得型ディスカバリは、構成情報が参照されたときに、構成情報を取得するものである。取得型ディスカバリは、以下の手順で行われる。
[手順1]参照要求
参照装置30から構成管理サーバ100に、構成情報の参照要求が送信される。例えば端末装置31は、利用者からの入力に応じ、参照要求を送信する。またクラウドシステム32は、サービス提供の一環で構成情報を利用する処理が発生したとき、参照要求を送信する。
[手順2]ディスカバリ依頼
構成管理サーバ100の自律型収集エンジン120は、収集対象装置200,300,400に対して、ディスカバリを依頼する。
[手順3]構成情報を更新
収集対象装置200,300,400の収集エンジン210,310,410は、自装置から構成情報を収集し、収集した構成情報を構成管理サーバ100に送信する。収集対象装置200,300,400から送信された構成情報は、構成管理サーバ100の自律型収集エンジン120が受信する。そして自律型収集エンジン120は、受信した構成情報をCMDB110に格納する。
[手順4]構成情報を参照
自律型収集エンジン120は、取得した構成情報を、参照要求の送信元の参照装置30に送信する。これにより参照装置30において構成情報が参照される。
図10は、取得型ディスカバリの実施例を示す図である。取得型ディスカバリでは、収集対象装置200,300,400の構成情報の値が「a」に変化した場合、その後の参照装置30から参照要求が送信されたときにディスカバリが実施される。参照装置30は、ディスカバリ完了後にCMDB110内の構成情報を参照する。これにより、更新後の値「a」の構成情報を参照できる。
その後、収集対象装置200,300,400の構成情報の値が「b」に変化したときも同様に、参照要求が出力されるごとにディスカバリが行われる。そして参照装置30は、更新後の値「b」の構成情報を参照できる。
このような取得型ディスカバリでは、最新の構成情報を活用できるが、複数の参照要求が同時に発生した場合、収集対象装置200,300,400と構成管理サーバ100との両方に大きな負荷をかける。そのため、システムの運用に悪い影響を与える。また、変化がない構成情報に対しても、一律に参照されたときにディスカバリが行われるため、不必要に収取対象と構成管理サーバに負荷をかけていることとなる。
<通知型ディスカバリ>
次に通知型ディスカバリについて説明する。
図11は、通知型ディスカバリ処理の一例を示す図である。通知型ディスカバリは、構成情報が変化したときに、構成情報を取得するものである。通知型ディスカバリは、以下の手順で行われる。
[手順1]監視
各収集対象装置200,300,400の収集エンジン210,310,410は、収集対象の構成情報の変化を監視する。
[手順2]構成情報を更新
収集エンジン210,310,410は、変化した構成情報を取得し、構成管理サーバ100に送信する。構成管理サーバ100の自律型収集エンジン120は、収集対象装置200,300,400から送られた構成情報をCMDB110に格納する。
[手順3]構成情報を参照
参照装置30から構成管理サーバ100に参照要求が送信される。構成管理サーバ100は、CMDB110にアクセスし、変化を契機に更新された最新の構成情報を、参照装置30に応答する。これにより参照装置30において構成情報が参照される。
図12は、通知型ディスカバリの実施例を示す図である。通知型ディスカバリでは、収集対象装置200,300,400の構成情報の値が「a」に変化したときにディスカバリが実施される。参照装置30は、ディスカバリ完了後にCMDB110内の構成情報を参照する。これにより、更新後の値「a」の構成情報を参照できる。
その後、収集対象装置200,300,400の構成情報の値が「b」、「c」、「d」、「e」、「f」と何度も変化したときも同様に、構成情報が変化するごとにディスカバリが行われる。そして参照装置30は、最後に更新されたときの値「f」の構成情報を参照できる。
このような通知型ディスカバリは、最新の構成情報を活用できるが、構成情報が短時間で繰り返し変化した場合、収集対象と構成管理サーバに負荷をかける。そのため、システムの運用に悪い影響を与える。また、通知型ディスカバリは、常に構成情報の変化を監視するため、収集対象装置200,300,400に一定の負荷をかけ続ける。
このように3つのディスカバリ方法のうち、構成情報の最新性を求めないのであれば、定期ディスカバリが有効である。例えば定期ディスカバリをシステムのメンテナンスを、システムの運用に影響を与えない夜間に行い、それに伴う構成情報の変更を翌朝、確認するような運用ができる。
しかしながら、クラウド技術の登場により、構成情報の最新性を保証することが重要になってきている。定期ディスカバリでは構成情報の最新性が保証できないため、最新の構成情報を利用するシステムでは、定期ディスカバリ単独での運用は不適切である。そこで基本的には、取得型ディスカバリか通知型ディスカバリを採用することになる。
取得型ディスカバリの通知型ディスカバリどちらが適切なのかは、システムの運用状況に応じて異なる。
例えば、クラウドコンピューティング技術の登場により、仮想サーバを動的に配備/返却して利用する形態が広がり、システムの構成の更新サイクルが短くなっている。そのため、構成情報の変更も頻繁に行われる。しかも、システム管理者がシステムの構成を手動で変更する運用から、運用管理ソフトウェアが自律的に最適なシステム構成を判断し変更するように技術が進歩している。自律的にシステムの構成が変更可能であることにより、構成の変更頻度が増している。
頻繁に構成情報が変更される場合、通知型ディスカバリのように、構成情報が変更されるたびにディスカバリを行ったのでは、ディスカバリの頻度が高くなり、システムの負荷が過大となる。この点だけを考えれば、取得型ディスカバリが有効となる。しかしながら、構成情報の中には、IPアドレスのように運用中に変更されることがほとんど無いものも含まれる。このように変更されることが希な構成情報までも取得型ディスカバリのように、利用者が構成情報を利用するタイミングで構成情報を取得すると、ディスカバリの回数が無駄に増え、収集対象と構成管理サーバに負荷がかかり、システムの運用に影響を与える。
このようにすべての構成情報およびすべての期間について、いずれか1つのディスカバリ方法を一括して採用した場合、構成情報の最新性を維持しつつ、収集対象装置200,300,400と構成管理サーバ100の負荷を軽減するのは困難である。しかも、クラウド技術の登場と収集対象の多様化により、利用者が活用したい構成情報が多様化している。また、今後は、システムを人が変更する運用から、運用管理ソフトウェアが自律的に最適なシステム構成を判断し変更する運用へと移り、構成情報の変化や活用に規則性がなくなる。そこで第2の実施の形態では、構成情報ごとに個別のディスカバリ方法を適用可能とするとともに、システムの運用状況に応じてディスカバリ方法を動的に変更可能とし、ディスカバリを行う時機に関して柔軟な対応を可能とする。
適切なディスカバリ方法の判断指標としては、例えば構成情報の更新頻度(変化特性)が考えられる。更新頻度は、構成情報が変化する頻度である。構成情報ごとに、更新頻度に関する特性がある。例えば、リソースの使用率や性能などの情報は随時変化する。他方、端末のIPアドレスやホスト名などの情報は運用変更時にしか変化しない。さらに、サーバの筐体に紐付いたシリアル番号やマックアドレスなどの情報は、原則として変化しない。
更新頻度(変化特性)が「高い」構成情報に「通知型ディスカバリ」を採用すると、頻繁に構成情報がディスカバリされ、収集対象装置200,300,400と構成管理サーバ100との双方に負荷がかかり、システムの運用に悪い影響を与える。そのため、更新頻度が「高い」構成情報には取得型ディスカバリが適している。
また更新頻度(変化特性)が「低い」構成情報に取得型ディスカバリを採用すると、更新されていない構成情報に対してディスカバリを行うことになり、非効率的である。さらに、構成情報が更新されていなくても、構成情報の更新の有無の監視負荷があるため、収集対象装置200,300,400に余分な負荷がかかる。そのため、更新頻度が「低い」構成情報には「通知型ディスカバリ」が適している。
その結果、更新頻度が「高い」構成情報には取得型ディスカバリを採用し、更新頻度が「低い」構成情報には通知型ディスカバリを採用することが適切となる。このようなディスカバリ方法の判断を構成情報ごとに行い、動的にディスカバリ方法を変更すれば、構成情報ごとにディスカバリのタイミングがずれるため、収集対象装置200,300,400と構成管理サーバ100の負荷を、時間的に分散できる。すなわち、ディスカバリに起因する負荷が、短期間に集中することを抑止できる。
このように、更新頻度によるディスカバリ方法の自動判断で、収集対象と構成管理サーバの負荷を分散し、最新の構成情報をディスカバリすることが可能である。しかし、一般的なシステムの運用では、更新頻度が「低い」構成情報が多く存在する。そのため、通知型ディスカバリを採用する構成情報の割合が多くなり、収集対象装置200,300,400に構成情報の監視処理に伴う負荷がかかり、システムの運用に悪い影響を与える。
そこで収集対象装置200,300,400の負荷が高いときには、更新頻度が「低い」構成情報の一部については、通知型ディスカバリではなく取得型ディスカバリを採用することが考えられる。例えば、収集対象装置200,300,400の負荷が高いときは、更新頻度が「低い」構成情報のうち、参照頻度も「低い」構成情報については、取得型ディスカバリを採用することが考えられる。参照頻度も「低い」構成情報であれば、更新されていない構成情報にディスカバリを行うことによる処理の非効率化の度合いを最小限に抑えることができる。
<インテリジェントディスカバリ>
取得型ディスカバリには、システムへの負荷に関する問題とは別に、収集対象装置200,300,400の構成情報とCMDB110内の構成情報とが一致しない状態が、長期間放置される可能性があるという問題がある。すなわち取得型ディスカバリでは、長期間参照されない構成情報については、収集対象装置200,300,400内でその構成情報が更新されても、更新結果がCMDB110に反映されない。変更後の値がCMDBに反映されない構成情報が大量に残存していると、CMDB110の内容の信頼性が低下する。そのため構成管理サーバ100は、定期的に監査を行い、CMDB110の構成情報が実体と一致していることの確認が行われる。
そこで、第2の実施の形態では、収集対象装置200,300,400の負荷が高いときは、更新頻度が「低い」、かつ参照頻度も「低い」構成情報について、取得型ディスカバリと定期ディスカバリとを同時に適用する。ここで、取得型ディスカバリと定期ディスカバリとを同時に適用するディスカバリ方法を、インテリジェントディスカバリと呼ぶこととする。
インテリジェントディスカバリでは、定められたスケジュールで定期ディスカバリを行い(例えば毎日午前0時にディスカバリを実施)、かつ構成情報が参照されたときは、最新性を保証するため取得型ディスカバリを実施する。定期ディスカバリのスケジュールは、例えばシステム管理者が設定する。
なお通知型ディスカバリであれば、CMDB110の構成情報は常に実体と一致しているため、定期ディスカバリと併用せずにすむ。また取得型ディスカバリであっても、構成情報の参照頻度が高い場合、CMDB110の構成情報が実体と一致しない期間は短いため、定期ディスカバリを併用しなくてもよい。
図13は、インテリジェントディスカバリ処理の一例を示す図である。インテリジェントディスカバリを実行する契機は、構成情報の参照を契機とする場合と、スケジューラによるディスカバリタイミングであるとの判断を契機とする場合とがあり、それぞれの契機の判断が並列で行われる。
構成情報の参照を契機とする場合の処理手順は、取得型ディスカバリの手順と同様である。スケジューラによるディスカバリタイミングとの判断を契機とする場合の処理手順は、定期ディスカバリの手順と同様である。
図14は、インテリジェントディスカバリの実施例を示す図である。図14の例では、スケジューラでは、毎日午前0時にディスカバリを行うようにスケジュールされている。そのため、収集対象装置200,300,400の構成情報の値が「a」に変化した後、午前0時になるとディスカバリが行われ、変更内容がCMDB110に反映される。その後の参照装置30から参照要求が送信されたときにもディスカバリが実施される。参照装置30は、ディスカバリ完了後にCMDB110内の構成情報を参照する。これにより、更新後の値「a」の構成情報を参照できる。
その後、収集対象装置200,300,400の構成情報の値が「b」に変化したときも同様に、参照要求を待たずに、午前0時になるとディスカバリが行われ、変更内容がCMDB110に反映される。
このようにインテリジェントディスカバリでは構成情報の最新性が保証されると共に、まったく参照されない構成情報も、定期的に更新内容をCMDB110に反映させることができる。すなわち、取得型ディスカバリを単独で採用する構成情報は、利用頻度が0回であると、実際の構成が変更されても、CMDB110の構成情報を変更できない。それに対して、インテリジェントディスカバリは、構成情報の利用頻度が0回であっても、定期的に構成情報を更新することが可能である。
なおインテリジェントディスカバリであっても、複数の参照要求が同時に発生した場合には、収集対象装置200,300,400と構成管理サーバ100とに余分な負荷をかけることになるのは、取得型ディスカバリを単独で採用した場合と同様である。
<ディスカバリ方法自動判断手法>
次に、通知型ディスカバリ、取得型ディスカバリ、およびインテリジェントディスカバリの中から、構成情報にあったディスカバリ方法の自動判断手法について説明する。第2の実施の形態では、ディスカバリ方法の判断指標として、更新頻度(変化特性)に加え、参照頻度(利用特性)と収集対象装置200,300,400の負荷状況を用いる。
参照頻度は、利用者が構成情報を参照する頻度である。構成情報ごとに、参照頻度に特性が現れる。例えばリソースの使用率や性能などの情報は、短期間の変化を監視したいため、参照頻度が高くなる。パッチの適用状況やインストールされているソフトウェアなどの情報は、定期的に利用したいため、参照頻度はあまり高くないものの、一定数の参照がある。サーバの筐体に紐付いたシリアル番号やマックアドレスなどの情報は、利用頻度が低い。
図15は、ディスカバリ方法の判断基準の一例を示す図である。図15には、更新頻度と参照頻度とに応じたディスカバリ方法が示されている。更新頻度は、例えば1時間当たりの更新回数が2回以上であれば「高い」と判定され、1時間当たりの更新回数が1回以下であれば「低い」と判定される。参照頻度は、例えば1時間当たりの参照回数が2回以上であれば「高い」と判定され、1時間当たりの参照回数が1回以下であれば「低い」と判定される。
更新頻度が高い構成情報は、構成情報が変化する度にディスカバリするより、利用する時にディスカバリした方が、収集対象と構成管理サーバの負荷を軽減して最新の構成情報を取得できる。そこで、更新頻度が高い構成情報は、参照頻度や収集対象装置200,300,400の負荷に関係なく、取得型ディスカバリが採用される。
なお、更新頻度と参照頻度との両方が高い場合、参照のたびにディスカバリを行うこととなるが、構成情報の自動変更を考慮すると、参照頻度よりも更新頻度の方が高くなる可能性が高い。しかも取得型ディスカバリにしておけば、構成情報の監視負荷の軽減にもつながる。そこで第2の実施の形態では、更新頻度と参照頻度との両方が高い場合には、取得型ディスカバリを採用するものとする。
更新頻度が低い構成情報は、利用する度にディスカバリするより、構成情報が変化したときにディスカバリした方が、収集対象装置200,300,400と構成管理サーバ100との負荷を軽減して最新の構成情報を取得できる。そこで更新頻度が低い構成情報については、原則として通知型ディスカバリが採用される。ただし、収集対象装置200,300,400の負荷が高く、システムの運用に影響があると判断した場合は、収集対象装置200,300,400の負荷を軽減するために、インテリジェントディスカバリが採用される。
なお更新頻度と参照頻度とが共に低い構成情報については、収集対象装置200,300,400の負荷が低いとき、取得型ディスカバリを採用する案も考えられる。しかし更新頻度が低い構成情報にはIPアドレスのように運用中に更新されることのほとんどないものがあり、参照頻度よりも更新頻度の方が低いことが多い。そのため更新頻度と参照頻度とが共に低い構成情報については、通知型ディスカバリを採用した方が、ディスカバリの回数を削減できる。
構成管理サーバ100は、図15に示すようなディスカバリ方法の判断を、動的に行う。すなわちシステムの運用状況が変わると、構成情報の更新頻度、参照頻度、収集対象装置200,300,400の負荷も変わる。このような状況の変化に応じて、適切なディスカバリ方法が自動で判断され、ディスカバリ方法が変更される。
図16は、運用状況の変化に応じたディスカバリ方法の遷移例を示す図である。インテリジェントディスカバリを実施している構成情報については、更新頻度が低い状態から高い状態に変化すると、ディスカバリ方法が取得型ディスカバリに変更される。またその構成情報を有している収集対象装置の負荷が、高い状態から低い状態に変化すると、ディスカバリ方法が通知型ディスカバリに変更される。
取得型ディスカバリを実施している構成情報については、更新頻度が高い状態から低い状態に変化したとき、参照頻度が低く、負荷が高ければ、ディスカバリ方法がインテリジェントディスカバリに変更される。また更新頻度が高い状態から低い状態に変化したとき、負荷が低い場合、参照頻度の高い・低いに関係なく、ディスカバリ方法が通知型ディスカバリに変更される。
通知型ディスカバリを実施している構成情報については、その構成情報を有している収集対象装置の負荷が低い状態から高い状態に変化したとき、更新頻度と参照頻度とが共に低い状態であれば、ディスカバリ方法がインテリジェントディスカバリに変更される。また参照頻度が高い状態から低い状態に変化したとき、負荷が高い状態であれば、ディスカバリ方法がインテリジェントディスカバリに変更される。さらに更新頻度が低い状態から高い状態に変化したとき、ディスカバリ方法が取得型ディスカバリに変更される。
<性能情報>
次に、収集対象装置200,300,400の負荷を示す性能情報について説明する。
図16に示すように、ディスカバリ方法を判断する際には、収集対象の負荷が考慮される。例えば収集対象の負荷がシステムの運用に影響を与えると判断された場合、通知型ディスカバリが適用されている構成情報の一部について、ディスカバリ方法がインテリジェントディスカバリに変更される。
収集対象装置200,300,400の負荷は、性能監視部130から取得する収集対象装置200,300,400のCPU使用率[%]で判断できる。システムの運用では、多くの場合、SLA(Service Level Agreement)などで、収集対象装置200,300,400ごとに性能の閾値(最大CPU使用率[%])が定義されている。そこで、例えば構成管理サーバ100では、CPU使用率が閾値を超えた場合またはCPU使用率が閾値を超えると予見された場合に、通知型ディスカバリを適用している構成情報の一部について、ディスカバリ方法をインテリジェントディスカバリへ変更する。
[CPU使用率の閾値超えの予見]
構成管理サーバ100は、取得型ディスカバリを適用している構成情報の更新頻度が高い状態から低い状態に変化したとき、その構成情報を有する収集対象装置のCPU使用率が閾値を超える可能性があるかどうかを判断する。そのためには構成管理サーバ100は、監視負荷係数[%]を収集対象ごとに算出する。監視負荷係数とは、通知型ディスカバリを採用する構成情報が1件増えたときの、CPU使用率の増加率[%]である。
収集対象ごとに監視負荷係数を算出することで、収集対象の運用に合わせた最適なディスカバリ方法を自動判断可能となる。監視負荷係数の初期値は、システム管理者が設定する。例えば、構成情報1件あたりの監視負荷係数を0.01[%]とする。監視負荷係数は、運用中に自動補正される。
[監視負荷係数の補正]
監視負荷係数は、ディスカバリ方法を通知型ディスカバリに変更した構成情報が発生したときに、CPU使用率がどれだけ増加するかで補正する。例えば、通知型ディスカバリに変更する前のCPU使用率が48%だったとする。そのとき5件の構成情報について、ディスカバリ方法が通知型ディスカバリに変更されたものとする。ディスカバリ方法を通知型ディスカバリに変更した後のCPU使用率が49%だったとする。この収集対象装置における通知型ディスカバリの監視による監視負荷係数は0.2%となる。計算式は以下の通りである。
監視負荷係数[%]=(ディスカバリ方法変更後のCPU使用率[%]−ディスカバリ方法変更前のCPU使用率[%])/通知型ディスカバリに変更した構成情報数=(49[%]−48[%])/5[件]=0.2[%]
この収集対象装置の構成情報を通知型ディスカバリに変更する際、これから通知型ディスカバリに変更する構成情報の件数[件]と、監視負荷係数[%]から、CPU使用率の増加分[%]を算出できる。例えば10件の構成情報のディスカバリ方法を通知型ディスカバリに変更しようとしたとする。その場合、以下の式でCPU使用率の増加分が算出される。
CPU使用率の増加分[%]=監視負荷係数[%]×通知型ディスカバリに変更する構成情報の件数[件]=0.2[%]×10[件]=2[%]
構成情報のディスカバリ方法変更の対象となっている収集対象装置の最大CPU使用率が50%で、現在のCPU使用率が49%だったとする。この場合、10件の構成情報を通知型ディスカバリに変更することにより、その収集対象装置のCPU使用率が最大CPU使用率を超過する。計算式は以下の通りである。
現在のCPU使用率[%]+CPU使用率の増加分[%]=49[%]+2[%]=51[%]>最大CPU使用率(50[%])
このように、現在取得型ディスカバリを適用している構成情報の更新頻度が低下したとき、その構成情報について通知型ディスカバリを適用すると収集対象装置の負荷が所定値を超えることがある。その場合、構成管理サーバ100は、更新頻度が低下した構成情報について、インテリジェントディスカバリへ変更するのが適切であると判断する。
<第2の実施の形態の処理を実現するために各装置が有する機能>
次に、第2の実施の形態の処理を実現するために各装置が有する機能について説明する。
図17は、第2の実施の形態の各装置の機能を示すブロック図である。構成管理サーバ100の自律型収集エンジン120は、参照制御部121,更新制御部122、参照DB123、更新DB124、ディスカバリ方法変更部125、ディスカバリ方法記憶部125a、ディスカバリ方法変更ログ記憶部126、取得型ディスカバリ実行部127、定期ディスカバリ実行部128、性能監視連携部129、および性能情報記憶部129aを有している。
参照制御部121は、参照装置30により参照された構成情報に対する参照頻度を監視する。そして参照制御部121は、各構成情報の参照頻度を、参照DB123に格納する。また参照制御部121は、取得型ディスカバリを実行するため、取得型ディスカバリ実行部127に参照された構成情報の識別子(例えば収集対象装置の名称と構成情報の名称との組)を通知する。
更新制御部122は、ディスカバリした構成情報に対する更新頻度を監視する。そして更新制御部122は、各構成情報の更新頻度を、更新DB124に格納する。
参照DB123は、参照頻度の情報を蓄積するデータベースである。参照DB123の内容は、参照制御部121により登録/更新される。また参照DB123は、ディスカバリ方法変更部125から定期的に参照される。
更新DB124は、更新頻度の情報を蓄積するデータベースである。更新DB124は、更新制御部122により登録/更新される。また更新DB124は、ディスカバリ方法変更部125から定期的に参照される。
ディスカバリ方法変更部125は、各構成情報の更新頻度と参照頻度と収集対象装置200,300,400の性能情報に基づいて、構成情報ごとのディスカバリ方法を自動で判断する。例えばディスカバリ方法変更部125は、収集対象装置200,300,400と構成管理サーバ100との負荷軽減と構成情報の最新性とを両立させたディスカバリ方法を自動判断し、適用されるディスカバリ方法を変更する。
具体的には、ディスカバリ方法変更部125は、定期的に参照DB123、更新DB124、性能情報記憶部129aを参照する。そしてディスカバリ方法変更部125は、参照頻度を参照DB123から取得し、更新頻度を更新DB124から取得し、収集対象の負荷(例えば現在のCPU使用率と監視負荷係数)を性能情報記憶部129aから取得する。なお、ディスカバリ方法変更部125は、管理対象外となった構成情報の参照頻度と更新頻度とを、それぞれ参照DB123と更新DB124とから削除することもできる。
ディスカバリ方法変更部125は、取得した更新頻度、参照頻度、および性能情報に基づいてディスカバリ方法を決定し、決定したディスカバリ方法を、ディスカバリ方法記憶部125aに設定する。またディスカバリ方法変更部125は、通知型ディスカバリと判断された構成情報について、その構成情報を有する収集対象装置(例えば収集対象装置200)の通知型ディスカバリ対象記憶部211に登録する。ディスカバリ方法記憶部125aおよび通知型ディスカバリ対象記憶部211へのディスカバリ方法の判定結果の反映により、該当する構成情報のディスカバリ方法が変更される。またディスカバリ方法変更部125は、ディスカバリ方法を変更した履歴を、ディスカバリ方法変更ログ記憶部126に書き込む。
ディスカバリ方法記憶部125aは、それぞれの収集対象に対する構成情報ごとのディスカバリ方法を記憶する。ディスカバリ方法記憶部125aに記憶されるディスカバリ方法は、ディスカバリ方法変更部125により登録・更新・削除される。ディスカバリ方法記憶部125aは、取得型ディスカバリ実行部127と定期ディスカバリ実行部128とから参照される。
ディスカバリ方法変更ログ記憶部126は、ディスカバリ方法の変更履歴を記憶する。ディスカバリ方法の変更履歴は、ディスカバリ方法変更部125によってディスカバリ方法変更ログ記憶部126に書き込まれる。ディスカバリ方法変更ログ記憶部126内のディスカバリ方法の変更履歴は、性能監視連携部129から参照される。
取得型ディスカバリ実行部127は、取得型ディスカバリを実行する。例えば取得型ディスカバリ実行部127は、参照制御部121から、参照装置30から受信した参照要求で参照対象となっている構成情報の一覧を取得する。次に取得型ディスカバリ実行部127は、参照装置30が参照を希望している構成情報の一覧の内、ディスカバリ方法記憶部125aにおいて取得型ディスカバリと設定されている構成情報を特定する。そして取得型ディスカバリ実行部127は、特定した構成情報に対して取得型ディスカバリを実行する。
定期ディスカバリ実行部128は、定期ディスカバリを実行する。例えば定期ディスカバリ実行部128は、定期的にディスカバリ方法記憶部125aを参照する。そして定期ディスカバリ実行部128は、ディスカバリ方法記憶部125aからインテリジェントディスカバリを適用する構成情報を特定し、その構成情報に対して指定されているスケジュールにしたがって定期ディスカバリを実行する。
性能監視連携部129は、性能監視部130と連携し、収集対象装置200,300,400の性能情報を管理する。例えば性能監視連携部129は、ディスカバリ方法変更ログ記憶部126を参照し、収集対象装置200,300,400ごとに、通知型ディスカバリに「いつ」、「何件」変更されたかを集計する。また性能監視連携部129は、性能監視部130から収集対象装置200,300,400それぞれの、「最大CPU使用率」と「現在のCPU使用率」と「CPU使用率の履歴」を取得する。そして性能監視連携部129は、取得したディスカバリ方法変更履歴(「いつ」、「何件」)と、取得した収集対象装置200,300,400それぞれの「CPU使用率の履歴」から、「監視負荷係数」を算出する。
そして性能監視連携部129は、収集対象装置200,300,400それぞれの最大CPU使用率と現在のCPU使用率と監視負荷係数を、性能情報記憶部129aに書き込む。なお性能監視連携部129は、管理対象外となった収取対象装置の最大CPU使用率と現在のCPU使用率と監視負荷係数とを性能情報記憶部129aから削除する。
性能情報記憶部129aは、収集対象の最大CPU使用率と現在のCPU使用率と監視負荷係数とを記憶する。性能情報記憶部129aに格納される最大CPU使用率と現在のCPU使用率と監視負荷係数は、性能監視連携部129から登録・更新・削除され、ディスカバリ方法変更部125から参照される。
収集対象装置200の収集エンジン210は、通知型ディスカバリ対象記憶部211と通知型ディスカバリ実行部212とを有している。
通知型ディスカバリ対象記憶部211は、収集対象ごとに通知型ディスカバリを行う構成情報の一覧を記憶する。通知型ディスカバリ対象記憶部211に格納される構成情報の一覧は、ディスカバリ方法変更部125により登録、または削除される。また通知型ディスカバリ対象記憶部211は、通知型ディスカバリ実行部212から定期的に参照される。
通知型ディスカバリ実行部212は、通知型ディスカバリを実行する。例えば通知型ディスカバリ実行部212は、通知型ディスカバリ対象記憶部211を定期的に参照し、通知型ディスカバリを実行する構成情報の一覧を取得する。そして通知型ディスカバリ実行部212は、一覧に示される構成情報に関して、値の変化の有無を監視する。通知型ディスカバリ実行部212は、監視している構成情報に変化があった場合、その構成情報の値を構成管理サーバ100に送信する。
なお、図17に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図17に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
図17に示した要素のうち、ディスカバリ方法変更部125は、図1に示す第1の実施の形態の決定処理部12の一例である。更新制御部122、取得型ディスカバリ実行部127、およびと定期ディスカバリ実行部128を合わせた機能は、図1に示す第1の実施の形態の取得処理部13の一例である。性能監視連携部129と性能監視部130とを合わせた機能は、図1に示した第1の実施の形態の負荷監視処理部14の一例である。参照制御部121は、図1に示した第1の実施の形態の参照管理処理部15の一例である。CMDB110、参照DB123、更新DB124、ディスカバリ方法変更ログ記憶部126、および性能情報記憶部129aを合わせた機能は、図1に示した第1の実施の形態の記憶部11の一例である。
次にディスカバリ方法の判定に用いる各種情報の内容について、詳細に説明する。
図18は、参照DBのデータ構造の一例を示す図である。参照DB123には、レコードごとの情報設定項目として、収集対象、構成情報、最新の参照日時、および前回の参照日時が設けられている。収集対象は、参照された構成情報を有している収集対象装置の名称(収集対象A、収集対象B、・・・)である。構成情報は、参照された構成情報の名称である。最新の参照日時は、構成情報が最後に参照された日時である。前回の参照日時は、構成情報の最後の参照の前にその構成情報が参照された日時である。
前回の参照日時から最新の参照日時までの時間が、構成情報の参照間隔である。この参照間隔が、構成情報の参照頻度を表している。例えば、単位時間を参照間隔で除算した値が、参照頻度(単位時間当たりの参照回数)となる。
図19は、更新DBのデータ構造の一例を示す図である。更新DB124には、レコードごとの情報設定項目として、収集対象、構成情報、最新の更新日時、および前回の更新日時が設けられている。収集対象は、更新された構成情報を有している収集対象装置の名称である。構成情報は、更新された構成情報の名称である。最新の更新日時は、構成情報が最後に更新された日時である。前回の更新日時は、構成情報の最後の更新の前にその構成情報が更新された日時である。前回の更新日時から最新の更新日時までの時間が、構成情報の更新間隔である。この更新間隔が、構成情報の更新頻度を表している。例えば、単位時間を更新間隔で除算した値が、更新頻度(単位時間当たりの更新回数)となる。
図20は、ディスカバリ方法記憶部のデータ構造の一例を示す図である。ディスカバリ方法記憶部125aには、ディスカバリ方法管理テーブル125bが格納されている。ディスカバリ方法管理テーブル125bは、収集する構成情報ごとのディスカバリ方法を設定するデータテーブルである。ディスカバリ方法管理テーブル125bには、収集対象、構成情報、ディスカバリ方法、およびスケジュールの欄が設けられている。
収集対象の欄には、構成情報を有する収集対象装置の名称が設定される。構成情報の欄には、構成情報の名称が設定される。ディスカバリ方法の欄には、対応する構成情報に適用するディスカバリ方法が設定される。スケジュールの欄には、ディスカバリ方法としてインテリジェントディスカバリを適用する場合の、定期ディスカバリのスケジュールが設定される。
図21は、ディスカバリ方法変更ログ記憶部のデータ構造の一例を示す図である。ディスカバリ方法変更ログ記憶部126には、ディスカバリ方法変更ログ126aが記憶されている。ディスカバリ方法変更ログ126aは、構成情報に対するディスカバリ方法が変更されたときの変更内容を示す情報である。ディスカバリ方法変更ログ126aには、日時、収集対象、構成情報、変更後ディスカバリ方法、および変更前ディスカバリ方法の欄が設けられている。
日時の欄には、ディスカバリ方法を変更した日時が設定される。収集対象の欄には、ディスカバリ方法が変更された構成情報を有する収集対象装置の名称が設定される。構成情報の欄には、ディスカバリ方法が変更された構成情報の名称が設定される。変更後ディスカバリ方法の欄には、変更後のディスカバリ方法が設定される。変更前ディスカバリ方法の欄には、変更前のディスカバリ方法が設定される。
図22は、性能情報記憶部のデータ構造の一例を示す図である。性能情報記憶部129aには、収集対象装置の性能情報を設定する性能管理テーブル129bが格納されている。性能管理テーブル129bには、収集対象、最大CPU使用率、CPU使用率、および監視負荷係数の欄が設けられている。図22の例では、収集対象装置の性能情報として、CPU使用率が用いられている。
収集対象の欄には、収集対象装置の名称が設定される。最大CPU使用率の欄には、収集対象装置に許容される最大CPU使用率[%]が設定される。CPU使用率の欄には、収集対象装置の現在のCPU使用率[%]が設定される。監視負荷係数には、収集対象装置の監視負荷係数[%]が設定される。
図23は、収集対象装置それぞれの通知型ディスカバリ対象記憶部のデータ構造の一例を示す図である。収集対象装置200,300,400は、それぞれ通知型ディスカバリ対象記憶部211,311,411を有している。いずれの通知型ディスカバリ対象記憶部211,311,411も、構成管理サーバ100のディスカバリ方法変更部125によって内容の追加・削除などの処理が行われる。
通知型ディスカバリ対象記憶部211,311,411は、例えばそれぞれ通知型ディスカバリ対象一覧211a,311a,411aを記憶する。通知型ディスカバリ対象一覧211a,311a,411aは、対応する収集対象装置が有する構成情報のうち、ディスカバリ方法として通知型ディスカバリを適用する構成情報の名称の一覧である。
以上のような情報を用いて、構成情報ごとのディスカバリ方法を自動更新することができる。
<第2の実施の形態の各装置が実行する処理>
以下、ディスカバリ方法の自動のために、構成管理サーバ100と収集対象装置200,300,400が実行する処理の手順について説明する。
まず、参照処理について説明する。
図24は、参照処理の手順の一例を示すフローチャートである。
[ステップS101]参照制御部121は、参照装置30(端末装置31、クラウドシステム32)から出力された、構成情報の参照要求を受信する。
[ステップS102]参照制御部121は、参照DB123へのレコードの登録、または参照DB123内のレコードの更新を行うことで、参照要求の内容(「いつ」、「どの構成情報が」参照されたか)を、参照DB123に反映させる。例えば参照制御部121は、受信した参照要求における参照対象の構成情報に対応するレコードが参照DB123内になければ、受信した参照要求に応じたレコードを参照DB123に追加登録する。その際、現在の日時を、最新の参照日時の欄に設定する。前回の参照日時の欄は空欄のままとする。
また参照制御部121は、受信した参照要求における参照対象の構成情報に対応するレコードが参照DB123にあれば、そのレコードの内容を更新する。例えば参照制御部121は、参照対象の構成情報に対応するレコードの最新の参照日時の欄の値を、前回の参照日時の欄に設定する。そして参照制御部121は、そのレコードの最新の参照日時の欄に、現在の日時を設定する。
さらに参照制御部121は、参照要求を取得型ディスカバリ実行部127に転送する。
[ステップS103]取得型ディスカバリ実行部127は、参照要求における参照対象の構成情報に適用されているディスカバリ方法が、取得型ディスカバリまたはインテリジェントディスカバリかを判断する。例えば取得型ディスカバリ実行部127は、ディスカバリ方法記憶部125aを参照し、参照要求に示される収集対象装置の名称と構成情報の名称との組により、ディスカバリ方法管理テーブル125b内の、参照対象の構成情報に対応するレコードを特定する。そして取得型ディスカバリ実行部127は、特定したレコードに設定されているディスカバリ方法を確認する。ディスカバリ方法が取得型ディスカバリまたはインテリジェントディスカバリであれば、処理がステップS104に進められる。またディスカバリ方法が通知型ディスカバリであれば、処理がステップS105に進められる。
[ステップS104]取得型ディスカバリ実行部127は、ディスカバリ方法が取得型ディスカバリまたはインテリジェントディスカバリの場合、取得型ディスカバリを実行する。例えば取得型ディスカバリ実行部127は、参照要求で示される収集対象装置に対して、参照対象の構成情報を指定した、構成情報の取得要求を送信する。構成情報の取得要求を受信した収集対象装置では、指定された構成情報を収集エンジンが取得し、構成管理サーバ100に応答する。応答された構成情報は、更新制御部122を介してCMDB110に格納される。
[ステップS105]参照制御部121は、CMDB110から、参照要求で指定された構成情報を取得する。
[ステップS106]参照制御部121は、参照要求の送信元である参照装置に、取得した構成情報を送信する。
このようにして、参照要求における参照対象の構成情報のディスカバリ方法が、取得型ディスカバリまたはインテリジェントディスカバリであれば、取得型ディスカバリが実行される。そして最新の値の構成情報が、参照要求に対して応答される。
次に通知型ディスカバリ処理の手順について説明する。
図25は、通知型ディスカバリ処理の手順の一例を示すフローチャートである。以下、収集対象装置200が通知型ディスカバリを実行する場合を想定し、通知型ディスカバリ処理の手順を説明する。
[ステップS111]通知型ディスカバリ実行部212は、定期的に、ステップS112〜S117の処理を繰り返し実行する。
[ステップS112]通知型ディスカバリ実行部212は、通知型ディスカバリ対象記憶部211から、通知型ディスカバリの対象構成情報一覧を取得する。
[ステップS113]通知型ディスカバリ実行部212は、ディスカバリ対象の構成情報ごとに、ステップS114〜S116の処理を繰り返し実行する。
[ステップS114]通知型ディスカバリ実行部212は、収集対象装置200内に設定されている構成情報を取得する。
[ステップS115]通知型ディスカバリ実行部212は、前回取得した構成常用との差分の有無を判断する。例えば通知型ディスカバリ実行部212は、構成情報を取得するごとに、その構成情報を記憶しておく。そして通知型ディスカバリ実行部212は、前回取得した構成情報の値と、今回取得した構成情報との値とに違いがあれば、差分があると判断する。構成情報の差分がある場合、処理がステップS116に進められる。差分がない場合、処理がステップS117に進められる。
[ステップS116]通知型ディスカバリ実行部212は、構成情報の差分がある場合、構成情報の更新要求を構成管理サーバ100に送信する。送信される更新要求には、更新された構成情報が含まれる。
[ステップS117]通知型ディスカバリ実行部212は、通知型ディスカバリ対象の構成情報すべてに対するステップS114〜S116の処理が完了した場合、処理をステップS118に進める。
[ステップS118]通知型ディスカバリ実行部212は、収集エンジン210の処理停止の指示などにより、通知型ディスカバリ処理の終了が指示された場合、処理を終了する。終了が指示されていなければ、ステップS112〜S117の処理が定期的に繰り返し実行される。
このように通知型ディスカバリ処理では、通知型ディスカバリを適用する構成情報数の分だけ、処理をループさせることとなる。そのため、通知型ディスカバリを適用する構成情報数が多くなるほど、通知型ディスカバリ処理による構成情報の更新の有無の監視などの処理負荷が増大する。
次に、更新要求を取得した際に実行される、更新制御処理の手順について説明する。
図26は、更新制御処理の手順の一例を示すフローチャートである。
[ステップS121]更新制御部122は、収集対象装置200,300,400から最新の構成情報を含む更新要求を受信する。
[ステップS122]更新制御部122は、受信した更新要求に示される構成情報のCMDB110への登録、またはその構成情報によるCMDB110内の構成情報の更新を行う。なお更新制御部122は、構成情報に代えて、構成情報が無いことを示す情報を受信した場合、CMDB110から、該当する構成情報を削除する。
[ステップS123]更新制御部122は、更新DB124へのレコードの登録、または更新DB124内のレコードの更新を行うことで、更新要求の内容(「いつ」、「どの構成情報が」更新されたか)を、更新DB124に反映させる。例えば更新制御部122は、取得した構成情報に対応するレコードが更新DB124内になければ、取得した構成情報に応じたレコードを更新DB124に追加登録する。その際、更新制御部122は、現在の日時を、最新の更新日時の欄に設定する。前回の更新日時の欄は空欄のままとする。
更新制御部122は、取得した構成情報に対応するレコードが更新DB124内にあれば、そのレコードの内容を更新する。例えば更新制御部122は、構成情報に対応するレコードの最新の更新日時の欄の値を、前回の更新日時の欄に設定する。そして更新制御部122は、そのレコードの最新の更新日時の欄に、現在の日時を設定する。
このようにして構成情報が更新された場合、その構成情報の更新日時に関する情報も更新される。
次に、定期的ディスカバリ処理について説明する。
図27は、定期的ディスカバリ処理の手順の一例を示すフローチャートである。
[ステップS131]定期ディスカバリ実行部128は、定期的にステップS132〜S135の処理を繰り返し実行する。
[ステップS132]定期ディスカバリ実行部128は、ディスカバリ方法記憶部125aにおいて、ディスカバリ方法がインテリジェントディスカバリとされている構成情報ごとに、ステップS133〜S134の処理を実行する。
[ステップS133]定期ディスカバリ実行部128は、ディスカバリの時機か否かを判断する。例えば定期ディスカバリ実行部128は、ディスカバリ方法管理テーブル125bのスケジュールの欄を参照し、処理対象の構成情報のディスカバリ時刻を判断する。そして定期ディスカバリ実行部128は、そのディスカバリ時刻と現在の時刻を比較し、ディスカバリ時刻に達している場合、ディスカバリの時機であると判断する。ディスカバリの時機であれば、処理がステップS134に進められる。ディスカバリの時機でなければ、処理がステップS135に進められる。
[ステップS134]定期ディスカバリ実行部128は、処理対象の構成情報がディスカバリの時機になった場合、その構成情報を有している収集対象装置から、最新の構成情報を取得する。取得した構成情報に応じて、CMDB110の内容が更新される。
[ステップS135]定期ディスカバリ実行部128は、ディスカバリ方法がインテリジェントディスカバリとされている構成情報のすべてについて、ステップS133〜S134の処理を実行した場合、処理がステップS136に進められる。
[ステップS136]定期ディスカバリ実行部128は、自律型収集エンジン120の処理停止の指示などにより、構成情報の収集処理の終了が指示された場合、処理を終了する。終了が指示されていなければ、ステップS132〜S135の処理が定期的に繰り返し実行される。
このようにして、インテリジェントディスカバリが適用される構成情報について、定期ディスカバリを実施することができる。
次に、性能監視連携処理について説明する。
図28は、性能監視連携処理の手順の一例を示すフローチャートである。
[ステップS141]性能監視連携部129は、ステップS142〜S152に示す性能監視連携処理を定期的に繰り返す。
[ステップS142]性能監視連携部129は、収集対象装置200,300,400ごとに、ステップS143〜S151に示す、性能管理テーブル129bの登録・更新処理を行う。
[ステップS143]性能監視連携部129は、性能監視部130から、処理対象の収集対象装置の最大CPU使用率を取得する。
[ステップS144]性能監視連携部129は、性能監視部130から、処理対象の収集対象装置の現在のCPU使用率を取得する。
[ステップS145]性能監視連携部129は、性能監視部130から、CPU使用率の履歴を取得する。
図29は、性能監視部から提供されるCPU使用率の履歴の一例を示す図である。例えば性能監視部130は、複数の収集対象装置200,300,400それぞれから、定期的にCPU使用率を取得する。性能監視部130は、取得したCPU使用率に取得した日時(タイムスタンプ)を付与し、収集対象装置200,300,400ごとにメモリ102内に、CPU使用率履歴41〜43として保持する。そして性能監視部130は、性能監視連携部129からの要求に応じて、CPU使用率履歴41〜43を送信する。性能監視連携部129は、性能監視部130から取得したCPU使用率履歴41〜43に基づいて、「いつ」CPU使用率が「どのように変化したか」を判断できる。
以下、図28の説明に戻る。
[ステップS146]性能監視連携部129は、ディスカバリ方法変更ログ記憶部126から、処理対象の収集対象装置のディスカバリ方法の変更履歴を取得する。取得するディスカバリ方法の変更履歴は、ディスカバリ方法変更ログ126a内の処理対象の収集対象装置に関するレコードでる。取得した変更履歴により、「いつ」ディスカバリ方法を「どのように変更したか」が判断できる。なお性能監視連携部129は、以前に変更履歴を取得したときより後にディスカバリ方法変更ログ126aに登録された変更履歴のみを取得するようにしてもよい。
[ステップS147]性能監視連携部129は、性能情報記憶部129a内の性能管理テーブル129bに、処理対象の収集対象装置の最大CPU使用率を登録する。なお性能監視連携部129は、性能管理テーブル129bに、既に最大CPU使用率が登録されていれば、登録されている値を、新たに取得した最大CPU使用率で更新する。
[ステップS148]性能監視連携部129は、性能情報記憶部129a内の性能管理テーブル129bに、処理対象の収集対象装置の現在のCPU使用率を登録する。なお性能監視連携部129は、性能管理テーブル129bに、既にCPU使用率が登録されていれば、登録されている値を、新たに取得したCPU使用率で更新する。
[ステップS149]性能監視連携部129は、処理対象の収集対象装置のディスカバリ方法の変更履歴の有無を判断する。変更履歴があれば、処理がステップS150に進められる。変更履歴がなければ、処理がステップS152に進められる。
[ステップS150]性能監視連携部129は、処理対象の収集対象装置の監視負荷係数を算出する。例えば性能監視連携部129は、処理対象の収集対象装置のディスカバリ方法の変更履歴から、取得型ディスカバリまたはインテリジェントディスカバリから通知型ディスカバリへ、ディスカバリ方法を変更した構成情報を抽出する。なお、監視負荷係数は、CPU使用率の履歴とディスカバリ方法の変更履歴から算出できる。例えば性能監視連携部129は、まず、ディスカバリ方法の変更履歴から通知型ディスカバリに変更された構成情報の「件数」と「日時」を取得する。次に性能監視連携部129は、通知型ディスカバリに変更された「日時」と同時刻の「CPU使用率の変化」を、CPU使用率の履歴から取得する。そして性能監視連携部129は、求めた「CPU使用率の変化」を、通知型ディスカバリに変更された構成情報の「件数」で除算する。除算結果は、通知型ディスカバリを採用する構成情報が1件増えたときの、CPU使用率の増加率を表している。このCPU使用率の増加率が、監視負荷係数として用いられる。
[ステップS151]性能監視連携部129は、性能情報記憶部129a内の性能管理テーブル129bに、処理対象の収集対象装置の監視負荷係数を登録する。なお性能監視連携部129は、性能管理テーブル129bに、既に監視負荷係数が登録されていれば、登録されている値を、新たに算出した監視負荷係数で更新する。
[ステップS152]性能監視連携部129は、すべての収集対象装置200,300,400に対して、ステップS143〜S151の処理を実行した場合、処理をステップS153に進める。
[ステップS153]性能監視連携部129は、自律型収集エンジン120の処理停止の指示などにより、性能監視連携処理の終了が指示された場合、処理を終了する。終了が指示されていなければ、ステップS142〜S152の処理が定期的に繰り返し実行される。
このようにして、性能情報記憶部129a内に、収集対象装置200,300,400それぞれの性能情報が格納される。
次に、ディスカバリ方法変更処理の手順について説明する。
図30は、ディスカバリ方法変更処理の手順の一例を示すフローチャートである。
[ステップS161]ディスカバリ方法変更部125は、ステップS162〜S170に示すディスカバリ方法の変更処理を、定期的に繰り返す。
[ステップS162]ディスカバリ方法変更部125は、ディスカバリ方法記憶部125a内のディスカバリ方法管理テーブル125bに格納されている情報の登録または更新処理を、収集対象装置200,300,400ごとに繰り返し実行する。
[ステップS163]ディスカバリ方法変更部125は、処理対象の構成情報ごとに、ステップS164〜S167に示すディスカバリ方法の判断処理を、繰り返し実行する。
[ステップS164]ディスカバリ方法変更部125は、更新DB124から、判断対象の構成情報の更新頻度を示す情報を取得する。例えばディスカバリ方法変更部125は、更新DB124から、判断対象の構成情報の最新の更新日時と前回の更新日時とを取得する。そしてディスカバリ方法変更部125は、最新の更新日時から前回の更新日時を減算した値を、判断対象の構成情報の更新頻度とする。
[ステップS165]ディスカバリ方法変更部125は、判断対象の構成情報の更新頻度が、所定値より高いか低いかを判断する。例えばディスカバリ方法変更部125は、更新頻度が1時間に1回を超えていれば更新頻度が高いと判断し、更新頻度が1時間に1回以下であれば、更新頻度が低いと判断する。更新頻度が1時間に1回を超えている場合とは、最新の更新日時から前回の更新日時を減算した値が1時間を超えている場合である。また更新頻度が1時間に1回以下の場合とは、最新の更新日時から前回の更新日時を減算した値が1時間以下の場合である。更新頻度が高ければ、処理がステップS167に進められる。更新頻度が低ければ、処理がステップS166に進められる。
[ステップS166]ディスカバリ方法変更部125は、更新頻度が低い場合、判断対象の構成情報のディスカバリ方法を、通知型ディスカバリと暫定的に決定する。ディスカバリ方法変更部125は、暫定的に決めたディスカバリ方法を、例えばメモリ102内に設けたディスカバリ方法一時保存域に保存する。その後、処理がステップS168に進められる。
[ステップS167]ディスカバリ方法変更部125は、更新頻度が高い場合、判断対象の構成情報のディスカバリ方法を、取得型ディスカバリと暫定的に決定する。ディスカバリ方法変更部125は、判断対象の構成情報に対して暫定的に決めたディスカバリ方法を、例えばメモリ102内に設けたディスカバリ方法一時保存域に保存する。
[ステップS168]ディスカバリ方法変更部125は、処理対象の収集対象装置の構成情報すべてについて、ステップS164〜S167に示したディスカバリ方法の判断が完了した場合、処理をステップS169に進める。完了していなければ、ディスカバリ方法変更部125は、未処理の構成情報ついて、ステップS164〜S167の処理を繰り返す。
[ステップS169]ディスカバリ方法変更部125は、ディスカバリ方法登録/更新処理を行う。この処理の詳細は後述する(図31、図32参照)。
[ステップS170]ディスカバリ方法変更部125は、すべての収集対象装置についてステップS163〜S169の処理が完了したら、処理をステップS171に進める。完了していなければ、ディスカバリ方法変更部125は、未処理の収集対象装置について、ステップS163〜S169の処理を繰り返す。
[ステップS171]ディスカバリ方法変更部125は、自律型収集エンジン120の処理停止の指示などにより、ディスカバリ方法変更処理の終了が指示された場合、処理を終了する。終了が指示されていなければ、ステップS162〜S170の処理が定期的に繰り返し実行される。
次に、ディスカバリ方法の登録/更新処理の手順について詳細に説明する。
図31は、ディスカバリ方法の登録/更新処理の手順の一例を示すフローチャートの前半である。
[ステップS181]ディスカバリ方法変更部125は、現在処理対象となっている収集対象装置の収集対象監視負荷係数を、性能情報記憶部129aから取得する。
[ステップS182]ディスカバリ方法変更部125は、処理対象となっている収集対象装置の現在のCPU使用率を、性能情報記憶部129aから取得する。ディスカバリ方法変更部125は、取得したCPU使用率を変数Yに設定する。
[ステップS183]ディスカバリ方法変更部125は、処理対象となっている収集対象装置の最大のCPU使用率を、性能情報記憶部129aから取得する。ディスカバリ方法変更部125は、取得した最大のCPU使用率を変数Xに設定する。
[ステップS184]ディスカバリ方法変更部125は、処理対象となっている収集対象装置の構成情報のうち、現在、通知型ディスカバリを採用している構成情報の一覧(I)を、ディスカバリ方法記憶部125aから取得する。
[ステップS185]ディスカバリ方法変更部125は、処理対象となっている収集対象装置の構成情報のうち、暫定的に通知型ディスカバリを採用すると判断した構成情報の一覧(II)を取得する。構成情報の一覧(II)は、例えばステップS166で記憶しておいたメモリ102内のディスカバリ方法一時保存域から取得することができる。
[ステップS186]ディスカバリ方法変更部125は、処理対象となっている収集対象装置の構成情報のうち、通知型ディスカバリを採用する構成情報の増減を算出する。例えばディスカバリ方法変更部125は、構成情報の一覧(II)に含まれる構成情報数から、構成情報の一覧(I)に含まれる構成情報数を減算し、減算結果を増減数とする。減算結果が正の値であれば、通知型ディスカバリを適用する構成情報数が増加する。また減算結果が負の値であれば、通知型ディスカバリを適用する構成情報数が減少する。
[ステップS187]ディスカバリ方法変更部125は、処理対象となっている収集対象装置のCPU使用率の増減を算出する。例えばディスカバリ方法変更部125は、通知型ディスカバリを採用する構成情報の増減と、処理対象となっている収集対象装置の監視負荷係数とから、CPU使用率の増減[%]を算出する。例えばディスカバリ方法変更部125は、通知型ディスカバリを採用する構成情報の増減に監視負荷係数を乗算した値を、CPU使用率の増減[%]とする。算出した値が正であればCPU使用率が増加し、負であればCPU使用率が減少する。ディスカバリ方法変更部125は、算出したCPU使用率の増減値を、変数Zに設定する。その後、処理がステップS191(図32参照)に進められる。
図32は、ディスカバリ方法の登録/更新処理の手順の一例を示すフローチャートの後半である。
[ステップS191]ディスカバリ方法変更部125は、処理対象となっている収集対象装置の最大CPU使用率(X)とCPU使用率予測値を比較する。CPU使用率予測値は、現在のCPU使用率(Y)に、CPU使用率の増減値(Z)を加算した値である。CPU使用率予測値が最大CPU使用率以上の場合、処理がステップS192に進められる。CPU使用率予測値が最大CPU使用率未満であれば、処理がステップS198に進められる。
[ステップS192]ディスカバリ方法変更部125は、CPU使用率予測値が最大CPU使用率以上の場合(X≦Y+Z)、通知型ディスカバリ予定の構成情報ごとに、ステップS193〜S196に示す、ディスカバリ方法の判断処理を実行する。
[ステップS193]ディスカバリ方法変更部125は、参照DB123から、判断対象の構成情報の参照頻度を取得する。
[ステップS194]ディスカバリ方法変更部125は、判断対象の構成情報の参照頻度が、高いか低いかを判断する。例えばディスカバリ方法変更部125は、参照頻度が1時間に1回を超えていれば参照頻度が高いと判断し、参照頻度が1時間に1回以下であれば、参照頻度が低いと判断する。参照頻度が1時間に1回を超えている場合とは、最新の参照日時から前回の参照日時を減算した値が1時間を超えている場合である。また参照頻度が1時間に1回以下の場合とは、最新の参照日時から前回の参照日時を減算した値が1時間以下の場合である。参照頻度が高ければ、処理がステップS196に進められる。参照頻度が低ければ、処理がステップS195に進められる。
[ステップS195]ディスカバリ方法変更部125は、参照頻度が低い場合、判断対象の構成情報のディスカバリ方法を、インテリジェントディスカバリと暫定的に決定する。すなわち、CPU使用率予測が最大CPU使用率を上回り、かつ構成情報の参照頻度が低い場合には、その構成情報のディスカバリ方法がインテリジェントディスカバリと暫定的に決定される。ディスカバリ方法変更部125は、暫定的に決定したディスカバリ方法を、例えば、メモリ102内のディスカバリ方法一時保存域に保存する。その後、処理がステップS197に進められる。
[ステップS196]ディスカバリ方法変更部125は、参照頻度が高い場合、判断対象の構成情報のディスカバリ方法を、通知型ディスカバリと暫定的に決定する。すなわち、CPU使用率予測が最大CPU使用率を上回り、かつ構成情報の参照頻度が高い場合には、その構成情報のディスカバリ方法が通知型ディスカバリと暫定的に決定される。ディスカバリ方法変更部125は、暫定的に決定したディスカバリ方法を、例えば、メモリ102内のディスカバリ方法一時保存域に保存する。
[ステップS197]ディスカバリ方法変更部125は、処理対象となっている収集対象装置のすべての構成情報につて、ステップS193〜S196の処理が完了した場合、処理をステップS198に進める。未処理の構成情報があれば、ステップS193〜S196の処理が繰り返し実行される。
[ステップS198]ディスカバリ方法変更部125は、処理対象となっている収集対象装置の各構成情報について暫定的に決定したディスカバリ方法の一覧を、ディスカバリ方法一時保存域から取得する。
[ステップS199]ディスカバリ方法変更部125は、処理対象となっている収集対象装置の構成情報ごとのディスカバリ方法を、ディスカバリ方法管理テーブル125bに登録する。なお該当する構成情報のレコードがすでにディスカバリ方法管理テーブル125bに登録されていれば、ディスカバリ方法変更部125は、該当レコードのディスカバリ方法を更新する。
[ステップS200]ディスカバリ方法変更部125は、ディスカバリ方法変更ログ126aを更新する。例えばディスカバリ方法変更部125は、処理対象となっている収集対処装置の名称と構成情報との組に、変更前のディスカバリ方法、変更後のディスカバリ方法、および変更時刻を付加したレコードを、ディスカバリ方法変更ログ126aに格納する。
以上のようにして、システムの負荷を軽減できるように、ディスカバリ方法を動的に変更することができる。その結果、システムの負荷が軽減される。しかも第2の実施の形態では、構成情報ごとに適切なディスカバリ方法を決定することができ、ディスカバリ方法の柔軟な設定が可能である。
さらに収集対象装置の負荷が所定値を超えそうな場合、通知型ディスカバリがそれ以上増加することを抑止することができる。その結果、通知型ディスカバリの増加による収集対象装置における監視負荷が軽減され、収集対象装置が過負荷となることが抑止される。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1) 収集対象となる収集対象装置から構成情報の値を取得して、前記収集対象装置の構成を管理する構成管理装置において、
前記構成情報が参照される頻度、前記構成情報の値が更新される頻度、および前記収集対象装置の負荷のうちの少なくとも1つに基づいて、前記収集対象装置の負荷が抑えられるように、前記構成情報を取得する時機を決定する決定処理部と、
前記収集対象装置と連携し、決定した時機に、前記収集対象装置から前記構成情報を取得する取得処理部と、
を有する構成管理装置。
(付記2) 前記決定処理部は、前記構成情報に対する参照要求が入力されたときを前記構成情報の取得時機とする第1の時機と、前記構成情報の値が更新されたときを前記構成情報の取得時機とする第2の時機と、所定のスケジュールで指定された時機と構成情報に対する参照要求が入力されたときとを前記構成情報の取得時機とする第3の時機との中から、構成情報を取得する時機を決定する、
ことを特徴とする付記1記載の構成管理装置。
(付記3) 前記決定処理部は、前記構成情報の更新頻度が所定値より高い場合は、前記構成情報に対する参照要求が入力されたときを前記構成情報の取得時機とし、前記構成情報の更新頻度が所定値以下の場合は、前記構成情報の値が更新されたときを前記構成情報の取得時機とする、
ことを特徴とする付記1または2に記載の構成管理装置。
(付記4) 前記決定処理部は、前記構成情報の参照頻度が所定値以下の場合は、所定のスケジュールで指定された時機と前記構成情報に対する参照要求が入力されたときとを前記構成情報の取得時機とし、前記構成情報の参照頻度が所定値より高い場合は、前記構成情報の値が更新されたときを前記構成情報の取得時機とする、
ことを特徴とする付記1または2に記載の構成管理装置。
(付記5) 前記決定処理部は、前記収集対象装置の負荷が所定値より高い場合は、所定のスケジュールで指定された時機と前記構成情報に対する参照要求が入力されたときとを前記構成情報の取得時機とし、前記収集対象装置の負荷が所定値以下の場合は、前記構成情報の値が更新されたときを前記構成情報の取得時機とする、
ことを特徴とする付記1または2に記載の構成管理装置。
(付記6) 前記決定処理部は、前記構成情報が参照される頻度、前記構成情報が更新される頻度、および前記収集対象装置の負荷の組み合わせにより、前記構成情報を取得する時機を決定する、
ことを特徴とする付記1または2に記載の構成管理装置。
(付記7) 前記決定処理部は、前記構成情報が複数有るとき、複数の構成情報それぞれについて取得する時機を判断し、
前記取得処理部は、前記複数の構成情報それぞれについて決定した時機に、前記複数の構成情報それぞれを取得する、
ことを特徴とする付記1乃至6のいずれかに記載の構成管理装置。
(付記8) 前記決定処理部は、前記複数の構成情報のうち、値が更新されたときを取得時機とする構成情報数の増減と、前記収集対象装置の負荷の増減に基づいて、前記構成情報数が1増加するごとの前記収集対象装置の負荷量を求め、当該負荷量を現在の前記収集対象装置の負荷に加算したとき、前記収集対象装置の負荷が所定値以上となる場合、前記構成情報数の増加を抑止する、
ことを特徴とする付記7記載の構成管理装置。
(付記9) 構成情報の収集対象となる収集対象装置と、前記収集対象装置から前記構成情報の値を取得して、前記収集対象装置の構成を管理する構成管理装置とを有する構成管理システムにおいて、
前記構成管理装置は、前記構成情報が参照される頻度、前記構成情報の値が更新される頻度、および前記収集対象装置の負荷のうちの少なくとも1つに基づいて、前記収集対象装置の負荷が抑えられるように、前記構成情報を取得する時機を決定し、前記収集対象装置と連携し、決定した時機に、前記収集対象装置から前記構成情報を取得し、
前記収集対象装置は、前記構成管理装置と連携して、前記構成管理装置で決定された時機に、前記構成情報を前記構成管理装置に送信する、
ことを特徴とする構成管理システム。
(付記10)
収集対象となる収集対象装置から構成情報の値を取得して、前記収集対象装置の構成を管理する処理をコンピュータに実行させる構成管理プログラムにおいて、
前記コンピュータに、
前記構成情報が参照される頻度、前記構成情報の値が更新される頻度、および前記収集対象装置の負荷のうちの少なくとも1つに基づいて、前記収集対象装置の負荷が抑えられるように、前記構成情報を取得する時機を決定し、
前記収集対象装置と連携し、決定した時機に、前記収集対象装置から前記構成情報を取得する、
処理を実行させる構成管理プログラム。