(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】システム監視装置、システム監視方法、及びプログラム
(51)【国際特許分類】
G06F 11/30 20060101AFI20240709BHJP
G06F 11/34 20060101ALI20240709BHJP
G06F 11/07 20060101ALI20240709BHJP
【FI】
G06F11/30 189
G06F11/34 147
G06F11/07 151
G06F11/07 140A
(21)【出願番号】P 2022565009
(86)(22)【出願日】2020-11-30
(86)【国際出願番号】 JP2020044544
(87)【国際公開番号】W WO2022113355
(87)【国際公開日】2022-06-02
【審査請求日】2023-05-12
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】磯山 和彦
(72)【発明者】
【氏名】上村 純平
(72)【発明者】
【氏名】榮 純明
【審査官】武田 広太郎
(56)【参考文献】
【文献】米国特許出願公開第2019/0391968(US,A1)
【文献】特開2016-184358(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/30
G06F 11/34
G06F 11/07
(57)【特許請求の範囲】
【請求項1】
試験用システムにおいて
、監視コマンド
を用いて収集された第二のノード情報と、エージェントにより収集された
第三のノード情報を用いて
、前記第二のノード情報と前記第三のノード情報との関係を学習させた補充モデル
に、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を
入力し、
前記三のノード情報として補充ノード情報を
出力する、補充手段と、
前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定手段と、
を有するシステム監視装置。
【請求項2】
請求項1に記載のシステム監視装置であって、
前記補充モデルは、前記試験用システムにおいて、前
記第二のノード情報と、前
記第三のノード情報とを用いて、学習により生成され、前記第一のノード情報を選択するためのキーとなるキー情報と、前記第一のノード情報を補充するための補充情報とが関連付けられたルール情報を、一つ以上有している
システム監視装置。
【請求項3】
請求項1又は2に記載のシステム監視装置であって、
推定されたノード間のリンクを表すリンク情報を用いて、運用システムにおいて生成された基準リンクモデルを参照し、当該リンク情報に対応する基準リンクモデルに含まれる基準ルール情報を選択し、選択した基準ルール情報があらかじめ設定された条件を満たさない場合、前記リンク情報を異常と判定する、異常判定手段
を有するシステム監視装置。
【請求項4】
請求項3に記載のシステム監視装置であって、
前記基準リンクモデルは、運用システムにおいて過去に推定されたノード間のリンクを表すリンク情報を用いて生成される
システム監視装置。
【請求項5】
試験用システムにおいて
、監視コマンド
を用いて収集された第二のノード情報と、エージェントにより収集された
第三のノード情報を用いて
、前記第二のノード情報と前記第三のノード情報との関係を学習させた補充モデル
に、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を
入力し、
前記三のノード情報として補充ノード情報を
出力し、
前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する
システム監視方法。
【請求項6】
請求項5に記載のシステム監視方法であって、
前記補充モデルは、前記試験用システムにおいて、前
記第二のノード情報と、前
記第三のノード情報とを用いて、学習により生成され、前記第一のノード情報を選択するためのキーとなるキー情報と、前記第一のノード情報を補充するための補充情報とが関連付けられたルール情報を、一つ以上有している
システム監視方法。
【請求項7】
請求項5又は6に記載のシステム監視方法であって、
推定されたノード間のリンクを表すリンク情報を用いて、運用システムにおいて生成された基準リンクモデルを参照し、当該リンク情報に対応する基準リンクモデルに含まれる基準ルール情報を選択し、選択した基準ルール情報があらかじめ設定された条件を満たさない場合、前記リンク情報を異常と判定する
システム監視方法。
【請求項8】
請求項7に記載のシステム監視方法であって、
前記基準リンクモデルは、運用システムにおいて過去に推定されたノード間のリンクを表すリンク情報を用いて生成される
システム監視方法。
【請求項9】
コンピュータに、
試験用システムにおいて
、監視コマンド
を用いて収集された第二のノード情報と、エージェントにより収集された
第三のノード情報を用いて
、前記第二のノード情報と前記第三のノード情報との関係を学習させた補充モデル
に、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を
入力し、
前記三のノード情報として補充ノード情報を
出力し、
前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する
処理を実行させる命令を含むプログラム。
【請求項10】
請求項9に記載のプログラムであって、
前記補充モデルは、前記試験用システムにおいて、前
記第二のノード情報と、前
記第三のノード情報とを用いて、学習により生成され、前記第一のノード情報を選択するためのキーとなるキー情報と、前記第一のノード情報を補充するための補充情報とが関連付けられたルール情報を、一つ以上有している
プログラム。
【請求項11】
請求項9又は10に記載のプログラムであって、
前記プログラムが、前記コンピュータに、
推定されたノード間のリンクを表すリンク情報を用いて、運用システムにおいて生成された基準リンクモデルを参照し、当該リンク情報に対応する基準リンクモデルに含まれる基準ルール情報を選択し、選択した基準ルール情報があらかじめ設定された条件を満たさない場合、前記リンク情報を異常と判定する
処理を実行させる命令を含むプログラム。
【請求項12】
請求項11に記載のプログラムであって、
前記基準リンクモデルは、運用システムにおいて過去に推定されたノード間のリンクを表すリンク情報を用いて生成される
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システムを監視するシステム監視装置、システム監視方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【0002】
従来、システムに脆弱性がないかをチェックする場合には、エージェントなどを用いてシステムをチェックすることが知られている。
【0003】
特許文献1には、サイトに対する攻撃の予兆を検知し、攻撃の開始前に対策をし、被害を最小限にとどめる方法が開示されている。特許文献1によれば、まず、モニタエージェントがエンティティのログを分析して異常を検知した場合、異常に関するデータを管理マネージャに通知する。次に、管理マネージャは、通知されたデータに基づいて、データベースからデータに対応する対策を選択する。その後、管理マネージャは、対策依頼先のアクションエージェントに当該対策を実行させる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1のように、モニタエージェントなどを用いてシステムを監視する場合、モニタエージェントが、カーネルモジュールにアクセスしなければならないので、システムが不安定になったり、負荷が増加したりする。そのため、モニタエージェントを用いずにシステムを監視できる方法の開発が望まれている。
【0006】
一つの側面として、カーネルモジュールにアクセスせず、精度よくシステムを監視するシステム監視装置、システム監視方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、一つの側面におけるシステム監視装置は、
試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充部と、
前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定部と、
を有することを特徴とする。
【0008】
また、上記目的を達成するため、一側面におけるシステム監視方法は、
試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充ステップと、
前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定ステップと、
を有することを特徴とする。
【0009】
さらに、上記目的を達成するため、一側面におけるプログラムは、
コンピュータに、
試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充ステップと、
前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定ステップと
を実行させることを特徴とする。
【発明の効果】
【0010】
一つの側面として、カーネルモジュールにアクセスせず、精度よくシステムを監視できる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、システム監視装置の一例を説明するための図である。
【
図2】
図2は、システム監視装置を有するシステムの一例を説明するための図である。
【
図3】
図3は、監視コマンドにより取得した情報の一例を説明するための図である。
【
図4】
図4は、補充モデルの一例を説明するための図である。
【
図5】
図5は、監視コマンドにより取得した情報の一例を説明するための図である。
【
図6】
図6は、リンク推定モデルの一例を説明するための図である。
【
図7】
図7は、リンク推定モデルの一例を説明するための図である。
【
図8】
図8は、グラフ情報を説明するための図である。
【
図9】
図9は、グラフ情報の概念を説明するための図である。
【
図10】
図10は、モデル生成装置の一例を説明するための図である。
【
図12】
図12は、システム監視装置の動作の一例を説明するためのフロー図である。
【
図13】
図13は、モデル生成装置の動作の一例を説明するためのフロー図である。
【
図14】
図14は、システム監視装置、モデル生成装置を実現するコンピュータの一例を説明するためのブロック図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して実施形態について説明する。なお、以下で説明する図面において、同一の機能又は対応する機能を有する要素には同一の符号を付し、その繰り返しの説明は省略することもある。
【0013】
(実施形態)
図1を用いて、本実施形態におけるシステム監視装置10の構成について説明する。
図1は、システム監視装置の一例を説明するための図である。
【0014】
[装置構成]
図1に示すシステム監視装置10は、カーネルモジュールにアクセスせず、精度よくシステムを監視する装置である。また、
図1に示すように、システム監視装置10は、補充部11と、推定部12とを有する。
【0015】
補充部11は、試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドだけを用いて収集されたノード情報(第一のノード情報)を補充し、補充ノード情報を生成する。
【0016】
試験用システムは、実際の運用で用いられる対象のシステム(運用システム)を模して構築されたシステムである。また、試験用システムで用いるホストにはエージェントがインストールされている。なお、試験用システムの詳細については後述する。
【0017】
監視コマンドは、OS(Operating System)などのソフトウェアに備わっている、システムを監視するために用いるプログラムを実行させるためのコマンドである。
【0018】
具体的には、所定の情報を収集するために監視コマンドが入力されると、入力された監視コマンドに対応するプログラムが実行され、システムからノードに関する情報(ノード情報)が収集される。
【0019】
ノード情報は、例えば、プロセス、ネットワーク、ファイルなどのノードに関する情報である。ノード情報は、ノードごとに、ノードと、当該ノードに対応する一つ以上のノードに関連した情報とが関連付けられている。例えば、ノードごとのノード情報はレコード(又はロウ)として表した場合、ノードに関する情報それぞれはレコードのフィールド(又はセル)として表される。なお、ノードに関する情報は、以降においてフィールド情報と呼ぶ。
【0020】
エージェントは、システムに関係する情報を取得するために用いるソフトウェアである。エージェントは、例えば、OSのカーネルモジュールにアクセスをして、システムに関係するノード情報を取得する。ただし、エージェントを利用すると、システムが不安定になったり、負荷が増加したりする。
【0021】
補充モデルは、試験用システムにおいて、監視コマンドを用いて収集されたノード情報(第二のノード情報)と、エージェントを用いて収集されたノード情報(第三のノード情報)とに基づいて、第二のノード情報と第三のノード情報との関係を学習させた情報である。
【0022】
学習の結果、第一のノード情報を選択するためのキーとなるキー情報と、第一のノード情報を補充するための補充情報とが関連付けられたルール情報が生成される。補充モデルには、一つ以上のルール情報を有している。
【0023】
補充情報は、第一のノード情報に追加される情報である。補充情報は、エージェントを用いれば取得できるが、監視コマンドを用いても取得できない情報である。
【0024】
補充ノード情報は、第一のノード情報に補充情報が追加された情報である。補充ノード情報は、エージェントを利用して取得した第三のノード情報と同程度の情報を有する。
【0025】
なお、補充モデルの学習方法とモデルの詳細については後述する。
【0026】
このように、本実施形態においては、エージェントを用いず、OSのカーネルモジュールにアクセスしないで、監視コマンドを用いて、運用システムから収集された第一のノード情報を、エージェントを用いて収集したノード情報と同程度の情報に拡充できる。
【0027】
推定部12は、試験用システムにおいて監視コマンド及びエージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、補充ノード情報を入力し、ノード間にリンク(関係)が存在する確率を推定する。
【0028】
リンク推定モデルは、試験用システムにおいて、監視コマンドを用いて収集されたノード情報(第二のノード情報)と、エージェントを用いて収集されたノード情報(第三のノード情報)とに基づいて、ノード間のリンクが存在する確率を学習させた情報である。
【0029】
なお、リンク推定モデルの学習方法とモデルの詳細については後述する。
【0030】
このように、本実施形態においては、エージェントを用いず、OSのカーネルモジュールにアクセスしないで、監視コマンドを用いて、運用システムから収集された第一のノード情報を拡充した補充ノード情報を用いて、ノード間にリンクが存在する確率を推定できる。
【0031】
[システム構成]
続いて、
図2を用いて、本実施形態におけるシステム監視装置10の構成をより具体的に説明する。
図2は、システム監視装置を有するシステムの一例を説明するための図である。
図2に示すシステムは、システム監視装置10と、運用システム20と、記憶装置30とを有する。
【0032】
システム監視装置10は、監視コマンド実行部13と、取得部14と、補充部11と、推定部12と、グラフ生成部15と、基準リンク生成部16と、異常判定部17とを有する。
【0033】
システム監視装置10は、例えば、CPU(Central Processing Unit)、又はFPGA(Field-Programmable Gate Array)などのプログラマブルなデバイス、又は、GPU(Graphics Processing Unit)、又はそれらのうち一つ以上を搭載した回路、サーバコンピュータ、パーソナルコンピュータ、モバイル端末などの情報処理装置である。なお、システム監視装置10の詳細については後述する。
【0034】
運用システム20は、一つ以上のホスト21を有している。ホスト21は、例えば、情報処理装置、記憶装置、通信制御装置などである。ホスト21は、ネットワークにより接続されている。
図2の例では、ホスト21において実行されるソフトウェアとして、OS22、サービスプログラム24、ユーザプログラム25などが示されている。
【0035】
なお、
図2に示した運用システム20に含まれるハードウェア及びソフトウェアを機能ごとに分割し、分割した機能を複数の要素として表してもよい。要素の間にはリンクが存在する。
【0036】
また、
図2の例では、運用システム20としてホストを用いた例を示したが、運用システム20を、ソーシャル・ネットワーキング・サービス(SNS:Social Networking Service)により構築されたネットワークなどとしてもよい。
【0037】
監視コマンド23は、システム監視装置10から入力される、運用システム20から情報を収集するためのプログラムを実行させるためのコマンドを示している。監視コマンド23が入力された場合、情報を収集するためのプログラムが実行され、ファイル、ネットワーク、プロセスなどに関係する情報が収集される。
図2の例では、ファイル26、ネットワーク27、プロセス28などに関係する情報が収集される。
【0038】
記憶装置30は、補充モデル31、リンク推定モデル32、基準リンクモデル33などを記憶している。記憶装置30は、例えば、データベース、サーバコンピュータなどの記憶装置である。なお、
図2の例では上述したモデルを一つの記憶装置30に記憶しているが、上述したモデルを異なる一つ以上の記憶装置に記憶してもよい。
【0039】
システム監視装置について詳細に説明する。
監視コマンド実行部13は、あらかじめ設定された間隔又は日時(年月日時刻)に、所定の監視コマンド23をホスト21に入力し、OS22において所定の監視コマンドにより実行されるプログラムを実行させる。例えばOS22がLinux(登録商標)である場合、例えば、プロセスに関しては「ps」「pstree」などのコマンドを入力する。入出力に関しては、例えば、「iostat」などのコマンドを入力する。ネットワークに関しては、例えば、「netstat」「tcpdump」などのコマンドを入力する。
【0040】
取得部14は、監視コマンド23を実行して収集された情報をホスト21から取得する。例えば、実行した監視コマンドに対応する、上述したファイル、ネットワーク、プロセスなどに関係する情報(ファイル26、ネットワーク27、プロセス28)、すなわちスナップショットなどを取得する。
【0041】
補充部11は、補充モデル31から、第一のノード情報を補充するための補充情報を選択し、第一のノード情報に補充情報を追加して補充ノード情報を生成する。
【0042】
具体的には、補充部11は、まず、取得部14から第一のノード情報を含む情報を取得する。次に、補充部11は、第一のノード情報を抽出する。次に、補充部11は、補充モデル31から、抽出した第一のノード情報に関連する補充情報を選択する。次に、補充部11は、抽出した第一のノード情報に補充情報を追加して、補充ノード情報を生成する。
【0043】
補充部の実施例について説明する。
監視コマンド実行部13が、まず、監視コマンド23として「netstat」コマンドをホスト21に入力し、取得部14が、
図3に示すようなネットワークに関する情報を取得したとする。
図3は、監視コマンドにより取得した情報の一例を説明するための図である。
【0044】
そのような場合、補充部11は、
図3に示す情報から、第一のノード情報として「ローカルアドレス」(送信元IP、送信元ポート)及び「外部アドレス」(宛先IP、宛先ポート)に関する情報である「10.20.2.109:1543」と「52.230.80.159:https」を抽出する。
【0045】
次に、補充部11は、第一のノード情報「10.20.2.109:1543」「52.230.80.159:https」をキーとして用いて、
図4の補充モデル31を参照し、第一のノード情報に類似したキー情報「10.20.2.109:*」「52.230.80.159:*」を検出する。
図4は、補充モデルの一例を説明するための図である。
【0046】
補充モデル31は、
図4に示すように、正規表現されたフィールド情報であるキーとなる情報「キー情報」と、第一のノード情報を補充するための正規表現された情報「補充情報」とが関連付けられた情報を有している。記号「*」は正規表現を表している。正規表現する理由は、例えば、ポート番号は毎回変わるため、このような変化を吸収するためである。
【0047】
なお、補充モデル31は、後述する試験用システムとモデル生成装置とを用いて生成される。
【0048】
次に、補充部11は、
図4の補充モデル31を参照し、検出したキー情報「10.20.2.109:*」「52.230.80.159:*」に関連付けられた補充情報「通信量」を選択する。「通信量」には、確率的な通信データ量を表す情報として、例えば、確率分布又は平均値などの値が記憶されている。
【0049】
その後、補充部11は、第一のノード情報「10.20.2.109:1543」「52.230.80.159:https」に、取得した補充情報「通信量」を表す情報を追加して、補充ノード情報を生成する。
【0050】
また、
図4の補充モデル31には、正規表現されたキー情報「db_child *」と、正規表現された補充情報「db_parent *」とが関連付けられて記憶されている。キー情報「db_child *」は、プロセス名を表すノード情報である。補充情報「db_parent *」は、プロセス「db_child *」の親プロセス名を表すノード情報である。
【0051】
ただし、このような子プロセスと親プロセスとの関係は、後述するリンク推定モデルを用いても検出できる。
【0052】
推定部12は、リンク推定モデル32に、補充ノード情報を入力し、ノード間のリンクが存在する確率を推定する。
【0053】
具体的には、推定部12は、まず、補充部11から補充ノード情報を取得する。次に、推定部12は、補充ノード情報を用いて、リンク推定モデル32(32a、32b)を参照し、補充ノード情報ノード間のリンクが存在する確率を推定する。
【0054】
推定部の実施例について説明する。
監視コマンド実行部13が、まず、監視コマンド23として「ps」コマンドをホスト21に入力し、取得部14が、
図5に示すようなプロセスに関する情報を取得したとする。
図5は、監視コマンドにより取得した情報の一例を説明するための図である。
【0055】
そのような場合、補充部11は、まず、
図5に示す情報から、第一のノード情報として「db_child1242」に関する情報を抽出する。次に、補充部11は、補充モデル31に基づいて、抽出した第一のノード情報「db_child1242」に補充情報「db_parent」を追加して、補充ノード情報を生成する。
【0056】
次に、推定部12は、補充ノード情報の「db_parent」「db_child1242」をキーとして用いて、
図6に示したリンク推定モデル32aを参照し、「db_parent」「db_child1242」に関係するノードIDを検出する。
図6は、リンク推定モデルの一例を説明するための図である。
【0057】
図6の例では、ファイルに関する情報には、ノードを識別するための情報「ノードID」、パスの名称「パス」、ファイルの名称「ファイル名」が関連付けられて記憶されている。さらに、ファイルに関する情報には、ノードIDに、アクセス開始日時、アクセス終了日時、ファイル名、パス名、オーナーID、グループID、バス、メディアタイプ、オペレーションタイプ(例えば、コピー、移動、削除など)などの情報が関連付けられて記憶されている。
【0058】
また、
図6の例では、ネットワークに関する情報には、ノードを識別するための情報「ノードID」、送信元IPアドレス「送信元IP」、送信元ポート「送信元ポート」、宛先IPアドレス「宛先IP」、宛先ポート「宛先ポート」が関連付けられて記憶されている。さらに、ネットワークに関する情報には、ノードIDに、アクセス開始日時、アクセス終了日時、アクセスタイプ(送信、受信)、通信データ量などの情報が関連付けられて記憶されている。
【0059】
また、
図6の例では、プロセスに関する情報には、ノードを識別するための情報「ノードID」、プロセスの名称「プロセス名」が関連付けられて記憶されている。さらに、プロセスに関する情報には、ノードIDに、アクセス開始日時、アクセス終了日時、プロセスID、オーナーID、グループID、実行ファイル名、パス名、コマンドライン引数、親側プロセスID、子側プロセスID、バス、バイナリ、メディアタイプ、オペレーションタイプなどの情報が関連付けられて記憶されている。
【0060】
なお、リンク推定モデル32aは、後述する試験用システムとモデル生成装置とを用いて生成される。
【0061】
次に、推定部12が、「db_parent」のノードIDとして「E3」を検出し、「db_child1242」のノードIDとして「E4」を検出したとする。
【0062】
次に、推定部12は、検出したノードID「E3」「E4」をキーとして用いて、
図7に示したリンク推定モデル32bを参照し、検出したノードID「E3」「E4」に関係するようなノード間のリンクを表すリンク情報を検出する。
図7は、リンク推定モデルの一例を説明するための図である。
【0063】
リンク推定モデル32bは、リンクを識別する情報と、関係するノードそれぞれを識別する情報と、ノード間のリンクを表す情報と、当該リンクの種別を表す情報と、試験用システムが平常に運用された場合に当該リンクが存在する確率を表す情報とが関連付けられたリンク情報を一つ以上有する。
【0064】
図7の例では、リンク情報は、リンクを識別する情報「リンクID」と、親側ノードを識別するための親側ノードID「ノードID1」と、子側ノードを識別するための子側ノードID「ノードID2」と、リンクの種別を表す情報「リンク種別」と、リンクが存在する確率を表す情報「存在確率」とが関連付けられた情報などを有している。
【0065】
図7のリンクID「L1」には、ノードID1「E3」、ノードID2「E4」、リンク種別「A1」と、存在確率「P1」とが関連付けられている。
【0066】
図7の例では、推定部12は、リンクID「L1」のリンク情報に「E3」「E4」が存在するので、リンクID「L1」に関係するリンク情報を取得する。
【0067】
リンク種別は、例えば、プロセス間のデータ伝達の関係を表す情報、プロセスがアクセスするファイルとの関係を表す情報などである。プロセス間のデータ伝達の関係は、例えば、ホスト間、ホストとプロセスとの間のデータ伝達の関係などである。プロセスがアクセスするファイルとの関係は、例えば、ファイルのオープン、クローズ、リード、ライト、生成、消去などである。また、リンク種別は、ノードの主従を示す方向、関係が発生した日時、コネクション確立の回数、データ量、アクセス頻度などを表す情報としてもよい。さらに、プロセス間のリンク種別には、データ通信の他に、親プロセスが子プロセスを起動する生起関係などがある。
【0068】
なお、リンク推定モデル32bは、後述する試験用システムとモデル生成装置とを用いて生成される。
【0069】
グラフ生成部15は、推定したリンク情報に基づいてグラフ情報を生成する。具体的には、グラフ生成部15は、まず、推定したリンク情報を取得する。次に、グラフ生成部15は、推定したリンク情報に基づいて、
図8に示すようなグラフ情報81を生成する。その後、グラフ生成部15は、そのグラフ情報81を異常判定部17へ出力する。
図8は、グラフ情報の一例を説明するための図である。
【0070】
グラフ情報は、ノード間の関係を表すグラフである。グラフ情報は、
図8に示すように、ノードを頂点として表した情報「頂点」と、ノード間のリンクを辺として表した情報「辺」とが関連付けられた情報である。なお、辺はリンクの種類ごとに設定される。
【0071】
図8の例では、頂点「
E1」には、頂点「
E1」「
E2」のリンクを表す辺「L0」と、頂点「
E1」「
E3」のリンクを表す辺「L1」と、頂点「
E1」「
E3」の他のリンクを表す辺「L3」とが関連付けられている。
【0072】
また、頂点「E2」には、頂点「E2」「E1」のリンクを表す辺「L0」と、頂点「E2」「E3」のリンクを表す辺「L2」とが関連付けられている。
【0073】
さらに、頂点「E3」には、頂点「E3」「E1」のリンクを表す辺「L1」と、頂点「E3」「E1」の他のリンクを表す辺「L3」と、頂点「E3」「E2」のリンクを表す辺「L2」とが関連付けられている。
【0074】
なお、ノード間のリンクがない頂点は「辺」を空欄とする。
図8の例では、頂点「
E4」はノード間のリンクがないので、「辺」は空欄になる
。
【0075】
図9は、グラフ情報の概念を説明するための図である。
図9において、頂点は円形で示され、辺は円形を結ぶ線分で示されている。
【0076】
基準リンク生成部16は、推定したリンク情報に基づいて、基準リンクモデル33を生成する。具体的には、基準リンク生成部16は、まず、推定したリンク情報を取得する。次に、基準リンク生成部16は、取得した推定したリンク情報に基づいて、基準リンクモデル33を生成する。
【0077】
基準リンクモデル33は、試験用システム40に対して生成されたリンク推定モデル32と同じデータ構造の情報である。また、基準リンクモデルは、一つ以上のリンク情報を有している。なお、以降において、基準リンクモデルのリンク情報を基準リンク情報と呼ぶ。
【0078】
基準リンク情報は、リンクを識別する情報と、関係するノードそれぞれを識別する情報と、ノード間のリンクを表す情報と、当該リンクの種別を表す情報と、運用システムが運用された場合に当該リンクが存在する確率を表す情報とが関連付けられた情報などを有している。
【0079】
なお、基準リンクモデル33は、リンク推定モデル32を初期モデルとして、運用システム20におけるノード間のリンクについて学習させることが望ましい。
【0080】
なお、グラフ生成部15と基準リンク生成部16を設ける理由は、運用システム20を運用するユーザが開発したオリジナルソフトなどは、試験用システム40では準備できないため、運用システム20でグラフ情報を生成し、そのグラフ情報に基づいて異常判定をするからである。
【0081】
異常判定部17は、推定されたノード間のリンクを表すリンク情報を用いて、運用システム20において生成された基準リンクモデル33を参照して、リンク情報に対応する基準リンクモデル33に含まれる基準ルール情報を選択する。その後、異常判定部17は、選択した基準ルール情報の存在確率があらかじめ設定された条件を満たさない場合、当該リンク情報を異常と判定する。
【0082】
具体的には、異常判定部17は、まず、推定部12からリンク情報を取得する。次に、異常判定部17は、取得したリンク情報をキーとして、運用システム20において生成された基準リンクモデル33を参照して、基準リンクモデル33に含まれる基準ルール情報を選択する。次に、異常判定部17は、選択した基準ルール情報の存在確率があらかじめ設定された閾値以下である場合、当該リンク情報を異常と判定する。閾値は、例えば、実験、シミュレーションなどにより決定される。
【0083】
次に、異常判定部17は、異常検知結果を、不図示の出力情報生成部に出力する。そして、出力情報生成部は、出力装置に異常検知結果を出力するために用いる出力情報を生成する。出力装置は、出力情報生成部により、出力可能な形式に変換された、出力情報を取得し、その出力情報に基づいて、生成した画像及び音声などを出力する。
【0084】
出力装置は、例えば、液晶、有機EL(Electro Luminescence)、CRT(Cathode Ray Tube)を用いた画像表示装置などである。さらに、画像表示装置は、スピーカなどの音声出力装置などを備えていてもよい。なお、出力装置は、プリンタなどの印刷装置でもよい。
【0085】
補充モデルとリンク推定モデルの生成について説明する。
図10は、モデル生成装置の一例を説明するための図である。
図10に示す試験用システム40は、
図2に示した運用システムを模したシステムである。モデル生成装置50は、補充モデル31とリンク推定モデル32とを生成する。
【0086】
試験用システムについて説明する。
試験用システム40は複数のホスト21を有している。ホスト21には、エージェント41、試験用プログラム42がインストールされている。
【0087】
エージェント41は、試験用システム40におけるノード間の関係を監視する。エージェント41は、ノード間の関係を表す情報をモデル生成装置50に送信する。
【0088】
エージェント41は、ファイルについて、アクセス開始日時、アクセス終了日時、ファイル名、パス名、オーナーID、グループID、バス、メディアタイプ、オペレーションタイプ(例えば、コピー、移動、削除など)などの情報を収集する。
【0089】
エージェント41は、ネットワークについて、アクセス開始日時、アクセス終了日時、送信元IP、送信元ポート、及び宛先IP、宛先ポート、アクセスタイプ(送信、受信)、通信データ量などの情報を収集する。
【0090】
エージェント41は、プロセスについて、アクセス開始日時、アクセス終了日時、プロセス名、プロセスID、オーナーID、グループID、実行ファイル名、パス名、コマンドライン引数、親側プロセスID、子側プロセスID、バス、バイナリ、メディアタイプ、オペレーションタイプなどの情報を収集する。
【0091】
試験用システム40がソーシャルネットワークである場合、エージェント41は、メールサーバ上で動作するメールを監視する。例えば、エージェント41は、ユーザ間でやり取りされるメールを監視し、メール送受信ログをモデル生成装置50に送信する。
【0092】
試験用プログラム42は、運用システム20で使用されると考えられるプログラムであでる。したがって、ユーザプログラム25をすべて含んでいることが望ましい。
【0093】
モデル生成装置について説明する。
モデル生成装置50は、監視コマンド実行部13と、取得部14と、グラフ生成部15と、マッピング部51と、補充モデル生成部52と、リンク推定モデル生成部53とを有する。
【0094】
モデル生成装置50は、例えば、CPU、又はFPGAなどのプログラマブルなデバイス、又は、GPU、又はそれらのうち一つ以上を搭載した回路、サーバコンピュータ、パーソナルコンピュータ、モバイル端末などの情報処理装置である。
【0095】
監視コマンド実行部13と、取得部14と、グラフ生成部15とについては、既に説明をしたので説明を省略する。
【0096】
マッピング部51は、試験用システム40において、監視コマンド23を用いて収集された第二のノード情報と、エージェント41を用いて収集された第三のノード情報とを用いて、第二のノード情報と第三のノード情報をマッピングする。
【0097】
具体的には、マッピング部51は、まず、取得部14から第二のノード情報と第三のノード情報とを取得する。次に、マッピング部51は、取得した第二のノード情報と第三のノード情報それぞれについて、取得した情報のパラメータを多次元要素として、同じ事象において学習をし、クラスタリングする。
【0098】
そうすると、同じ事象において学習をしたので、多次元要素空間における第二のノード情報に対するクラスタリングの結果と、第三のノード情報に対するクラスタリングの結果は、
図11に示すように同じような結果となる。
図11は、マッピングを説明するための図である。
【0099】
ここで、学習方法は、例えば、k近傍法(KNN)、決定木、サポートベクターマシン(SVM)などの学習が考えられる。
【0100】
次に、マッピング部51は、第二のノード情報のクラスタ(多次元要素空間1のクラスタ)と、第二のノード情報のクラスタに対応する第三のノード情報のクラスタ(多次元要素空間2のクラスタ)とを用いて、それらのクラスタに含まれるノードを関連付ける(マッピングをする)。例えば、第二のノード情報のクラスタCL1と、第三のノード情報のクラスタCL1′は対応しているので、この二つのクラスタに含まれるノードを関連付けてマッピング情報を生成する。
【0101】
補充モデル生成部52は、マッピング情報に基づいて補充モデル31を生成する。すなわち、補充モデル生成部52は、複数のイベントから共通の部分と可変の部分を検出し、補充モデル31を生成する。
【0102】
具体的には、補充モデル生成部52は、まず、マッピング部51からマッピング情報を取得する。次に、補充モデル生成部52は、取得したマッピング情報を用いて、
図4に示すような補充モデル31を生成して、記憶装置30に記憶する。
【0103】
例えば、「db_child1234」「db_child5678」・・・と「db_child」の部分が共通で、その後に四桁の数値が続くプロセス名が頻繁に発生する場合、それにマッチする正規表現のキー「db_child\d{4}」が生成され、「db_child1234」「db_child5678」・・・で共通となるようなパラメータを検出する。補充情報としては親プロセス名が「db_parent」などが挙げられる。
【0104】
補充モデル31は、正規表現されたフィールド情報であるキーとなる情報「キー情報」と、第一のノード情報を補充するための正規表現された情報「補充情報」とが関連付けられた情報である。
【0105】
リンク推定モデル生成部53は、マッピング情報に基づいて生成されたグラフ情報を用いて、リンク推定モデル32を生成する。
【0106】
具体的には、リンク推定モデル生成部53は、まず、グラフ生成部15により生成されたグラフ情報を取得する。ここで、グラフ生成部15は、マッピング情報を入力として、グラフ情報を生成する。
【0107】
次に、リンク推定モデル生成部53は、グラフ生成部15により生成されたグラフ情報に基づいて、
図6、7に示したようなリンク推定モデル32(32aと32b)を生成する。
【0108】
[装置動作]
次に、本発明の実施形態におけるシステム監視装置10とモデル生成装置50の動作について説明する。
図12は、システム監視装置の動作の一例を説明するためのフロー図である。
図13は、モデル生成装置の動作の一例を説明するためのフロー図である。
【0109】
以下の説明においては適宜図を参照する。本実施形態では、システム監視装置を動作させることによって、システム監視方法が実施される。よって、本実施形態におけるシステム監視方法の説明は、以下のシステム監視装置の動作説明に代える。
【0110】
また、本実施形態では、モデル生成装置を動作させることによって、モデル生成方法が実施される。よって、本実施形態におけるモデル生成方法の説明は、以下のモデル生成装置の動作説明に代える。
【0111】
システム監視装置の動作について説明する。
図12に示すように、監視コマンド実行部13は、まず、あらかじめ設定された間隔又は日時に、所定の監視コマンド23を運用システム20のホスト21に入力し、OS22において所定の監視コマンドにより実行されるプログラムを実行させる(ステップA1)。
【0112】
次に、取得部14は、監視コマンド23を実行して収集された情報をホスト21から取得する(ステップA2)。
【0113】
次に、補充部11は、補充モデル31から、第一のノード情報を補充するための補充情報を選択し、第一のノード情報に補充情報を追加して補充ノード情報を生成する(ステップA3)。
【0114】
具体的には、ステップA3において、補充部11は、まず、取得部14から第一のノード情報を含む情報を取得する。次に、補充部11は、第一のノード情報を抽出する。次に、補充部11は、補充モデル31から、抽出した第一のノード情報に関連する補充情報を選択する。次に、補充部11は、抽出した第一のノード情報に補充情報を追加して、補充ノード情報を生成する。
【0115】
推定部12は、リンク推定モデル32に、補充ノード情報を入力し、ノード間のリンクが存在する確率を推定する(ステップA4)。
【0116】
具体的には、ステップA4において、推定部12は、まず、補充部11から補充ノード情報を取得する。次に、推定部12は、補充ノード情報を用いて、リンク推定モデル32(32a、32b)を参照し、補充ノード情報ノード間のリンクが存在する確率を推定する。
【0117】
グラフ生成部15は、推定したリンク情報に基づいてグラフ情報を生成する(ステップA5)。具体的には、ステップA5において、グラフ生成部15は、まず、推定したリンク情報を取得する。次に、グラフ生成部15は、取得した推定したリンク情報に基づいて、
図8に示すようなグラフ情報81を生成する。その後、グラフ生成部15は、そのグラフ情報81を異常判定部17へ出力する。
【0118】
異常判定部17は、推定されたノード間のリンクを表すリンク情報を用いて、運用システム20において生成された基準リンクモデル33を参照して、リンク情報に対応する基準リンクモデル33に含まれる基準ルール情報を選択し、選択した基準ルール情報の存在確率があらかじめ設定された条件を満たさない場合、当該リンク情報を異常と判定する(ステップA6)。
【0119】
具体的には、ステップA6において、異常判定部17は、まず、推定部12からリンク情報を取得する。次に、異常判定部17は、取得したリンク情報をキーとして、運用システム20において生成された基準リンクモデル33を参照して、基準リンクモデル33に含まれる基準ルール情報を選択する。次に、異常判定部17は、選択した基準ルール情報の存在確率があらかじめ設定された閾値以下である場合、当該リンク情報を異常と判定する。閾値は、例えば、実験、シミュレーションなどにより決定される。
【0120】
次に、異常判定部17は、異常検知結果を、不図示の出力情報生成部に出力する(ステップA7)。そして、出力情報生成部は、出力装置に異常検知結果を出力するために用いる出力情報を生成する。出力装置は、出力情報生成部により、出力可能な形式に変換された、出力情報を取得し、その出力情報に基づいて、生成した画像及び音声などを出力する。
【0121】
次に、基準リンク生成部16は、推定したリンク情報に基づいて、基準リンクモデル33を生成する(ステップA8)。具体的には、ステップA8において、基準リンク生成部16は、まず、推定したリンク情報を取得する。次に、基準リンク生成部16は、取得した推定したリンク情報に基づいて、基準リンクモデル33を生成する。
【0122】
なお、基準リンクモデル33は、リンク推定モデル32を初期モデルとして、運用システム20におけるノード間のリンクについて学習させることが望ましい。
【0123】
次に、システム監視装置10は、上述したシステム監視処理を終了する指示を取得した場合、システム監視処理を終了する(ステップA9:Yes)。また、システム監視処理を継続する場合(ステップA9:No)、ステップA1に移行して処理を継続する。
【0124】
モデル生成装置の動作について説明する。
図13に示すように、監視コマンド実行部13は、まず、あらかじめ設定された間隔又は日時に、所定の監視コマンド23を試験用システム40のホスト21に入力し、OS22において所定の監視コマンドにより実行されるプログラムを実行させる(ステップB1)。
【0125】
次に、取得部14は、監視コマンド23を実行して収集された情報をホスト21から取得する(ステップB2)。
【0126】
次に、マッピング部51は、試験用システム40において、監視コマンド23を用いて収集された第二のノード情報と、エージェント41を用いて収集された第三のノード情報とを用いて、マッピング情報を生成する(ステップB3)。
【0127】
具体的には、ステップB3において、マッピング部51は、まず、取得部14から第二のノード情報と第三のノード情報とを取得する。次に、マッピング部51は、取得した第二のノード情報と第三のノード情報それぞれについて、取得した情報のパラメータを多次元要素として、同じ事象において学習をし、クラスタリングする。
【0128】
そうすると、同じ事象において学習をしたので、多次元要素空間における第二のノード情報に対するクラスタリングの結果と、第三のノード情報に対するクラスタリングの結果は、
図11に示すように同じような結果となる。
【0129】
次に、マッピング部51は、第二のノード情報のクラスタ(多次元要素空間1のクラスタ)と、第二のノード情報のクラスタに対応する第三のノード情報のクラスタ(多次元要素空間2のクラスタ)とを用いて、それらのクラスタに含まれるノードを関連付ける(マッピングをする)。
【0130】
例えば、第二のノード情報のクラスタCL1と、第三のノード情報のクラスタCL1′は対応しているので、この二つのクラスタに含まれるノードを関連付けてマッピング情報を生成する。
【0131】
次に、補充モデル生成部52は、マッピング情報に基づいて補充モデル31を生成する(ステップB4)。具体的には、ステップB4において、補充モデル生成部52は、まず、マッピング部51からマッピング情報を取得する。次に、補充モデル生成部52は、取得したマッピング情報を用いて、
図4に示すような補充モデル31を生成して、記憶装置30に記憶する。
【0132】
次に、リンク推定モデル生成部53は、マッピング情報に基づいて生成されたグラフ情報を用いて、リンク推定モデル32を生成する(ステップB5)。
【0133】
具体的には、ステップB5において、リンク推定モデル生成部53は、まず、グラフ生成部15により生成されたグラフ情報を取得する。ここで、グラフ生成部15は、マッピング情報を入力として、グラフ情報を生成する。
【0134】
次に、リンク推定モデル生成部53は、グラフ生成部15により生成されたグラフ情報に基づいて、
図6、7に示したようなリンク推定モデル32(32aと32b)を生成する。
【0135】
次に、システム監視装置10は、上述したモデル生成処理を終了する指示を取得した場合、モデル生成処理を終了する(ステップB6:Yes)。また、モデル生成処理を継続する場合(ステップB6:No)、ステップB1に移行して処理を継続する。
【0136】
[本実施形態の効果]
以上のように本実施形態によれば、エージェントを用いず、OSのカーネルモジュールにアクセスしないで、監視コマンドを用いて、運用システムから収集された第一のノード情報を、エージェントを用いて収集したノード情報と同程度の情報に拡充できる。
【0137】
また、本実施形態においては、エージェントを用いず、OSのカーネルモジュールにアクセスしないで、監視コマンドを用いて、運用システムから収集された第一のノード情報を拡充した補充ノード情報を用いて、ノード間にリンクが存在する確率を推定できる。
【0138】
さらに、運用システムでカーネルに影響を与えるエージェントを動かさずにすむので、エージェントによる処理負荷やシステムの動作不安定化を避けることができる。
【0139】
[プログラム]
本発明の実施形態におけるプログラムは、コンピュータに、
図12に示すステップA1からA9を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施形態におけるシステム監視装置、システム監視方法を実現することができる。この場合、コンピュータのプロセッサは、監視コマンド実行部13、取得部14、補充部11、推定部12、グラフ生成部15、基準リンク生成部16、異常判定部17、出力情報生成部として機能し、処理を行なう。
【0140】
また、本実施形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、監視コマンド実行部13、取得部14、補充部11、推定部12、グラフ生成部15、基準リンク生成部16、異常判定部17、出力情報生成部のいずれかとして機能してもよい。
【0141】
また、本発明の実施形態におけるプログラムは、コンピュータに、
図13に示すステップB1からB6を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施形態におけるモデル生成装置、モデル生成方法を実現することができる。この場合、コンピュータのプロセッサは、監視コマンド実行部13、取得部14、グラフ生成部15、マッピング部51、補充モデル生成部52、リンク推定モデル生成部53として機能し、処理を行なう。
【0142】
また、本実施形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、監視コマンド実行部13、取得部14、グラフ生成部15、マッピング部51、補充モデル生成部52、リンク推定モデル生成部53のいずれかとして機能してもよい。
【0143】
[物理構成]
ここで、実施形態におけるプログラムを実行することによって、システム監視装置、モデル生成装置を実現するコンピュータについて
図14を用いて説明する。
図14は、本発明の実施形態におけるシステム監視装置、モデル生成装置を実現するコンピュータの一例を示すブロック図である。
【0144】
図14に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU、又はFPGAなどのプログラマブルなデバイスを備えていてもよい。
【0145】
CPU111は、記憶装置113に格納された、本実施形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。また、本実施形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。なお、記録媒体120は、不揮発性記録媒体である。
【0146】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリなどの半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0147】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0148】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
【0149】
なお、本実施形態におけるシステム監視装置10、モデル生成装置50は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、システム監視装置10、モデル生成装置50は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0150】
[付記]
以上の実施形態に関し、更に以下の付記を開示する。上述した実施形態の一部又は全部は、以下に記載する(付記1)から(付記12)により表現することができるが、以下の記載に限定されるものではない。
【0151】
(付記1)
試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充部と、
前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定部と、
を有するシステム監視装置。
【0152】
(付記2)
付記1に記載のシステム監視装置であって、
前記補充モデルは、前記試験用システムにおいて、前記監視コマンドを用いて収集された第二のノード情報と、前記エージェントを用いて収集された第三のノード情報とを用いて、学習により生成され、前記第一のノード情報を選択するためのキーとなるキー情報と、前記第一のノード情報を補充するための補充情報とが関連付けられたルール情報を、一つ以上有している
システム監視装置。
【0153】
(付記3)
付記1又は2に記載のシステム監視装置であって、
推定されたノード間のリンクを表すリンク情報を用いて、運用システムにおいて生成された基準リンクモデルを参照し、当該リンク情報に対応する基準リンクモデルに含まれる基準ルール情報を選択し、選択した基準ルール情報があらかじめ設定された条件を満たさない場合、前記リンク情報を異常と判定する、異常判定部
を有するシステム監視装置。
【0154】
(付記4)
付記3に記載のシステム監視装置であって、
前記基準リンクモデルは、運用システムにおいて過去に推定されたノード間のリンクを表すリンク情報を用いて生成される
システム監視装置。
【0155】
(付記5)
試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充ステップと、
前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定ステップと、
を有するシステム監視方法。
【0156】
(付記6)
付記5に記載のシステム監視方法であって、
前記補充モデルは、前記試験用システムにおいて、前記監視コマンドを用いて収集された第二のノード情報と、前記エージェントを用いて収集された第三のノード情報とを用いて、学習により生成され、前記第一のノード情報を選択するためのキーとなるキー情報と、前記第一のノード情報を補充するための補充情報とが関連付けられたルール情報を、一つ以上有している
システム監視方法。
【0157】
(付記7)
付記5又は6に記載のシステム監視方法であって、
推定されたノード間のリンクを表すリンク情報を用いて、運用システムにおいて生成された基準リンクモデルを参照し、当該リンク情報に対応する基準リンクモデルに含まれる基準ルール情報を選択し、選択した基準ルール情報があらかじめ設定された条件を満たさない場合、前記リンク情報を異常と判定する、異常判定ステップ
を有するシステム監視方法。
【0158】
(付記8)
付記7に記載のシステム監視方法であって、
前記基準リンクモデルは、運用システムにおいて過去に推定されたノード間のリンクを表すリンク情報を用いて生成される
システム監視方法。
【0159】
(付記9)
コンピュータに、
試験用システムにおいて監視コマンド及びエージェントにより収集された情報を用いて学習させた補充モデルに基づいて、運用システムにおいて監視コマンドを用いて収集された第一のノード情報を補充し、補充ノード情報を生成する、補充ステップと、
前記試験用システムにおいて前記監視コマンド及び前記エージェントを用いて収集された情報を用いて学習させたリンク推定モデルに、前記補充ノード情報を入力し、ノード間にリンクが存在する確率を推定する、推定ステップと
を実行させる命令を含むプログラム。
【0160】
(付記10)
付記9に記載のプログラムであって、
前記補充モデルは、前記試験用システムにおいて、前記監視コマンドを用いて収集された第二のノード情報と、前記エージェントを用いて収集された第三のノード情報とを用いて、学習により生成され、前記第一のノード情報を選択するためのキーとなるキー情報と、前記第一のノード情報を補充するための補充情報とが関連付けられたルール情報を、一つ以上有している
プログラム。
【0161】
(付記11)
付記9又は10に記載のプログラムであって、
前記プログラムが、前記コンピュータに、
推定されたノード間のリンクを表すリンク情報を用いて、運用システムにおいて生成された基準リンクモデルを参照し、当該リンク情報に対応する基準リンクモデルに含まれる基準ルール情報を選択し、選択した基準ルール情報があらかじめ設定された条件を満たさない場合、前記リンク情報を異常と判定する、異常判定ステップ
を実行させる命令を含むプログラム。
【0162】
(付記12)
付記11に記載のプログラムであって、
前記基準リンクモデルは、運用システムにおいて過去に推定されたノード間のリンクを表すリンク情報を用いて生成される
プログラム。
【0163】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0164】
以上のように本発明によれば、カーネルモジュールにアクセスせず、精度よくシステムを監視できる。本発明は、システム監視が必要な分野において有用である。
【符号の説明】
【0165】
10 システム監視装置
11 補充部
12 推定部
13 監視コマンド実行部
14 取得部
15 グラフ生成部
16 基準リンク生成部
17 異常判定部
20 運用システム
21 ホスト
22 OS
23 監視コマンド
24 サービスプログラム
25 ユーザプログラム
26 ファイル
27 ネットワーク
28 プロセス
30 記憶装置
31 補充モデル
32、32a、32b リンク推定モデル
33 基準リンクモデル
40 試験用システム
41 エージェント
42 試験用プログラム
50 モデル生成装置
51 マッピング部
52 補充モデル生成部
53 リンク推定モデル生成部
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス