説明

機器管理装置、機器管理方法および機器管理プログラム

【課題】ネットワーク機器の設定を変更することによってシステムの運用効率が劣化すること防止することを課題とする。
【解決手段】管理サーバは、管理対象であるネットワーク機器各々に対して、該ネットワーク機器に実行した設定数と、該ネットワーク機器の通信の負荷情報との相関係数を算出する。管理サーバは、算出された相関係数と、ネットワーク機器の処理の負荷情報とに基づいて、負荷が上昇傾向にあるネットワーク機器を特定する。管理サーバは、特定したネットワーク機器を除くネットワーク機器から、設定変更の対象を選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機器管理装置、機器管理方法および機器管理プログラムに関する。
【背景技術】
【0002】
近年、サーバ装置やネットワーク機器を一元的に管理し、ネットワークを介してユーザにサービスやアプリケーションを提供するシステムが利用されている。
【0003】
このようなシステムにおいて、サーバ装置に新たな仮想マシン(VM:Virtual Machine)を起動させる場合には、仮想マシンを起動する対象機器を特定して、特定した機器に仮想マシンを配備して起動する。仮想マシンの配備における処理について、一般的にプロビジョニングという。プロビジョニングの処理の例としては、ファイアウォールの設定変更や、スイッチの経路変更などが挙げられる。
【0004】
プロビジョニングの対象機器を特定する技術としては、新たな仮想マシンからインターネットまでの経路のうち最短経路となるネットワーク機器を特定する技術が知られている。また、ネットワークトポロジのトラフィックを監視し、最もトラフィックが少ない経路上のネットワーク機器を特定する技術が知られている。また、処理性能が最も高いネットワーク機器を特定する技術が知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平07−219907号公報
【特許文献2】特開2010−68367号公報
【特許文献3】特開2010−124382号公報
【特許文献4】国際公開第2008/084826号
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来技術によるプロビジョニングの対象機器を特定する方法では、特定のネットワーク機器の負荷が高くなって、システム全体の負荷のバランスが悪くなり、システムの運用効率が劣化するという問題がある。
【0007】
処理性能が異なる3台のファイアウォール装置を有するシステムに、新たなVMを連続して起動させる場合を例にして説明する。1台のVMが起動するたびにプロビジョニングを実行する場合、1台のVMが起動するたびにプロビジョニング対象機器を特定することになる。このような場合に従来技術を用いると、同じファイアウォール装置が連続して、プロビジョニング対象として特定される。
【0008】
具体的には、最も性能が良いファイアウォール装置に連続してプロビジョニングが実行される。または、最短経路として特定されたファイアウォール装置に連続してプロビジョニングが実行される。このため、1台のファイアウォール装置の処理負荷が高くなってしまい、システム全体の負荷のバランスが悪くなる。このような状態では、処理負荷が高くなったファイアウォール装置を介する処理に遅延が生じたりし、システムの運用効率が劣化する場合がある。
【0009】
1つの側面として、システムの運用効率の劣化を抑制する機器管理装置、機器管理方法および機器管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
第1の案では、機器管理装置は、管理対象であるネットワーク機器各々に対して、該ネットワーク機器に実行した設定数と該ネットワーク機器の通信の負荷情報との相関係数を算出する算出部を有する。機器管理装置は、前記算出部によって算出された相関係数と、前記ネットワーク機器の処理の負荷情報とに基づいて、負荷が上昇傾向にあるネットワーク機器を特定する特定部を有する。機器管理装置は、前記特定部が特定したネットワーク機器を除くネットワーク機器から、前記設定変更の対象を選択する選択部を有する。
【発明の効果】
【0011】
システムの運用効率が劣化することを抑制できる。
【図面の簡単な説明】
【0012】
【図1】図1は、実施例1に係るシステムの全体構成例を示す図である。
【図2】図2は、実施例1に係る管理サーバの構成を示す機能ブロック図である。
【図3】図3は、設定ファイルの例を示す図である。
【図4】図4は、リソース情報DBに記憶される情報の例を示す図である。
【図5】図5は、相関係数DBに記憶される情報の例を示す図である。
【図6】図6は、実行回数DBに記憶される情報の例を示す図である。
【図7】図7は、リソース収集処理の流れを示すフローチャートである。
【図8A】図8Aは、プロビジョニング実行対象を選択する処理の流れを示すフローチャートである。
【図8B】図8Bは、プロビジョニング実行対象を選択する処理の流れを示すフローチャートである。
【図8C】図8Cは、プロビジョニング実行対象を選択する処理の流れを示すフローチャートである。
【図9】図9は、コンフィグ管理処理の流れを示すフローチャートである。
【図10】図10は、プロビジョニング処理の流れを示すフローチャートである。
【図11】図11は、機器管理制御プログラムを実行するコンピュータのハードウェア構成の例を示す図である。
【発明を実施するための形態】
【0013】
以下に、本願の開示する機器管理装置、機器管理方法および機器管理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例1】
【0014】
[全体構成]
図1は、実施例1に係るシステムの全体構成例を示す図である。図1に示すように、このシステムは、管理サーバ10と、複数のサーバと、複数のスイッチ(SW)と、複数のロードバランサ装置(LB)と、複数のファイアウォール装置(FW)とを有する。管理サーバ10と各装置とは、ユーザへのサービス提供には利用されない管理ネットワークで接続される。また、各装置間は業務ネットワークで接続される。図示しないユーザと図1に示したシステムとは、各FWを介して接続される。
【0015】
このシステムは、2台のサーバと2台のスイッチと2台のロードバランサ装置と2台のファイアウォール装置とを基本ネットワーク構成パターンとするスケールアウトモデルで構築される。つまり、サーバ1aとサーバ1bとSW2aとSW2bとLB3aとLB3bとFW4aとFW4bとが1つのスケールアウトモデルである。また、サーバ5aとサーバ5bとSW6aとSW6bとLB7aとLB7bとFW8aとFW8bとが1つのスケールアウトモデルである。
【0016】
図1に示したサーバは、ユーザにサービスを提供するWebサーバやDBサーバなどである。このサーバ上では、各種サービスを提供する仮想マシン(VM)などが動作する。スイッチは、サーバと他の機器とを接続するスイッチングハブなどのネットワーク機器である。また、LBは、サーバの負荷に応じて、外部から受信したリクエストを各サーバに振り分ける負荷分散装置であり、FWは、内部ネットワークと外部ネットワークとの通信を制御して、不正なアクセス等を遮断するネットワーク機器である。
【0017】
このシステムは、スケールアウトモデルを複数台接続してユーザにサービスを提供するクラウドシステムなどに利用することができる。なお、ここで示した基本ネットワーク構成パターンを形成する各装置の種別や台数は、あくまで例示であり、これに限定されるものではない。また、以下では、説明上、サーバ1aとサーバ1bとSW2aとSW2bとLB3aとLB3bとFW4aとFW4bとを用いて構成されるスケールアウトモデルを管理対象として説明する。
【0018】
[管理サーバの構成]
図2は、実施例1に係る管理サーバの構成を示す機能ブロック図である。なお、図1に示した他の装置は、一般的な装置と同様の構成を有するので、詳細な説明は省略する。
【0019】
図2に示すように、管理サーバ10は、通信制御I/F部11とメモリ12とHDD(Hard Disk Drive)13と制御部15とを有する。通信制御I/F部11は、管理サーバ10と他の装置との通信を制御するインタフェースである。例えば、通信制御I/F部11は、各装置に対してプロビジョニングによって設定を変更するためのコンフィグ情報を送信したり、CPU(Central Processing Unit)使用率やメモリ使用量などリソース情報を受信したりする。
【0020】
メモリ12は、制御部15が実行するプログラムなどを記憶する記憶装置であり、設定ファイル12aを記憶する。設定ファイル12aは、プロビジョニング対象装置を特定する際に使用される判定条件が設定されたファイルであり、条件設定部15aによって更新される。
【0021】
図3は、設定ファイルの例を示す図である。図3に示すように、設定ファイル12aに「upper limit value=80」が記述されていることより、CPU使用率などのリソースの上限値が80%であることを設定する。また、設定ファイル12aに「Caution value=50」が記述されていることより、CPU使用率などのリソースの使用率が50%を超えると、当該リソースは警戒状態であることを設定する。また、設定ファイル12aに「correlation coefficient={Plus(1、0.7)、None(0.6、-0.6)、Minus(-0.7、-1.0)}」が設定されている。これにより、相関係数が「1から0.7」の間の値である場合には、正の相関と判定され、相関係数が「0.6から-0.6」の間の値である場合には、相関なしと判定され、相関係数が「-0.7から-1.0」の間の値である場合には、負の相関と判定されることが設定される。相関係数については、後述する。
【0022】
また、「Select-rule」によって判定条件を定義する。具体的には、「Exclusion upper-limit」によって上限値以上を実行対象から除外することが定義されている。「Exclusion Caution and correlation coefficient(Plus)」によって、警戒値以上で正の相関を除外することが定義されている。つまり、リソースの値が警戒値以上かつ相関係数が上記で設定される正の相関である場合には、実行対象から除外することが定義されている。また、「Exclusion Caution and correlation coefficient(None)」によって、警戒値以上で相関なしを除外することが定義されている。つまり、リソースの値が警戒値以上かつ相関係数が上記で設定される相関なしである場合には、実行対象から除外することが定義されている。なお、ここで定義される内容は、任意に設定変更することができる。
【0023】
HDD13は、データベースなどを保持する大容量の記憶装置であり、リソース情報DB13aと相関係数DB13bと実行回数DB13cとを保持する。リソース情報DB13aは、管理ノードである「FW4a、FW4b、LB3a、LB3b」ごとに、リソース収集部15bが収集した管理対象装置のリソース情報を記憶するデータベースである。図4は、リソース情報DBに記憶される情報の例を示す図である。図4に示すように、リソース情報DB13aは、「記録時間、CPU情報(カレント)、CPU情報(平均)、メモリ情報(カレント)、メモリ情報(平均)、トラフィック情報、コネクション情報」を記憶する。
【0024】
ここで記憶される「記録時間」は、リソース情報が収集された時間である。「CPU情報(カレント)」は、収集された現時点のCPUの使用率であり、「CPU情報(平均)」は、過去に収集されたCPU使用率から現時点までの平均値である。「メモリ情報(カレント)」は、収集された現時点のメモリの使用量であり、「メモリ情報(平均)」は、過去に収集されたメモリ使用量から現時点までの平均値である。「トラフィック情報」は、管理ノードが検出したトラフィック量であり、「コネクション情報」は、管理ノードが他の装置と接続または中継するコネクションの数である。
【0025】
図4のFW4aの場合、2011/3/11 9:50に最新のリソースが収集されており、収集時点のCPUの使用率が20%、過去から現在の収集時点までのCPU使用率の平均値が20%であることを示す。また、その収集時点のメモリの使用量が100MB、過去からその収集時点までのメモリ使用量の平均値が80MBであることを示す。また、その収集時点におけるFW4aで検出されたトラフィック量が200Mbpsであり、FW4aと接続されるコネクション数が100本であったことを示す。
【0026】
なお、リソース情報DB13aに記憶される情報は、リソース収集部15bによって更新される。例えば、リソース収集部15bは、保管期限が超過した情報を定期的に削除する。また、リソース収集部15bは、管理ノードごとに、レコード数が所定値を超えないように、古い情報から随時削除する。
【0027】
図2に戻り、相関係数DB13bは、算出部15dが算出した相関係数を記憶するデータベースである。図5は、相関係数DBに記憶される情報の例を示す図である。図5に示すように、管理ノードである「FW4a、FW4b、LB3a、LB3b」ごとに、算出部15dが算出した相関係数を記憶する。相関係数DB13bは、ファイアウォール装置に対して、「記録時間、Config種別、定義量、トラフィック情報(平均)、相関係数(定義−トラフィック)、CPU情報(平均)、相関係数(CPU−トラフィック)」を記憶する。
【0028】
ここで記憶される「記録時間」は、相関係数が算出された時間、言い換えると、相関係数DBに登録された時間である。「Config種別」は、ネットワーク機器に設定するコンフィグの種別を示し、ファイアウォール装置の場合には「fw」が格納され、ロードバランサ装置の場合には「lb」が格納される。定義量は、コンフィグに記述される命令数やコンフィグの行数である。「トラフィック情報(平均)」は、相関係数が算出されるまでの間に収集されたトラフィック情報の平均値である。「相関係数(定義−トラフィック)」は、定義量とトラフィック情報(平均)とから算出された相関係数である。「CPU情報(平均)」は、相関係数が算出されるまでの間に収集されたCPU使用率の平均値である。「相関係数(CPU−トラフィック)」は、CPU情報(平均)とトラフィック情報(平均)とから算出された相関係数である。
【0029】
図5のFW4bの場合、2011/3/11 9:50に最新の相関係数が算出されており、その算出時点のConfigの定義量が100行、過去からその算出時点までのトラフィック情報の平均値が5030であることを示す。また、その算出時点の相関係数(定義−トラフィック)が0.1であり、過去からその算出時点までのCPU使用率の平均値が20%であり、その算出時点の相関係数(CPU−トラフィック)が0.1であることを示す。
【0030】
また、相関係数DB13bは、ロードバランサ装置に対して、「記録時間、Config種別、定義量、コネクション数(平均)、相関係数(定義−コネクション)、CPU情報(平均)、相関係数(CPU−コネクション)」を記憶する。ここで記憶される「記録時間、Config種別、定義量、CPU情報(平均)」は、ファイアウォール装置の場合と同様なので、詳細な説明は省略する。「コネクション数(平均)」は、相関係数が算出されるまでの間に収集されたコネクション数の平均値である。「相関係数(定義−コネクション)」は、定義量とコネクション数(平均)とから算出された相関係数である。「相関係数(CPU−コネクション)」は、CPU情報(平均)とコネクション数(平均)とから算出された相関係数である。
【0031】
図5のLB3bの場合、2011/3/11 9:50に最新の相関係数が算出されており、その時点のConfigの定義量が100行、過去から算出時点までのコネクション数の平均値が400であることを示す。また、その算出時点の相関係数(定義−コネクション)が0.7であり、過去からその算出時点までのCPU使用率の平均値が20%であり、その算出時点の相関係数(CPU−コネクション)が0.1であることを示す。
【0032】
実行回数DB13cは、管理対象のネットワーク機器ごとに、プロビジョニングを実行した回数を記憶するデータベースである。図6は、実行回数DBに記憶される情報の例を示す図である。図6に示すように、実行回数DB13cは、「機器、回数」を対応付けて記憶する。ここで記憶される「機器」は、管理対象のネットワーク機器であり、本実施例ではFW4a、FW4b、LB3a、LB3bが該当する。「回数」は、プロビジョニングが実行された回数である。図6の場合、LB3bには、プロビジョニングが8回実行されたことを示している。
【0033】
制御部15は、条件設定部15aとリソース収集部15bと生成部15cと算出部15dと特定部15eと選択部15fと実行部15gとを有し、これらによってプロビジョニングに関する各種処理を実行する処理部である。この制御部15は、例えばCPUなどの電子回路である。
【0034】
条件設定部15aは、オペレータ等から入力された設定ファイルをメモリ12に格納する処理部である。条件設定部15aは、設定ファイルの内容をチェックし、スペルミスや矛盾する定義文等があった場合には、チェック結果をNGと判定しエラーを通知する。
【0035】
リソース収集部15bは、所定の間隔で管理対象の装置からリソース情報を収集して、リソース情報DB13aに格納する処理部である。リソース収集部15bは、SNMP(Simple Network Management Protocol)などを用いて、FW4aやLB3aなどのネットワーク機器からCPU使用率、メモリ使用量を取得する。
【0036】
また、リソース収集部15bは、FW4aやLB3aなどのネットワーク機器がネットワークモニタや監視ツールを用いて取得したトラフィック情報やコネクション情報を取得する。そして、リソース収集部15bは、取得したこれらの情報をリソース情報DB13aに格納する。また、リソース収集部15bは、CPU使用率やメモリ使用量については、現時点までの平均値を算出して、リソース情報DB13aに格納する。
【0037】
生成部15cは、プロビジョニングによって設定を変更するためのコンフィグ情報を生成する処理部である。生成部15cは、発生した事象と、設定するコンフィグ情報と、設定対象の機器種別とを予め対応付けたテンプレートを保持する。そして、生成部15cは、プロビジョニングの発生を検出した場合、オペレータからプロビジョニング開始を指示された場合、プロビジョニング実行対象が特定された場合などのタイミングで、テンプレートからコンフィグ情報と機器種別とを特定する。そして、生成部15cは、プロビジョニングの実行対象となるコンフィグ情報と機器種別とを算出部15dや特定部15e等に通知する。
【0038】
一例を挙げると、生成部15cは、サーバ上に新たなVMが起動して、プロビジョニング実行対象が特定された場合に、リソースを獲得するプロビジョニングの発生を検出する。すると、生成部15cは、「VM起動」に対応するテンプレートとして、「“rule XXX”」を追加したコンフィグ情報を生成する。そして、生成部15cは、生成したコンフィグ情報をいずれかの「FW」に実行することを示すプロビジョニング実行要求を他の処理部に送信する。
【0039】
算出部15dは、ネットワーク機器に実行したプロビジョニングによる設定情報量と、当該ネットワーク機器の通信の負荷情報との相関係数を算出する処理部である。通信の負荷情報とは、例えば、ネットワーク機器のトラフィック情報やコネクション数である。算出部15dは、生成部15cからプロビジョニング実行要求を受信した場合、または、実行部15gによって相関係数DB13bに新たな定義量等が格納された場合などに、相関係数を算出する。
【0040】
実行部15gは、プロビジョニングが成功するとプロビジョニングで設定したコンフィグの定義量や種別を、該当する相関係数DB13bに格納する。これを検出した算出部15dは、リソース情報DB13aから現時点までに収集されたトラフィック情報の平均値、コネクション情報の平均値、CPU情報の平均値などを算出して相関係数DB13bに格納する。そして、算出部15dは、相関係数DB13bに新たに格納された定義量、トラフィック情報(平均)、コネクション数(平均)、CPU情報(平均)等を、式(1)に示したピアソンの積率相関係数算出式に代入して、相関係数(r)を算出する。このようにして、算出部15dは、相関係数(定義−トラフィック)や相関係数(CPU−トラフィック)を算出して、上記した定義量等に対応付けて相関係数DB13bに格納する。
【0041】
【数1】

