以下に、本願の開示するシステム管理装置、システム管理プログラム及びシステム管理方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
[1.システム管理方法について]
本実施例にかかるシステム管理方法は、管理対象である情報処理システムにおいて過去に発生した障害の障害発生箇所と該障害を原因として観測された症状の症状観測箇所との因果関係を記憶しておき、同様の症状が観測された場合に、該症状が観測された症状観測箇所との間で上記因果関係と同様の因果関係を有する機器等を障害発生箇所候補として特定する。以下に、本実施例にかかるシステム管理方法について概略的に説明する。図1−1は障害発生箇所候補を特定する処理を説明するための図、図1−2はトラブル事例情報に基づき生成したクエリ式を対処情報記憶部へ登録する処理を説明するための図である。
本実施例に係るシステム管理方法では、図1−1に示すように、CMDB(Configuration Management Database)10に記憶された構成情報及び対処情報記憶部22に記憶されたトラブル対処情報を用いて、障害発生箇所候補の特定を行う。CMDB10は、管理対象となる情報処理システムの構成情報を一元管理する構成管理データベースであり、情報処理システムの構成情報として、構成要素情報と関連要素情報とを記憶する。
構成要素情報とは、情報処理システムに含まれるサーバや、ルータ、アプリケーション等の構成要素に関する情報であり、該構成要素を識別する識別情報と各構成要素の種別を表す構成種別情報とを含む。関連要素情報は、構成要素間の関連を表す情報であり、構成要素情報に含まれる識別情報と、該識別情報によって識別される構成要素と関連を有する構成要素を識別するための識別情報と、該関連の種別を表す関連種別情報とを含む。以下、構成要素情報をCI(Configuration Item)といい、関連要素情報をリレーションという。
対処情報記憶部22は、障害発生箇所候補の特定に必要な情報をトラブル対処情報として記憶するデータベースである。具体的には、対処情報記憶部22は、障害発生箇所候補を特定するためのクエリ式221を、症状の内容を表す症状内容情報222や該症状の原因となる障害に対して行うべき対処の内容を表す対処内容情報223等と対応付けて記憶する。
ここで、クエリ式221は、CMDB10に記憶されたCIの中から、障害発生箇所候補となる構成要素に対応するCIを特定するための検索式であり、障害を原因とする症状が観測された構成要素である症状観測要素と該障害が発生した構成要素である障害発生要素との因果関係が指定される。因果関係とは、症状観測要素のCIと障害発生要素のCIとがCMDB10に記憶された構成情報上において有する関連を示す。具体的には、クエリ式221には、構成要素の構成種別情報と各構成要素間の関連の関連種別情報とが所定の順序で指定される。例えば、関連種別情報「A」→構成種別情報「B」→関連種別情報「A」の順序で指定されたクエリ式は、始点となるCIから関連種別「A」のリレーション→該リレーションにより始点となるCIとの関連が示される構成種別「B」のCI→該CIの識別情報を含む関連種別「A」のリレーションを辿り特定されるCIを要求することを示す。
本実施例にかかるシステム管理方法は、図1−1に示すように、先ず、作業者の使用する端末装置2bから、症状観測要素に関する情報と該症状の内容を表す症状内容情報とをネットワークを介して取得する(ステップS101)。続いて、取得した症状内容情報と一致する症状内容情報222と対応付けられたクエリ式221を対処情報記憶部22から取得する。そして、端末装置2から取得した症状観測要素に関する情報に対応するCIを始点として、取得したクエリ式に基づくCMDB10の検索処理を実行する(ステップS102)。かかる検索処理により、CMDB10に記憶されたCI及びリレーションのうち、取得したクエリ式に含まれる関連種別情報と同一の関連種別情報を含むリレーションとクエリ式に含まれる構成種別情報と同一の構成種別情報を含むCIとを指定された順序で辿り特定されたCIが障害発生箇所候補のCIとして抽出される(ステップS103)。
そして、本実施例にかかるシステム管理方法では、抽出した障害発生箇所候補のCIを、端末装置2から取得した症状内容情報と同一の症状内容情報と対応付けて対処情報記憶部22に記憶された対処内容情報223とともに端末装置2へネットワークを介して送信する(ステップS104)。
このように、本実施例にかかるシステム管理方法では、情報処理システムにおいて発生した障害を原因とする症状が観測された場合に、該症状が観測された構成要素のCIを始点とし、該症状の内容を表す症状内容情報と対応付けられたクエリ式に基づきCMDB10の検索処理を実行し特定されるCIを障害発生箇所候補のCIとして抽出する。これにより、作業者は、症状に関する情報を入力することで、該症状の原因となる障害の発生箇所の候補に関する情報を取得することができ、トラブル対処作業の効率性を向上させることができる。
また、本実施例にかかるシステム管理方法では、情報処理システムにおいて新規に発生した障害に対して実施されたトラブル対処作業の作業履歴に基づき、上記クエリ式221を生成し、対処情報記憶部22に登録する。
具体的には、情報処理システムにおいて新規な障害が発生した場合、端末装置2aを使用する作業者は、症状が観測された構成要素や症状の内容等から、自身のノウハウに基づき障害発生箇所を特定して、対処を行う。このようなトラブル対処作業を行った場合、端末装置2aには、該トラブル対処作業の作業履歴として、症状観測要素に関する情報、症状の内容を表す症状内容情報、障害発生要素に関する情報、障害発生要素に対して行った対処の内容を表す対処内容情報等が記憶される。
トラブル対処作業の作業履歴は、図1−2に示すように、端末装置2aからネットワークを介して送信され、事例情報記憶部21にトラブル事例情報として記憶される(ステップS111)。続いて、本実施例にかかるシステム管理方法では、事例情報記憶部21に記憶された症状観測要素に関する情報及び障害発生要素に関する情報に基づき、クエリ式を生成する(ステップS112)。
具体的には、先ず、症状観測要素に対応するCIから障害発生要素に対応するCIまでの間に介在するリレーション及びCIを、リレーションに含まれる各構成要素の識別情報に基づき特定する。続いて、特定した各リレーション及び各CIの関連種別情報及び構成種別情報を、各リレーション及び各CIが症状観測要素に対応するCIから障害発生要素に対応するCIまでの間に介在する順序で指定したクエリ式を生成する。
例えば、症状観測要素のCIから障害発生要素のCIまでの間に、関連種別情報「A」のリレーション、構成種別情報「B」のCI及び関連種別「A」のリレーションが、それぞれ関連種別情報「A」のリレーション→構成種別情報「B」のCI→関連種別「A」のリレーションの順に介在しているとする。かかる場合、関連種別情報「A」、構成種別情報「B」及び関連種別情報「A」が、関連種別情報「A」→構成種別情報「B」→関連種別情報「A」の順序で指定されたクエリ式が生成される。そして、生成されたクエリ式は、事例情報記憶部21に記憶された症状内容情報及び対処内容情報と対応付けて対処情報記憶部22へ登録される(ステップS113)。
[2.システム管理装置の構成]
次に、本実施例にかかるシステム管理装置の構成について図面を参照して説明する。図2は本実施例にかかるシステム管理装置の構成を示すブロック図である。
図2に示すように、本実施例にかかるシステム管理装置1は、CMDB10と、記憶部20と、制御部30とを有する。また、システム管理装置1は、LAN(Local Area Network)等のネットワークを介して端末装置2a,2bと接続する。なお、端末装置2a,2bは、システム管理者等の作業者が使用する端末装置であり、専用のコンピュータのほか、一般的なパーソナルコンピュータ等を適用することができる。
[2.1.CMDBの構成]
CMDB10は、上述したように、情報処理システムの構成情報を一元管理する構成管理データベースであり、構成情報として、CIおよびリレーションを記憶する。ここで、CMDB10に記憶されるCIおよびリレーションについて説明する。図3はCMDBに記憶される構成情報のデータ構成の一例であり、図4は図3に示した構成情報に基づく情報処理システムの構成イメージ図である。
図3に示すように、CMDB10は、CIとして、「CI id」と「item」と「type」と「name」と「ip」とを対応付けて記憶する。なお、「name」及び「ip」は、これらの情報が構成要素に割当てられている場合にのみ記憶される。
「CI id」は、情報処理システムに含まれる構成要素を識別するための識別情報である。また、「item」および「type」は、構成種別情報に相当し、構成要素の種別を示す。「item」は、CMDB10において決められた構成要素の名称を表す要素名情報である。例えば、構成要素がPCである場合、該構成要素に対応するCIのitemは「Pc」となり、構成要素がアプリケーションである場合、該構成要素に対応するCIのitemは「App」となる。
また、「type」は、同一のitemを持つ構成要素同士をさらに分類するための分類情報であり、PCの型番やOS名、アプリケーション名等で表される。例えば、図3に示すように、CI id「0SOIW3SH」とitem「Pc」とtype「FMD22」とを有するCIは、該CIに対応する構成要素が、型番「FMD22」のPCであることを示す。また、CI id「029KKZHE」とitem「App」とtype「mysql」とを有するCIは、該CIに対応する構成要素が、「mysql」という名称のアプリケーションであることを示す。
また、「name」は、item「Pc」を有する各構成要素に個別に与えられる名称である。例えば、CI id「0SOIW3SH」を有するitem「Pc」のCIには、name「HostA」が対応付けられている。nameにより、同一のtype「FRONTIER DX200」を有するitem「Pc」同士を識別することができる。
このように、CMDB10は、管理対象に含まれる構成要素を識別するための識別情報と、各構成要素の種別を表す構成種別情報とを対応付けて構成要素情報として記憶する構成要素情報記憶手段として機能する。
また、CMDB10は、リレーションとして、図3に示すように、Relation idとsrcとdstとtypeとを対応付けて記憶する。Relation idは、リレーションごとに割当てられる識別情報である。
src(Source)は、リレーションにより関連が示される2つの構成要素のうち、主体となる構成要素を示す情報であり、CI idで表される。また、dst(Destination)は、リレーションにより関連が示される2つの構成要素のうち、客体となる構成要素を示す情報であり、srcと同様、CI idで表される。例えば、src「0SOIW3SH」とdst「H38FHZ0S」とが対応付けて記憶されているリレーションは、id「0SOIW3SH」を有する構成要素がid「H38FHZ0S」を有する構成要素に対して有している関連を示す。
また、「type」は、主体となる構成要素が客体となる構成要素に対して有する関連の種別を示す関連種別情報である。例えば、「Has」は、主体となる構成要素が客体となる構成要素を所有していることを示す。また、「InstalledOn」は、主体となる構成要素が客体となる構成要素にインストールされていることを示す。また、「ConnectedTo」は、主体となる構成要素が客体となる構成要素と接続されていることを示す。
より具体的には、例えば、src「0SOIW3SH」とdst「H38FHZ0S」とtype「Has」とを有するリレーションは、id「0SOIW3SH」を有するPCがid「H38FHZ0S」を有するOSを所有していることを示す情報である。また、src「H38FHZ0S」とdst「0SOIW3SH」とtype「InstalledOn」とを有するリレーションは、id「H38FHZ0S」を有するOSがid「0SOIW3SH」を有するPCにインストールされていることを示す情報である。
このように、CMDB10は、構成要素の識別情報と、該構成要素の識別要素によって識別される構成要素と関連を有する構成要素を識別するための識別要素と、該関連の種別を表す関連種別情報とを対応付けて関連要素情報として記憶する関連要素情報記憶手段として機能する。
なお、以下では、図3に示すCIのうち、CI id「0SOIW3SH」、item「Pc」、type「FMD22」及びname「HostA」を有するCIをCI300aとし、CI id「SS9IHKER」、item「Pc」、type「FRONTIER DX200」及びname「HostB」を有するCIをCI300bとする。同様に、CI id「H38FHZ0S」、item「Os」、type「Won3k」及びip「192.168.1.10」を有するCIをCI300cとし、CI id「93H6SK8A」、item「Os」、type「WonSP」及びip「192.168.1.11」を有するCIをCI300dとする。
同様に、CI id「029KKZHE」、item「App」及びtype「mysql」を有するCIをCI300eとし、CI id「2H9JIIHY」、item「App」及びtype「tomcat」を有するCIをCI300fとする。同様に、CI id「HREIO928」、item「Instance」及びtype「table_a」を有するCIをCI300gとし、CI id「5T98IKSH」、item「Instance」及びtype「servlet_a」を有するCIをCI300hとする。
また、以下において、図3に示すリレーションのうち、Relation id「02JOIUJM」、src「0SOIW3SH」、dst「H38FHZ0S」及びtype「Has」を有するリレーションをリレーション400aとし、Relation id「TPO21RIK」、src「H38FHZ0S」、dst「0SOIW3SH」及びtype「InstalledOn」で示すリレーションをリレーション400bとする。
同様に、Relation id「09AWIJMA」、src「SS9IHKER」、dst「93H6SK8A」及びtype「Has」を有するリレーションをリレーション400cとし、Relation id「HKE928UH」、src「93H6SK8A」、dst「SS9IHKER」及びtype「InstalledOn」を有するリレーションをリレーション400dとする。同様に、Relation id「JY9W84II」、src「H38FHZ0S」、dst「93H6SK8A」及びtype「ConnectedTo」を有するリレーションをリレーション400eとする。
同様に、Relation id「IEJJBGB0」、src「H38FHZ0S」、dst「029KKZHE」及びtype「Has」を有するリレーションをリレーション400fとし、Relation id「49AO2KAW」、src「029KKZHE」、dst「H38FHZ0S」及びtype「InstalledOn」を有するリレーションをリレーション400gとする。同様に、Relation id「Q09R5IKS」、src「93H6SK8A」、dst「2H9JIIHY」及びtype「Has」を有するリレーションをリレーション400hとし、Relation id「0367DHRJ」、src「2H9JIIHY」、dst「93H6SK8A」及びtype「InstalledOn」を有するリレーションをリレーション400iとする。
同様に、Relation id「23KD99EU」、src「029KKZHE」、dst「HREIO928」及びtype「Has」を有するリレーションをリレーション400jとし、Relation id「87EUDHWE」、src「HREIO928」、dst「029KKZHE」及びtype「DeployedOn」を有するリレーションをリレーション400kとする。
同様に、Relation id「MJUYEGCX」、src「2H9JIIHY」、dst「5T98IKSH」及びtype「Has」を有するリレーションをリレーション400lとし、Relation id「2YDBI98A」、src「5T98IKSH」、dst「2H9JIIHY」及びtype「DeployedOn」を有するリレーションをリレーション400mとする。同様に、Relation id「YIRUETWG」、src「5T98IKSH」、dst「HREIO928」及びtype「Use」を有するリレーションをリレーション400nとする。
ここで、図3に示した構成情報に基づく情報処理システムの構成イメージ図を図4に示す。図4に示すように、CMDB10に記憶されたCI300a〜300dにより、情報処理システムに、それぞれ型番「FMD22」のPC、型番「FRONTIER DX200」のPC、「Won3k」という分類のOS、「WonSP」という分類のOSが含まれることが示される。同様に、CI300e〜300hにより、情報処理システムに、それぞれ「mysql」という分類のアプリケーション、「tomcat」という分類のアプリケーション、「table_a」という分類のインスタンス、「servlet_a」という分類のインスタンスが含まれることが示される。
また、CMDB10に記憶されたリレーション400aにより、CI300aで表されるPCがCI300cで表されるOSを所有することが示され、リレーション400bにより、CI300cで表されるOSがCI300aで表されるPCにインストールされていることが示される。同様に、リレーション400cにより、CI300bで表されるPCがCI300dで表されるOSを所有することが示され、リレーション400dにより、CI300dで表されるOSがCI300bで表されるPCにインストールされていることが示される。同様に、リレーション400eにより、CI300cで表されるOSがCI300dで表されるOSと接続していることが示される。
同様に、リレーション400fにより、CI300cで表されるOSがCI300eで表されるアプリケーションを所有することが示され、リレーション400gにより、CI300eで表されるアプリケーションがCI300cで表されるOSにインストールされていることが示される。同様に、リレーション400hにより、CI300dで表されるOSがCI300fで表されるアプリケーションを所有することが示され、リレーション400iにより、CI300fで表されるアプリケーションがCI300dで表されるOSにインストールされていることが示される。
同様に、リレーション400jにより、CI300eで表されるアプリケーションがCI300gで表されるインスタンスを所有することが示され、リレーション400kにより、CI300gで表されるインスタンスがCI300eで表されるアプリケーションにより実行されることが示される。同様に、リレーション400lにより、CI300fで表されるアプリケーションがCI300hで表されるインスタンスを所有することが示され、リレーション400mにより、CI300hで表されるインスタンスがCI300fで表されるアプリケーションにより実行されることが示される。同様に、リレーション400nにより、CI300hで表されるインスタンスがCI300gで表されるインスタンスを使用することが示される。
また、CI300aに含まれるname「HostA」及びリレーション400a,400f,400jに含まれるtype「Has」により、CI300cで表されるOS「Won3k」とCI300eで表されるアプリケーション「mysql」とCI300gで表されるインスタンス「table_a」とが、CI300aで表されるname「HostA」のPCに含まれることが示される。同様に、CI300bに含まれるname「HostB」及びリレーション400c,400h,400lに含まれるtype「Has」により、CI300dで表されるOS「WonSP」とCI300fで表されるアプリケーション「tomcat」とCI300hで表されるインスタンス「servlet_a」とが、CI300aで表されるname「HostB」のPCに含まれることが示される。
[2.2.記憶部の構成]
記憶部20は、制御部30による各種処理に必要なデータやプログラムを格納する。特に、記憶部20は、事例情報記憶部21と対処情報記憶部22とを有する。事例情報記憶部21は、端末装置2aを用いて行われたトラブル対処作業の作業履歴に基づくトラブル事例情報を記憶する。本実施例にかかる事例情報記憶部21の一例を図5に示す。
図5に示すように、事例情報記憶部21は、「ID」と、「観測日時」と、「症状」と、「調査」と、「対処」に関する情報を記憶する。「ID」は、事例情報記憶部21に登録されたトラブル事例を識別するための識別情報である。「観測日時」は、障害が原因で観測された症状の観測日時である。「症状」は、観測された症状についての情報であり、症状観測箇所に関する情報と症状の内容に関する情報とを含む。症状観測箇所は、症状観測機器名と症状観測要素名とを含む。症状観測要素名は、症状が観測された構成要素の名称であり、該構成要素のtypeで表される。症状観測機器名は、症状観測要素を所有する機器の名称であり、該機器に対応する構成要素のnameで表される。また、症状の内容には、症状観測箇所において観測された症状の内容が記憶される。
また、「調査」は、トラブル対処作業において行った調査についての情報であり、資料名と該資料の値とを項目として含む。「対処」は、障害に対して行った対処に関する情報であり、障害発生箇所に関する項目と対処内容に関する項目とを含む。障害発生箇所は、障害が発生した構成要素のCI id及びtypeで表される。また、対処内容には、障害に対して行った対処の内容が記憶される。なお、障害発生箇所として記憶されるCI id及びtypeは、トラブル対処作業の作業履歴に含まれる障害発生機器名と障害発生要素名とに基づき、後述する事例登録部31によりCMDB10から抽出される情報である。
例えば、「SUP01234」というIDで識別されるトラブル事例情報は、2008年10月30日19時37分に、name「HostB」が割当てられた機器が所有するtype「servlet_a」の構成要素において、データベースセッションがクローズされるという症状が観測されたことを示す。また、同情報は、上記症状の原因となった障害の発生箇所が、name「HostA」の機器が所有するtype「table_a」の構成要素であること、該障害発生に対して「接続先DBサーバのテーブルのパラメータXXXの値を0に設定」するという対処を行ったことを示す。また、同情報は、上記障害発生箇所を特定するため、「86400」の値を持つ「接続先DBサーバのOSのTCP_IPパラメータXXX_TIMEOUT」という資料を用いた調査を行ったことを示す。
対処情報記憶部22は、情報処理システムにおいて観測された症状の原因となる障害に対してトラブル対処作業を行う場合に必要な情報をトラブル対処情報として記憶するデータベースである。本実施例にかかる対処情報記憶部22の一例を図6に示す。
図6に示すように、対処情報記憶部22は、「症状の内容」と「対処の内容」とを「障害発生箇所候補のクエリ式」と対応付けて記憶する。例えば、対処情報記憶部22は、症状の内容「データベースセッションをクローズしました」と対処の内容「接続先DBサーバのOSのTCP_ipパラメータXXX_TIMEOUTの値を3600に設定」に対応付けて、障害発生箇所候補のクエリ式「%{this}/&DeployedOn/%App[type=‘tomcat’]/&InstalledOn/%Os[type=‘WonSP’]/&ConnectedTo/%Os[type=‘Won3k’]」を記憶する。かかるクエリ式は、症状観測要素から障害発生要素までの間に介在する各構成要素の構成種別情報と各構成要素間の関連の関連種別情報とが、症状観測要素から障害発生要素までの間に介在する順序で指定された検索式であり、詳細については後述する。
このように、対処情報記憶部22は、障害を原因とする症状が観測された構成要素から該障害が発生した構成要素までの間に介在する各構成要素の構成種別情報と各構成要素間の関連の関連種別情報とが、症状が観測された構成要素から障害が発生した構成要素までの間に介在する順序で指定された検索式を、該症状の内容を表す症状内容情報と対応付けて記憶する対処情報記憶手段に相当する。
[2.3.制御部の構成]
制御部30は、システム管理システム全体を制御する制御部である。制御部30は、事例登録部31と、関連経路情報生成部32と、クエリ生成部33と、対処方法登録部34と、対処検索部35と、クエリ取得部36と、障害発生箇所候補抽出部37とを有する。
事例登録部31は、端末装置2aを用いて行われたトラブル対処作業の作業履歴に基づくトラブル事例情報を事例情報記憶部21に登録する。ここで、事例登録部31による事例登録処理について説明する。
先ず、情報処理システムにおいて新規な障害が発生した場合、端末装置2aを使用する作業者は、症状観測箇所や症状の内容等から、自身のノウハウに基づき障害発生箇所を特定して、対処を行う。このようなトラブル対処作業を行った場合、端末装置2aには、該トラブル対処作業の作業履歴として、症状の観測日時、症状観測機器名、症状観測要素名、症状の内容が記憶される。また、端末装置2aには、該トラブル対処作業の作業履歴として、障害発生機器名、障害発生要素名、対処の内容、該トラブル対処作業において用いた資料の資料名、該資料の値等も記憶される。
上記トラブル対処作業を終えると、作業者は、端末装置2aを用い、該トラブル対処作業の作業履歴に関する情報を事例登録部31にネットワークを介して送信する。そして、事例登録部31は、該作業履歴に関する情報を取得すると、作業履歴に含まれる上記各情報をIDと対応付けて事例情報記憶部21に登録する。
関連経路情報生成部32は、症状観測要素のCIから障害発生要素のCIまでの間に介在する関連要素情報に基づき、関連経路情報を生成する。具体的には、先ず、関連経路情報生成部32は、事例情報記憶部21から症状観測箇所に関する情報として記憶された症状観測機器名及び症状観測要素名と、障害発生箇所に関する情報として記憶された障害発生機器名及び障害発生要素名とを取出す。
続いて、関連経路情報生成部32は、症状観測機器名及び症状観測要素名に基づき、症状観測要素のCIをCMDB10から抽出する。具体的には、関連経路情報生成部32は、先ず、症状観測機器名として記憶されたnameに基づき、CMDB10と照合して症状観測機器のCIを特定する。例えば、症状観測機器名として記憶されたnameが「HostB」であった場合、関連経路情報生成部32は、name「HostB」を有するCI300bを症状観測機器のCIとして特定する。続いて、関連経路情報生成部32は、特定したCIから、type「Has」のリレーションによって結ばれるCIを辿り、症状観測要素名として記憶されたtypeと同じtypeを持つCIを症状観測箇所として抽出する。
例えば、症状観測要素名としてtype「servlet_a」が記憶されていた場合、関連経路情報生成部32は、CI300bからtype「Has」のリレーション400cにより辿ることのできるCI300dのtypeが「servlet_a」であるか否かを判定する。この場合、CI300dのtypeは、「servlet_a」ではないため、関連経路情報生成部32は、さらに、CI300dからtype「Has」のリレーション400hにより辿ることのできるCI300fのtypeが「servlet_a」であるか否かを判定する。この場合、CI300fのtypeは、「servlet_a」ではないため、関連経路情報生成部32は、さらに、CI300fからtype「Has」のリレーション400lにより辿ることのできるCI300hのtypeが「servlet_a」であるか否かを判定する。
そして、CI300hのtypeは「servlet_a」であるため、関連経路情報生成部32は、CI300hを症状観測箇所のCIとして抽出し、所定の記憶領域に記憶する。具体的には、関連経路情報生成部32は、CI300hのCI id「5T98IKSH」を所定の記憶領域に記憶する。
続いて、関連経路情報生成部32は、障害発生機器名及び障害発生要素名に基づき、障害発生要素のCIをCMDB10から抽出する。具体的には、関連経路情報生成部32は、先ず、障害発生機器名として記憶されたnameに基づき、CMDB10と照合して障害発生機器のCIを特定する。例えば、障害発生機器名として記憶されたnameが「HostA」であった場合、関連経路情報生成部32は、name「HostA」を有するCI300aを障害発生機器のCIとして特定する。続いて、関連経路情報生成部32は、特定したCIから、type「Has」のリレーションによって結ばれるCIを辿り、障害発生要素名として記憶されたtypeと同じtypeを持つ構成要素を障害発生箇所として抽出する。
例えば、障害発生要素名としてtype「table_a」が記憶されている場合、関連経路情報生成部32は、CI300aからtype「Has」のリレーション400aにより辿ることのできるCI300cのtypeが「table_a」であるか否かを判定する。この場合、CI300cのtypeは、「table_a」ではないため、関連経路情報生成部32は、さらに、CI300cからtype「Has」のリレーション400fにより辿ることのできるCI300eのtypeが「table_a」であるか否かを判定する。この場合、CI300eのtypeは、「table_a」ではないため、関連経路情報生成部32は、さらに、CI300eからtype「Has」のリレーション400jにより辿ることのできるCI300gのtypeが「table_a」であるか否かを判定する。
そして、CI300gのtypeは「table_a」であるため、関連経路情報生成部32は、CI300gを障害発生箇所として抽出し、所定の記憶領域に記憶する。具体的には、関連経路情報生成部32は、CI300gのCI id「HREI0928」を所定の記憶領域に記憶する。
続いて、関連経路情報生成部32は、所定の領域に記憶した症状観測箇所のCIを始点とし、所定の領域に記憶した障害発生箇所のCIを終点とする関連経路情報を生成する。具体的には、関連経路情報生成部32は、先ず、症状観測箇所のCIから障害発生箇所のCIまでの間に介在するリレーションを特定する。以下に、かかる関連経路情報生成部32による関連経路情報生成処理について図面を参照して具体的に説明する。図7は、関連経路情報生成処理について説明するための図である。
例えば、所定の領域に記憶した症状観測箇所のCIがCI300hであり、障害発生箇所のCIがCI300gであったとすると、関連経路情報生成部32は、CI300hからCI300gまでの間に介在するリレーションを特定する。
具体的には、関連経路情報生成部32は、CMDB10を参照し、CI300hを主体とする、すなわちsrc「5T98IKSH」を有するリレーション400m,400nを特定するとともに、各リレーション400m,400nによりCI300hとの関連が示されるCI300f,300gを特定する。そして、特定したCI300f,300gが、CI id「HREI0928」を有するCIであるか否かを判定する。かかる場合において、CI300gは、CI id「HREI0928」を有するCIであるため、関連経路情報生成部32は、CI300hからCI300gまでの間に介在するリレーションとして、リレーション400nを取出す。
一方、CI300fは、CI id「HREI0928」を有するCIではないため、関連経路情報生成部32は、CMDB10を参照して、CI300fを主体とする、すなわちsrc「029KKZHE」を有するリレーションの特定を行う。そして、特定されたリレーション400iによりCI300fとの関連が示されるCI300dを特定し、特定したCI300dがCI id「HREI0928」を有するCIであるか否かを判定する。かかる場合において、CI300dは、CI id「HREI0928」を有するCIではないため、関連経路情報生成部32は、CMDB10を参照して、CI300dを主体とする、すなわちsrc「93H6SK8A」を有するリレーションの特定を行う。
続いて、関連経路情報生成部32は、特定されたリレーション400d,400eによりCI300dとの関連が示されるCI300b,300cを特定し、特定したCI300b,300cがCI id「HREI0928」を有するCIであるか否かを判定する。かかる場合において、CI300bは、CI id「HREI0928」を有するCIではないため、関連経路情報生成部32は、CMDB10を参照して、CI300bを主体とするリレーションの特定を行う。また、CI300cも、CI id「HREI0928」を有するCIではないため、関連経路情報生成部32は、CMDB10を参照して、CI300cを主体とするリレーションの特定を行う。
続いて、関連経路情報生成部32は、特定されたリレーション400b,400fによりCI300cとの関連が示されるCI300a,300eを特定し、特定したCI300a,300eがCI id「HREI0928」、type「table_a」を有するCIであるか否かを判定する。かかる場合において、CI300a,300eのいずれもCI id「HREI0928」、type「table_a」を有するCIではないため、関連経路情報生成部32は、CMDB10を参照して、CI300a,300eを主体とするリレーションの特定をそれぞれ行う。
続いて、関連経路情報生成部32は、特定されたリレーション400jによりCI300eとの関連が示されるCI300gを特定し、特定したCI300gがCI id「HREI0928」を有するCIであるか否かを判定する。そして、CI300gは、CI id「HREI0928」を有するCIであるため、関連経路情報生成部32は、CI300hからCI300gまでの間に介在するリレーションとして、リレーション400m,400i,400e,400f,400jを取出す。
そして、関連経路情報生成部32は、取出したリレーションに基づき関連経路情報を生成する。具体的には、関連経路情報生成部32は、取出した各リレーションについて、当該リレーションのtypeを抽出するとともに、当該リレーションのdstに基づき当該リレーションの客体となるCIのitem及びtypeをCMDB10から抽出する。
例えば、関連経路情報生成部32は、取出したリレーション400mのtype「DeployedOn」を抽出するとともに、リレーション400mのdst「2H9JIHY」からCI300fを特定し、CI300fのitem「App」およびtype「tomcat」を抽出する。関連経路情報生成部32は、他のリレーション400i,400e,400f、400jについても同様の処理を行う。そして、関連経路情報生成部32は、各リレーション400m,400i,400e,400f,400jに基づき抽出した情報を関連経路情報として対処情報記憶部22の所定の記憶領域に記憶する。
また、関連経路情報生成部32は、CI300hからCI300gまでの間に介在するリレーションとして取出したリレーション400nについても上記と同様の処理を行う。すなわち、関連経路情報生成部32は、リレーション400nから該リレーション400nのtype「Use」を抽出する。また、リレーション400nは、item「Instance」を有するCI300gを客体とするため、関連経路情報生成部32は、該CI300gのitem「Instance」のみをCMDB10から抽出する。そして、関連経路情報生成部32は、抽出したリレーションのtypeとCIのitemとを対応付けて関連経路情報として対処情報記憶部22の所定の記憶領域に記憶する。
ここで、関連経路情報のデータ構成の一例として、CI300hおよびCI300g間の関連経路情報のデータ構成を図8−1に示す。図8−1は、CI300hおよびCI300g間の関連経路情報のデータ構成の一例を示す図である。なお、図7に示すように、CI300hおよびCI300g間の関連経路情報のうち、リレーション400m,400i,400e,400f,400jに基づき生成した関連経路情報を関連経路情報R1とし、リレーション400nに基づき生成した関連経路情報を関連経路情報R2とする。
図8−1に示すように、各関連経路情報R1,R2は、同一の症状観測箇所のCIおよび障害発生箇所のCI間の関連経路情報ごとにまとめられ、他の症状観測箇所のCIおよび障害発生箇所のCI間の関連経路情報と識別するための識別情報として「RelationPath id」が割当てられる。例えば、関連経路情報R1,R2には、RelationPath id「1」が割当てられている。
また、各関連経路情報R1,R2には、同一の症状観測箇所のCIおよび障害発生箇所のCI間の関連を示す関連経路情報同士を識別するための識別情報として「Rels id」が割当てられる。例えば、関連経路情報R1には、Rels id「1」が割当てられ、関連経路情報R2には、Rels id「2」が割当てられている。
また、関連経路情報R1には、各リレーション400m,400i,400e,400f,400jに基づく各情報が、症状観測箇所のCIから障害発生箇所のCIまでの間に介在する順で記憶されている。すなわち、リレーション400m,400i,400e,400f,400jは、症状観測箇所のCI300hから障害発生箇所のCI300gまでの間に、リレーション400m→400i→400e→400f→400jの順で存在する。そして、関連経路情報R1には、リレーション400mに基づき抽出された情報、リレーション400iに基づき抽出された情報、リレーション400eに基づき抽出された情報、リレーション400fに基づき抽出された情報、リレーション400jに基づき抽出された情報の順に記憶されている。
より具体的には、各リレーションに基づく情報には、「Path reltype」と、「item」と、「itemtype」とが含まれる。「Path reltype」は、該リレーションのtypeである。「item」は、該リレーションに含まれるdstに基づき特定されたCIのitemである。「itemtype」は、該CIのtypeである。例えば、Rels id「1」で識別される関連経路情報R1のうち、該関連経路情報R1の先頭に記憶されたリレーョン400mに基づく情報には、Path reltype「DeployedOn」と、item「App」と、itemtype「tomcat」とが含まれる。
一方、例えば、所定の領域に記憶した症状観測箇所のCIがCI300hであり、障害発生箇所のCIがCI300cであったとすると、関連経路情報生成部32は、CI300hからCI300cまでの間に介在するリレーションを特定する。
かかる場合、関連経路情報生成部32は、CI300hからCI300cまでの間に介在するリレーションを上記と同様の処理により特定する。すなわち、関連経路情報生成部32は、CI300hからリレーションを辿り、取出した障害発生箇所に関する情報に対応するCI300cまでの間に介在するリレーション400m,400i及び400eを特定する。そして、特定したリレーション400m,400i,400eに基づき、上記と同様の処理により関連経路情報を生成し、事例情報記憶部21の所定の記憶領域に記憶する。
ここで、CI300hおよびCI300c間の関連経路情報のデータ構成を図8−2に示す。図8−2は、CI300hおよびCI300c間の関連経路情報のデータ構成の一例を示す図である。なお、図7に示すように、CI300hおよびCI300c間の関連経路情報として、リレーション400m,400i,400eに基づき生成した関連経路情報を関連経路情報R3とする。
図8−2に示すように、関連経路情報R3には、他の症状観測箇所のCIおよび障害発生箇所のCI間の関連経路情報と識別するための識別情報としてRelationPath id「2」が割当てられる。また、関連経路情報R3には、同一の症状観測箇所のCIおよび障害発生箇所のCI間の関連を示す関連経路情報同士を識別するための識別情報としてRels id「1」が割当てられる。
また、関連経路情報R3には、各リレーション400m,400i,400eに基づき抽出した各情報が、症状観測箇所のCIから障害発生箇所のCIまでの間に介在する順で記憶されている。すなわち、リレーション400m,400i,400eは、症状観測箇所のCI300hから障害発生箇所のCI300gまでの間に、リレーション400m→400i→400eの順で存在する。そして、関連経路情報R3には、リレーション400mに基づき抽出された情報、リレーション400iに基づき抽出された情報、リレーション400eに基づき抽出された情報の順に記憶されている。
このように関連経路情報生成部32は、介在要素特定手段として機能し、障害を原因とする症状が観測された構成要素から該障害が発生した構成要素までの間に介在する各構成要素のCI及び各構成要素間の関連を表すリレーションと、これらCI及びリレーションが、該症状が観測された構成要素から該障害が発生した構成要素までの間に介在する順序とを特定する。
また、関連経路情報生成部32は、症状観測箇所のCIを始点として、リレーションを辿り特定されるCIが障害発生箇所のCIであるか否かを順次判定していき、該CIが障害発生箇所のCIである場合には、症状観測箇所のCIから障害発生箇所のCIに至るまでに辿ったリレーションを取出す。そして、関連経路情報生成部32は、取出した各リレーションに基づき、関連経路情報を生成する。
クエリ生成部33は、関連経路情報生成部32により生成した関連経路情報に基づき、障害の発生箇所の候補を特定するためのCMDB10に対するクエリ式を生成する。以下に、クエリ生成部33によるクエリ生成処理について具体的に説明する。図9−1は図8−1に示す関連経路情報に基づき生成されるクエリ式を示す図、図9−2は図8−2に示す関連経路情報に基づき生成されるクエリ式を示す図である。
ここで、クエリ式は、情報を要求するCIの構成別情報やリレーションの関連種別情報などを指定して生成される。例えば、型番「FMD22」のPCに関する情報、すなわち、type「FMD22」を有するCIの情報を要求する場合、クエリ式は「%Pc[type=‘FMD22’]」で表される。なお、itemやtype等で示される検索条件の前に付された「%」は、その検索条件がCIに対する検索条件であることを示す。
また、「/」を区切りとして、CI及びリレーションを交互に並べることで、CI間の関係を辿る検索が可能となる。例えば、型番「FMD22」のPCとtype「DeployedOn」のリレーションにより関連が示されるCIを要求する場合、クエリ式は、「%Pc[type=‘FMD22’]/&DeployedOn/%」で表される。なお、「&」は、その後に付された検索条件がリレーションに対する検索条件であることを示す。
例えば、RelationPath id「1」が割当てられた関連経路情報R1,R2に基づくクエリ式を生成する場合、クエリ生成部33は、対処情報記憶部22から該関連経路情報R1,R2に含まれる情報を対処情報記憶部22に記憶されている順に取出す。そして、クエリ生成部33は、関連経路情報R1,R2に含まれるreltypeを有するリレーション及び関連経路情報R1,R2に含まれるitem及びitemtypeを有するCIを取出した順に指定したクエリ式を生成する。関連経路情報R1,R2に基づき生成されるクエリ式の一例を図9−1に示す。
クエリ生成部33は、図9−1に示すように、「DeployedOn」のリレーション→type「tomcat」及びitem「App」のCI→「InstalledOn」のリレーション→type「WonSP」及びitem「Os」のCI→「ConnectedTo」のリレーション→type「Won3k」及びitem「Os」のCI→「Has」のリレーション→type「mysql」及びitem「App」のCI→「Has」のリレーションの順で辿ることのできるitem「Instance」及びtype「table_a」のCIを特定するためのクエリ式を生成する。
なお、クエリ式の先頭には、検索の起点となるCIを指定する検索条件「%{this}」が付加されている。この検索条件に含まれる「{this}」に後述する障害発生箇所候補抽出部37が症状観測箇所のCIを指定して上記クエリを実行することにより、障害発生箇所の候補のCIを特定することができる。かかる処理については、後述する。
また、例えば、RelationPath id「2」が割当てられた関連経路情報R3に基づくクエリ式を生成する場合、クエリ生成部33は、対処情報記憶部22から該関連経路情報R3に含まれる情報を対処情報記憶部22に記憶されている順に取出す。そして、クエリ生成部33は、関連経路情報R3に含まれるreltypeを有するリレーション及び関連経路情報R1,R2に含まれるitem及びitemtypeを有するCIを取出した順に指定したクエリ式を生成する。
かかる処理により、クエリ生成部33は、図9−2に示すように、「DeployedOn」のリレーション→type「tomcat」及びitem「App」のCI→「InstalledOn」のリレーション→type「WonSP」及びitem「Os」のCI→「ConnectedTo」のリレーションの順で辿ることのできるtype「Won3k」及びitem「Os」のCIを特定するためのクエリ式を生成する。
このように、クエリ生成部33は、関連経路情報生成部32により特定した各リレーションの関連種別情報と同一の関連種別情報を含むリレーション及び関連経路情報生成部32により特定した各CIの構成種別情報と同一の構成種別情報を含むCIを、関連経路情報生成部32により特定した順序と同一の順序でCMDB10を検索し特定されるCIを要求する旨の検索式を生成する。
対処方法登録部34は、対処情報登録手段として機能し、クエリ生成部33により生成されたクエリ式を、事例情報記憶部21に記憶されている情報のうち、該クエリ式の生成処理に用いた「症状観測箇所」及び「障害発生箇所」と対応付けて記憶されている「症状の内容」及び「対処内容」とともに対処情報記憶部22に登録する。
対処検索部35は、端末装置2bから取得した対処方法検索要求に基づき、対処情報記憶部22から必要な情報を取出す。具体的には、端末装置2bからネットワークを介して送信される対処方法検索要求には、症状観測要素名、症状観測機器名及び症状の内容が含まれる。そして、対処検索部35は、対処方法検索要求に含まれる構成要素の名称及び該構成要素を所有する機器の名称に基づき、症状観測要素のCI idを特定し、所定の記憶領域に記憶しておく。
また、対処検索部35は、対処方法検索要求に含まれる症状の内容に基づき、該症状の内容と同一の内容と対応付けられている対処の内容を対処情報記憶部22から取出し、後述する障害発生箇所候補抽出部37により抽出された障害発生箇所候補とともに、端末装置2bへネットワークを介して送信する。
例えば、対処情報記憶部22から取出した対処の内容が「障害が発生したサーブレットが使用しているDBテーブルのパラメータXXXを0にしてください。」であり、障害発生箇所候補抽出部37により、障害発生箇所の候補としてtype「table_a」のCIが抽出されたとする。かかる場合、対処検索部35は、端末装置2bに対して、「障害が発生したサーブレット”servlet_a”が使用しているDBテーブル”table_a”のパラメータXXXを0にしてください。」という対処内容に関する情報を端末装置2bへ送信する。これにより、端末装置2bを使用する作業者は、障害への対処方法を、該障害の発生箇所の候補に関する情報とともに取得することができる。なお、上記の例において「servlet_a」に関する情報は、後述する障害発生箇所候補抽出部37による処理によって特定することができる。
このように、対処検索部35は、症状が観測された構成要素に対応するCIと該症状の内容を表す症状内容情報とを取得する症状取得手段として機能する。また、対処検索部35は、障害発生箇所候補抽出部37により障害発生箇所候補として抽出したCIを、対処検索部35により取得した症状の内容と同一の症状の内容を表す症状内容情報と対応付けて対処情報記憶部22に記憶された対処内容情報とともに提示する対処情報提示手段として機能する。
クエリ取得部36は、対処検索部35が端末装置2bから取得した症状の内容に関する情報に基づき、該症状の内容と同一の内容と対応付けられているクエリ式を対処情報記憶部22から取出す。例えば、「データベースセッションをクローズしました」という症状の内容を取得した場合、クエリ取得部36は、該症状の内容と同一の内容と対応付けられたクエリ式として、図6に示す2つのクエリ式(図9−1及び図9−2に示すクエリ式)を対処情報記憶部22から取出す。
このように、クエリ取得部36は、検索式取得手段として機能し、対処検索部35によって取得された症状の内容と一致する症状内容情報と対応付けられたクエリ式を対処情報記憶部22から取得する。
障害発生箇所候補抽出部37は、対処検索部35により特定された症状観測箇所を始点とする、クエリ取得部36により取得したクエリ式に基づくCMDB10の検索処理を実行し、障害発生箇所の候補のCIを特定する。以下に、障害発生箇所候補抽出部37による障害発生箇所候補抽出処理について具体的に説明する。図10−1は、図9−1に示すクエリ式に基づく障害発生箇所候補抽出処理を説明するための図、図10−2は、図9−2に示すクエリ式に基づく障害発生箇所候補抽出処理を説明するための図である。
ここで、以下において、情報処理システムには、図4に示したCI300a〜300g及びリレーション400a〜400nの他に、図10−1に示すように、それぞれtype「SVC01」及びname「HostC」のPC、type「DXL660」及びname「HostD」のPC、type「Won3k」のOS、type「WonSP」のOSが含まれるとする。同様に、情報処理システムには、それぞれtype「mysql」のアプリケーション、type「tomcat」のアプリケーション、type「table_a」のインスタンス、type「servlet_b」のインスタンスが含まれるとする。そして、CMDB10は、これら構成要素の構成要素情報としてそれぞれCI310a〜310gを記憶する。
また、CMDB10は、図10−1に示すように、CI310aを主体としCI310cを客体とするtype「Has」のリレーション410a、CI310cを主体としCI310aを客体とするtype「InstalledOn」のリレーション410bを記憶する。同様に、CMDB10は、CI310bを主体としCI310dを客体とするtype「Has」のリレーション410c、CI310dを主体としCI310bを客体とするtype「InstalledOn」のリレーション410dを記憶する。同様に、CMDB10は、CI310dを主体としCI310cを客体とするtype「ConnectedTo」のリレーション410eを記憶する。
同様に、また、CMDB10は、CI310cを主体としCI310eを客体とするtype「Has」のリレーション410f、CI310eを主体としCI310cを客体とするtype「InstalledOn」のリレーション410gを記憶する。同様に、CMDB10は、CI310dを主体としCI310fを客体とするtype「Has」のリレーション410h、CI310fを主体としCI310dを客体とするtype「InstalledOn」のリレーション410iを記憶する。
また、CMDB10は、CI310eを主体としCI310gを客体とするtype「Has」のリレーション410j、CI310gを主体としCI310eを客体とするtype「DeployedOn」のリレーション410kを記憶する。同様に、CMDB10は、CI310fを主体としCI310hを客体とするtype「Has」のリレーション410l、CI310hを主体としCI310fを客体とするtype「DeployedOn」のリレーション410mを記憶する。同様に、CMDB10は、CI310hを主体としCI310gを客体とするtype「Use」のリレーション410nを記憶する。
かかる場合において、端末装置2bからの対処方法検索要求に基づき、対処検索部35が症状観測要素のCI idを特定するとともに、クエリ取得部36が図9−1に示すクエリ式を取出したとする。このような場合、障害発生箇所候補抽出部37は、クエリ式の先頭に付された、検索の起点となるCIを指定する検索条件「%{this}」に症状観測要素のCI idを指定し、該CIを始点としたクエリ式を実行する。
具体的には、障害発生箇所候補抽出部37は、item「Instance」及びtype「Servlet_b」を有するCIから、type「DeployedOn」のリレーション→type「tomcat」及びitem「App」のCI→type「InstalledOn」のリレーション→type「WonSP」及びitem「Os」のCI→type「ConnectedTo」のリレーション→type「Won3k」及びitem「Os」のCI→type「Has」のリレーション→type「mysql」及びitem「App」のCI→type「Has」のリレーションの順で辿ることのできるitem「Instance」及びtype「table_a」のCIを特定する。
より具体的には、障害発生箇所候補抽出部37は、図10−1に示すように、検索の起点となるCI310hのCi idをsrcとして有するtype「DeployedOn」のリレーション410mをCMDB10を検索して特定する。続いて、障害発生箇所候補抽出部37は、リレーション410mが有するdstと同一のCI idを有するtype「tomcat」及びitem「App」のCI310fをCMDB10を検索して特定する。続いて、障害発生箇所候補抽出部37は、CI310fのCI idをsrcとして有するtype「InstalledOn」のリレーションiを特定する。続いて、障害発生箇所候補抽出部37は、リレーション410iが有するdstと同一のCI idを有するtype「WonSP」及びitem「Os」のCIdを特定する。
このような処理を繰り返すことにより、障害発生箇所候補抽出部37は、上記クエリ式に基づき、図10−1に示すように、CI310hを始点として、リレーション410m→CI310f→リレーション410i→CI310d→リレーション410e→CI310c→リレーション410f→CI310e→リレーション410jを辿って、CI310gを特定する。そして、障害発生箇所候補抽出部37は、特定したCI310gに含まれるCI idやitem、type等の情報を障害発生箇所候補としてCMDB10から抽出する。なお、障害発生箇所候補抽出部37は、必要に応じて、上記クエリ式に基づき辿った他のCIに関する情報も抽出してもよい。
また、障害発生箇所候補抽出部37は、図9−1に示すクエリ式に基づく検索式として、item「Instance」及びtype「Servlet_b」を有するCIから、「Use」のリレーションで辿ることのできるitem「Instance」のCIを特定する。すなわち、障害発生箇所候補抽出部37は、図10−2に示すように、CI310hを始点として、リレーション410nを辿って、CI310gを特定する。そして、障害発生箇所候補抽出部37は、特定したCI310gを障害発生箇所候補としてCMDB10から抽出する。
また、端末装置2bからの対処方法検索要求に基づき、対処検索部35が症状観測箇所の構成要素のCI idを特定するとともに、クエリ取得部36が図9−2に示すクエリ式を取出したとする。このような場合、障害発生箇所候補抽出部37は、図9−2に示すクエリ式の先頭に付された検索の起点となるCIを指定する検索条件「%{this}」に症状観測要素のCI idを指定し、該CIを始点とした図9−2に示すクエリ式を実行する。
具体的には、障害発生箇所候補抽出部37は、item「Instance」及びtype「Servlet_b」を有するCIから、「DeployedOn」のリレーション→type「tomcat」及びitem「App」のCI→「InstalledOn」のリレーション→type「WonSP」及びitem「Os」のCI→「ConnectedTo」のリレーションの順で辿ることのできるtype「Won3k」及びitem「Os」のCIを特定する。
すなわち、障害発生箇所候補抽出部37は、上記クエリ式に基づき、図10−2に示すように、CI310hを始点として、リレーション410m→CI310f→リレーション410i→CI310d→リレーション410eを辿って、CI310cを特定する。そして、障害発生箇所候補抽出部37は、特定したCI310cのip等の情報を障害発生箇所候補としてCMDB10から抽出する。
このように、障害発生箇所候補抽出部37は、障害発生箇所候補抽出手段として機能し、CMDB10に記憶されたCI及びリレーションのうち、クエリ取得部36により取得したクエリ式に含まれる関連種別情報と同一の関連種別情報を含むリレーションと、該クエリ式に含まれる構成種別情報と同一の構成種別情報を含むCIとを、対処検索部35により取得したCIを始点とし、指定された順序で辿ることにより特定される構成要素を障害発生箇所候補として抽出する。
[3.システム管理装置の具体的動作]
次に、本実施例にかかるシステム管理装置1の具体的動作について図面を参照して説明する。先ず、端末装置2aから取得した作業履歴に基づく対処方法登録処理について説明する。図11は、本実施例にかかる対処方法登録処理の処理手順を示すフローチャートである。
端末装置2aから作業履歴に関する情報を取得すると、事例登録部31は、図10に示すように、症状観測CI特定処理を行う(ステップS1101)。症状観測CI特定処理は、作業履歴に含まれる症状観測機器名及び症状観測要素名に基づき、症状観測箇所のCIを特定する。症状観測CI特定処理は、図11に示す処理であり、後述する。ステップS1101の処理を終えると、事例登録部31は、障害発生CI特定処理を行う(ステップS1102)。障害発生機器名及び障害発生要素名に基づき、障害発生箇所のCIを特定する。障害発生CI特定処理は、図12に示す処理であり、後述する。
続いて、関連経路情報生成部32は、ステップS1101の症状観測CI特定処理において特定した症状観測箇所のCIからステップS1102の障害発生CI特定処理において特定した障害発生箇所のCIまでの間に介在するリレーションを特定する(ステップS1103)。続いて、関連経路情報生成部32は、特定したリレーションに基づき関連経路情報を生成する(ステップS1104)。そして、クエリ生成部33は、ステップS1104において生成した関連経路情報に基づくクエリ式を生成する(ステップS1105)。
ステップS1105の処理を終えると、対処方法登録部34は、ステップS1105において生成したクエリ式を、該クエリ式の生成処理に用いた「症状観測箇所」及び「障害発生箇所」と対応付けて記憶されている「症状の内容」及び「対処内容」とともに対処情報記憶部22に登録する(ステップS1106)。ステップS1106の処理を終えると、制御部30は、対処方法登録処理を終了する。
続いて、ステップS1101における症状観測CI特定処理について、図11を参照して具体的に説明する。図12は、本実施例にかかる症状観測CI特定処理の処理手順を示すフローチャートである。
図12に示すように、症状観測CI特定処理を開始すると、事例登録部31は、事例情報記憶部21に記憶された情報から、症状観測機器名および症状観測要素名を取得する(ステップS1201)。続いて、事例登録部31は、取得した症状観測機器名と一致するCIをCMDB10から取得する(ステップS1202)。例えば、取得した症状観測機器名が「HostB」である場合、事例登録部31は、CMDB10からname「HostB」を有するCI300bを取出す。
続いて、事例登録部31は、ステップS1202において取得したCIが“Has”関連を持つか否かを判定する(ステップS1203)。すなわち、事例登録部31は、該CIと他のCIとの関連を示すリレーションのうち、type「Has」を有するリレーションが存在するか否かを判定する。かかる処理において、該CIが“Has”関連を持たない場合(ステップS1203否定)、事例登録部31は、例えば、端末装置2aにエラー報告を行い処理を終了する(ステップS1204)。
一方、該CIが“Has”関連を持つと判定した場合(ステップS1203肯定)、事例登録部31は、取得したCIから“Has”関連により辿ることのできるCIを特定する(ステップS1205)。すなわち、事例登録部31は、type「Has」を有するリレーションによりステップS1202において取得したCIとの関連が示されるCIを特定する。例えば、ステップS1202において取得したCIがCI300bである場合、事例登録部31は、図4に示すように、type「Has」を有するリレーション400cで辿ることのできるCI300dを特定する。
続いて、事例登録部31は、特定したCIのtypeと症状観測要素名が一致するか否かを判定する(ステップS1206)。かかる処理において特定したCIのtypeと症状観測要素名が一致しないとき(ステップS1206否定)、事例登録部31は、処理をステップS1203へ移行する。例えば、特定したCI300dのtype「WonSP」が端末装置2aから取得した症状観測要素名と異なる場合、事例登録部31は、処理1203へ移行し、CI300dが“Has”関連を持つか否かを判定する。
一方、特定したCIのtypeと症状観測要素名が一致すると判定した場合(ステップS1206肯定)、事例登録部31は、ステップS1205において特定したCIを症状観測要素のCIとして所定の記憶領域に記憶する(ステップS1207)。ステップS1207の処理を終えたとき、事例登録部31は、症状観測CI特定処理を終了する。
このように、事例登録部31は、端末装置2aから取得した作業履歴に関する情報に含まれる症状観測機器名と一致するtypeを有するCIからtype「Has」を有するリレーションを順次辿っていき、症状観測要素名と一致するtypeを有するCIを症状観測要素のCIとして特定する。
続いて、ステップS1102における障害発生CI特定処理について、図13を参照して具体的に説明する。図13は、本実施例にかかる障害発生CI特定処理の処理手順を示すフローチャートである。
図13に示すように、障害発生CI特定処理を開始すると、事例登録部31は、事例情報記憶部21に記憶された情報から、障害発生機器名および障害発生要素名を取得する(ステップS1301)。続いて、事例登録部31は、取得した障害発生機器名と一致するCIをCMDB10から取得する(ステップS1302)。例えば、取得した障害発生機器名が「HostB」である場合、事例登録部31は、CMDB10からname「HostB」を有するCI300aを取出す。
続いて、事例登録部31は、ステップS1302において取得したCIが“Has”関連を持つか否かを判定する(ステップS1303)。かかる処理において、該CIが“Has”関連を持たない場合(ステップS1303否定)、事例登録部31は、例えば、端末装置2aにエラー報告を行い処理を終了する(ステップS1304)。
一方、該CIが“Has”関連を持つと判定した場合(ステップS1303肯定)、事例登録部31は、取得したCIから“Has”関連により辿ることのできるCIを特定する(ステップS1305)。例えば、取得したCIがCI300aである場合、図4に示すように、事例登録部31は、type「Has」を有するリレーション400aで辿ることのできるCI300cを特定する。
続いて、事例登録部31は、特定したCIのtypeと障害発生要素名が一致するか否かを判定する(ステップS1306)。かかる処理において特定したCIのtypeと障害発生要素名が一致しないとき(ステップS1306否定)、事例登録部31は、処理をステップS1303へ移行する。一方、特定したCIのtypeと障害発生要素名が一致すると判定した場合(ステップS1306肯定)、事例登録部31は、ステップS1305において特定したCIを障害発生箇所のCIとして所定の記憶領域に記憶する(ステップS1307)。ステップS1307の処理を終えたとき、事例登録部31は、障害発生CI特定処理を終了する。
このように、事例登録部31は、端末装置2aから取得した作業履歴に関する情報に含まれる障害発生機器名と一致するtypeを有するCIからtype「Has」を有するリレーションを順次辿っていき、障害発生要素名と一致するtypeを有するCIを障害発生要素のCIとして特定する。
続いて、端末装置2bから取得した対処方法検索要求に基づき実行される、障害発生箇所候補抽出処理について説明する。図14は、本実施例にかかるシステム管理装置1の障害発生箇所候補抽出処理の処理手順を示すフローチャートである。
端末装置2bから対処方法検索要求を取得すると、対処検索部35は、図14に示すように、対処方法検索要求に含まれる症状発生機器名及び症状発生要素名を取得する(ステップS1401)。続いて、対処検索部35は、取得した症状観測機器名と一致するCIをCMDB10から取得する(ステップS1402)。例えば、取得した症状観測機器名が「HostD」である場合、対処検索部35は、図10−1に示すように、CMDB10からname「HostD」を有するCI310bを取出す。
続いて、対処検索部35は、ステップS1402において取得したCIが“Has”関連を持つか否かを判定する(ステップS1403)。かかる処理において、該CIが“Has”関連を持たない場合(ステップS1403否定)、対処検索部35は、例えば、端末装置2aにエラー報告を行う(ステップS1404)。
一方、該CIが“Has”関連を持つと判定した場合(ステップS1403肯定)、対処検索部35は、取得したCIから“Has”関連により辿ることのできるCIを特定する(ステップS1405)。例えば、取得したCIがCI310bである場合、対処検索部35は、図10−1に示すように、type「Has」を有するリレーション410cで辿ることのできるCI310dを特定する。
続いて、対処検索部35は、特定したCIのtypeと症状観測要素名が一致するか否かを判定する(ステップS1406)。かかる処理において特定したCIのtypeと症状観測要素名が一致しないとき(ステップS1406否定)、対処検索部35は、処理をステップS1403へ移行する。一方、特定したCIのtypeと症状観測要素名が一致すると判定した場合(ステップS1406肯定)、対処検索部35は、ステップS1405において特定したCIを症状観測箇所のCIとして所定の記憶領域に記憶する(ステップS1407)。
続いて、クエリ取得部36は、対処方法検索要求に含まれる症状の内容に関する情報に基づき、該症状の内容と同一の内容と対応付けられているクエリ式を対処情報記憶部22から取得する(ステップS1408)。続いて、障害発生箇所候補抽出部37は、ステップS1407において登録された症状観測箇所を始点とし、ステップS1409において取得したクエリ式に基づくCMDB10の検索処理を実行する(ステップS1409)。
続いて、障害発生箇所候補抽出部37は、ステップS1410において実行した検索処理により特定されたCIを障害発生箇所候補として所定の記憶領域に記録する(ステップS1410)。そして、対処検索部35は、対処方法検索要求に含まれる症状の内容に基づき、該症状の内容と同一の内容と対応付けられている対処の内容を対処情報記憶部22から取出し、取出した対処の内容をステップS1410において記録された障害発生箇所候補とともに、端末装置2bへネットワークを介して送信する(ステップS1411)。ステップS1404、S1411の処理を終えると、制御部30は、障害発生箇所候補抽出処理を終了する。
上述してきたように、本実施例では、管理対象である情報処理システムにおいて過去に発生した障害の障害発生要素と該障害を原因として観測された症状の症状観測要素との因果関係を記憶しておき、同様の症状が観測された場合に、該症状が観測された構成要素との間で上記因果関係と同様の因果関係を有する構成要素を障害発生箇所候補として特定する。これにより、作業者は、症状に関する情報を入力することで、該症状の原因となる障害の発生箇所の候補に関する情報を取得することができ、トラブル対処作業の効率性を向上させることができる。
また、本実施例において、対処情報記憶部22は、症状内容情報とともに、該症状の原因となった障害への対処の内容を表す対処内容情報をクエリ式と対応付けて記憶しており、障害発生箇所候補抽出部37により障害発生箇所候補として抽出したCIを、端末装置2bから取得した症状の内容と同一の症状の内容を表す症状内容情報と対応付けて対処情報記憶部22に記憶された対処内容情報とともに端末装置2bへ提示する。これにより、作業者は、症状に関する情報を入力することで、例えば、対処を行うべき機器名等が具体的に指定された対処内容を取得することができ、トラブル対処作業の効率性をより一層向上させることができる。
具体的には、例えば、対処内容情報「障害が発生したサーブレットが使用しているDBテーブルのパラメータXXXを0にしてください」に該当するサーブレットやDBテーブルが情報処理システム内に複数存在する場合、作業者は、該当するサーブレットやDBテーブルを特定するための切り分け作業を行う。かかる場合において、本実施例のように、対処内容情報とともに障害発生箇所候補に関する情報を対処検索部35から取得することにより、作業者は、障害発生箇所候補として特定された機器等から切り分け作業を行う。すなわち、当りを付けた切り分け作業を行うことができるため、切り分け作業に要する時間を短縮することができる。
また、本実施例では、事例情報記憶部21に記憶されたトラブル事例情報に基づき、症状観測要素から障害発生要素までの間に介在する各構成要素のCI及び各構成要素間の関連を表すリレーションとこれらCI及びリレーションが介在する順序とを特定するとともに、特定した各情報に基づきクエリ式を生成し、観測された症状の内容を表す症状内容情報と対応付けて対処情報記憶部22に登録する。これにより、例えば、情報処理システム内において新規な障害が発生した場合に、その障害に対するトラブル対処作業に基づくトラブル事例情報からクエリ式を生成し、対処情報記憶部22に登録しておくことで、再度同様な障害が発生した場合に、上記クエリ式に基づきCMDN10を検索して障害発生候補のCIや対処内容情報を取得することができる。
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の概要の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
例えば、図6に示すように、同一の症状の内容を表す症状内容情報が対処情報記憶部22に複数記憶されている場合には、該症状内容情報と対応付けられた対処内容情報も対処情報記憶部22に複数記憶される。そのため、端末装置2bに送信すべき対処内容情報を特定するために、システム管理装置1は、例えば「資料“QQQ”の値を入力して下さい。」などの指示を端末装置2bに送信して、端末装置2bから更に情報を取得することにより、端末装置2bに送信すべき対処内容情報を特定する。作業者は、このような指示に基づき作業を行っている途中であっても、すなわち、システム管理装置1から対処内容情報を取得する前であっても、障害発生箇所候補に関する情報を取得することができる。
例えば、図15に示すように、作業者は、端末装置2bのディスプレイに表示された所定のウィンドウ500の入力欄550に表示された「症状(メッセージ)を入力してください」という指示に基づき、障害が原因となり観測された症状の内容や症状観測機器名、症状観測要素名を入力する(ステップS21)。
ここで、入力された症状の内容と同一の内容を表す症状内容情報が対処情報記憶部22に複数存在する場合、対処検索部35は、端末装置2bに対して、例えば「資料“QQQ”の値を入力して下さい」等の、次に作業者が行うべき作業手順を指示する情報を送信する。また、対処検索部35は、ステップS21において取得した症状の内容や症状観測機器名、症状観測要素名に基づき障害発生箇所候補抽出部37が特定した障害発生箇所候補に関する情報を上記指示とともに端末装置2bへ送信する(ステップS22)。これにより、端末装置2bのディスプレイには、「資料“QQQ”の値を入力して下さい」等の指示とともに、「192.168.1.10」や「table_a」等の障害発生箇所候補のCIに含まれる情報560が表示される。
そして、作業者は、ウィンドウ500に表示された指示に従い、入力欄550に資料“QQQ”の値を入力し、対処検索部35へ送信する。このような処理を繰り返すことにより、対処検索部35は、端末装置2bから送信された症状内容情報に対応する複数の対処内容情報の中から、端末装置2bに送信すべき対処内容情報を特定する。そして、対処検索部35は、特定した対処内容情報を、該対処内容情報と対応付けられたクエリ式に基づき抽出された障害発生箇所候補に関する情報を端末装置2bへ送信する。これにより、端末装置2bのディスプレイには、例えば「障害が発生したサーブレット”servlet_a”が使用している、DBテーブル”table_a”のパラメータXXXを0にしてください。」といった、対処を行うべき機器名等が具体的に指定された対処内容570が表示される(ステップS23)。
このように、作業者は、システム管理装置1から対処内容情報を取得する前であっても、障害発生箇所候補に関する情報を取得することができるため、見通しを持ったトラブル対処作業を行うことができる。
また、本実施例において、クエリ生成部33は、障害発生箇所候補として抽出すべきCIのtypeを指定したクエリ式を生成することとした。例えば、クエリ生成部33は、クエリ式「%{this}/&DeployedOn/%App[type=‘tomcat’]/&InstalledOn/%Os[type=‘WonSP’]/&ConnectedTo/%Os[type=‘Won3k’]」に含まれる「%Os[type=‘Won3k’]」のように、障害発生箇所候補としてtype「Won3k」を指定したクエリ式を生成する。しかし、障害発生箇所候補として抽出すべきCIのtypeは、必ずしも指定しなくてもよい。
かかる場合、関連経路情報生成部32は、症状観測要素のCIから障害発生要素のCIまでの間に介在するCI及びリレーションのうち、障害発生要素のCIと他のCIの関連を表すリレーションについては、該リレーションのtype及び障害発生要素のCIのitemのみを抽出し、関連経路情報を生成する。例えば、症状観測要素のCIがCI300hであり、障害発生要素のCIがCI300gである場合、関連経路情報生成部32は、障害発生要素のCI300gを客体とするリレーション400jについては、該リレーション400jのtype「Has」を抽出するとともに、CI300gのitem「Instance」のみをCMDB10から抽出する。そして、クエリ生成部33は、関連経路情報生成部32により生成された関連経路情報に基づき、クエリ式を生成する。
これにより、障害発生箇所候補のCIを、typeを限定せずに抽出することができるため、作業者のニーズにより応じた検索処理が可能となる。
また、上記実施例では、構成要素情報記憶手段及び関連要素情報記憶手段の一例として、CMDBを用いて説明したが、構成要素情報記憶手段及び関連要素情報記憶手段は、CMDBに限らず、例えば、複数のCMDBに散在する各種の構成情報を仮想的に統合するFCMDB(Federated CMDB)であってもよい。
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図15を用いて、上記実施例に示したシステム管理装置1と同様の機能を有するシステム管理プログラムを実行するコンピュータの一例を説明する。図16は、システム管理プログラムを実行するコンピュータを示す図である。
図16に示すように、システム管理装置1としてのコンピュータ600は、HDD610、CPU620、ROM630及びRAM640をバス650で接続して構成される。
ROM630には、上記の実施例と同様の機能を発揮するシステム管理プログラム、つまり、図16に示すように、症状取得プログラム631、検索式取得プログラム632、障害発生箇所候補抽出プログラム633が予め記憶されている。
そして、CPU620が、これらのプログラム631〜635をROM630から読み出して実行することにより、各プログラム631〜635は、それぞれ症状取得プロセス621、検索式取得プロセス622、障害発生箇所候補抽出プロセス623として機能する。
なお、HDD610には、プロセス621〜623によって利用される各種データが格納されている。CPU620は、HDD610に格納された各種データを読み出して、RAM640に格納し、プロセス621〜623が、RAM640に格納された各種データを利用して、障害発生箇所候補抽出処理などの各種処理を実行する。