(57)【特許請求の範囲】
【請求項１】
複数のサーバコンピュータによる分散・並列処理を行うと共に、サーバコンピュータの自動スケールアウトと自動スケールインを行う分散・並列処理システムにおける障害イベントの発生を監視する装置であって、
上記サーバコンピュータでのイベントの発生を検知する監視手段と、
該監視手段が検知したイベントを受信し、当該イベントが障害により発生したイベントであるか自動スケールアウトもしくは自動スケールインにより発生したイベントであるかを判定する判定手段と
を有し、
該判定手段は、
各サーバコンピュータが上記自動スケールアウト用および上記自動スケールイン用のサーバであるか否かを示すサーバ用途情報を収集して記憶装置に記憶するサーバ用途情報収集手段と、
各サーバコンピュータが稼働中であるか停止中であるかを示す稼動状態情報を収集して記憶装置に記憶する稼動状態情報収集手段と、
上記自動スケールアウト用および上記自動スケールイン用のサーバコンピュータの自動スケールアウトもしくは自動スケールインが実行される際に、当該サーバコンピュータに関する上記稼動状態情報を変更する変更手段と、
障害を通知する障害通知手段と、
上記監視手段が検知したイベントについて、イベント発生元のサーバコンピュータの上記サーバ用途情報と上記稼動状態情報を参照して、当該イベントが、障害により発生したものであるか、自動スケールインにより発生したものであるかを判定し、当該イベントが障害により発生したものであると判定した場合には、上記障害通知手段を起動して、障害を通知させ、当該イベントが自動スケールインにより発生したものであると判定した場合には、上記障害通知手段を起動しない障害判定手段と
を有することを特徴とする分散・並列処理システムの障害監視装置。
【請求項２】
コンピュータを、請求項１記載の分散・並列処理システムの障害監視装置における各手段として機能させるためのプログラム。
【請求項３】
複数のサーバコンピュータによる分散・並列処理を行うと共に、サーバコンピュータの自動スケールアウトと自動スケールインを行う分散・並列処理システムにおける障害イベントの発生を、プログラムされたコンピュータ処理によって監視する装置の障害監視方法であって、
プログラムされたコンピュータ処理を実行する手段として、監視手段と、サーバ用途情報収集手段、稼動状態情報収集手段、変更手段、障害判定手段、障害通知手段を有し、
上記監視手段は、サーバコンピュータでのイベントの発生を検知し、
上記サーバ用途情報収集手段は、各サーバコンピュータが上記自動スケールアウト用および上記自動スケールイン用のサーバであるか否かを示すサーバ用途情報を収集して記憶装置に記憶し、
上記稼動状態情報収集手段は、各サーバコンピュータが稼働中であるか停止中であるかを示す稼動状態情報を収集して記憶装置に記憶し、
上記変更手段は、上記自動スケールアウト用および上記自動スケールイン用のサーバコンピュータの自動スケールアウトもしくは自動スケールインが実行される際に、当該サーバコンピュータに関する上記稼動状態情報を変更し、
上記障害通知手段は、障害を通知し、
上記障害判定手段は、上記監視手段が検知したイベントについて、イベント発生元のサーバコンピュータの上記サーバ用途情報と上記稼動状態情報を参照して、当該イベントが、障害により発生したものであるか、自動スケールインにより発生したものであるかを判定し、当該イベントが障害により発生したものであると判定した場合には、上記障害通知手段を起動して、障害を通知させ、当該イベントが自動スケールインにより発生したものであると判定した場合には、上記障害通知手段を起動しない
ことを特徴とする分散・並列処理システムの障害監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散/並列処理システムを構成するクライアント・サーバコンピュータシステムの運用を支援する技術に係り、特に、サーバ・コンピュータ（以下、単にサーバと記載）を運用・管理するデータセンタ等の障害監視作業で、分散/並列処理システムを構成するサーバで発生したイベントから効率良く障害の検知を行うのに好適な技術に関するものである。
【背景技術】
【０００２】
複数のサーバからなる分散/並列処理システムにおいて、システムを構成するサーバの台数を増やすことで、サーバ群全体のパフォーマンスを向上させることができる。以下、これを「スケールアウト」と呼ぶ。反対にサーバの台数を減らすことでシステム規模を縮小することを以下、「スケールイン」と呼ぶ。
【０００３】
従来、例えば、特許文献１に記載のように、サーバ群が高負荷状態になったときのみ、予め準備しておいたスケールアウト用の待機サーバを起動し、サーバ群の負荷が低くなったら待機サーバを停止することを自動的に行う技術がある。
【０００４】
この技術により、例えば、Webアクセス集中など一時的に高パフォーマンスが必要なときのみ待機サーバを起動することでスケールアウトでき、また、高パフォーマンスが必要無いときは待機サーバを停止することでスケールインして無駄な電力消費を抑えることができる。以下、この機能を「自動スケールアウト」、「自動スケールイン」、この機能を有するシステムを「自動スケールアウトシステム」と呼ぶ。
【０００５】
一方、業務処理コンピュータシステムの運用業務において、業務処理コンピュータシステムの安定稼動のためにサーバを監視する技術がある。例えば、業務処理を行っているサーバの死活監視を常時行うことで、何らかの障害により稼働中のサーバが停止した場合、これを検知し運用管理者に障害として通知することができる。通知を受けた運用管理者は、障害の原因を特定し、取り除くことで業務処理コンピュータシステムを再稼動することが可能になる。
【０００６】
しかし、自動スケールアウトによりスケールアウト用サーバが起動した後に、再度、自動スケールインにより停止が行われた際には、監視システムがサーバ停止を検知し、運用管理者に障害として通知してしまう。
【０００７】
サーバが稼働中に停止した場合は運用管理者に障害として通知する必要があるが、自動スケールインによる停止は正常な動作のため障害として通知する必要が無い。従来のサーバ監視では、障害によるサーバ停止と自動スケールインによるサーバ停止を区別して検知することができない。そのため、運用管理者は、サーバ停止の障害通知を受けた場合、停止したサーバがスケールアウト用サーバなのかどうか、自動スケールインによりサーバが停止したのかどうかを確認し、対応する必要のある障害かどうかを判断する必要がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２２５６４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
解決しようとする問題点は、従来の技術では、サーバ停止の障害通知を受けた運用管理者が、停止したサーバがスケールアウト用のサーバで自動スケールインにより当該サーバが停止したものであることを判断することができない点である。
【００１０】
本発明の目的は、これら従来技術の課題を解決し、例えば分散/並列処理システムを構成する業務処理コンピュータシステムの運用業務において、サーバを運用・管理するデータセンタ等の障害監視作業で、分散/並列処理システムを構成するサーバで発生したイベントから効率良く障害の検知を行うことを可能とすることである。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明においては、監視対象となる各サーバ（１０３〜１０５）が、常時稼動するのか、あるいは、スケールアウト時のみ稼動するのかを示すサーバ用途情報と、各サーバが待機中であるか稼働中かを示す稼動状態情報を記憶して管理し（１１１，１１２）、監視システム（１０７）が検知したイベントについて、イベント発生元のサーバのサーバ用途情報と稼動状態情報を確認することにより、当該イベントが障害により発生したものなのか、自動スケールアウトおよび自動スケールインにより発生したものなのかを判定する（１０８，１１０）。尚、稼動状態情報では、スケールアウト用の待機サーバが待機中であるのか、あるいは稼働中であるのかを示し、自動スケールアウトまたは自動スケールインの実行に合わせて適宜変更する（１０９）。
【発明の効果】
【００１２】
本発明によれば、自動スケールアウトおよび自動スケールインによるスケールアウト用の待機サーバの正常動作を、障害として運用管理者に誤って通知することが無くなり、障害として通知されるべき異常動作のみが障害として通知されるので、運用管理者は、従来のように、サーバの用途および稼動状態を確認して障害かどうかを判断する必要が無くなる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る障害監視装置を設けた分散・並列処理システムの構成例を示すブロック図である。
【図２】本発明に係る障害監視装置の構成例を示すブロック図である。
【図３】図１における構成管理データベースで記録管理されるサーバ管理テーブルの構成例を示す説明図である。
【図４】本発明に係る障害監視装置の第１の処理動作例を示すフローチャートである。
【図５】本発明に係る障害監視装置の第２の処理動作例を示すフローチャートである。
【図６】図２における障害判定部の障害判定動作例を示す説明図である。
【発明を実施するための形態】
【００１４】
以下、図を用いて本発明を実施するための形態例を説明する。図１において、１０１はクライアントマシン、１０２は負荷分散装置、１０３、１０４は常時稼動サーバ、１０５はスケールアウト用サーバ、１０６は自動スケールアウトシステム、１０７は監視システム、１０８は本発明の障害監視装置の主な機能を具備した自動スケールアウト対応障害判定システム、１１１は構成管理システム、１１３は運用通知システムであり、それぞれは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や主メモリ、表示装置、入力装置、外部記憶装置等を有するコンピュータ構成からなり、光ディスク駆動装置等を介してＣＤ−ＲＯＭ等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みＣＰＵで処理することにより、各処理部を実行する。
【００１５】
また、自動スケールアウト対応障害判定システム１０８は、プログラムされたコンピュータ処理を実行する機能として、構成情報変更機能１０９と障害判定機能１１０を具備し、さらに、図２に示すように、構成情報変更機能１０９は、自動スケールアウト実行内容通知の受信部２０１と構成情報変更部２０２を有し、障害判定機能１１０は、監視イベント受信部２０３と構成情報取得部２０４、障害判定部２０５、障害通知部２０６を有している。
【００１６】
このような構成により、本発明に係る自動スケールアウト対応障害判定システム１０８は、複数のサーバコンピュータによる分散・並列処理を行うと共に、サーバコンピュータの自動スケールアウトと自動スケールインを行う分散・並列処理システムにおける障害イベントの発生を効率的に監視することができる。
【００１７】
すなわち、監視システム１０７により、常時稼動サーバ１０３，１０４やスケールアウト用サーバ１０５等のサーバコンピュータでのイベントの発生を検知すると、自動スケールアウト対応障害判定システム１０８は、監視システム１０７が検知したイベントを受信し、当該イベントが障害により発生したイベントであるか自動スケールアウトもしくは自動スケールインにより発生したイベントであるかを、以下のようにして判定する。
【００１８】
自動スケールアウト対応障害判定システム１０８は、本発明に係るサーバ用途情報収集手段と稼動状態情報収集手段としての構成情報変更機能１０９により、常時稼動サーバ１０３，１０４やスケールアウト用サーバ１０５等の各サーバコンピュータが自動スケールアウト用および自動スケールイン用のサーバであるか否かを示すサーバ用途情報を収集し、また、各サーバコンピュータが稼働中であるか停止中であるかを示す稼動状態情報を収集し、構成管理システム１１１を介して構成管理データベース１１２に記憶しておく。
【００１９】
さらに、自動スケールアウトシステム１０６において自動スケールアウト用および自動スケールイン用のサーバコンピュータの自動スケールアウトもしくは自動スケールインが実行されたことを、構成情報変更機能１０９における自動スケールアウト実行内容通知の受信部２０１により確認すると、構成情報変更部２０２により、当該サーバコンピュータに関する、構成管理データベース１１２に記憶された稼動状態情報を、構成管理システム１１１を介して変更する。
【００２０】
そして、監視システム１０７が検知したイベントについて、障害判定機能１１０は、監視イベント受信部２０３によりイベント情報を受信し、構成情報取得部２０４により、構成管理システム１１１を介して構成管理データベース１１２にアクセスし、イベント発生元のサーバコンピュータのサーバ用途情報と稼動状態情報を読み出し、障害判定部２０５により、当該情報を参照して、当該イベントが、障害により発生したものであるか、自動スケールインにより発生したものであるかを判定する。
【００２１】
障害判定部２０５において、当該イベントが障害により発生したものであると判定した場合には、障害通知部２０６を起動して、当該障害イベントを、運用通知システム１１３に通知し、当該イベントが自動スケールインにより発生したものであると判定した場合には、障害通知部２０６を起動しない。
【００２２】
以下、分散/並列処理システム構成を例として、より具体的に説明を行う。
【００２３】
図１においては、本発明に係るシステムを含めた業務処理コンピュータシステムの運用業務における全体構成例を示している。すなわち、常時稼動サーバ１０３、１０４、スケールアウト用サーバ１０５は業務処理を行うサーバ群であり、分散/並列処理システム構成をとる。
【００２４】
クライアントマシン１０１から送信されたリクエストは負荷分散装置１０２により各サーバ群に分散して送信される。
【００２５】
常時稼動サーバ１０３、１０４は常時稼動して業務処理を行うサーバであるが、スケールアウト用サーバ１０５は通常は停止しておき、クライアントマシン１０１からのリクエスト数増加などにより常時稼動サーバ１０３、１０４が高負荷状態になったときに自動スケールアウトシステム１０６により起動され業務処理を行う（自動スケールアウト）。
【００２６】
クライアントマシン１０１からのリクエスト数が減少し、高パフォーマンスを必要としなくなった場合、自動スケールアウトシステム１０６によりスケールアウト用サーバ１０５は停止される（自動スケールイン）。
【００２７】
監視システム１０７は常時稼動サーバ１０３、１０４およびスケールアウト用サーバ１０５の死活監視を行うシステムである。
【００２８】
尚、クライアントマシン１０１、負荷分散装置１０２、常時稼動サーバ１０３、１０４およびスケールアウト用サーバ１０５の数は運用形態により増減する。
【００２９】
自動スケールアウトシステム１０６は自動スケールアウトまたは自動スケールインを実行する際、自動スケールアウト対応障害判定システム１０８に実行内容を通知してからスケールアウト用サーバ１０５の起動または停止を行う。
【００３０】
通知する実行内容は、スケールアウトまたはスケールインによる起動または停止操作の対象となるサーバのサーバ名、および実行する操作が起動なのか停止なのかをあらわす操作内容である。
【００３１】
常時稼動サーバ１０３、１０４またはスケールアウト用サーバ１０５が起動または停止した場合、監視システム１０７で検知され、監視システム１０７から自動スケールアウト対応障害判定システム１０８へ監視イベントが送信される。
【００３２】
自動スケールアウト対応障害判定システム１０８では、起動または停止の原因が障害によるものなのか自動スケールアウトシステム１０６の自動スケールアウトまたは自動スケールインによるものなのかを判定するため、構成管理システム１１１が管理する構成管理データベース１１２から、監視イベント発生元サーバのサーバ用途および稼動状態を取得する。
【００３３】
サーバ用途および稼動状態から監視イベントが障害により発生したものであると判定した場合は、障害通知システム１１３に障害を通知する。運用通知システム１１３へ障害が通知されると、運用管理者１１４がその障害を検知し対応を行う。
【００３４】
次に、図２を用いて、自動スケールアウト対応障害判定システム１０８について詳細を説明する。
【００３５】
図２に示すように、自動スケールアウト対応障害判定システム１０８は、構成情報変更機能１０９と障害判定機能１１０の２つの機能を有し、構成情報変更機能１０９は、自動スケールアウト実行内容通知の受信部２０１と構成情報変更部２０２を具備し、障害判定機能１１０は、監視イベント受信部２０３と構成情報取得部２０４、障害判定部２０５、障害通知部２０６を具備している。
【００３６】
構成情報変更機能１０９は、自動スケールアウト実行内容通知の受信部２０１により、自動スケールアウトシステム１０６が自動スケールアウトまたは自動スケールインを実行する際に通知する実行内容を受信する。通知の内容は起動または停止操作の対象となるサーバのサーバ名および起動か停止かの操作内容である。
【００３７】
そして、構成情報変更部２０２により、自動スケールアウト実行内容通知の受信部２０１で受信した通知の内容に応じて、構成管理システム１１１を介して、構成管理データベース１１２における操作対象のサーバの構成情報を変更する。
【００３８】
尚、構成管理データベース１１２では、図３におけるサーバ管理テーブル３０１で示すように、業務処理を行う各サーバのサーバ名、サーバ用途および稼動状態を管理する。
【００３９】
このような構成情報変更機能１０９の処理動作を図４に示すフローチャートに基づき説明する。まず、自動スケールアウトシステム１０６からの自動スケールアウトまたは自動スケールインの実行内容の通知を受信する（ステップ４０１）。
【００４０】
次に、実行内容から操作対象サーバのサーバ名を取得し（ステップ４０２）、操作内容が起動なのか停止なのかを判断する（ステップ４０３）。
【００４１】
操作内容が起動の場合には(ステップ４０４)、構成管理データベース１１２上の図３におけるサーバ管理テーブル３０１の、操作対象サーバの稼動状態を「稼働中」に変更する（ステップ４０５）。
【００４２】
操作内容が停止の場合には（ステップ４０４）、サーバ管理テーブル３０１の該当サーバの稼動状態を「待機中」に変更する（ステップ４０６）。
【００４３】
図２における障害判定機能１１０は、監視システム１０７から送信される監視イベントを受信し、障害かどうかの判定をして運用通知システム１１３に通知するものであり、まず、監視イベント受信部２０３により、監視システム１０７から送信された監視イベントを受信する。尚、監視イベント内容は、起動または停止を検知したサーバ名および検知内容（起動または停止）である。
【００４４】
監視イベントを受信した障害判定機能１１０は、構成情報取得部２０４により、構成データベース１１２上の図３におけるサーバ管理テーブル３０１から、起動または停止を検知したサーバのサーバ用途および稼動状態を取得する。
【００４５】
さらに、障害判定部２０５により、監視イベント受信部２０３で受信した監視イベント内容と構成情報取得部２０４で取得したサーバ用途、稼動状態から、監視イベントが障害により発生したものなのか、もしくは、自動スケールアウトまたは自動スケールインにより発生したものなのかを判定する。
【００４６】
そして、障害通知部２０６により、障害判定部２０５において監視イベントが障害により発生したものだと判定した場合、運用通知システム１１３に障害を通知する。
【００４７】
このような障害判定機能１１０の処理動作を図５に示すフローチャートを用いて説明する。まず、図２における監視システム１０７から送信される監視イベントを受信する（ステップ５０１）。
【００４８】
次に、構成データベース１１２上のサーバ管理テーブル３０１から、監視イベントの発生元となるサーバのサーバ用途および稼動状態を取得して（ステップ５０２）、監視イベント内容とサーバ用途および稼動状態から、障害かどうかを判定する（ステップ５０３）。
【００４９】
このとき、監視イベント内容、サーバ用途および稼動状態から判定される判定結果を図６の障害判定表６０１に示す。
【００５０】
監視イベントを障害だと判定した場合には(ステップ５０４)、運用通知システムへ障害通知を行い（ステップ５０５）、障害で無いと判定した場合には（ステップ５０４）、障害通知を行わない（ステップ５０６）。
【００５１】
以上、図１〜図６を用いて説明したように、本例の分散・並列処理システムの障害監視装置では、監視対象となる各サーバが、常時稼動するのか、あるいは、スケールアウト時のみ稼動するのかを示すサーバ用途情報と、各サーバが待機中か稼働中かを示す稼動状態情報を記憶して管理し、監視システム１０７が検知したイベントについて、イベント発生元のサーバのサーバ用途情報と稼動状態情報を確認することにより、イベントが障害により発生したものなのか、自動スケールアウトおよび自動スケールインにより発生したものなのかを判定する。尚、稼動状態情報では、スケールアウト用の待機サーバが待機中であるのか、あるいは「稼働中」であるのかを示し、自動スケールアウトまたは自動スケールインの実行に合わせて適宜変更する。
【００５２】
このように、本例の分散・並列処理システムの障害監視装置および方法によれば、自動スケールアウトおよび自動スケールインによるスケールアウト用サーバの起動および停止時に発生するイベントと、業務システム稼働中に発生するイベントを区別して障害判定を行うことができ、これにより、自動スケールアウトおよび自動スケールインによるスケールアウト用の待機サーバの正常動作を障害として運用管理者に通知することが無くなり、障害として通知されるべき異常動作のみが障害として通知されるので、運用管理者は、従来のように、サーバの用途および稼動状態を確認して障害かどうかを判断する必要が無くなる。
【００５３】
尚、本発明は、図１〜図６を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、自動スケールアウトシステム１０６、監視システム１０７、自動スケールアウト対応障害判定システム１０８、構成管理システム１１１、運用通知システム１１３のそれぞれを個別のコンピュータ装置とした構成としているが、各システムを任意に組み合わせて１つのコンピュータ装置上に構成することでも良い。
【００５４】
また、各システムのコンピュータ構成例に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【符号の説明】
【００５５】
１０１：クライアントマシン、１０２：負荷分散装置、１０３：常時稼動サーバ、１０４：常時稼動サーバ、１０５：スケールアウト用サーバ、１０６：自動スケールアウトシステム、１０７：監視システム、１０８：自動スケールアウト対応障害判定システム、１０９：構成情報変更機能、１１０：障害判定機能、１１１：構成管理システム、１１２：構成管理データベース、１１３：障害通知システム、１１４：運用管理者、２０１：自動スケールアウト実行内容通知の受信部、２０２：構成情報変更部、２０３：監視イベント受信部、２０４：構成情報取得部、２０５：障害判定部、２０６：障害通知部、３０１：サーバ管理テーブル、６０１：障害判定表。
【図１】
0005467936.tif 000002
【図２】
0005467936.tif 000003
【図３】
0005467936.tif 000004
【図４】
0005467936.tif 000005
【図５】
0005467936.tif 000006
【図６】
0005467936.tif 000007