【0042】
ここで、FWを例にして、相関係数(定義−トラフィック)の算出例を説明する。算出部15dは、実行部15gによって相関係数DB13bに新たに定義量が格納されると、リソース情報DB13aからトラフィック情報(平均)を算出して相関係数DB13bに格納する。続いて、算出部15dは、ピアソンの式における「x」に、上記新たに格納された「定義量」を代入し、「m」には、相関係数DB13bに格納されている「定義量」の平均値を代入する。また、算出部15dは、ピアソンの式における「y」に、上記新たに格納した「トラフィック情報(平均)」を代入し、「n」には、相関係数DB13bに格納されている「トラフィック情報(平均)」の平均値を代入する。この状態で、算出部15dは、式(1)を計算して「相関係数(定義−トラフィック)」を算出する。その後、算出部15dは、算出した「相関係数(定義−トラフィック)=r」を相関係数DB13bに格納する。
【0043】
なお、相関係数(CPU−トラフィック)を算出する場合には、「x」に、上記新たに格納された「CPU情報(平均)」を代入し、「m」には、相関係数DB13bに格納されている「CPU情報(平均))」の平均値を代入する。「y」に、上記新たに格納した「トラフィック情報(平均)」を代入し、「n」には、相関係数DB13bに格納されている「トラフィック情報(平均)」の平均値を代入する。
【0044】
また、相関係数(定義−コネクション)を算出する場合には、「x」に、上記新たに格納された「定義量」を代入し、「m」には、相関係数DB13bに格納されている「定義量」の平均値を代入する。「y」に、上記新たに格納した「コネクション情報(平均)」を代入し、「n」には、相関係数DB13bに格納されている「コネクション情報(平均)」の平均値を代入する。
【0045】
また、相関係数(CPU−コネクション)を算出する場合には、「x」に、上記新たに格納された「CPU情報(平均)」を代入し、「m」には、相関係数DB13bに格納されている「CPU情報(平均)」の平均値を代入する。「y」に、上記新たに格納した「コネクション情報(平均)」を代入し、「n」には、相関係数DB13bに格納されている「コネクション情報(平均)」の平均値を代入する。
【0046】
特定部15eは、算出部15dによって算出された相関係数と、ネットワーク機器の処理の負荷情報とに基づいて、負荷が上昇傾向にあるネットワーク機器を特定する処理部である。処理の負荷情報は、例えばCPU使用率やメモリ使用量である。特定部15eは、相関係数DB13bを参照して、設定ファイルに記述される以下の条件を満たすFWまたはLBを特定する。
【0047】
「条件1」FWのようなトラフィックに影響を受ける機器のうち、CPU使用率またはメモリ使用量の値が警戒値(50%)より大きく、かつ、相関係数(定義数−トラフィック)および相関係数(CPU−トラフィック)が正の相関の機器。
「条件2」LBのようなコネクション数に影響を受ける機器は、CPU使用率またはメモリ使用量が警戒値より大きく、かつ、相関係数(定義数−コネクション)および相関係数(CPU−コネクション)が正の相関の機器。
「条件3」FWのようなトラフィックに影響を受ける機器のうち、CPU使用率またはメモリ使用量の値が警戒値より大きく、かつ、相関係数(定義数−トラフィック)および相関係数(CPU−トラフィック)が相関なしの機器。
「条件4」LBのようなコネクション数に影響を受ける機器は、CPU使用率またはメモリ使用量が警戒値より大きく、かつ、相関係数(定義数−コネクション)および相関係数(CPU−コネクション)が相関なしの機器。
【0048】
また、特定部15eは、「条件1」から「条件4」に該当しない機器のうち、CPUの使用率またはメモリ使用量の値が上限値(80%)より大きい機器についても特定する。そして、特定部15eは、特定した機器の情報を選択部15fに通知する。
【0049】
図2に戻り、選択部15fは、特定部15eが特定したネットワーク機器を除くネットワーク機器から、プロビジョニングの実行対象機器を選択する処理部である。選択部15fは、特定部15eが特定したFWを除く他のFWが1台である場合には、当該他のFWをプロビジョニングの実行対象として選択する。
【0050】
一方、選択部15fは、特定部15eが特定したFWを除く他のFWが複数台である場合には、実行回数DB13cを参照し、複数台のFWのうち最も実行回数が少ないFWをプロビジョニングの実行対象として選択する。なお、選択部15fは、LBの場合もFWと同様の手法で選択する。そして、選択部15fは、選択したネットワーク機器の情報を実行部15gに通知する。
【0051】
実行部15gは、選択部15fが選択したネットワーク機器に、生成部15cが生成したコンフィグを設定するプロビジョニングを実行する処理部である。実行部15gは、選択部15fからネットワーク機器が通知されると、実行回数DB13cに記憶される回数をカウントアップする。そして、実行部15gは、当該ネットワーク機器に、生成部15cが生成したコンフィグを設定する。ここで、コンフィグ設定が異常終了すると、実行部15gは、コンフィグを前の状態に戻し、実行回数DB13cに記憶される回数をカウントダウンする。
【0052】
[処理の流れ]
次に、図7から図10を用いて、管理サーバが実行する処理を説明する。ここでは、リソース収集処理の流れ、プロビジョニング実行対象を選択する処理の流れ、コンフィグ管理処理の流れ、プロビジョニング処理の流れを説明する。
【0053】
(リソース収集処理の流れ)
図7は、リソース収集処理の流れを示すフローチャートである。図7に示すように、リソース収集部15bは、収集契機に到達すると(S101肯定)、管理対象のネットワーク機器から1台のネットワーク機器を収集対象として選択する(S102)。
【0054】
続いて、リソース収集部15bは、SNMP、監視ツール、ネットワークモニタなど一般的なツールやソフトウェアを用いて、選択したネットワーク機器からリソースを収集して、リソース情報DB13aに格納する(S103)。
【0055】
その後、リソース収集部15bは、収集したリソースのうち、CPU使用率とメモリ使用量については、今までに収集された値の平均値を算出して、リソース情報DB13aに格納する(S104)。なお、リソース収集部15bは、S103で収集したリソースと、S104で算出した平均値と、収集した日時とを対応付けて格納する。また、リソース収集部15bは、リソース情報DB13aにおいて、保存期限を超過する期限切れデータを削除する(S105)。
【0056】
その後、リソース収集部15bは、管理対象のネットワーク機器で未収集のネットワーク機器が存在する場合には(S106肯定)、S102以降の処理を繰り返す。一方、リソース収集部15bは、管理対象のネットワーク機器で未収集のネットワーク機器が存在しない場合には(S106否定)、処理を終了する。
【0057】
(プロビジョニング実行対象を選択する処理の流れ)
図8A、図8B、図8Cは、プロビジョニング実行対象を選択する処理の流れを示すフローチャートである。図8Aに示すように、算出部15dは、プロビジョニングが発生した場合に(S201肯定)、処理を開始する。なお、ここでは、プロビジョニングの発生を契機にしたが、これに限定されるものではなく、実行部15gによって相関係数DB13bに新たな定義量等が格納された場合に処理を開始してもよい。
【0058】
処理を開始した算出部15dは、FW4aとFW4b各々について、コンフィグの定義数とトラフィック量の平均との相関係数(1)を算出し、算出に利用した情報とともに相関係数DB13bに格納する(S202)。つまり、算出部15dは、コンフィグの命令数の変化と、トラフィック量の変化との相関を算出する。
【0059】
続いて、算出部15dは、LB3aとLB3b各々について、コンフィグの定義数とコネクション数の平均との相関係数(2)を算出し、算出に利用した情報とともに相関係数DB13bに格納する(S203)。つまり、算出部15dは、コンフィグの命令数の変化と、コネクション数の変化との相関を算出する。
【0060】
続いて、算出部15dは、FW4aとFW4b各々について、CPU使用率の平均とトラフィック量の平均との相関係数(3)を算出し、算出に利用した情報とともに相関係数DB13bに格納する(S204)。つまり、算出部15dは、トラフィック量の変化と、CPU使用率の変化との相関を算出する。
【0061】
続いて、算出部15dは、LB3aとLB3b各々について、CPU使用率の平均とコネクション数の平均との相関係数(4)を算出し、算出に利用した情報とともに相関係数DB13bに格納する(S205)。つまり、算出部15dは、コネクション数の変化と、CPU使用率の変化との相関を算出する。
【0062】
そして、特定部15eは、ネットワークトポロジ等を生成して物理接続を把握し、プロビジョニングの対象となるネットワーク機器を選択する(S206)。続いて、特定部15eは、選択したネットワーク機器が1台でない場合(S207否定)、処理の負荷情報が上限値を超える機器を対象から除外する(S208)。特定部15eは、選択したネットワーク機器各々についてリソース情報DB13aのCPU情報(カレント)またはメモリ情報(カレント)を参照し、いずれかの値が全体の80%を超える機器を対象から除外する。なお、メモリ使用率については、リソース情報DB13aに記憶されるメモリ使用量を各機器が有するメモリ容量で除算することで算出できる。
【0063】
そして、特定部15eは、処理の負荷情報が上限値を超える機器を対象から除外した結果、残った対象機器が1台でない場合(S209否定)、残った機器がFWか否かを判定する(S210)。
【0064】
対象機器がFWである場合(S210肯定)、特定部15eは、「条件1」を満たすネットワーク機器をプロビジョニングの対象機器から除外する(S211)。つまり、特定部15eは、CPUの使用率またはメモリ使用量の値が警戒値(50%)より大きく、かつ、相関係数(1)および相関係数(3)が正の相関の機器を除外する。
【0065】
続いて、図8Bに示すように、特定部15eは、「条件1」を満たすネットワーク機器をプロビジョニングの対象機器から除外した結果、残った対象機器が1台でない場合(S212否定)、S213を実行する。すなわち、特定部15eは、「条件3」を満たすネットワーク機器をプロビジョニングの対象機器から除外する。つまり、特定部15eは、CPUの使用率またはメモリ使用量の値が警戒値より大きく、かつ、相関係数(1)および相関係数(3)が相関なしの機器を除外する。
【0066】
続いて、特定部15eは、「条件3」を満たすネットワーク機器をプロビジョニングの対象機器から除外した結果、残った対象機器が1台でない場合(S214否定)、残った機器がLBか否かを判定する(S215)。
【0067】
対象機器がLBである場合(S215肯定)、特定部15eは、「条件2」を満たすネットワーク機器をプロビジョニングの対象機器から除外する(S216)。つまり、特定部15eは、CPUの使用率またはメモリ使用量の値が警戒値より大きく、かつ、相関係数(2)および相関係数(4)が正の相関の機器を除外する。
【0068】
続いて、特定部15eは、「条件2」を満たすネットワーク機器をプロビジョニングの対象機器から除外した結果、残った対象機器が1台でない場合(S217否定)、「条件4」を満たすネットワーク機器をプロビジョニングの対象機器から除外する(S218)。つまり、特定部15eは、CPUの使用率またはメモリ使用量の値が警戒値より大きく、かつ、相関係数(1)および相関係数(3)が相関なしの機器を除外する。
【0069】
続いて、図8Cに示すように、特定部15eは、「条件4」を満たすネットワーク機器をプロビジョニングの対象機器から除外した結果、残った対象機器が1台でない場合(S219否定)、S220を実行する。すなわち、特定部15eは、実行回数DB13cを参照して実行回数が最も少ないネットワーク機器を選択する。
【0070】
そして、特定部15eは、実行回数が最も少ないネットワーク機器を選択した結果、残った対象機器が1台でない場合(S221否定)、任意の機器を選択する(S222)。任意の機器とは、例えば管理機器の登録順など1台に選択できる条件であれば良い。その後、生成部15cや実行部15gがコンフィグ管理処理を実行し(S223)、正常終了した場合には(S224肯定)、処理を終了する。
【0071】
一方、生成部15cや実行部15gが実行したコンフィグ管理処理が異常終了した場合(S224否定)、選択してプロビジョニングが実行された機器を対象候補から除外し(S225)、S202に戻って以降の処理を実行する。
【0072】
また、S207、S209、S212、S214、S217、S219、S221のいずれかで、特定部15eは、対象機器が1台であると判定した場合(各ステップ肯定)、S223を実行する。また、特定部15eは、S210において、対象機器がFWでないと判定した場合(S210否定)、S215を実行する。また、特定部15eは、S215において、対象機器がLBでないと判定した場合(S215否定)、S220を実行する。
【0073】
(コンフィグ管理処理の流れ)
図9は、コンフィグ管理処理の流れを示すフローチャートである。図9に示すように、生成部15cは、特定部15eによって特定されたネットワーク機器から、当該機器に設定されているコンフィグ情報を取得する(S301)。
【0074】
続いて、生成部15cは、プロビジョニング実行の契機となった処理に対応するテンプレート等を用いて、新たに設定するコンフィグ情報を生成する(S302)。そして、生成部15cは、S301で取得した現在設定されているコンフィグ情報と、S302で生成した新たに設定するコンフィグ情報とを比較する(S303)。
【0075】
そして、生成部15cは、比較した結果、今回のプロビジョニングがコンフィグ情報の追加であると判定した場合(S303肯定)、重複検査を実施する(S304)。具体的には、生成部15cは、新たに設定する命令が既存のコンフィグに既に含まれているか(追加設定する命令があるか)否かを検査する。
【0076】
そして、生成部15cは、重複検査が正常であった場合、つまり、新たに設定する命令が既存のコンフィグに既に含まれていない場合(S305肯定)、コンフィグから機能種別を特定する(S306)。例えば、生成部15cは、コンフィグ内に記述される「rule firewall xx」などに基づいて、機能種別を特定する。なお、この場合は、fwと特定される。
【0077】
その後、生成部15cは、S301で取得した現在設定されているコンフィグ情報と、S302で生成した新たに設定するコンフィグ情報とを比較して、追加または削除する命令数または行数を計算する(S307)。
【0078】
そして、実行部15gは、選択部15fが選択したネットワーク機器に、生成部15cが生成した新たなコンフィグ情報を設定するプロビジョニング処理を実行する(S308)。
【0079】
その後、実行部15gは、プロビジョニング処理が正常に終了すると(S309肯定)、S310を実行する。すなわち、実行部15gは、S307で算出した増減数と設定前のコンフィグ情報とに基づいて新たに設定した定義数を算出し、S306で特定した機能種別と対応付けて、相関係数DB13bに格納する(S310)。一方、実行部15gは、プロビジョニング処理が異常終了すると(S309否定)、S310を実行することなく、処理を終了する。
【0080】
また、生成部15cは、S303でコンフィグの定義数が減少したと判定した場合(S303否定)、S306を実行する。また、S305で重複検査が異常であった場合には(S305否定)、実行部15gがS310を実行する。
【0081】
(プロビジョニング処理の流れ)
図10は、プロビジョニング処理の流れを示すフローチャートである。図10に示すように、実行部15gは、プロビジョニングを実行する前に、実行回数DB13cに記憶される、プロビジョニングの実行対象機器の実行回数をカウントアップする(S401)。
【0082】
続いて、実行部15gは、プロビジョニングの実行対象機器にプロビジョニングを実施して、コンフィグを更新する(S402)。そして、実行部15gは、プロビジョニングが正常に終了した場合には(S403肯定)、そのまま処理を終了する。
【0083】
一方、プロビジョニングが異常終了した場合には(S403否定)、実行部15gは、コンフィグを更新前の状態に戻すプロビジョニング取り消しを実行し(S404)、カウントアップした回数をカウントダウンする(S405)。
【0084】
このように、管理サーバ10は、過去から現在までの設定変更によって負荷がどのような影響を受けて、現在どのような負荷状況にあるかを示す指標として相関係数を算出し、算出した相関係数が負の値かつ現在の負荷が小さい機器を選択する。したがって、管理サーバ10は、プロビジョニングの対象が性能のよいネットワーク機器等に偏ることを防止できる。また、連続してプロビジョニングが発生した場合でも、プロビジョニングの対象が1台のネットワーク機器等に偏ることを防止できる。この結果、ネットワーク機器の設定を変更することによってシステムの運用効率が劣化することを防止できる。
【0085】
ここで、正の相関関係の強さは、プロビジョニング処理要求によりネットワーク機器のコンフィグ情報の行数が増加した場合に、ネットワーク機器の機器負荷が上昇する可能性の強さを表わす。このため、コンフィグ情報の追加を行った場合に、ネットワーク機器の機器負荷が一定量上昇する可能性が高いものとして、正の相関関係の強さを利用する。また、相関関係がないということは、コンフィグ情報の行数の増加とネットワーク機器の機器負荷の上昇に関連性がないことを表し、未来予測の難しい機器であることを表す。
【0086】
また、負の相関関係は、コンフィグ情報の行数が増加した場合に、ネットワーク機器の機器負荷が上昇する可能性の低いことを表わす。このようなことから、管理サーバ10は、相関係数を算出することで、コンフィグの設定変更によって負荷が上昇する可能性が高い機器を除外し、コンフィグの設定変更によって負荷が上昇する可能性が低い機器からプロビジョニング対象を選択する。すなわち、管理サーバ10は、コンフィグ設定変更に適さないプロビジョニング対象のネットワーク機器を除外し、システム負荷バランスを崩す可能性あるネットワーク機器を選択したプロビジョニングを実行しないように制御できる。
【0087】
この結果、管理サーバ10は、クラウドシステムのような多くのユーザが利用し、負荷の予測がつきにくい環境において、ネットワーク機器の負荷を均等にするプロビジョニングが実現され、結果的に効率が良いシステム運用ができる。また、管理サーバ10は、ネットワーク機器の負荷を不均等にしないプロビジョニングを行うことで、負荷の高いネットワーク機器へのプロビジョニングを避けることができ、プロビジョニング処理時間のばらつきを改善できる。
【実施例2】
【0088】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【0089】
(相関係数)
上述した実施例では、コンフィグ定義量とトラフィック量との相関係数、コンフィグ定義量とコネクション数との相関係数を算出する例を説明したが、これに限定されるものではない。相関係数としては、コンフィグ定義量とネットワーク機器の特定に応じた通信の負荷情報との相関を算出すればよい。例えば、対象機器がスイッチである場合には、VLAN(Virtual Local Area Network)数を用いてもよく、対象機器がルータである場合には、経路情報の総ホップ数ごとに相関係数を算出してもよい。また、コンフィグ定義量の変わりに、コンフィグの命令または行の増減数を用いることもできる。なお、上述した実施例では、ピアソンの積率相関係数算出式を用いて相関係数を算出する例を説明したが、これ以外の一般的な相関係数の算出式やアルゴリズムを用いることもできる。なお、コンフィグ定義量とは、例えばコンフィグ情報であり、コンフィグとして定義されるコンフィグの定義量である。
【0090】
(対象機器)
上述した実施例では、プロビジョニング対象機器としてFWまたはLBを対象にした例にしたが、これに限定されるものではなく、スイッチ、ルータなどの装置を対象とすることができる。また、図1に示したシステム構成以外の構成にも同様に適用することができる。
【0091】
(特定手法)
上述した実施例では、各条件を満たす機器を全て対象外にした後に次の条件を満たすか否かを判定したが、これに限定されるものではない。各条件を判定する際に、条件を満たす機器を1台対象外にした後、新たに相関係数を算出して当該条件を満たすか判定することもできる。このように、相関係数算出処理、条件判定処理、1台対象外にする処理を、残りが1台になるまで繰り返して実行するようにしてもよい。
【0092】
また、上述した実施例では、各条件を順番に判定する例を説明したが、これに限定されるものではなく、1つの条件だけを判定してもよく、任意の条件や処理の負荷情報を組み合わせてもよい。また、相関係数を算出するタイミングとプロビジョニングを開始するタイミングは別々であってもよい。相関係数は随時算出し、対象機器を特定する処理は、最新の相関係数を用いて処理することもできる。
【0093】
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0094】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0095】
(ハードウェア構成)
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
【0096】
図11は、機器管理プログラムを実行するコンピュータのハードウェア構成の例を示す図である。図11に示すように、コンピュータ100は、CPU102、入力装置103、出力装置104、通信インタフェース105、媒体読取装置106、HDD(Hard Disk Drive)107、RAM(Random Access Memory)108を有する。また、図11に示した各部は、バス101で相互に接続される。
【0097】
入力装置103は、マウスやキーボードであり、出力装置104は、ディスプレイなどであり、通信インタフェース105は、NIC(Network Interface Card)などのインタフェースである。HDD107は、機器管理プログラム107aとともに、図2に示した各DB等を記憶する。記録媒体の例としてHDD107を例に挙げたが、ROM(Read Only Memory)、RAM、CD−ROM等の他のコンピュータ読み取り可能な記録媒体に各種プログラムを格納しておき、コンピュータに読み取らせることとしてもよい。なお、記録媒体を遠隔地に配置し、コンピュータが、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのコンピュータ自身の記録媒体に格納して用いてもよい。
【0098】
CPU102は、機器管理プログラム107aを読み出してRAM108に展開することで、図2等で説明した各機能を実行する機器管理プロセス108aを動作させる。すなわち、機器管理プロセス108aは、図2に記載した条件設定部15a、リソース収集部15b、生成部15c、算出部15d、特定部15e、選択部15f、実行部15gを実行する。このようにコンピュータ100は、プログラムを読み出して実行することで機器管理方法を実行する情報処理装置として動作する。
【0099】
コンピュータ100は、媒体読取装置106によって記録媒体からプロビジョニング実行制御プログラムを読み出し、読み出された機器管理プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コンピュータ100によって実行されることに限定されるものではない。他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【0100】
10 管理サーバ
11 通信制御I/F部
12 メモリ
12a 設定ファイル
13 HDD
13a リソース情報DB
13b 相関係数DB
13c 実行回数DB
15 制御部
15a 条件設定部
15b リソース収集部
15c 生成部
15d 算出部
15e 特定部
15f 選択部
15g 実行部

