JP5380687B2 - ネットワーク管理装置およびネットワーク管理方法 - Google Patents

ネットワーク管理装置およびネットワーク管理方法 Download PDF

Info

Publication number
JP5380687B2
JP5380687B2 JP2009241071A JP2009241071A JP5380687B2 JP 5380687 B2 JP5380687 B2 JP 5380687B2 JP 2009241071 A JP2009241071 A JP 2009241071A JP 2009241071 A JP2009241071 A JP 2009241071A JP 5380687 B2 JP5380687 B2 JP 5380687B2
Authority
JP
Japan
Prior art keywords
failure
information
server
network
relevance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009241071A
Other languages
English (en)
Other versions
JP2011091472A (ja
Inventor
政洋 吉澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009241071A priority Critical patent/JP5380687B2/ja
Publication of JP2011091472A publication Critical patent/JP2011091472A/ja
Application granted granted Critical
Publication of JP5380687B2 publication Critical patent/JP5380687B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、データセンターシステムに関し、特にサーバ資源の利用者からネットワーク管理者へ報告される障害がネットワークに関連する度合いを求める技術に関する。
近年の仮想化技術の発展により、データセンター事業者は、データセンターネットワーク内の仮想マシンをユーザに貸し出すホスティングサービスを提供している。物理的なサーバ機器を貸し出すホスティングサービスは昔から存在したが、自社でサーバを運用した方が安価で、かつネットワーク構成の柔軟性も高かったため、その用途は限られていた。しかし、近年ではハードウェアの性能向上と仮想化技術の発展により、ホスティングサービスを利用する方が安価になる場合が多くなった。加えて、自社業務のコアにあたるサービスまで他社にアウトソースする「クラウドコンピューティング」のコンセプトが普及した結果、ホスティングサービスの用途が従来よりも広がりつつある。
特にサーバ仮想化技術を使う場合、ホスティングサービスを提供するデータセンターは、多数のユーザ(個人あるいは企業)にサービスを提供することができる。ホスティングサービスのユーザは、1台以上のサーバ(物理的なサーバ機器あるいは仮想マシン)を借用する。これらのサーバは、データセンターのネットワークを通じて、各ユーザが利用する広域ネットワーク(IP−VPN、広域イーサネットなど)(イーサネットは登録商標、以下同じ)やインターネットに接続される。また、これらのサーバは、データセンターのネットワークを通じて、各サーバの利用するストレージにも接続される。このように、データセンターのネットワークは、複数のユーザで共有される。この場合、一般的には、VLANやゾーニングなどの技術によって、あるユーザのサーバから他のユーザのサーバおよびそのトラフィックは見えないようにされる。
ホスティングサービスを提供するデータセンターでは、データセンター事業者のネットワーク管理者がネットワーク機器やサーバ仮想化環境を管理し、各ユーザのサーバ管理者が、借りたサーバとその上で動作するアプリケーションを管理する。具体的には、ハイパーバイザー上で動作する仮想スイッチなどは、データセンター事業者のネットワーク管理者の管理範囲となり、ハイパーバイザー上で動作する仮想マシンは、サーバ管理者の管理範囲となる。
一般に、ネットワーク管理者は少数なのに対して、サーバ管理者は多数存在する。サーバ管理者は、サーバとアプリケーションの稼働状況を監視し、ネットワーク側に問題が発生すると、ネットワーク管理者に障害報告を送り、その原因究明と問題解決を依頼する。障害報告を受けると、ネットワーク管理者は、サーバ管理者からの情報に基づいて、ネットワーク機器の設定や統計情報を確認し、その原因を究明する。なお、データセンターのネットワーク機器の設定や統計情報は、複数のユーザの情報を含むため、サーバ管理者はこれらの情報を直接確認することはできない。
しかし実際は、サーバ管理者は問題発生時にまずネットワークを疑い、ネットワーク管理者に障害報告を送るのと並行して、サーバ側も調査する。そのため、ネットワーク管理者は、実際はネットワーク側に問題がない障害報告を含む大量の障害報告を受け取ることになる。その結果として、本当にネットワーク側に起因する障害について、その障害検出から問題解決までの時間が長くなるという問題がある。
従って、データセンターシステムにおいては、ネットワーク管理者が、サーバ管理者から送られる多数の障害報告の中から、本当にネットワーク側に起因する障害報告を優先的に選択するための方法が必要である。
従来のホスティングサービスでは、ネットワーク管理者に比べてサーバ管理者の数が少なかったため、ネットワーク管理者は、障害報告に優先度を付けなくても逐一対処することができた。また、自社でサーバを運用する場合は、サーバ管理者自身がネットワーク機器の情報を確認して原因を究明することができた。
サーバの障害情報に基づいてネットワーク機器の情報を調査する方法としては、特許文献1および特許文献2に記載の方法が公知である。特許文献1には、ネットワーク設計情報と、各機器の稼動統計情報をリンクさせて、稼動統計情報が指数値を超えた場合に、該指数値を超えた装置及び該装置に関連する経路上の稼動統計情報を一覧表示する方法が開示されている。また、特許文献2には、各機器が統計情報を分析し、検知内容と対応した障害判定テーブルを参照して、障害発生機器(自装置、隣接装置等)または障害発生機能(アプリケーション等)を検出する方法が開示されている。
特開2002−99469号公報 特開2005−167347号公報
しかしながら、特許文献1に記載の方法では、あるサーバに関連するネットワーク機器の稼働統計情報の一覧を表示するだけなので、管理者がその表示を見て障害箇所を特定する必要がある。また、特許文献1に記載の方法では、サーバの稼働統計情報を一箇所に集約するが、この方法はサーバ及びそのアプリケーションの管理がユーザに任されている(すなわち、仮想マシンだけを貸し出すような)ホスティングサービスには適用できない。
また、特許文献2に記載の方法では、複数の障害検出情報に優先度を付けることは考慮されていない。
本発明は、上述した問題に鑑みてなされたものであり、障害報告に対応する障害がネットワークに関連する度合いを求めて、ネットワーク管理者が、本当にネットワーク側に問題がある障害報告を把握するための技術を提供することを目的とする。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、少なくとも一台のサーバとネットワークを経由して接続されるネットワーク管理装置であって、サーバの障害発生情報を受信する受信部と、受信部によって受信された障害発生情報に基づいて、障害の発生時間を推定する障害発生時間推定部と、受信部によって受信された障害発生情報に基づいて、障害発生情報に対応するサーバが存在するネットワーク上の経路を特定する経路特定部と、経路特定部によって特定された経路上の機器に関する情報を取得する機器情報取得部と、障害発生時間推定部によって推定された障害発生時間内における、機器に関する情報の変化に基づいて、障害発生情報に対応する障害が、前記サーバおよび前記ネットワーク管理装置を除いたネットワーク上の機器に関連する度合いを示す障害関連度を演算する障害関連度演算部と、を備えることを特徴とする。
本発明の代表的な実施の形態によれば、ネットワーク管理者は、膨大な障害報告がある場合でも、障害の原因がネットワーク側にある可能性が高い障害報告を優先して作業することができる。これにより、ネットワーク機器の障害検出から問題解決までの時間が短縮され、データセンターネットワークの可用性が向上する。
第1の実施形態におけるデータセンターシステムを模式的に示す図である。 障害報告データの例を示す図である。 障害関連度データの例を示す図である。 ユーザデータの例を示す図である。 サーバデータの例を示す図である。 接続関係データの例を示す図である。 経路データの例を示す図である。 CPU使用率データの例を示す図である。 帯域使用率データの例を示す図である。 設定変更履歴データの例を示す図である。 ネットワーク障害データの例を示す図である。 障害関連度計算サーバの内部構造を示す機能ブロック図である。 障害関連度計算サーバが障害報告を受信してからその障害関連度を計算するまでの動作の例を示すシーケンス図である。 第1の実施形態で想定するシステムおよび各装置の識別子の例を示す図である。 サーバ管理プログラムの障害報告入力画面の例を示す図である。 障害関連度計算プログラムが、ある障害報告の障害関連度を計算するためのフローチャートである。 障害関連度計算プログラムが、ある障害に関連するネットワーク要素の集合を作成するためのフローチャートである。 障害関連度計算プログラムが、統計情報を用いて、複数のネットワーク要素の要素別障害関連度を計算するためのフローチャートである。 障害関連度計算プログラムが、ネットワーク機器の設定変更履歴を用いて、複数のネットワーク要素の要素別障害関連度を計算するためのフローチャートである。 障害関連度計算プログラムが、ネットワーク機器の障害情報を用いて、複数のネットワーク要素の要素別障害関連度を計算するためのフローチャートである。 障害関連度計算サーバが障害報告を表示する際の動作の例を示すシーケンス図である。 ネットワーク管理プログラムの障害報告表示画面の例を示す図である。 ネットワーク管理プログラムの詳細情報表示画面の例を示す図である。 第2の実施形態において、障害関連度計算プログラムが、ある障害報告の障害関連度を計算し、同時期に発生した障害報告の障害関連度を再計算するためのフローチャートである。 第2の実施形態において、障害関連度計算プログラムが、他のユーザの障害情報を用いて、ネットワーク要素の重み付けを変更するためのフローチャートである。 第3の実施形態において、障害関連度計算サーバが障害報告を受信してからその障害関連度をサーバ管理プログラムに通知するまでの動作の例を示すシーケンス図である。
以下、図面を参照しながら、各実施形態について説明する。
<第1の実施形態>
図1は、第1の実施形態におけるデータセンターシステムを模式的に示す図である。データセンターシステムは、障害関連度計算サーバ2、ネットワーク監視サーバ3、データベース4、複数の物理マシン5、複数のスイッチ6、複数のルータ7、複数のファイバ・チャネル・スイッチ8(以下、FC−SW8)、および、ストレージ9を備える。これらの機器は、物理的な通信回線10を通して、管理ネットワーク1に接続される。また、物理マシン5、スイッチ6、ルータ7、FC−SW8およびストレージ9は、物理的な通信回線12を通して相互に接続される。ルータ7は、データセンターのユーザが利用する一つ以上のWide Area Network(WAN)11へと接続される。WAN11には、各ユーザが、サーバの稼働状況を確認するために利用するサーバ管理者端末20が接続される。
管理ネットワーク1および通信回線10は、ネットワーク管理者が各機器を監視、設定するためのネットワークを構成する。ただし、場合によっては、通信回線12によって構成されるネットワークを利用して各機器の監視および設定を行い、監視ネットワーク1を用意しないこともあり得る。例えば、各機器の監視のためのトラフィックのデータ量が少ない場合は、監視ネットワーク1の必要性は低い。
障害関連度計算サーバ(ネットワーク管理装置)2は、サーバ管理者端末20から障害報告を受信し、その障害報告がネットワーク機器に関連する度合い(以下、障害関連度)を計算するサーバである。障害関連度計算サーバ2は、障害関連度を計算するために、データベース4に予め保存されたデータを読み込む。加えて、障害関連度計算サーバ2は、ネットワーク管理者端末30からの要求に応じて、障害報告とネットワーク機器それぞれの障害関連度を表示する。
本実施形態の障害報告(障害発生情報)は、その障害報告を作成したユーザの識別子、障害発生前時刻、障害発生後時刻、障害が発生したと思われるサーバの識別子(IPアドレスなど)、および障害が発生していないと思われるサーバの識別子を含む。障害発生前時刻とは、サーバ管理者の観点から、まだ問題が発生していなかったと思われる時刻である。一方、障害発生後時刻とは、サーバ管理者の観点から、問題が発生した後と思われる時刻である。障害報告には、ネットワーク管理者の問題解決のヒントとなるように、その障害の状況を詳しく説明する文章や、障害が発生したアプリケーションやプロトコルを特定する情報が含まれていてもよい。
ネットワーク監視サーバ3は、データセンターシステムのユーザが利用する各機器の稼働状況および詳細な統計情報を取得し、それらのデータをデータベース4に保存するサーバである。データセンターシステムのユーザが利用する機器とは、物理マシン5、スイッチ6、ルータ7、FC−SW8、ストレージ9などである。また、物理マシン5で動作する仮想スイッチや仮想マシンも、この監視の対象となる。これらの機器は、固有の管理インターフェイス(SNMPエージェントやコンソールなど)を備える。ネットワーク監視サーバ3は、各管理インターフェイスを通して、各装置の現在の設定や統計情報を取得する。
データベース4は、障害報告とそれぞれの障害関連度、および障害関連度を計算するために必要なデータを格納するデータベースである。データベース4は、障害報告データ1000、障害関連度データ1100、ユーザデータ1200、サーバデータ1300、接続関係データ1400、経路データ1500、CPU使用率データ1600、帯域使用率データ1700、設定変更履歴データ1800、および、ネットワーク障害データ1900を格納する。本実施形態では、これらのデータは全てテーブルに格納されているものとする。
障害報告データ1000は、障害関連度計算サーバ2がサーバ管理者端末20から受信する障害報告である。
図2は、障害報告データ1000の一例を示す。列1001は、本システム上で障害報告を一意に識別するための識別子である。列1002は、その障害報告を送信したユーザの識別子である。列1003は、障害関連度計算サーバ2がその障害報告を受信した日時である。列1004は、その障害の障害発生前時刻である。列1005は、その障害の障害発生後時刻である。列1006は、その障害が発生したサーバの識別子である。列1007は、その障害が発生していないサーバの識別子である。列1008は、その障害の説明である。
障害関連度データ1100は、障害関連度計算サーバ2が計算した、各障害報告の障害関連度である。障害関連度の算出方法については後述する。
図3は、障害関連度データ1100の一例である。列1101は、障害報告の識別子である。列1102は、その障害報告の障害関連度である。
ユーザデータ1200は、このデータセンターのサービスを契約しているユーザに関するデータである。
図4は、ユーザデータ1200の一例である。列1201は、本システム上でユーザを一意に識別するための識別子である。列1202は、そのユーザのシステム(企業の拠点ネットワークなど)およびサーバ管理者端末が接続されているWANを一意に識別するための識別子である。列1203は、そのWANが接続されているデータセンター内の機器(ルータなど)を一意に識別するための識別子である。列1204は、そのWANが接続されている機器のインターフェイス(ルータのポートなど)を一意に識別するための識別子である。
サーバデータ1300は、データセンターがユーザに貸し出すサーバに関するデータである。このサーバは、物理サーバまたは物理サーバ上で動作する仮想マシンである。
図5は、サーバデータ1300の一例である。列1301は、本システム上でサーバを一意に識別するための識別子である。列1302は、そのサーバを現在借りているユーザの識別子である。
接続関係データ1400は、このデータセンター内の機器の接続関係を表すデータである。
図6は、接続関係データ1400の一例である。列1401は、接続関係のある一方の機器の識別子である。列1402は、接続関係のある一方の機器のインターフェイスの識別子である。列1403は、接続関係のあるもう一方の機器の識別子である。列1404は、接続関係のあるもう一方の機器のインターフェイスの識別子である。
経路データ1500は、あるサーバに関するトラフィックが流れる経路を表すデータである。
図7は、経路データ1500の一例である。列1501は、サーバの識別子である。列1502は、そのサーバのトラフィックが流れるネットワーク機器の識別子である。列1503は、そのサーバのトラフィックが流れるネットワーク機器のインターフェイスの識別子である。
CPU使用率データ1600は、ネットワーク監視サーバ3が各ネットワーク機器から取得した、各時刻におけるネットワーク機器のCPU使用率である。CPU使用率データ1600は、ネットワーク機器のリソースの状態を示す情報であって、ネットワーク機器ごとの統計情報の一例である。
図8は、CPU使用率データ1600の一例である。列1601は、ネットワーク機器の識別子である。列1602は、その統計情報を取得した時刻である。列1603は、その時刻におけるそのネットワーク機器のCPU使用率(パーセンテージ)である。例えば、行1611のデータは、「仮想スイッチ1の2009/07/09の9:00時点におけるCPU使用率は3%だった」ことを表す。
帯域使用率データ1700は、ネットワーク監視サーバ3が各ネットワーク機器から取得した、各時刻におけるネットワーク機器のインターフェイスの帯域使用率である。帯域使用率データ1700は、ネットワーク機器のリソースの状態を示す情報であって、ネットワーク機器のインターフェイスごとの統計情報の一例である。
図9は、帯域使用率データ1700の一例である。列1701は、ネットワーク機器の識別子である。列1702は、そのネットワーク機器のインターフェイスの識別子である。列1703は、その統計情報を取得した時刻である。列1704は、その時刻におけるそのインターフェイスの帯域使用率(パーセンテージ)である。例えば、行1711のデータは、「仮想スイッチ1のポート3の2009/07/09の9:00時点における帯域使用率は0%だった」ことを表す。
設定変更履歴データ1800は、ネットワーク管理者が手動あるいは自動的な手段によって事前に作成した、各ネットワーク機器およびそのインターフェイスの設定変更履歴である。
図10は、設定変更履歴データ1800の一例である。列1801は、設定が変更されたネットワーク機器の識別子である。列1802は、設定が変更されたインターフェイスの識別子である。変更された設定が特定のインターフェイスによらない場合は、列1802は空欄となる。列1803は、その設定変更が行われた時刻である。列1804は、その設定変更の種類である。例えば、行1811のデータは、「スイッチ2に対して、2009/07/09の9:10に、VLANの追加という設定変更が行われた」ことを表す。
ネットワーク障害データ1900は、ネットワーク管理者が手動あるいは自動的な手段によって事前に作成した、各ネットワーク機器およびそのインターフェイスの障害履歴である。このネットワーク障害データは、サーバ管理者端末20の送信する障害報告とは異なるデータである。ここでは、ネットワーク管理者が仮想スイッチやスイッチ、ルータを監視することで発見することのできる障害をネットワーク障害と定義する。例えば、スイッチ間のケーブルの断線は、ネットワーク障害である。一方で、サーバ管理者の送信する障害報告は、サーバ上でのアプリケーション利用状況を知っていなければ発見できない障害を対象とする。例えば、あるアプリケーションの応答時間が急に長くなった、といった障害は、本実施形態の障害報告の対象となる。
図11は、ネットワーク障害データ1900の一例である。列1901は、障害が発生したネットワーク機器の識別子である。列1902は、障害が発生したインターフェイスの識別子である。障害が特定のインターフェイスによらない場合は、列1902は空欄となる。列1903は、その障害が発生した時刻である。列1904は、その障害の重大さを表す障害レベルである。本実施形態では、障害レベルを、「低」、「中」、「高」の3段階とする。列1905は、その障害の説明である。例えば、行1911のデータは、「2009/07/09の9:20に、スイッチ1のポート2に障害レベル「低」の障害が発生した」ことを表す。
物理マシン5は、その上で仮想マシンを動作させることのできるサーバ機器である。物理マシン5の上で仮想マシンを動作させる方法としては、一般に「ハイパーバイザー」あるいは「仮想マシンモニタ」と呼ばれるソフトウェアを動作させる方法などがある。ユーザの要望によっては、物理マシンの上で複数の仮想マシンを動作させず、単一のマシンとして用いてもよい。
スイッチ6は、ルータ7と、物理マシン5の上で動作する仮想マシンの間のトラフィックを仲介するネットワーク機器である。本実施形態のデータセンターネットワークでは、複数のユーザのトラフィックが混在するため、スイッチ6はユーザ毎のネットワークを仮想的に分割する仮想化機能(VLANなど)に対応している必要がある。
ルータ7は、データセンターネットワークと、ユーザの利用するWAN11を接続するネットワーク機器である。ユーザがWANとして広域イーサネットを利用している場合は、このルータの位置にスイッチを設置してもよい。
FC−SW8は、物理マシン5の上で動作する仮想マシンと、ストレージ9の間のトラフィックを仲介するネットワーク機器である。本実施形態におけるデータセンターネットワークでは、複数のユーザのトラフィックが混在するため、FC−SW8はユーザ毎のネットワークを仮想的に分割する仮想化機能(ゾーニングやVSANなど)に対応している必要がある。
ストレージ9は、仮想マシンの利用するデータを格納する機器である。ストレージ9は、仮想マシンに対して、そのブート領域やデータ領域を提供する。
サーバ管理者端末20は、ユーザ側のサーバ管理者が利用する端末である。サーバ管理者端末20の上では、障害関連度計算サーバ2へ障害報告を送信するためのプログラム(以下、サーバ管理プログラム)が動作する。サーバ管理プログラムは、専用の通信プロトコルを利用するGUI(Graphical User Interface)や、HTTPで通信するWebブラウザなどである。また、サーバ管理プログラムは、サーバ管理者が障害の有無を判断するのを助けるために、サーバおよびアプリケーションからそれらの統計情報を収集し、収集した統計情報を表示する機能を持っていてもよい。もしくは、サーバ管理プログラムは、サーバおよびアプリケーションの状態をもとに、自動的に障害報告を送信する機能を持っていてもよい。
ネットワーク管理者端末30は、データセンターのネットワーク管理者が利用する端末である。ネットワーク管理者端末30の上では、障害関連度計算サーバ2から障害報告を受信するためのプログラム(以下、ネットワーク管理プログラム)が動作する。ネットワーク管理プログラムは、専用の通信プロトコルを利用するGUI(Graphical User Interface)や、HTTPで通信するWebブラウザなどである。
図12は、障害関連度計算サーバ2の内部構造を示す機能ブロック図である。障害関連度計算サーバ2は、インターフェイス(I/F)21、CPU(プロセッサ)22、メモリ23、および、データパス24を備える。
障害関連度計算サーバ2は、インターフェイス21を通してパケットを送受信する。メモリ23には、後述する各プログラムが格納されている。動作時には、CPU22がデータパス24を通してそれらのプログラムを読み出して実行する。図12中の実線矢印は、プログラム間の呼び出し関係を示している。また、図中の点線矢印は、プログラムとデータベースの間のデータの流れを示している。
メモリ23は、障害報告受信プログラム231、障害関連度計算プログラム232、障害報告表示プログラム233を格納する。
障害報告受信プログラム231は、サーバ管理者端末20で動作するサーバ管理プログラムから障害報告を受信するプログラムである。障害報告受信プログラム231は、受信した障害報告をデータベース4に登録する。また、障害報告受信プログラム231は、障害関連度計算プログラム232を呼び出す。
障害関連度計算プログラム232は、データベース上の各種データを読み込み、各障害報告の障害関連度を計算するプログラムである。障害関連度計算プログラム232は、計算した障害関連度をデータベース4に登録する。
障害報告表示プログラム233は、ネットワーク管理者端末30で動作するネットワーク管理プログラムに対して、障害報告およびその障害関連度を送信するプログラムである。障害報告表示プログラム233は、障害報告およびその障害関連度をデータベース4から読み込む。
図13は、障害関連度計算サーバ2が障害報告を受信してからその障害関連度を計算するまでの動作の例を示すシーケンス図である。
図14は、図13に示すシーケンス図の説明で用いるシステムおよび各装置の識別子の一例である。この例では、B社の利用する仮想マシン3と仮想マシン4の間で急激に大量のトラフィックが発生し、物理マシン1上で動作する仮想スイッチ1に過負荷がかかり、かつ、この過負荷がA社の利用する仮想マシン1とWANの間のトラフィックに影響した場合を考える。
まず、サーバ管理者は、サーバ管理プログラムを通して、サーバの状態を監視する。そして、サーバの状態に何らかの異常を発見すると、サーバ管理者はサーバ管理プログラムに障害報告を入力する(S101)。
障害報告には、ユーザ名、障害発生前時刻、障害発生後時刻、および、障害が発生したサーバの識別子が少なくとも含まれる。また、障害報告に、更なる情報として、障害が発生していないサーバの識別子、および、障害が発生していないことを示す情報が含まれるようにしてもよい。
図15は、サーバ管理プログラムの障害報告入力画面の一例である。5010は、各サーバから取得した統計情報の表示欄である。この表示欄は、障害発生前時刻、障害発生後時刻、障害が発生したサーバの識別子、および障害が発生していないサーバの識別子の入力欄を兼ねている。行5011は各サーバの識別子である。行5012は、最近の各サーバのCPU使用率である。行5013は、最近の各サーバのメモリ使用率である。行5014は、最近の各サーバのネットワークインターフェイスカード(NIC)の帯域使用率である。
この例では、サーバ管理者が、行5012、5013、5014のいずれかで、異常が発生したと思われる範囲を指定することによって、障害発生前時刻と障害発生後時刻を入力できるものとしている。異常が発生したと思われる範囲は、例えば、マウスを用いてドラッグすることによって指定する。すなわち、ドラッグを開始した位置に対応する時刻を障害発生前時刻とし、ドラッグを終了した位置に対応する時刻を障害発生後時刻とする。
行5015は、各サーバの障害状況の入力欄である。障害状況は、「障害発生」、「障害未発生」、および「不明」の3種類とする。「障害発生」は明らかに障害が発生しているサーバを表し、「障害未発生」は明らかに障害が発生していないサーバを表す。また、「不明」は、「障害発生」および「障害未発生」のどちらとも判断できないサーバを表す。
5020は、障害の状況をネットワーク管理者に具体的に説明するための入力欄である。5030は、入力した情報を障害関連度計算サーバ2に送信するためのボタン、5040は、入力を中断するためのボタンである。
サーバ管理者によって、上述したデータが入力されて、送信ボタン5030が操作されると、サーバ管理プログラムは、障害報告受信プログラム231に障害報告を送信する(S102)。障害報告には、S101でサーバ管理者が入力した値が含まれる。
障害報告受信プログラム231は、障害報告を受信すると、受信した障害報告をデータベース4に登録する(S103)。障害報告の登録に成功すると(S104)、障害報告受信プログラム231は、サーバ管理プログラムに、障害報告の登録成功を伝える(S105)。
続いて、障害報告受信プログラム231は、障害関連度計算プログラム232に対して、新しく受信した障害報告の障害関連度の計算を要求する(S106)。このとき、障害報告受信プログラム231は、障害関連度計算プログラム232に障害報告全体を送信するか、または障害報告識別子のみを送信する。
そして、障害関連度計算プログラム232は、データベース4上の各種データを用いて、新しく受信した障害報告の障害関連度を計算する(S107)。以下に、障害関連度の計算方法の一例を示す。
図16は、障害関連度計算プログラム232が、ある障害報告の障害関連度を計算するためのフローチャートである。
障害関連度計算プログラム232は、大まかに3つの手順で障害関連度を計算する。まず、障害関連度計算プログラム232は、その障害に関連するネットワーク機器およびそれらのインターフェイスの集合を作成する(S201)。以下では、ネットワーク機器およびそれらのネットワーク機器のインターフェイスをまとめて、ネットワーク要素と呼ぶ。次に、障害関連度計算プログラム232は、特定された各ネットワーク要素の要素別障害関連度を計算する(S202)。最後に、障害関連度計算プログラム232は、一つ以上の要素別障害関連度から、その障害に対するネットワーク全体での障害関連度を計算する(S203)。
以下では、図16に示すS201〜S203のそれぞれの処理についての具体例を示す。
図17は、障害関連度計算プログラム232が、ある障害に関連するネットワーク要素の集合を作成するためのフローチャートである。
まず、障害関連度計算プログラム232は、障害が発生したサーバの識別子の中から、このプログラムで未選択の識別子を一つ選択する(S301)。以下では、ここで選択したサーバ識別子(サーバID)をP−SRV−IDと記載する。
次に、障害関連度計算プログラム232は、サーバの識別子がP−SRV−IDのサーバのトラフィックが流れるネットワーク要素をデータベース4から取得する(S302)。障害関連度計算プログラム232は、P−SRV−IDを用いてデータベース4の経路データ1500を検索することにより、そのサーバのトラフィックが流れるネットワーク要素を求める。例えば、図7の経路データをサーバ識別子「仮想マシン1」で検索すると、このサーバのトラフィックが流れるネットワーク要素は、仮想スイッチ1、仮想スイッチ1のポート0、仮想スイッチ1のポート1、スイッチ2、スイッチ2のポート0、スイッチ2のポート1、スイッチ1、スイッチ1のポート0、スイッチ1のポート1、ルータ1、ルータ1のポート0、ルータ1のポート3である。
そして、S302で取得したすべてのネットワーク要素を、メモリ上のネットワーク要素集合に追加する(S303)。
続いて、障害が発生したサーバ識別子の中に、このプログラムが未選択のサーバ識別子が存在するか否かを判定し(S304)、未選択のサーバ識別子が存在すると判定すると、未選択のサーバ識別子に基づいて、S301〜S303の処理を行う。
その後、障害報告の中に障害が発生していないサーバの識別子が一つ以上あるか否かを判定し(S305)、障害が発生していないサーバの識別子が一つ以上あると判定すると、S306〜S309の処理を行う。障害が発生していないサーバの識別子が一つもないと判定すると、S306〜S309の処理は行わずに、本フローチャートの処理を終了する。
障害関連度計算プログラム232は、まず、障害が発生していないサーバの識別子の中から、このプログラムで未選択の識別子を一つ選択する(S306)。以下では、ここで選択したサーバ識別子(サーバID)をN−SRV−IDと記載する。
次に、サーバ識別子がN−SRV−IDのサーバのトラフィックが流れるネットワーク要素をデータベース4から取得する(S307)。障害関連度計算プログラム232は、N−SRV−IDを用いてデータベース4の経路データ1500を検索することにより、そのサーバのトラフィックが流れるネットワーク要素を求める。例えば、図7の経路データをサーバ識別子「仮想マシン5」で検索すると、このサーバのトラフィックが流れるネットワーク要素は、仮想スイッチ2、仮想スイッチ2のポート0、仮想スイッチ2のポート1、スイッチ2、スイッチ2のポート0、スイッチ2のポート2、スイッチ1、スイッチ1のポート0、スイッチ1のポート1、ルータ1、ルータ1のポート0、ルータ1のポート3である。
そして、S307で取得したすべてのネットワーク要素を、メモリ上のネットワーク要素集合から削除する(S308)。
続いて、障害が発生していないサーバの識別子の中に、このプログラムが未選択のサーバ識別子が存在するか否かを判定し(S309)、未選択のサーバ識別子が存在すると判定すると、未選択のサーバ識別子に基づいて、S306〜S308の処理を行う。
例えば、図15に示す例では、障害が発生したと推定される仮想マシン1に対応するネットワーク要素から、障害が発生していないと推定される仮想マシン5に対応するネットワーク要素が削除されることになる。この場合、仮想スイッチ1、仮想スイッチ1のポート0、仮想スイッチ1のポート1、スイッチ2のポート1のみが最終的なネットワーク要素の集合に含まれる。
なお、図17のS306〜S309の処理を省略することも可能である。しかし、S306〜S309の処理は、ある障害報告の原因となっている可能性があるネットワーク要素を絞り込むことにより、障害関連度の正確さを向上させることができる。
以上の処理に加えて、以下の追加処理を一つ以上行うことで、障害関連度の正確さを更に向上させることができる。
一つ目の追加処理は、障害が発生したサーバの識別子が障害報告に2つ以上含まれる場合に、より多くのサーバからのトラフィックが流れるネットワーク要素ほど、後述する要素別障害関連度を高くする処理である。そのためには、S303の処理を拡張し、あるネットワーク要素をパスに含むサーバの数を記録するようにする。そして、後述する要素別障害関連度の計算において、このサーバの数が大きいネットワーク要素ほど、その要素別障害関連度を高くする。例えば、通常の要素別障害関連度に、そのネットワーク要素をパスに含むサーバの数をかけ算するという方法がある。
2つ目の追加処理は、障害が発生したサーバのトラフィックが流れないネットワーク要素であっても、そのサーバのトラフィックが流れるネットワーク要素と近い位置にあれば、メモリ上のネットワーク要素集合に追加する処理である。S302の処理の後で、S302で取得したすべてのネットワーク要素について、その一つ隣、あるいは二つ以上の所定数だけ隣にあるネットワーク要素を検索する。各ネットワーク要素の識別子を用いてデータベース4の接続関係データ1400を検索すると、そのネットワーク要素の一つ隣にあるネットワーク要素を求めることができる。また、必要であれば、この処理を二回以上繰り返し行うことで、二つ以上隣にあるネットワーク要素も検索できる。
そして、上記の検索結果をメモリ上のネットワーク要素集合に追加する。この追加処理により、例えば仮想スイッチ1のポート3やポート4(すなわち、今回の過負荷の原因となるトラフィックが流れるポート)の要素別障害関連度も計算されるようになり、障害関連度の正確さが向上する。
また、2つ目の追加処理に関して、障害が発生したサーバのトラフィックが流れるネットワーク要素と、障害が発生していないネットワーク要素で、要素別障害関連度の計算方法を変えてもよい。この場合、要素別障害関連度に、直接的な原因と間接的な原因の差が反映されるようになり、結果として障害関連度の正確さが向上する。
次に、図16のS202の詳細について説明する。要素別障害関連度を計算する方法は複数存在する。以下では、統計情報を用いる場合、設定変更履歴を用いる場合、および、ネットワーク障害データを用いる場合の3種類の計算方法を示す。
図18は、障害関連度計算プログラム232が、統計情報を用いて、S201で特定された各ネットワーク要素の要素別障害関連度を計算するためのフローチャートである。
まず、障害関連度計算プログラム232は、S201で作成したネットワーク要素集合の中から、未選択のネットワーク要素を一つ選択する(S401)。以下では、ここで選択したネットワーク要素をEと記載する。
続いて、S401で選択したネットワーク要素Eがネットワーク機器であるか否かを判定する(S402)。ネットワーク要素Eがネットワーク機器の場合は、ネットワーク機器単位の統計情報を利用する。この例では、データベース4のCPU使用率データ1600がネットワーク機器単位の統計情報である。一方、ネットワーク装置Eがネットワーク機器のインターフェイスの場合は、インターフェイス単位の統計情報を利用する。この例では、データベース4の帯域使用率データ1700がインターフェイス単位の統計情報である。
ネットワーク要素Eがネットワーク機器であると判定すると、S404〜S406の処理を行う。まず、障害発生前時刻におけるネットワーク要素EのCPU使用率をデータベース4から取得する(S404)。障害関連度計算プログラム232は、ネットワーク要素Eの識別子を用いて、データベース4のCPU使用率データ1600を検索することにより、そのネットワーク機器の障害発生前時刻におけるCPU使用率を求める。例えば、障害発生前時刻が「2009/07/09の9:05」、ネットワーク要素Eが「仮想スイッチ1」の場合、図8を参照すると、その時刻のCPU使用率は5%(行1612)であることが分かる。
次に、障害発生後時刻におけるネットワーク要素EのCPU使用率をデータベース4から取得する(S405)。障害関連度計算プログラム232は、S404の処理と同様に、データベース4のCPU使用率データ1600を検索する。例えば、障害発生後時刻が「2009/07/09の9:25」、ネットワーク要素Eが「仮想スイッチ1」の場合、その時刻のCPU使用率は53%(行1616)であることが分かる。
続いて、ネットワーク要素Eに関する情報の変化から、ネットワーク要素Eの要素別障害関連度を計算する(S406)。具体的には、S404とS405の処理の結果から、ネットワーク要素Eの要素別障害関連度を計算する。例えば、S405の結果(53)から、S404の結果(5)を引いた値(48)を、そのネットワーク要素E(仮想スイッチ1)の要素別障害関連度とすることができる。この計算式は、より複雑なものであってもよい。例えば、CPU使用率の差が、ある閾値以下であれば正常と判断して要素別障害関連度を低くし、閾値より大きければ、要素別障害関連度を高くすることができる。そのネットワークの過去の状況に応じてこの計算式を差し替えることで、最終的に計算される障害報告ごとの障害関連度がより正確になる。
一方、S402の判定において、ネットワーク要素Eがネットワーク機器ではないと判定すると、そのネットワーク要素Eがネットワーク機器のインターフェイスであるか否かを判定する(S403)。ネットワーク要素Eがネットワーク機器のインターフェイスであると判定すると、S407〜S409の処理を行う。
まず、障害発生前時刻におけるネットワーク要素Eの帯域使用率をデータベース4から取得する(S407)。障害関連度計算プログラム232は、ネットワーク要素Eの識別子を用いてデータベース4の帯域使用率データ1700を検索することにより、そのネットワーク機器の障害発生前時刻における帯域使用率を求める。例えば、障害発生前時刻が「2009/07/09の9:05」、ネットワーク要素Eが「仮想スイッチ1のポート3」の場合、図9を参照すると、その時刻の帯域使用率は14%(行1712)であることが分かる。
次に、障害発生後時刻におけるネットワーク要素Eの帯域使用率をデータベース4から取得する(S408)。障害関連度計算プログラム232は、S407の処理と同様に、データベース4の帯域使用率データ1700を検索する。例えば、障害発生後時刻が「2009/07/09の9:25」、ネットワーク要素Eが「仮想スイッチ1のポート3」の場合、その時刻の帯域使用率は64%(行1716)であることが分かる。
そして、ネットワーク要素Eに関する情報の変化から、ネットワーク要素Eの要素別障害関連度を計算する(S406)。具体的には、S407とS408の処理の結果から、ネットワーク要素Eの要素別障害関連度を計算する。例えば、S408の結果(64)からS407の結果(14)を引いた値(50)を、そのネットワーク要素E(仮想スイッチ1のポート3)の要素別障害関連度とすることができる。この計算式は、より複雑なものであってもよい。例えば、帯域使用率の差が、ある閾値以下であれば正常と判断して要素別障害関連度を低くし、閾値より大きければ、要素別障害関連度を高くすることができる。そのネットワークの過去の状況に応じてこの計算式を差し替えることで、最終的に計算される障害報告ごとの障害関連度がより正確になる。
最後に、障害関連度計算プログラム232は、ネットワーク要素Eと、その要素別障害関連度の関係をメモリ上に記録する(S410)。
その後、ネットワーク要素集合の中に、本プログラムで未選択のネットワーク要素があるか否かを判定し(S411)、未選択のネットワーク要素があると判定されると、未選択のネットワーク要素について、S401〜S410の処理を行う。障害関連度計算プログラム232は、ネットワーク要素集合の中の全てのネットワーク要素について、S401〜S410の処理を行うと、本フローチャートの処理を終了する。
要素別障害関連度の計算に用いることのできる統計情報は、ネットワーク機器のCPU使用率と、インターフェイスの帯域使用率の2種類に限られない。例えば、処理の失敗情報であるパケットロス率などのデータを用いてもよい。また、一つのネットワーク要素について、複数の種類の統計情報を組み合わせてその要素別障害関連度を計算してもよい。複数の種類の統計情報を集めるためには手間がかかるが、複数の種類の統計情報を使うことで、1種類の統計情報を使う場合よりも多くの異常を検知できる。従って、障害関連度がより正確になる。
図19は、障害関連度計算プログラム232が、ネットワーク機器の設定変更履歴を用いて、S201で特定された各ネットワーク要素の要素別障害関連度を計算するためのフローチャートである。
まず、障害関連度計算プログラム232は、図16のS201の処理で作成したネットワーク要素集合の中から、未選択のネットワーク要素を一つ選択する(S501)。以下では、ここで選択したネットワーク要素をEと記載する。
次に、障害関連度計算プログラム232は、障害発生前時刻と障害発生後時刻の間に行われた、ネットワーク要素Eの設定変更履歴をデータベース4から取得する(S502)。障害関連度計算プログラム232は、ネットワーク要素Eの識別子を用いてデータベース4の設定変更履歴データ1800を検索することにより、障害発生前時刻と障害発生後時刻の間に行われた設定変更の履歴を求める。例えば、障害発生前時刻が「2009/07/09の9:05」、障害発生後時刻が「2009/07/09の9:25」、ネットワーク要素Eが「スイッチ2」の場合、図10を参照すると、一つの設定変更(行1811)が行われたことが分かる。
そして、S502の結果から、ネットワーク要素Eの要素別障害関連度を計算する(S503)。例えば、S502で取得した設定変更履歴の数を、そのネットワーク要素Eの要素別障害関連度とすることができる。この計算式は、より複雑な式であってもよい。例えば、設定変更の種類によって、要素別障害関連度へ加算する値を重み付けしてもよい。設定変更の種類と障害発生の関係が経験上すでに数値化されている環境では、このように計算式を差し替えることで、最終的に計算される障害報告ごとの障害関連度がより正確になる。
最後に、障害関連度計算プログラム232は、ネットワーク要素Eとその要素別障害関連度の関係をメモリ上に記録する(S504)。
その後、ネットワーク要素集合の中に、本プログラムで未選択のネットワーク要素があるか否かを判定し(S505)、未選択のネットワーク要素があると判定すると、未選択のネットワーク要素について、S501〜S504の処理を行う。障害関連度計算プログラム232は、ネットワーク要素集合の中の全てのネットワーク要素について、S501〜S504の処理を行うと、本フローチャートの処理を終了する。
図20は、障害関連度計算プログラム232が、ネットワーク機器の障害情報を用いて、図16のS201の処理で特定された各ネットワーク要素の要素別障害関連度を計算するためのフローチャートである。
まず、障害関連度計算プログラム232は、図16のS201の処理で作成したネットワーク要素集合の中から、未選択のネットワーク要素を一つ選択する(S601)。以下では、ここで選択したネットワーク要素をEと記載する。
次に、障害関連度計算プログラム232は、障害発生前時刻と障害発生後時刻の間に発生した、ネットワーク要素Eのネットワーク障害データをデータベース4から取得する(S602)。障害関連度計算プログラム232は、ネットワーク要素Eの識別子を用いてデータベース4のネットワーク障害データ1900を検索することによって、障害発生前時刻と障害発生後時刻の間に発生したネットワーク障害の情報を求める。例えば、障害発生前時刻が「2009/07/09の9:05」、障害発生後時刻が「2009/07/09の9:25」、ネットワーク要素Eが「スイッチ3」の場合、図11を参照すると、一つのネットワーク障害(行1913)が発生したことが分かる。
そして、S602の処理の結果から、ネットワーク要素Eの要素別障害関連度を計算する(S603)。例えば、S602で取得したネットワーク障害の数を、そのネットワーク要素Eの要素別障害関連度とすることができる。この計算式は、より複雑なものであってもよい。例えば、障害の内容や、障害に対して既に割り当てられている障害レベルによって、要素別障害関連度へ加算する値を重み付けしてもよい。このように計算式を差し替えることで、最終的に計算される障害報告ごとの障害関連度をより正確にすることができる。
最後に、障害関連度計算プログラム232は、ネットワーク要素Eとその要素別障害関連度の関係をメモリ上に記録する(S604)。
その後、ネットワーク要素集合の中に、本プログラムで未選択のネットワーク要素があるか否かを判定し(S605)、未選択のネットワーク要素があると判定すると、未選択のネットワーク要素について、S601〜S604の処理を行う。障害関連度計算プログラム232は、ネットワーク要素集合の中の全てのネットワーク要素について、S601〜S604の処理を行うと、本フローチャートの処理を終了する。
障害関連度計算プログラム232は、図18〜図20のいずれかの処理だけではなく、その他の情報を用いて計算してもよい。また、障害関連度計算プログラム232は、図18〜図20の処理のうち、2つ以上の処理を組み合わせて実行してもよい。加えて、その際に特定の情報による要素別障害関連度を重視してもよい。例えば、設定変更によって障害が発生することが多いとネットワーク管理者が感じている場合は、設定変更履歴による要素別障害関連度に重み付けすることで、障害関連度の正確さが向上する。
以上のように、障害関連度計算プログラム232は、各ネットワーク要素の要素別障害関連度を計算した後で、それらの要素別障害関連度から、その障害に対するネットワーク全体での障害関連度を計算する(S203)。
障害関連度の計算方法は複数ある。例えば、要素別障害関連度の最大値を障害関連度としてもよい。この場合、ネットワーク管理者は、障害関連度を見て、最も疑わしい装置を特定することができる。もしくは、要素別障害関連度の合計値を障害関連度としてもよい。この場合、ネットワーク管理者は、障害関連度を見て、疑わしい装置が最も多いパスを特定することができる。
以上が、障害報告の受信からその障害関連度の計算までの、障害関連度計算サーバ2の動作の一例である。
図21は、障害報告を表示する処理について、障害関連度計算サーバ2の動作の一例を示したシーケンス図である。
まず、ネットワーク管理者は、ネットワーク管理者端末30から、ネットワーク管理プログラムを通して、障害報告表示プログラム233に障害報告の表示を要求する(S701)。障害報告表示プログラム233は、ネットワーク管理者端末30からの要求を受信すると、データベース4に対して、障害報告データ1000を要求し(S702)、データベース4から障害報告データ1000を受信する(S703)。また、障害報告表示プログラム233は、データベース4に対して、障害関連度データ1100を要求し(S704)、データベース4から障害関連度データ1100を受信する(S705)。
その後、障害報告表示プログラム233は、障害報告表示画面を作成し(S706)、作成した画面をネットワーク管理プログラムを通して、ネットワーク管理者端末30に送信する(S707)。
図22は、ネットワーク管理プログラムの障害報告表示画面の一例である。行5101は、障害関連度データ1100から取得した各障害報告の障害関連度、行5102〜5106は、障害報告データ1000から取得した各障害報告のデータである。行5102は、障害を報告したユーザの識別子、行5103は、障害を報告した日時、行5104は、障害が発生した期間、行5105は、障害が発生したサーバの識別子、行5106は、障害が発生していないサーバの識別子である。行5107は、この画面で表示しきれない詳細な情報を表示する別ウィンドウを開くためのボタンである。5108は、この障害報告を障害関連度計算サーバ2から取得した時刻である。
図22に示す例のように、ネットワーク管理プログラムは、障害報告を障害関連度の高い順に並び替えるように構成されていてもよい。その場合、ネットワーク管理者は、ネットワーク側に問題がある可能性が高い障害報告をすぐに判別できる。
また、障害報告の一覧表示方法は、上記の方法に限られない。例えば、以下の表示方法がある。
(1)サーバ別に障害報告を表示する方法。この方法では、障害関連度の欄には、そのサーバを障害発生サーバに含む障害報告の障害関連度の総和などを表示する。
(2)ユーザ別に障害報告をまとめて表示する方法。障害関連度の欄には、そのユーザの障害報告の障害関連度の総和などを表示する。
(3)ネットワーク要素別に障害報告をまとめて表示する方法。障害関連度の欄には、そのネットワーク要素を用いた障害報告の障害関連度の総和などを表示する。
一つの障害報告が多数の障害発生サーバを含むことが多い場合は、方法(1)を用いることで、ネットワーク管理者が調査すべきネットワーク要素を絞り込むことができる。一つの障害報告が多数の障害発生サーバを含む場合、障害報告単位で障害関連度を算出すると、どこから調査したら良いのか分かりにくくなる可能性がある。障害関連度をサーバ単位で算出することによって、調査範囲をあるサーバのトラフィックが流れるパスに特定できる。従って、ネットワーク管理者が障害の原因調査を効率的に行うことができる。ただし、方法(1)を用いる場合は、図16のフローチャートを用いて説明した計算を障害発生サーバ一つずつに対して行う必要がある。
一つのユーザから複数の障害報告が送信される場合は、方法(2)を用いることで、ネットワーク側の障害に最も悩まされているユーザを特定することができる。これにより、特定のユーザのサービスレベルが極端に下がることを防ぐことができる。
障害の原因が特定のネットワーク要素に偏ることが多い場合は、方法(3)を用いることで、ネットワーク管理者が調査すべきネットワーク要素を絞り込むことができる。従って、ネットワーク管理者が障害の原因調査を効率的に行うことができる。ただし、方法(3)を用いる場合は、各ネットワーク要素の要素別障害関連度をデータベース4に保存しておく必要がある。
加えて、上記の方法(1)〜(3)について、障害発生期間の範囲を限定するという方法もある。こうすることで、同じ原因で発生した障害がまとめて表示されやすくなり、ネットワーク管理者が障害の原因調査を効率的に行うことができる。
図23は、ネットワーク管理プログラムの詳細情報表示画面の一例である。ネットワーク管理者が図22の列5107の詳細ボタンを押すと、図23に示すように、ある障害報告に関する詳細な情報を表示する。5210は、障害報告の全ての情報である。5220は、その障害報告の障害関連度を計算する前に計算された、各ネットワーク要素の要素別障害関連度である。5230は、ネットワーク上で障害が発生したと思われる箇所や、障害発生サーバのトラフィックが流れるパスを示したネットワーク図である。このように、障害報告の障害関連度だけでなく、ネットワーク要素の要素別障害関連度や、ネットワーク図もあわせて表示することで、ネットワーク管理者が障害の原因調査を効率的に行うことができる。
ネットワーク管理者は、図22に示すような障害報告表示画面を見て、まずA社の障害報告に対応しようと決める。そして、ネットワーク管理者がその障害報告の詳細ボタンを押すと、図23に示すような画面が表示される。その結果、ネットワーク管理者は仮想スイッチ1に何かしらの問題があると特定できる。その後、ネットワーク管理者は、従来のネットワーク管理プログラムなどを用いて、仮想スイッチ1の状況を調べることができる。
以上が、障害関連度計算サーバ2がネットワーク管理者に対して障害報告を表示する動作の一例である。
以上のようにして、障害関連度計算サーバ2は、サーバ管理者端末から送信される多数の障害報告を、それらの障害報告がネットワーク機器に関連する度合い(すなわち障害関連度)と共に、ネットワーク管理者に対して表示することができる。これにより、ネットワーク管理者は、従来と比べて容易に、障害の原因がネットワーク側にある可能性が高い障害報告を優先して作業することができる。これにより、ネットワーク機器の障害検出から問題解決までの時間が短縮され、データセンターネットワークの可用性が向上する。
<第2の実施形態>
第2の実施形態では、ある新しい障害報告の障害関連度を計算する際に、過去の障害報告のデータを利用する例を説明する。また、その計算と同時に、新しい障害報告と同時期の障害を示す障害報告の障害関連度を再計算する例を説明する。
第2の実施形態では、第1の実施形態の障害関連度計算プログラム232に新たな処理を追加する。データセンターシステムや障害関連度計算サーバ2の内部構造などは、第1の実施形態と同じである。
図24は、障害関連度計算プログラム232が、ある障害報告の障害関連度を計算するためのフローチャートである。本実施形態の障害関連度計算プログラム232は、第1の実施形態の処理(図16のS201〜S203)に加えて、S801〜S805の処理を行う。
まず、障害関連度計算プログラム232は、その障害に関連するネットワーク機器およびそれらのインターフェイスの集合を作成する(S201)。この処理は、第1の実施形態で説明した処理と同じであるため、本実施形態では、詳しい説明を省略する。
次に、障害関連度計算プログラム232は、その障害と同時期に発生した障害の障害報告(以下、同時期の障害報告)をデータベース4から取得する(S801)。ここでは、新しい障害報告の障害発生前時刻をT1、障害発生後時刻をT2と仮定する。このとき、障害関連度計算プログラム232は、障害発生前時刻と障害発生後時刻の間にT1またはT2を含む障害報告データ1000を検索することで、同時期の障害報告をデータベース4から取得できる。例えば、新しい障害報告の障害発生前時刻が2009/07/09の9:05、障害発生後時刻が2009/07/09の9:25と仮定する。この場合、障害発生期間に2009/07/09の9:05または2009/07/09の9:25を含む障害報告が、その障害と同時期の障害報告である。
以上が、同時期の障害報告を検索する方法の一例である。障害関連度の精度を上げるために、障害関連度計算プログラム232は、より複雑な検索処理を実行してもよい。例えば、障害関連度計算プログラム232は、障害発生期間の重複が短い障害報告は無視してもよい。
その後、S801の処理の結果に基づいて、同時期の障害報告が一つ以上あるか否かを判定する(S802)。同時期の障害報告が一つ以上あると判定すると、障害関連度計算プログラム232は、その障害と同時期の障害報告を用いて、S201で発見した各ネットワーク要素の重み付けを変更する(S803)。障害関連度計算プログラム232は、この重み付けを、後のS202における計算の際に用いる。ネットワーク要素の重み付けを変更する詳細な方法を、図25を用いて説明する。
図25は、障害関連度計算プログラム232が、ある障害と同時期の障害報告を用いて、その障害の各ネットワーク要素の重み付けを変更するためのフローチャートである。
まず、障害関連度計算プログラム232は、その障害報告と障害発生期間が重複する障害報告の中から、未選択の障害報告を一つ選択する(S901)。以下では、ここで選択した障害報告を障害報告Rと記載する。
次に、障害関連度計算プログラム232は、障害報告Rの障害が発生したサーバの識別子の中から、このプログラムで未選択の識別子を一つ選択する(S902)。以下では、ここで選択したサーバ識別子をP−SRV−IDと記載する。
次に、障害関連度計算プログラム232は、サーバ識別子がP−SRV−IDのサーバのトラフィックが流れるネットワーク要素をデータベース4から取得する(S903)。この処理は、図17のS302の処理と同じであるため、本実施形態では、詳しい説明を省略する。
そして、S903の処理で取得したネットワーク要素の集合と、図24のS201の処理で取得したネットワーク要素の集合の両方に含まれるネットワーク要素について、その要素別障害関連度が高くなるように重み付けを行う(S904)。重み付けの方法の一例を以下に示す。まず、S201で取得した各ネットワーク要素について、S904で他の障害報告(ここでは障害報告R)のネットワーク要素と重複した回数を記録する。そして、要素別障害関連度の計算において、この重複した回数が多いネットワーク要素ほどその要素別障害関連度を高くするという方法がある。
障害関連度計算プログラム232は、障害が発生したサーバの識別子の中に、このプログラムが未選択のサーバ識別子が存在するか否かを判定し(S905)、未選択のサーバ識別子が存在すると判定すると、未選択のサーバ識別子に基づいて、S902〜S904の処理を行う。
その後、障害報告Rの中に、障害が発生していないサーバの識別子が一つ以上あるか否かを判定する(S906)。障害報告Rの中に、障害が発生していないサーバの識別子が一つ以上あると判定すると、障害関連度計算プログラム232は、S907〜S910の処理を行う。一方、障害報告Rの中に、障害が発生していないサーバの識別子が一つもないと判定すると、S911の処理を行う。
障害関連度計算プログラム232は、障害報告Rの障害が発生していないサーバの識別子の中から、このプログラムで未選択の識別子を一つ選択する(S907)。以下では、ここで選択したサーバ識別子をN−SRV−IDと記載する。
次に、障害関連度計算プログラム232は、サーバ識別子がN−SRV−IDのサーバのトラフィックが流れるネットワーク要素をデータベース4から取得する(S908)。この処理は、図17のS307の処理と同じであるため、本実施形態では、詳しい説明を省略する。
そして、S908の処理で取得したネットワーク要素の集合と、図24のS201の処理で取得したネットワーク要素の集合の両方に含まれるネットワーク要素について、その要素別障害関連度が低くなるように重み付けを行う(S909)。重み付けの方法の一例について、以下で説明する。
まず、S201の処理で取得した各ネットワーク要素について、S909で他の障害報告(ここでは障害報告R)のネットワーク要素と重複した回数を記録する。そして、要素別障害関連度の計算において、この重複した回数が多いネットワーク要素ほどその要素別障害関連度を低くするという方法がある。
障害関連度計算プログラム232は、障害が発生していないサーバの識別子の中に、このプログラムが未選択のサーバ識別子が存在するか否かを判定し(S910)、未選択のサーバ識別子が存在すると判定すると、未選択のサーバ識別子に基づいて、S907〜S909の処理を行う。
続いて、障害関連度計算プログラム232は、その障害報告と障害発生期間が重複する障害報告の中に、このプログラムが未選択の障害報告が存在するか否かを判定し(S911)、未選択の障害報告が存在すると判定すると、未選択の障害報告に基づいて、S901〜S910の処理を行う。
以上が、第2の実施形態における障害関連度計算プログラム232の動作の一例である。
図24に戻って説明を続ける。障害関連度計算プログラム232は、S201の処理で発見した各ネットワーク要素の要素別障害関連度を計算する(S202)。ここでは、まず、第1の実施形態で説明した方法により、各ネットワーク要素の要素別障害関連度を求める。そして、求めた障害関連度を重み付けに応じて変更する。すなわち、重み付けが大きいネットワーク要素ほど、障害関連度が高くなるように、また、重み付けが小さいネットワーク要素ほど、障害関連度が低くなるようにする。
以上のように、各ネットワーク要素の要素別障害関連度を計算したあとで、障害関連度計算プログラム232は、それらの要素別障害関連度から、その障害に対するネットワーク全体での障害関連度を計算する(S203)。この処理は、第1の実施形態と同じであるため、本実施形態では、詳しい説明を省略する。
その後、処理対象となっている障害報告と同時期の障害報告が一つ以上あるか否かを判定する(S804)。同時期の障害報告が一つ以上あると判定すると、障害関連度計算プログラム232は、その障害と同時期の障害報告の障害関連度を再計算し、その結果に基づいて、データベースの障害関連度データを更新する(S805)。その障害と同時期の障害報告の障害関連度の再計算のフローチャートは、図24に示すフローチャートの処理からS804〜S805の処理を除いたものになる。これは、障害関連度の再計算でS804〜S805を行うと、処理がループするためである。
以上のようにして、第2の実施形態によれば、障害関連度計算サーバ2は、ある新しい障害報告の障害関連度を計算する際に、過去の障害報告のデータを利用することができる。また、その計算と同時に、新しい障害報告と同時期の障害を示す障害報告の障害関連度を再計算することができる。
サーバ管理者の送信する障害報告は、サーバ上でのアプリケーション利用状況を知っていなければ発見できない障害であり、ネットワーク管理者は知り得ない情報である。従って、他のユーザの障害報告のデータを用いることで、ネットワーク機器の情報だけで障害関連度を計算する場合よりも、障害関連度の正確さが高まる。これにより、ネットワーク管理者は、第1の実施形態よりも、効率的に障害報告に対処できる。
<第3の実施形態>
第3の実施形態では、障害報告の障害関連度を、ネットワーク管理者だけでなくサーバ管理者にも通知する例を説明する。
第3の実施形態では、第1の実施形態の障害関連度計算プログラム232に新たな処理を追加する。データセンターシステムや障害関連度計算サーバ2の内部構造などは、第1の実施形態と同じである。
図26は、障害報告の受信からその障害関連度の通知までの、障害関連度計算サーバ2の動作の一例を示したシーケンス図である。本実施形態の障害関連度計算プログラム232は、第1の実施形態の処理(S101〜S109)に加えて、S1001〜S1002の処理を行う。
本実施形態の障害関連度計算プログラム232は、障害関連度データの計算が終了した後で、その障害関連度データをサーバ管理プログラムに送信する(S1001)。そして、サーバ管理プログラムは、サーバ管理者端末20上に、上記の障害関連度データを表示する(S1002)。
このとき、障害関連度計算プログラム232は、障害関連度に加えて、より詳細なデータを送信してもよい。障害関連度計算プログラム232が送信するデータの例を以下に示す。
(1)その障害報告の障害関連度
(2)その障害報告に関連する各ネットワーク要素の要素別障害関連度(図23の5220に相当)
(3)その障害報告に関連する各ネットワーク要素の接続関係(図23の5230に相当)
(4)障害関連度の大きい順に並べたときに、その障害報告が全体の何番目になるか
(5)上記(1)〜(4)の結果を、障害の問題解決までの見込み時間に変換した数値
上記(3)について補足しておく。データセンターのネットワークには他ユーザのサーバも接続されているため、サーバ管理プログラムに送信されるネットワークの情報は限定されるべきである。その限定の方法としては、そのユーザが利用するサーバの経路(経路データ1500を参照)の情報のみを表示する方法がある。別の方法としては、そのユーザが利用するサーバの経路上にあるネットワーク要素の一つ隣、あるいは二つ以上隣にあるネットワーク要素まで表示する方法がある。
また、上記(5)では、例えば、推定解決時間を求めるための計算式や変換テーブルを予め用意しておく必要がある。簡単には、障害関連度に所定の時間を乗算した時間を、推定解決時間とすることができる。
以上のようにして、第3の実施形態によれば、障害関連度計算サーバ2は、障害報告の障害関連度をサーバ管理者に通知することができる。これにより、ネットワーク管理者からサーバ管理者への障害原因の調査の状況報告を一部自動化することができる。従って、ネットワーク管理者の作業量を削減できる。
以上、本発明の各実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。
1 管理ネットワーク
2 障害関連度計算サーバ
3 ネットワーク監視サーバ
4 データベース
5 物理マシン
6 スイッチ
7 ルータ
8 ファイバ・チャネル・スイッチ
9 ストレージ
10 通信回線
11 WAN
12 通信回線
20 サーバ管理者端末
21 I/F
22 CPU
23 メモリ
24 データパス
30 ネットワーク管理者端末
231 障害報告受信プログラム
232 障害関連度計算プログラム
233 障害報告表示プログラム
1000 障害報告データ
1100 障害関連度データ
1200 ユーザデータ
1300 サーバデータ
1400 接続関係データ
1500 経路データ
1600 CPU使用率データ
1700 帯域使用率データ
1800 設定変更履歴データ
1900 ネットワーク障害データ

Claims (15)

  1. 少なくとも一台のサーバとネットワークを経由して接続されるネットワーク管理装置であって、
    前記サーバの障害発生情報を受信する受信部と、
    前記受信部によって受信された障害発生情報に基づいて、障害の発生時間を推定する障害発生時間推定部と、
    前記受信部によって受信された障害発生情報に基づいて、前記障害発生情報に対応するサーバが存在するネットワーク上の経路を特定する経路特定部と、
    前記経路特定部によって特定された経路上の機器に関する情報を取得する機器情報取得部と、
    前記障害発生時間推定部によって推定された障害発生時間内における、前記機器に関する情報の変化に基づいて、前記障害発生情報に対応する障害が、前記サーバおよび前記ネットワーク管理装置を除いたネットワーク上の機器に関連する度合いを示す障害関連度を演算する障害関連度演算部と、
    を備えることを特徴とするネットワーク管理装置。
  2. 前記障害発生情報は、障害が発生したと推定されるサーバの情報だけでなく、障害が発生していないと推定されるサーバの情報も含み、
    前記障害関連度演算部は、前記障害が発生したと推定されるサーバの情報だけでなく、前記障害が発生していないと推定されるサーバの情報も用いて、前記障害関連度を演算することを特徴とする請求項1に記載のネットワーク管理装置。
  3. 前記障害関連度演算部は、前記障害発生時間推定部で推定された障害発生時間の少なくとも一部が重複する他の障害発生情報に基づいて、前記障害関連度を変更することを特徴とする請求項1に記載のネットワーク管理装置。
  4. 前記ネットワーク管理装置に前記障害発生情報を送信するサーバ管理装置に対して、前記障害関連度演算部によって演算された障害関連度を送信する送信部をさらに備えることを特徴とする請求項1に記載のネットワーク管理装置。
  5. 前記関連度演算部によって演算された障害関連度に基づいて、障害を解決するまでに要する障害解決時間を推定する障害解決時間推定部をさらに備え、
    前記送信部は、前記障害解決時間推定部で推定された障害解決時間の情報を前記サーバ管理装置に送信することを特徴とする請求項4に記載のネットワーク管理装置。
  6. 前記障害関連度演算部によって演算された障害関連度を大きい順に表示する表示部をさらに備えることを特徴とする請求項1に記載のネットワーク管理装置。
  7. 前記機器情報取得部は、機器のリソースの状態、および、処理の失敗情報のうちの少なくとも一つの情報を、前記機器に関する情報として取得することを特徴とする請求項1に記載のネットワーク管理装置。
  8. 前記機器情報取得部は、機器の設定変更履歴情報を、前記機器に関する情報として取得することを特徴とする請求項1に記載のネットワーク管理装置。
  9. 前記機器情報取得部は、前記経路特定部によって特定された経路上の機器に関する障害情報を、前記機器に関する情報として取得することを特徴とする請求項1に記載のネットワーク管理装置。
  10. 少なくとも一台のサーバとネットワークを経由して接続されるネットワーク管理装置において実行されるネットワーク管理方法であって、
    前記ネットワーク管理装置は、前記ネットワークに接続されるインターフェイスと、前記インターフェイスに接続されるプロセッサと、前記プロセッサによって実行されるプログラムが格納されるメモリとを備え、
    前記プロセッサは、
    ネットワークに接続されている少なくとも一台のサーバの障害発生情報を受信し、
    前記受信した障害発生情報に基づいて、障害の発生時間を推定し、
    前記受信した障害発生情報に基づいて、前記障害発生情報に対応するサーバが存在するネットワーク上の経路を特定し、
    前記求められた経路上の機器に関する情報を取得し、
    前記推定された障害発生時間内における、前記機器に関する情報の変化に基づいて、前記障害発生情報に対応する障害が前記ネットワーク上の機器に関連する度合いを示す障害関連度を演算する、
    ことを特徴とするネットワーク管理方法。
  11. 前記障害発生情報は、障害が発生したと推定されるサーバの情報だけでなく、障害が発生していないと推定されるサーバの情報も含み、
    前記プロセッサは、前記障害が発生したと推定されるサーバの情報だけでなく、前記障害が発生していないと推定されるサーバの情報も用いて、前記障害関連度を演算することを特徴とする請求項10に記載のネットワーク管理方法。
  12. 前記プロセッサは、前記推定された障害発生時間の少なくとも一部が重複する他の障害発生情報に基づいて、前記障害関連度を変更することを特徴とする請求項10に記載のネットワーク管理方法。
  13. 前記プロセッサは、機器のリソースの状態、および、処理の失敗情報のうちの少なくとも一つの情報を、前記機器に関する情報として取得することを特徴とする請求項10に記載のネットワーク管理方法。
  14. 前記プロセッサは、各機器の設定変更履歴情報を、前記機器に関する情報として取得することを特徴とする請求項10に記載のネットワーク管理方法。
  15. 前記プロセッサは、前記経路特定部によって特定された経路上の機器に関する障害情報を、前記機器に関する情報として取得することを特徴とする請求項10に記載のネットワーク管理方法。
JP2009241071A 2009-10-20 2009-10-20 ネットワーク管理装置およびネットワーク管理方法 Expired - Fee Related JP5380687B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009241071A JP5380687B2 (ja) 2009-10-20 2009-10-20 ネットワーク管理装置およびネットワーク管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009241071A JP5380687B2 (ja) 2009-10-20 2009-10-20 ネットワーク管理装置およびネットワーク管理方法

Publications (2)

Publication Number Publication Date
JP2011091472A JP2011091472A (ja) 2011-05-06
JP5380687B2 true JP5380687B2 (ja) 2014-01-08

Family

ID=44109352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009241071A Expired - Fee Related JP5380687B2 (ja) 2009-10-20 2009-10-20 ネットワーク管理装置およびネットワーク管理方法

Country Status (1)

Country Link
JP (1) JP5380687B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3449425B2 (ja) * 1993-02-23 2003-09-22 本田技研工業株式会社 コンピュータネットワーク監視支援システム
JP3569827B2 (ja) * 1994-06-20 2004-09-29 株式会社日立製作所 ネットワークシステムの状態診断・監視装置
JP2002099469A (ja) * 2000-09-25 2002-04-05 Hitachi Ltd ネットワークシステム性能診断方法及びその装置
JP3711879B2 (ja) * 2001-03-09 2005-11-02 三菱電機株式会社 ネットワーク障害解析装置およびネットワーク障害解析方法

Also Published As

Publication number Publication date
JP2011091472A (ja) 2011-05-06

Similar Documents

Publication Publication Date Title
US20200106662A1 (en) Systems and methods for managing network health
US10560311B2 (en) Management apparatus, management method, and recording medium
US8443074B2 (en) Constructing an inference graph for a network
JP5418250B2 (ja) 異常検出装置、プログラム、及び異常検出方法
JP5982015B2 (ja) コンピュータ・ネットワーク用のトランザクション実行監視方法及びシステム並びにコンピュータ記憶媒体
JP5530864B2 (ja) ネットワークシステム、管理サーバ、及び、管理方法
JP4648838B2 (ja) ネットワーク監視支援装置、ネットワーク監視支援方法およびネットワーク監視支援プログラム
CN105165054A (zh) 网络服务故障处理方法,服务管理系统和系统管理模块
JP2011258098A (ja) 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置
US10445167B1 (en) Automated method and system for diagnosing load performance issues
KR20190088342A (ko) 네트워크 성능 진단 방법 및 장치, 및 시스템
KR20190088343A (ko) 네트워크 성능지표를 시각화하는 방법 및 장치, 및 시스템
EP3232620B1 (en) Data center based fault analysis method and device
JP2016103784A (ja) 監視装置、監視プログラムおよび監視方法
JP5342082B1 (ja) ネットワーク障害解析システムおよびネットワーク障害解析プログラム
US20230064625A1 (en) Method and system for recommending runbooks for detected events
JP2013054402A (ja) 運用監視装置、運用監視プログラム及び記録媒体
EP3329407A1 (en) Application centric network experience monitoring
JP5623333B2 (ja) 監視サーバ、及び、監視評価方法
JP5380687B2 (ja) ネットワーク管理装置およびネットワーク管理方法
JPWO2013150691A1 (ja) 管理サーバ、および、フロー処理方法
US10432451B2 (en) Systems and methods for managing network health
JP6476853B2 (ja) ネットワーク監視システム及び方法
US8719633B2 (en) Search device, search method, and search program
US9253023B2 (en) Network management system with a switchable flood revention mode pregarding fault events for a managed device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130627

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130906

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees