(58)【調査した分野】(Int.Cl.,DB名)
監視対象となる一又は二以上の監視対象装置を監視する中継サーバが複数接続され、複数の各中継サーバの状態に応じて、該当する中継サーバの監視対象装置を、他の中継サーバの監視対象に切り替える情報処理装置であって、
各中継サーバから出力される所定の出力情報を蓄積する蓄積手段と、
前記蓄積手段に蓄積される出力情報を形態素解析することで生成されたデータに基づいて、前記中継サーバでの障害発生を予測し、所定の障害予測結果を出力する障害予測手段と、
前記障害予測手段から出力される障害予測結果に基づいて、該当する中継サーバの監視対象装置を他の中継サーバの監視対象に切り替える中継サーバ切り替え手段と、を備える
ことを特徴とする中継サーバ切り替え制御装置。
監視対象となる一又は二以上の監視対象装置を監視する中継サーバが複数接続され、複数の各中継サーバの状態に応じて、該当する中継サーバの監視対象装置を、他の中継サーバの監視対象に切り替える情報処理装置を構成するコンピュータを、
各中継サーバから出力される所定の出力情報を蓄積する蓄積手段、
前記蓄積手段に蓄積される出力情報を形態素解析することで生成されたデータに基づいて、前記中継サーバでの障害発生を予測し、所定の障害予測結果を出力する障害予測手段、
前記障害予測手段から出力される障害予測結果に基づいて、該当する中継サーバの監視対象装置を他の中継サーバの監視対象に切り替える中継サーバ切り替え手段、として機能させる
ことを特徴とする中継サーバ切り替え制御プログラム。
監視対象となる一又は二以上の監視対象装置を監視する中継サーバが複数接続され、複数の各中継サーバの状態に応じて、該当する中継サーバの監視対象装置を、他の中継サーバの監視対象に切り替える情報処理装置を構成するコンピュータを用いて、
各中継サーバから出力される所定の出力情報を蓄積する蓄積手順、
前記蓄積手順で蓄積される出力情報を形態素解析することで生成されたデータに基づいて、前記中継サーバでの障害発生を予測し、所定の障害予測結果を出力する障害予測手順、
前記障害予測手順から出力される障害予測結果に基づいて、該当する中継サーバの監視対象装置を他の中継サーバの監視対象に切り替える中継サーバ切り替え手順、を実行する
ことを特徴とする中継サーバ切り替え制御方法。
【発明を実施するための形態】
【0015】
以下、本発明に係る中継サーバ切り替え制御装置の実施形態について、図面を参照しつつ説明する。
ここで、以下に示す本発明の中継サーバ切り替え制御装置は、プログラム(ソフトウェア)の命令によりコンピュータで実行される処理,手段,機能によって実現される。プログラムは、コンピュータの各構成要素に指令を送り、以下に示す本発明に係る所定の処理や機能等を行わせることができる。すなわち、本発明における各処理や手段,機能は、プログラムとコンピュータとが協働した具体的手段によって実現される。
【0016】
なお、プログラムの全部又は一部は、例えば、磁気ディスク,光ディスク,半導体メモリ,その他任意のコンピュータで読取り可能な記録媒体により提供され、記録媒体から読み出されたプログラムがコンピュータにインストールされて実行される。また、プログラムは、記録媒体を介さず、通信回線を通じて直接にコンピュータにロードし実行することもできる。また、本発明に係る中継サーバ切り替え制御装置は、単一の情報処理装置(例えば1台のパーソナルコンピュータ等)で構成することもでき、複数の情報処理装置(例えば複数台のサーバコンピュータ群等)で構成することもできる。
【0017】
[システム構成]
図1に、本発明の一実施形態に係る中継サーバ切り替え制御装置を備えたプローブノードシステムの構成を模式的に示す。
同図に示すように、本発明の一実施形態に係るプローブノードシステムは、監視対象となる一又は二以上の監視対象装置10(業務サーバ10a〜10n。以下単に監視対象装置10)と、監視対象装置10を監視する中継サーバ20(プローブ20a〜20n)と、中継サーバ20が複数接続され、複数の各中継サーバ20の状態に応じて、該当する中継サーバ20が担当する監視対象装置10を、他の中継サーバ20の監視対象に切り替える中継サーバ切り替え制御装置30(マネージャ・サーバ30a・機械学習サーバ30b)とで構成されている。
これら監視対象装置10,中継サーバ20及び中継サーバ切り替え制御装置30は、例えばインターネットや社内LANなどのネットワークを介してデータ通信可能に接続されている。
【0018】
[監視対象装置(業務サーバ)]
監視対象装置10は、中継サーバ20を介してプローブノードシステムの監視対象となる装置である。この監視対象装置10は、例えば企業等の業務に使用されるデータシステム(業務システム)が実装・運用される業務サーバとも呼ばれる一又は二以上の情報処理装置によって構成されている。
具体的には、監視対象装置10は、
図1に示すように、複数の業務サーバ10a〜10n(業務サーバA10a,業務サーバB10b,業務サーバC10c・・・業務サーバN10n)によって構成され、業務サーバを構成する所定数の情報処理装置群を単位として、各単位を担当する中継サーバ20がそれぞれ接続されて、一つのプローブノードシステムを構成している。
【0019】
現実の業務サーバとしては、例えば数台のコンピュータで構成される場合から、数百台〜数千台,数万台のサーバシステム群からなる情報処理装置によって構成される場合もあり、いずれの場合にも、企業等の業務・運営に必要とされるアプリケーション・システムや基盤システムなどのデータシステムが業務システムとして実装・運用されるものである。
そして、このように複数の情報処理装置によって構成される業務サーバ10a〜10nが、監視対象装置10として複数の中継サーバ20によって所定数の情報処理装置単位で監視されることで、多数の業務サーバが備えられる場合であっても、中継サーバ20単位で効率的な業務サーバ10a〜10nの監視が行われるようになっている。
【0020】
監視対象装置10となる各業務サーバ10a〜10nからは、業務システムの運用に伴って、アプリケーションログや基盤のログ等のログファイルを含む出力情報が常時継続的かつ大量に出力される。
この出力情報が、該当する監視対象装置10を担当する中継サーバ20に出力されることで、複数の各業務サーバ10a〜10nの状態が、担当する中継サーバ20単位で監視されることになる。
【0021】
[中継サーバ(プローブ)]
中継サーバ20は、一般にプローブ(プローブノード)と呼ばれる、プローブノードシステムにおいて監視対象となる一又は二以上の監視対象装置10を監視する情報処理装置であって、例えばサーバコンピュータ等によって構成されている。
具体的には、中継サーバ20は、
図1に示すように、複数のプローブ20a〜20n(プローブA20a,プローブB20b,プローブC20c・・・プローブN20n)によって構成され、各プローブ20a〜20nが、それぞれ自己が担当する監視対象装置10として、一又は二以上の業務サーバ10a〜10nに接続されて、全体として一つのプローブノードシステムを構成している。
【0022】
中継サーバ20は、自己が担当する監視対象装置10の動作や稼動状態を監視しており、各監視対象装置10における異常やエラー等の発生が、各中継サーバ20単位で効率的に行われるようになっている。
具体的には、中継サーバ20は、監視対象となる監視対象装置10から出力されるアプリケーションログや基盤のログ等のログファイルを出力情報として常時継続的に受信している。この出力情報によって、中継サーバ20を構成する複数の各プローブ20a〜20nは、自己が担当する監視対象装置10の状態を常時監視することができ、いずれかの監視対象装置10に異常等が発生した場合にも、出力情報に基づいてその異常等の発生を直ちに検知することができる。
【0023】
また、中継サーバ20の各プローブ20a〜20nでは、担当する監視対象装置10を監視している自身(当該プローブ20a〜20n)の状態を示す出力情報として所定のメッセージ情報が生成され、中継サーバ切り替え制御装置30に出力・転送されるようになっている。
これによって、中継サーバ切り替え制御装置30では、監視対象装置10を監視する中継サーバ20のプローブ20a〜20n自体の状態を個々に監視・把握することができるとともに、後述するように、各プローブ20a〜20nにおける障害発生を予測し、また、各プローブ20a〜20nからのメッセージ情報のうち不要な情報等を抑止することができるようになっている。
【0024】
[メッセージ情報]
ここで、中継サーバ20から中継サーバ切り替え制御装置30に出力される出力情報となるメッセージ情報について説明する。
図2,3は、中継サーバ20を構成する各プローブ20a〜20nから出力されるメッセージ情報の一例であり、
図2は中継サーバ20の障害が検知・予測される場合の情報、
図3は出力情報中に抑止対象とすべきメッセージバーストが含まれる場合を示している。
これらの図に示すように、中継サーバ20から出力されるメッセージ情報には、中継サーバ20を構成する各プローブ20a〜20nの動作状態等を示す所定情報が含まれており、具体的には、メッセージID,障害レベル,発生日時,発生ノード,メッセージ本文等の情報が含まれている。
【0025】
「メッセージID」は、各メッセージ情報に割り振られる識別情報である。
「障害レベル」は、メッセージ情報で示される事象が障害であるか否かを示す情報であり、ここでは、「E」が障害、「I」が非障害として示される。
「発生ノード」は、メッセージ情報で示される事象がいずれのプローブ20a〜20nで発生したかを示す情報である。
「メッセージ本文」は、メッセージ情報で示される事象の内容を一定文字数のテキストデータとして示される情報である。
【0026】
このようなメッセージ情報によって、中継サーバ20を構成する各プローブ20a〜20nの状態が、中継サーバ切り替え制御装置30において判定することができる。
例えば
図2(a)に示す例では、プローブA20aにおいて、2015年3月14日10時01〜03分の短時間に「プロセスAが停止しました」・「プロセスAが起動しました」・「メモリ使用率が閾値超過」という事象が連続して発生し、その後、「通信応答が途絶えました」となり、通信途絶によりプローブA20aとの通信応答ができなくなったこと、すなわち、プローブA20aに障害が発生したことが示されている。
このような場合には、プローブA20aについて点検や修復等を行う必要があり、その間、プローブA20aが担当している監視対象装置10については、監視が存在しない状態となってしまう。
【0027】
そこで、本実施形態では、後述する中継サーバ切り替え制御装置30の制御により、
図2(a)と同様のメッセージ情報が出力される場合には、事前に障害発生と予測(予兆)して、該当するプローブA20aに実際に障害が発生してしまう前に対応が取れるようになっている。
具体的には、
図2(b)に示すように、プローブA20aに実際に障害(通信途絶)が発生してしまう前の段階、つまり、一定時間内に「プロセスAが停止しました」・「プロセスAが起動しました」・「メモリ使用率が閾値超過」という事象が連続して発生したタイミングで、プローブA20aにおける障害発生と予測して、プローブA20aが担当している監視対象装置10の監視を、他のプローブB20b,プローブC20c・・・プローブN20nが担当するように接続を切り替えることができるようになっている。
【0028】
また、
図3(a)に示す例では、プローブA20aから、同日の同時刻(2015年3月14日10時01分)に、同一のメッセージ(「プロセスAが停止しました」)が出力されている。このように同一内容の出力情報がほぼ同時に複数出力される場合、それはバーストメッセージ、すなわち一度に大量に出力されるデータの塊であって、例えば後にログファイル情報を参照して中継サーバ20の保守・点検等を行うような場合に、無用・不要な情報(ゴミ・ノイズ)となる。
そこで、本実施形態では、後述する中継サーバ切り替え制御装置30の制御により、
図3と同様のメッセージ情報が出力される場合には、ほぼ同時複数出力される同一内容のメッセージ情報は抑止対象と予測して、重複するメッセージ情報を抑止(削除)することで、メッセージの最適化が行えるようになっている。
【0029】
具体的には、
図3(b)に示すように、2015年3月14日10時01分に発生した「プロセスAが停止しました」という事象を示すメッセージ情報については、最初の一つを残して、他の(二つの)メッセージ情報は抑止(削除)されるようになっている。
これによって、不要なメッセージが抑止(削除)された最適化情報に基づいて、効率の良い保守・点検等を行うことができるようになる。
【0030】
[中継サーバ切り替え制御装置]
中継サーバ切り替え制御装置30は、上述した中継サーバ20が複数接続され、中継サーバ20を構成する複数の各プローブ20a〜20nの状態に応じて、該当するプローブ20a〜20nが担当する監視対象装置10を、他のプローブ20a〜20nの監視対象に切り替える装置である。
この中継サーバ切り替え制御装置30は、例えば、業務サーバ10a〜10nで運用される業務システム(データシステム)を提供する情報システム企業が所有するサーバシステム等の情報処理装置によって構成される。
具体的には、本実施形態に係る中継サーバ切り替え制御装置30は、
図1に示すように、中継サーバ20となる各プローブ20a〜20nと通信可能に接続されたマネージャ・サーバ30aと、マネージャ・サーバ30aに接続された機械学習サーバ30bとで構成されている。
【0031】
なお、本実施形態では、中継サーバ切り替え制御装置30について、マネージャ・サーバ30aと機械学習サーバ30bという二つの情報処理装置によって構成しているが、これを単一の情報処理装置によって構成することもでき、また、三つ以上の情報処理装置によって構成することもできる。
すなわち、中継サーバ切り替え制御装置30は、以下に示す各手段が実現可能であれば、そのための情報処理装置に物理的構成や配置等については特に限定されるものではなく、例えばシステムの規模や処理能力などに応じて、任意の構成を採用することができる。
【0032】
本実施形態では、中継サーバ切り替え制御装置30は、マネージャ・サーバ30a側に備えられる受信手段31,蓄積手段32,中継サーバ切り替え手段35,バースト抑止メッセージ出力手段36と、機械学習サーバ30b側に備えられる障害予測手段33及び抑止対象予測手段34とを備えた構成となっている。
受信手段31は、中継サーバ20の各プローブ20a〜20nから出力される所定の出力情報となるメッセージ情報を受信する手段である。
蓄積手段32は、受信手段31で受信される出力情報であるメッセージ情報を含む、マネージャ・サーバ30aの稼動に必要となる所定情報を蓄積する、マネージャ・サーバ30aのデータベースとなる記憶手段である。
【0033】
障害予測手段33は、蓄積手段32に蓄積されるメッセージ情報に基づいて、中継サーバ20での障害発生を予測し、所定の障害予測結果を中継サーバ切り替え手段35に出力する手段である。
この障害予測手段33は、機械学習サーバ30の機能により、予め設定された所定の障害予測パターンと蓄積手段32に蓄積されるメッセージ情報に基づく機械学習によって、中継サーバ20での障害発生を予測する。具体的には、中継サーバ20の各プローブ20a〜20nから出力されるメッセージ情報に含まれる所定のメッセージ情報、すなわち、上述した障害レベル・発生日時・発生ノード・メッセージ本文(
図2参照)を形態素解析してキーワード分解したもの(
図7参照)を属性として、「クラス分類モデル」の機械学習を行うことによって、中継サーバ20の各プローブ20a〜20nの障害を予測し、その結果を出力するようになっている。
【0034】
抑止対象予測手段34は、蓄積手段32に蓄積されるメッセージ情報に基づいて、当該メッセージ情報のうち抑止対象とすべきメッセージ情報を予測し、所定の抑止対象予測結果をバースト抑止メッセージ出力手段に出力する手段である。
この抑止対象予測手段34についても、機械学習サーバ30の機能により、予め設定された所定の抑止対象予測パターンと蓄積手段32に蓄積されるメッセージ情報に基づく機械学習によって、抑止対象とすべき情報を予測する。具体的には、中継サーバ20の各プローブ20a〜20nから出力されるメッセージ情報、すなわち、上述した障害レベル・発生日時・発生ノード・メッセージ本文(
図3参照)を形態素解析して分解したもの(
図8参照)と、発生したメッセージの連続性/不連続性を属性として、「クラス分類モデル」の機械学習を行うことによって、メッセージ情報の抑止対象を予測し、その結果を出力するようになっている。
【0035】
なお、「機械学習」とは、入力されたデータから有用な規則やルール,判断基準等を抽出し、反復的な学習を繰り返すことで、新たに入力されたデータに対する規則やルール等を自律的に生成して成長する人工知能技術である。
また、「形態素解析」とは、自然言語で書かれた文を形態素(言語で意味を持つ最小単位)に分割する、コンピュータによる自然言語処理技術である。
また、「クラス分類モデル」とは、対象データをターゲットとなるクラスに割り当てるデータ・マイニング技術である。
これら機械学習・形態素解析・クラス分類モデルについては、公知の技術を用いることができ、本実施形態では、機械学習サーバがそれらの機能を備えたサーバコンピュータにより構成されるものである。
【0036】
中継サーバ切り替え手段35は、障害予測手段33から出力される障害予測結果に基づいて、該当するプローブ20a〜20nの監視対象装置を他のプローブ20a〜20nの監視対象に切り替える手段である。
本実施形態に係る中継サーバ切り替え手段35は、障害予測手段33から出力される障害予測結果に基づいて、中継サーバ20の各プローブ20a〜20nに設定された所定の基準値を変更し、当該基準値が所定の閾値に達したプローブ20a〜20nについて、当該プローブ20a〜20nの監視対象装置を他のプローブ20a〜20nの監視対象に切り替えるようになっている。
【0037】
具体的には、中継サーバ切り替え手段35では、各プローブ20a〜20nについての障害予測結果と、それに基づく対応するプローブ20a〜20nの健全性ポイントの情報が参照される。これらの情報は、データベースとなる蓄積手段32に記憶される。
図4(a)に、障害予測手段33の障害予測結果に基づいて設定される障害予測結果とそれに応じた各プローブ20a〜20nに割り当てられる健全性ポイントの一例を示す。
同図に示すように、各中継サーバ20に対しては、障害予測結果を示す値と、それに連動した所定の健全性ポイントが割り当てられている。ここでは、各プローブ20a〜20nに対して、障害予測結果の初期値として「0」が、また、健全性ポイントとして「10点満点」のポイントが割り当てられている(
図4(a)参照)。したがって、障害が発生していないプローブ20a〜20nの場合には、障害予測結果の値は「0」、健全性ポイントは満点の「10」となる。
【0038】
そして、各プローブ20a〜20nについての障害予測手段33で判定される障害予測結果に基づいて、各プローブ20a〜20nについて、障害予測結果の値が1ポイントずつ加算されるとともに、健全性ポイントがそれに応じて1ポイントずつ減算されるようになっている。
具体的には、
図4(a)に示す例では、プローブA20aについては、2回の障害が予測・判定されたことにより、障害予測結果の値が「2」、健全性ポイントが「8」となっている場合である。
同様に、プローブB20bについては、1回の障害が予測・判定され、障害予測結果の値が「1」、健全性ポイントが「9」となっており、プローブC20cについては、障害が1回も予測・判定されておらず、障害予測結果の値が「0」、健全性ポイントが「10」となっている場合である。
【0039】
また、障害予測結果には中継サーバ20の切り替えを行う基準となる閾値が設定されており、
図4(a)に示す例では、障害予測結果の閾値「2」が設定されており、閾値に達したプローブ20a〜20nがあると、中継サーバ切り替え手段35による切り替え処理が実行される。
そして、この切り替え処理の際に、切り替え先となる他のプローブ20a〜20nとして、健全性ポイントが参照され、健全性ポイントの高いプローブ20a〜20nに対して優先的に切り替え処理が実行されるようになっている。
図4(a)に示す例では、プローブC20cの健全性ポイントが最も高いため、このプローブC20cがプローブA20aからの切り替え先として選択される。
【0040】
その結果、
図4(b)及び(c)に示すように、障害予測結果の値が閾値に達したプローブA20aが担当していた業務サーバA10aが、健全性ポイントの最も高いプローブC20cの監視対象となるように切り替え処理が実行されることになる。
これにより、プローブA20aにおいて実際には障害が発生していないタイミングで、最も健全性の高いプローブC20cに監視対象と切り替えることで、プローブA20aが担当していた業務サーバA10aは、継続的に監視対象として業務システムの運用が安定的に行われることになり、かつ、障害発生が予測されるプローブA20aに対しては事前の保守・点検等を実行することができるようになる
【0041】
なお、上述した障害予測結果の閾値や健全性ポイントの値は一例であり、閾値・健全性ポイントともに、任意の値を設定することできる。
また、その場合に、各中継サーバ20に割り当てる閾値・健全性ポイントは全て同じ値としてもよく、また、中継サーバ20の処理能力や監視対象の数などに応じて、個々に異なる閾値や健全性ポイントを割り当てることも可能である。
【0042】
バースト抑止メッセージ出力手段36は、抑止対象予測手段34の抑止対象予測結果に基づいて、重複するメッセージ情報が抑止(削除)されて最適化されたバースト抑止メッセージを生成して出力する手段である。
抑止対象予測結果に基づいて最適化されたバースト抑止メッセージは、データベースとなる蓄積手段32に記憶され、マネージャ・サーバ30aに対する入力操作に応じて、バースト抑止メッセージ出力手段36によって読み出されて出力され、例えば中継サーバ20の保守・点検の際に参照されるログファイル情報として使用される。その際に、ほぼ同時に複数出力される同一内容の出力情報が抑止(削除)されたバースト抑止メッセージは、重複する無用・不要な情報が含まれないために、効率の良い参照等が行えるようになる。
【0043】
[動作]
次に、以上のような構成からなる本実施形態に係る中継サーバ切り替え制御装置30の具体的な動作(中継サーバ切り替え制御方法)について、
図5〜10を参照しつつ説明する。
図5は、本発明の一実施形態に係る中継サーバ切り替え制御装置30における動作を示すフローチャートである。
【0044】
まず、本実施形態に係るプローブノードシステムにおいては、監視対象装置10となる各業務サーバ10a〜10nが、業務システムを運用するために継続的に稼動している。
稼動する業務サーバ10a〜10nからは、業務システムの運用に伴って、アプリケーションログや基盤のログ等のログファイルを含む出力情報が継続的に出力されている。
各業務サーバ10a〜10nから出力されるログファイル等の出力情報は、中継サーバ20を構成する各プローブ20a〜20nで受信され、各プローブ20a〜20nにおいて、それぞれ監視対象となる各業務サーバ10a〜10nの状態が常時監視されることになる。
【0045】
そして、中継サーバ20の各プローブ20a〜20nでは、当該各プローブ20a〜20nの状態を示すメッセージ情報が生成され、中継サーバ切り替え制御装置30に出力される。
中継サーバ切り替え制御装置30では、まず、マネージャ・サーバ30aの受信手段31において、上述したメッセージID,障害レベル,発生日時,発生ノード,メッセージ本文等を含むメッセージ情報(
図2,3参照)が受信される(ステップ1)。
受信手段31で受信されたメッセージ情報は、マネージャ・サーバ30aのデータベースとなる蓄積手段32に蓄積される(ステップ2)。
蓄積手段32に蓄積されたメッセージ情報は、並行して機械学習サーバ30b側に送信される(ステップ3)。
【0046】
マネージャ・サーバ30aからメッセージ情報を受信した機械学習サーバ30bでは、障害予測手段33による中継サーバ20の障害予測処理と、抑止対象予測手段34によるメッセージ情報の抑止対象予測処理が実行される(ステップ4)。
障害予測処理(ステップ4)は、障害予測手段33の制御により、予め設定された所定の障害予測パターンと、蓄積手段32から転送されるメッセージ情報に基づく機械学習によって、中継サーバ20の各プローブ20a〜20nにおける障害発生が予測(予兆)される。
【0047】
まず、障害予測手段33には、過去に発生したメッセージ情報の事象に基づいて、機械学習に用いられる基本パターンとして設定し、事前に学習させておく。
例えば、過去に実際に発生した事象として、
図6(a)に示すようなメッセージ情報が発生した場合、プローブA20aにおいて、2015年3月14日10時01〜03分の短時間に「プロセスAが停止しました」・「プロセスAが起動しました」・「メモリ使用率が閾値超過」という事象が連続して発生し、その後、「通信応答が途絶えました」となり、プローブA20aとの通信応答ができなくなり、プローブA20aに障害が発生している。
一方、その後の2015年3月15日10時03分に単独で発生した「メモリ使用率が閾値超過」という事象の後には、通信途絶による障害が発生していない。
【0048】
このような過去に発生した実際のメッセージ情報を、機械学習における障害発生の基本パターンとして障害予測手段33に設定し、事前に機械学習を行わせる。
その結果、まず、通信途絶の直前に発生している「メモリ使用率が閾値超過」のメッセージは障害発生に繋がる事象であることが学習される。
また、「プロセスAが停止しました」・「プロセスAが起動しました」という事象が発生した後、一定の短時間で連続して「メモリ使用率が閾値超過」という事象が発生した場合には、その後に通信途絶による障害が発生すると予測できることが学習される。
一方、上記のような連続するパターンではなく、独立したタイミングで単独で「メモリ使用率が閾値超過」という事象が発生した場合には、その後に通信途絶による障害は発生しないと予測できることが学習される。
【0049】
このような過去に発生した事象を基本パターンとする機械学習の結果、その後に発生する事象については、障害予測手段33では、機械学習による自律的な判断によって、中継サーバ20の障害発生が自動的に予測されることになる。
例えば、
図6(b)に示すように、プローブA20aにおいて、2016年3月14日10時01分〜03の短時間に「プロセスAが停止しました」・「メモリ使用率が閾値超過」・「プロセスAが起動しました」・「メモリ使用率が閾値超過」という事象が連続して発生した場合、まず、1回目の「メモリ使用率が閾値超過」という事象については、その後に障害は発生しないと予測される。したがって、この場合には、障害予測としては「0」(障害発生なし)が出力される。
【0050】
一方、2回目の「メモリ使用率が閾値超過」という事象については、その直前の短時間(2分間)に「プロセスAが停止しました」・「プロセスAが起動しました」という事象が連続して発生していることから、設定された基本パターンと一致し、その後に障害が発生すると予測される。したがって、この場合には、障害予測として「1」(障害発生あり)が出力される。
このようにして、障害予測手段33では、予め設定された過去の事象に基づく障害予測パターンと機械学習によって、中継サーバ20の各プローブ20a〜20nにおける障害発生が予測され、その予測結果が出力される。
そして、この障害予測の結果が、マネージャ・サーバ30a側に出力される(ステップ5)。
【0051】
また、抑止対象予測処理(ステップ4)は、抑止対象予測手段34の制御により、予め設定された所定の抑止対象予測パターンと、蓄積手段32から転送されるメッセージ情報に基づく機械学習によって、抑止対象とすべきメッセージ情報が予測・抽出される。
まず、抑止対象予測手段34には、上述した障害予測手段33の場合と同様に、過去に発生したメッセージ情報の事象に基づいて、機械学習に用いられる基本パターンとして設定し、事前に学習させておく。
【0052】
例えば、過去に実際に発生した事象として、
図7(a)に示すようなメッセージ情報が発生した場合、プローブA20aから、同日の同時刻(2015年3月14日10時01分)に、同一のメッセージ本文(「プロセスAが停止しました」)が出力されている。このように同一内容のメッセージ情報がほぼ同時に複数出力される場合には、バーストメッセージと判断でき、これを基本パターンとして設定し、抑止対象であるとして学習させる。
その後、プローブA20aから、同日の別時刻(2015年3月14日11時11分と13時21分)に、同一のメッセージ本文(「プロセスAが停止しました」)が出力されている。この場合には、同一のメッセージ本文が連続して出力されているが、発生時刻に間隔があいていることから、抑止対象ではないことを学習させる。
【0053】
このような過去に発生した事象を基本パターンとする機械学習の結果、その後に発生する事象については、抑止対象予測手段34では、機械学習による自律的な判断によって、メッセージ情報についての抑止対象が自動的に予測されることになる。
例えば、
図7(b)に示すように、プローブA20aにおいて、2016年3月14日に同一のメッセージ本文を含むメッセージ情報のみが発生した場合、まず、1〜3つ目のメッセージ情報については、それぞれ発生時刻に間隔があいており不連続であるため、抑止対象ではないと予測される。したがって、この場合には、抑止予測としては「0」(非抑止対象)が出力される。
【0054】
一方、4つ目のメッセージ情報については、直前の3つ目のメッセージ情報から1分後に発生しており、連続する同一メッセージと判断され、抑止対象であると予測される。したがって、この場合には、抑止予測として「1」(抑止対象)が出力される。
このようにして、抑止対象予測手段34においても、予め設定された過去の事象に基づく抑止対象予測パターンと機械学習によって、メッセージ情報に含まれる抑止対象となるメッセージ情報が予測され、その予測結果が出力される。
そして、以上の抑止対象予測の結果についても、マネージャ・サーバ30a側に出力される(ステップ5)。
【0055】
ここで、以上のような機械学習によって生成・出力される障害/抑止対象の予測結果について、抑止対象予測の場合を例にとって、従来の手法と比較しつつ説明する。
図8,9は、中継サーバ20から出力されるメッセージ情報について、本実施形態に係る抑止対象予測処理を実行した場合と従来の場合とを比較した説明図であり、それぞれ(a)は従来の出力結果、(b)は本実施形態に係る出力結果を示している。
【0056】
まず、
図8(a)に示す従来の手法では、メッセージの抑止設定として、同一のメッセージ本文を含むメッセージ(メッセージ情報)について、「時間間隔と件数」を固定的に設定したもので、具体的には、「2秒間5件以下」のメッセージを抑止対象とする設定を行った場合となっている。
この場合、時間間隔1〜3秒の間に、同一のメッセージ本文を含むメッセージが7件連続して発生すると、最初の2秒間に発生した5つのメッセージが「抑止」されることになる。その結果、2秒目に発生した6件目のメッセージと、3秒目に発生した7件目のメッセージは、本来は連続する同一メッセージとして抑止すべきであるのに抑止することができず、そのまま出力されてしまうことになる。
【0057】
このように、従来の手法では、固定的に設定された抑止条件に外れたケースには対応することができず、予め決められた時間間隔内に想定以上の件数の抑止対象が発生した場合、本来抑止すべき同一メッセージが抑止できないことになる。
これに対して、本実施形態の場合には、上記と同様の「2秒間5件以下」の条件設定をしていた場合にも、機械学習による自律的な判断により、連続する時間間隔で発生する同一メッセージについては、抑止対象とすべきことが自律的に学習・判断され、3秒間に連続して発生した同一メッセージについては、全てを抑止対象とすることができるようになる。
【0058】
また、
図8で示した事象に対応するための調整(チューニング)として、メッセージ情報の抑止設定を、「3秒間7件以下」と変更するように再設定を行った場合について
図9に示す。
このようなチューニングによる変更後の設定条件において、
図9に示す例では、1秒目に同一メッセージが4件連続して発生し、その後、2秒目にはメッセージが1件も発生せず、3秒目に1秒目と同一のメッセージが3件連続して発生した場合を示している。
この場合、
図9(a)に示すように、従来の手法では、3秒間に発生した7件の同一メッセージは、抑止設定に従って全てのメッセージが「抑止」されることになる。その結果、2秒目に1件目もメッセージが発生しておらず、3秒目に発生したメッセージは1秒目のメッセージとは、本来は不連続のメッセージであり、別事象に関する抑止すべきではないメッセージであるにも拘わらず、7件全てのメッセージが抑止されてしまうことになる。
【0059】
このように、従来の固定的な条件設定を用いる手法では、予め決められた時間間隔内に発生した想定件数のメッセージについては、不連続のメッセージであって本来抑止すべきでないものでも、一律に抑止されてしまうことになる。
これに対して、本実施形態の場合には、上記と同様の「3秒間7件以下」の設定をしていた場合にも、機械学習の自律的な判断により、2秒目に1件目もメッセージが発生していないことが学習され、3秒目に発生した3件のメッセージは、1秒目のメッセージとは不連続であり、別事象に係る抑止すべきでないメッセージであると判定されて、3秒目の3件のメッセージは抑止されないようになる。
【0060】
以上のように、従来の手法では、設定条件を固定的に設定していたために、具体的な事象に対応するためには、設定条件を変更してチューニングを行わなければならず、常に人力での設定変更が必要となり、また、抑止すべきか否かの検討も必要であり、結果として改善が遅々として進まないという問題が発生していた。
これに対して、本実施形態では、新たなに発生した具体的な事象に応じて、例えば抑止すべきメッセージのパターンや障害発生とすべきパターンを、予測すべき結果を示す基本パターンとして機械学習サーバ30bにインプットすることで、障害/抑止対象予測の基準を自律的に成長させていくことができる。その結果、人手により抑止設定を変更する必要がなくなり、従来行われていたチューニングの作業や労力も不要とすることができる。また、
図8,9に示したように、固定的に設定された設定条件(例えば時間間隔と件数)だけでは判断できない、実際に発生したメッセージの連続性・不連続性などについても判定条件とすることができるようになる。
【0061】
そして、以上のようにして機械学習サーバ30bで生成される障害/抑止対象の予測結果が、マネージャ・サーバ30a側に出力される(ステップ5)。
障害/抑止対象の予測結果を受信したマネージャ・サーバ30aでは、その予測結果に基づくプローブ10a〜10nの切り替え処理(ステップ6〜8)と、抑止対象メッセージを抑止(削除)したバースト抑止メッセージの出力処理(ステップ9)が実行される。
プローブ10a〜10nの切り替え処理は、まず、中継サーバ切り替え手段35によって、各プローブ20a〜20nについての障害予測結果と、それに基づく対応するプローブ20a〜20nの健全性ポイントの情報(
図4(a)参照)が更新される(ステップ6)。
【0062】
具体的には、上述した
図4(a)に示したように、中継サーバ20を構成するプローブ10a〜10nには、障害予測結果を示す値と、それに連動した所定の健全性ポイントが設定されており、障害予測結果の初期値として「0」が、健全性ポイントとして「10点満点」のポイントが割り当てられている(
図4(a)参照)。
そして、機械学習サーバ30bから障害/抑止対象の予測結果に基づいて、各プローブ20a〜20nについて、障害予測結果の値について1ポイントずつの加算処理が実行され、また、健全性ポイントについて、障害予測結果の値に連動した1ポイントずつの減算処理が実行される(ステップ6)。
【0063】
その後、各プローブ20a〜20nについて、障害予測結果の値が閾値を超えたか否かが判定される(ステップ7)。
図4(a)に示したように、各プローブ20a〜20nの障害予測結果の値には、切り替え処理を行う基準となる閾値が設定されており、本実施形態では、各プローブ20a〜20nの障害予測結果の閾値として「2」が設定されており、閾値に達したプローブ20a〜20nの有無が判定される。
そして、障害予測結果の閾値に該当するプローブ20a〜20nがある場合には、中継サーバ切り替え手段35による切り替え処理が実行される(ステップ8)。
【0064】
このプローブ20a〜20nの切り替え処理は、切り替え対象となる該当するプローブ20a〜20nに対して、切り替え先となる他のプローブ20a〜20nとして、健全性ポイントが参照される。
そして、健全性ポイントの高いプローブ20a〜20nが切り替え先として抽出され、切り替え処理が実行される(ステップ8)。
これによって、各プローブ20a〜20nについて、実際に障害が発生する前のタイミングで、担当する監視対象装置10を、より健全性の高い他のプローブ20a〜20nの監視対象として切り替えられるようになる(
図4(b)及び(c)参照)。
【0065】
また、上記のようなプローブ切り替え処理と並行して、あるいは所定のタイミングで、バースト抑止メッセージ出力手段36によってバースト抑止メッセージの出力処理が実行される(ステップ9)。
具体的には、バースト抑止メッセージ出力手段36は、機械学習サーバ30bから送信される抑止対象の予測結果に基づいて、データベースとなる蓄積手段32に記憶されているメッセージ情報について、該当する抑止対象のメッセージ情報が削除されることにより、最適化されたバースト抑止メッセージが生成される。
【0066】
生成されたバースト抑止メッセージは、蓄積手段32に蓄積され、例えばマネージャ・サーバ30aに対する入力操作に応じて、バースト抑止メッセージ出力手段36によって読み出されて出力される。
これによって、例えば中継サーバ20の保守・点検の際に参照されるログファイル情報として、重複する同一内容のメッセージ情報が抑止(削除)された最適化されたバースト抑止メッセージが用いられるようになる。
【0067】
以上説明したように、本実施形態に係る中継サーバ切り替え制御装置30によれば、所定数の監視対象装置10を束ねて監視する複数の中継サーバ20について、各中継サーバ20から出力される出力情報に基づいて障害発生が予測される中継サーバを判定することができ、それに応じて該当する中継サーバ20の監視対象装置10を他の中継サーバ20の監視対象に自動的に切り替えることができる。
また、複数の中継サーバ20から出力される大量の出力情報についても、重複する無用・不要なバーストメッセージを抑止して、本来必要となる有用な情報のみを含むバースト抑止メッセージとして出力させることができる。
【0068】
特に、本実施形態の中継サーバ切り替え制御装置30は、機械学習サーバ30bを備え、障害発生の予測や抑止対象の予測の基準を、機械学習により自律的に調整させ成長させていくことができる。
したがって、固定的な設定条件のみに基づく従来手法とは異なり、日々発生する具体的な事象や新たな事象に対応して、障害/抑止対象予測の基準を自律的に調整・改善させることが可能となり、人手によるチューニング等の作業が不要となり、また、固定的な設定条件では対応が困難乃至不可能な新たな事象に対しても、的確かつ迅速に対応することが可能となる。
【0069】
したがって、本発明によれば、数百台〜数千台,数万台オーダーの監視対象装置や中継サーバを備え、継続的に様々な事象が大量に発生している、例えば大企業のデータシステムや、複数企業等の異なるデータを大量に取り扱うデータシステムの運用を業務として請け負う情報システム企業が所有する巨大なサーバシステム群で運用・管理されるシステムにおいても、障害発生を動的かつ未然に防止でき、また、大量に出力されるメッセージ情報のバースト状態の適切な抑止が可能となり、安定的なシステム運用を実現することができる。
【0070】
以上、本発明について、好ましい実施形態を示して説明したが、本発明は、上述した実施形態に限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、上述した実施形態では、中継サーバの状態を示す出力情報として、メッセージID,障害レベル,発生日時,発生ノード,メッセージ本文を含むメッセージ情報を示しているが、これは本発明に係る中継サーバから出力される出力情報の一例であり、出力情報の内容等は特に限定されるものではなく、例えばメッセージ情報として上記以外の他の項目や内容等を含めることができ、また、中継サーバの状態を示す他の情報を出力情報として使用することもできる。
【0071】
また、上述した実施形態では、本発明に係る中継サーバ切り替え制御装置が適用されるデータシステムとして、複数の管理対象装置において実装・運用される大規模データシステムを想定して説明したが、本発明が適用可能なデータシステムや管理対象装置は、その規模の大小やシステムの内容については特に限定されるものではない。
監視対象装置(業務サーバ)を構成する多数の情報処理装置を監視する複数の中継サーバを備え、各中継サーバの障害発生を迅速かつ的確に予測し、また、多数の監視対象装置から出力される出力情報のバースト状態を抑止する必要のあるデータシステムや情報処理装置であれば、システムの規模や内容はどのようなものであっても本発明を適用・実施することができる。
【課題】監視対象装置を束ねて監視する複数の中継サーバから出力される出力情報に基づいて障害発生が予測される中継サーバを判定し、該当する中継サーバの監視対象装置を他の中継サーバの監視対象に切り替える。
【解決手段】監視対象となる複数の監視対象装置10を監視する各中継サーバ20から出力される所定の出力情報を受信する受信手段31と、受信手段31で受信される出力情報を蓄積する蓄積手段32と、蓄積手段32に蓄積される出力情報に基づいて、中継サーバ20での障害発生を予測し、所定の障害予測結果を出力する障害予測手段33と、障害予測手段33から出力される障害予測結果に基づいて、該当する中継サーバ20の監視対象装置10を他の中継サーバ20の監視対象に切り替える中継サーバ切り替え手段35とを備える構成としてある。