【特許請求の範囲】
【請求項1】
管理対象であるネットワーク機器各々に対して、該ネットワーク機器に実行した設定数と該ネットワーク機器の通信の負荷情報との相関係数を算出する算出部と、
前記算出部によって算出された相関係数と、前記ネットワーク機器の処理の負荷情報とに基づいて、負荷が上昇傾向にあるネットワーク機器を特定する特定部と、
前記特定部が特定したネットワーク機器を除くネットワーク機器から、前記設定変更の対象を選択する選択部と
を有することを特徴とする機器管理装置。
【請求項2】
前記特定部は、前記相関係数が所定値以上、かつ、前記処理の負荷情報が所定値以上のネットワーク機器を、前記負荷が上昇傾向にあるネットワーク機器として特定することを特徴とする請求項1に記載の機器管理装置。
【請求項3】
前記相関係数は、前記ネットワーク機器に設定された定義数と、前記ネットワーク機器を通過したトラフィック量との相関係数、または、前記ネットワーク機器に設定された定義数と前記ネットワーク機器が接続されるコネクション数との相関係数である、
ことを特徴とする請求項1に記載の機器管理装置。
【請求項4】
前記算出部は、前記ネットワーク機器を通過したトラフィック量と前記ネットワーク機器の処理の負荷情報との相関係数、または、前記ネットワーク機器が接続されるコネクション数と前記ネットワーク機器の処理の負荷情報との相関係数をさらに算出し、
前記特定部は、前記算出部が算出した各相関係数と、各相関係数の算出に用いられた処理の負荷情報とに基づいて、前記負荷が上昇傾向にあるネットワーク機器として特定することを特徴とする請求項1に記載の機器管理装置。
【請求項5】
前記選択部は、前記特定部が特定したネットワーク機器を除くネットワーク機器のうち、前記設定変更の回数が最も少ないネットワーク機器を選択することを特徴とする請求項1に記載の機器管理装置。
【請求項6】
コンピュータが、
管理対象であるネットワーク機器各々に対して、該ネットワーク機器に実行した設定数と該ネットワーク機器の通信の負荷情報との相関係数を算出し、
算出した相関係数と、前記ネットワーク機器の処理の負荷情報とに基づいて、負荷が上昇傾向にあるネットワーク機器を特定し、
特定したネットワーク機器を除くネットワーク機器から、前記設定変更の対象を選択する
処理を含んだことを特徴とする機器管理方法。
【請求項7】
コンピュータに、
管理対象であるネットワーク機器各々に対して、該ネットワーク機器に実行した設定数と該ネットワーク機器の通信の負荷情報との相関係数を算出し、
算出した相関係数と、前記ネットワーク機器の処理の負荷情報とに基づいて、負荷が上昇傾向にあるネットワーク機器を特定し、
特定したネットワーク機器を除くネットワーク機器から、前記設定変更の対象を選択する
処理を実行させることを特徴とする機器管理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図8C】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2013−37593(P2013−37593A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−174411(P2011−174411)
【出願日】平成23年8月9日(2011.8.9)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】