以下に、本願の開示する管理装置、管理プログラムおよび管理方法の各実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例1に係る管理装置について説明する。図1は、実施例1に係る管理装置が適用されるシステム構成の一例を示す図である。図1の例では、システム1は、管理装置10と、管理対象システム20とを有する。管理装置10と管理対象システム20とは、ネットワーク90を介して、通信可能である。管理対象システム20の一例としては、クラウド事業者などのICTシステムが挙げられる。管理対象システム20は、サーバ、ネットワーク機器、ストレージ機器などの各種機器を有する。管理対象システム20に含まれる各機器に設定される設定情報は、管理装置10による管理対象である。設定情報は、例えば、各機器のファイルの設定項目に設定される。図1の例では、管理対象システム20は、7台のサーバ21a〜21gを有する。以下の説明では、これら7台のサーバ21a〜21gのうち、6台のサーバ21a〜21fが稼働している場合に、新たに1台のサーバ21gが管理対象システム20に追加された場合について説明を行う。
管理装置10は、6台のサーバ21a〜21fから設定情報を取得する。そして、管理装置10は、取得した設定情報から、設定情報の設定ルールを抽出して、設定情報の設定ルールを生成する。続いて、管理装置10は、生成したルールに基づいて、新たに追加された新規のサーバ21gの設定情報を生成する。その後、管理装置10は、生成した設定情報をサーバ21gへ配布して、サーバ21gに設定情報を設定させる。このように、管理装置10は、サーバ21gに設定させる設定情報を生成する際に用いるルールを、既存の6台のサーバ21a〜21fから取得した設定情報に基づいて生成する。したがって、管理装置10によれば、サーバ21gに設定させる設定情報を生成する際に用いるルールを処理によって生成するため、人がルールを生成する場合と比較して、簡易に機器の設定情報の管理を行うことができる。また、設定内容が共通する設定対象を抽出するための処理の処理量を抑制することができる。また、管理装置10によれば、既存のサーバ21a〜21fから取得した設定情報に基づいてルールを生成するため、既存のサーバ21a〜21fが安定稼働している実環境から、精度が高いルールを生成することができる。
[管理装置の機能構成]
図2は、実施例1に係る管理装置の機能構成の一例を示す図である。図2に示すように、管理装置10は、入力部11と、表示部12と、I/F(InterFace)13と、記憶部14と、制御部15とを有する。
入力部11は、各種情報を制御部15に入力する。例えば、入力部11は、ユーザから、後述の第一の管理処理、第二の管理処理、第三の管理処理の各処理を実行する指示を受け付けて、受け付けた指示を制御部15に入力する。また、入力部11は、ユーザから、グループを指定するIDを受け付けて、受け付けた指示を制御部15に入力する。入力部11のデバイスの一例としては、マウスやキーボードなどの操作受付デバイスなどが挙げられる。
表示部12は、各種の情報を表示する。例えば、表示部12は、後述の編集部15eによって、編集用画面を表示する。表示部12のデバイスの一例としては、液晶ディスプレイなどが挙げられる。
I/F13は、各装置間の通信を行うためのものである。例えば、I/F13には、管理装置10の制御部15と、サーバ21a〜21gとがネットワーク90を介して接続されている。これにより、管理装置10と、サーバ21a〜21gとが通信を行うことができる。
記憶部14は、各種情報を記憶する。例えば、記憶部14は、設定情報14aと、ルール分類表14bと、ツリー14cとを記憶する。
設定情報14aは、各機器に設定された設定情報を示す。設定情報14aには、後述の取得部15aおよび生成部15cにより設定情報が登録される。設定情報14aは、表示部12に表示される。これにより、管理者などは、各機器に設定された設定情報を把握することができる。
図3は、設定情報の一例を示す図である。図3の例では、設定情報14aは、設定項目を識別するためのID(Identification)の項目と、設定項目名の項目と、6台のサーバ21a〜21fのそれぞれに設定された設定情報の項目とを有する。図3の例では、6台のサーバ21a〜21fのそれぞれのサーバ名が、「hostA1」、「hostA2」、「hostA3」、「hostB1」、「hostB2」、「hostB3」である場合が示されている。ここで、サーバ名は、サーバを一意に識別するためのサーバの名称である。図3の例では、サーバ名が「hostA1」であるサーバ21aのフォルダ「/etc/sysconfig」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「network」であるファイルの設定項目であって、設定項目名が「HOSTNAME」の設定項目に、「hostA1」が設定されている場合が示されている。なお、設定項目名が「HOSTNAME」の設定項目には、サーバ名が設定される。
また、図3の例では、サーバ名が「hostA1」であるサーバ21aのフォルダ「/etc/sysconfig」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「network」であるファイルの設定項目であって、設定項目名が「NETWORKING」の設定項目に、「yes」が設定されている場合が示されている。なお、設定項目名が「NETWORKING」の設定項目には、ネットワークを使用する場合には、「yes」が設定され、ネットワークを使用しない場合には、「no」が設定される。
また、図3の例では、サーバ名が「hostA1」であるサーバ21aのフォルダ「/etc/sysconfig」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「clock」であるファイルの設定項目であって、設定項目名が「ZONE」の設定項目に、「Asia/Tokyo」が設定されている場合が示されている。なお、設定項目名が「ZONE」の設定項目には、時刻の基準となる地域が設定される。
また、図3の例では、サーバ名が「hostA1」であるサーバ21aのフォルダ「/etc/sysconfig/network−scripts」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「ifcfg−eth0」であるファイルの設定項目であって、設定項目名が「IPADDR」の設定項目に、「10.1.2.10」が設定されている場合が示されている。なお、設定項目名が「IPADDR」の設定項目には、サーバのIP(Internet Protocol)アドレスが設定される。
また、図3の例では、サーバ名が「hostA1」であるサーバ21aのフォルダ「/etc」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「ntp.conf」であるファイルの設定項目であって、設定項目名が「server」の設定項目に、「10.1.2.10」が設定されている場合が示されている。なお、設定項目名が「server」の設定項目には、時刻を同期させるために用いる時刻同期サーバのIPアドレスが登録される。
また、図3の例では、サーバ名が「hostA1」であるサーバ21aのフォルダ「/etc/sysconfig」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「network」であるファイルの設定項目であって、設定項目名が「NISDOMAIN」の設定項目に、「groupA」が設定されている場合が示されている。なお、設定項目名が「NISDOMAIN」の設定項目には、サーバが属するネットワークのグループ名が設定される。
また、図3の例では、サーバ名が「hostA1」であるサーバ21aのフォルダ「/etc」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「hosts」であるファイルの設定項目に、「10.1.2.10」と「hostA1」とが設定されている場合が示されている。なお、図3の例では、この設定項目の設定項目名は無いため、「設定項目名」の項目に、変数#[myAddress]が登録された場合が示されている。すなわち、変数#[myAddress]は、サーバのIPアドレスと、ホスト名とを示す。
また、図3の例では、サーバ名が「hostB1」であるサーバ21dのフォルダ「/etc/sysconfig」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「network」であるファイルの設定項目であって、設定項目名が「HOSTNAME」の設定項目に、「hostB1」が設定されている場合が示されている。
また、図3の例では、サーバ名が「hostB1」であるサーバ21dのフォルダ「/etc/sysconfig」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「network」であるファイルの設定項目であって、設定項目名が「NETWORKING」の設定項目に、「yes」が設定されている場合が示されている。
また、図3の例では、サーバ名が「hostB1」であるサーバ21dのフォルダ「/etc/sysconfig」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「clock」であるファイルの設定項目であって、設定項目名が「ZONE」の設定項目に、「Etc/UTC」が設定されている場合が示されている。
また、図3の例では、サーバ名が「hostB1」であるサーバ21dのフォルダ「/etc/sysconfig/network−scripts」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「ifcfg−eth0」であるファイルの設定項目であって、設定項目名が「IPADDR」の設定項目に、「10.1.3.10」が設定されている場合が示されている。
また、図3の例では、サーバ名が「hostB1」であるサーバ21dのフォルダ「/etc」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「ntp.conf」であるファイルの設定項目であって、設定項目名が「server」の設定項目に、「10.1.3.10」が設定されている場合が示されている。
また、図3の例では、サーバ名が「hostB1」であるサーバ21dのフォルダ「/etc/sysconfig」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「network」であるファイルの設定項目であって、設定項目名が「NISDOMAIN」の設定項目に、「groupB」が設定されている場合が示されている。
また、図3の例では、サーバ名が「hostB1」であるサーバ21dのフォルダ「/etc」にあるファイルに次のような設定内容が設定されている場合が示されている。すなわち、図3の例では、ファイル名が「hosts」であるファイルの設定項目に、「10.1.3.10」と「hostB1」とが設定されている場合が示されている。
ルール分類表14bには、設定項目のルール種別の分類が、後述の生成部15cにより登録される。図4は、ルール分類表の一例を示す図である。図4の例では、ルール分類表14bは、設定項目を識別するためのIDの項目と、ルール種別の項目と、ルール情報との項目とを有する。図4の例では、サーバごとに設定内容が異なり、かつ、設定内容に数値が含まれ、その数値が所定の規則性を有する、例えば、単純増加する場合には、ルール種別の項目に、「個別:単純増加」が登録される。また、図4の例では、かかる場合には、ルール情報の項目に、所定の規則性を示す情報が登録される。具体例を挙げて説明する。図3の例に示すように、ID「1」に対応する設定項目、すなわち、設定項目名が「HOSTNAME」である設定項目に設定された「groupA」に属するサーバ21a〜21cのホスト名が、次のような場合を想定する。すなわち、サーバ21a〜21cのホスト名が、「hostA1」、「hostA2」、「hostA3」というように、「hostA」に続く数値が初期値「1」から最大値「3」まで、「1」ずつ増加している場合を想定する。この場合、図4の例に示すように、ルール情報の項目には、「groupA」に対応して「hostA$1」が登録される。図4の例では、「hostA$1」の「$1」は、変数であり、初期値「1」から最大値「3」まで、「1」ずつ増加する。
また、図3の例に示すように、ID「1」に対応する設定項目に設定された「groupB」に属するサーバ21d〜21fのホスト名が、次のような場合を想定する。すなわち、サーバ21d〜21fのホスト名が、「hostB1」、「hostB2」、「hostB3」というように、「hostB」に続く数値が初期値「1」から最大値「3」まで、「1」ずつ増加している場合を想定する。この場合、図4の例に示すように、ルール情報の項目には、「groupB」に対応して「hostB$1」が登録される。図4の例では、「hostB$1」の「$1」は、変数であり、初期値「1」から最大値「3」まで、「1」ずつ増加する。
また、図3の例に示すように、ID「4」に対応する設定項目、すなわち設定項目名が「IPADDR」である設定項目に設定された「groupA」に属するサーバ21a〜21cのIPアドレスが、次のような場合を想定する。すなわち、サーバ21a〜21cのIPアドレスが、「10.1.2.10」、「10.1.2.11」、「10.1.2.12」というように、「10.1.2.」に続く数値が初期値「10」から最大値「12」まで、「1」ずつ増加している場合を想定する。この場合、図4の例に示すように、ルール情報の項目には、「groupA」に対応して「10.1.2.$1」が登録される。図4の例では、「10.1.2.$1」の「$1」は、変数であり、初期値「10」から最大値「12」まで、「1」ずつ増加する。
また、図3の例に示すように、ID「4」に対応する設定項目、すなわち設定項目名が「IPADDR」である設定項目に設定された「groupB」に属するサーバ21d〜21fのIPアドレスが、次のような場合を想定する。すなわち、サーバ21d〜21fのIPアドレスが、「10.1.3.10」、「10.1.3.11」、「10.1.3.12」というように、「10.1.3.」に続く数値が初期値「10」から最大値「12」まで、「1」ずつ増加している場合を想定する。この場合、図4の例に示すように、ルール情報の項目には、「groupB」に対応して「10.1.3.$1」が登録される。図4の例では、「10.1.3.$1」の「$1」は、変数であり、初期値「10」から最大値「12」まで、「1」ずつ増加する。
また、図4の例では、全てのサーバで設定内容が同一である場合には、ルール種別の項目に、「全共通」が登録される。また、図4の例では、かかる場合には、ルール情報の項目に、全てのサーバで同一の設定内容が登録される。具体例を挙げて説明する。図3の例に示すように、ID「2」に対応する設定項目、すなわち設定項目名が「NETWORKING」の設定項目に、全てのサーバ21a〜21fで同一の設定内容「yes」が設定されている場合を想定する。かかる場合には、ルール分類表14bのルール種別の項目に、「全共通」、ルール情報の項目に、設定内容「yes」が登録される。
また、図4の例では、グループ内で設定内容が同一であり、かつ、設定内容の一部が他の設定内容を参照しない場合、すなわち他の設定内容を包含しない場合には、ルール種別の項目に、「グループ共通」が登録される。また、図4の例では、かかる場合には、ルール情報の項目に、グループごとに、設定内容が登録される。具体例を挙げて説明する。図3の例に示すように、ID「3」に対応する設定項目、すなわち設定項目名が「ZONE」の設定項目に、「groupA」のサーバ21a〜21cでは「Asia/Tokyo」、「groupB」のサーバ21d〜21fでは「Etc/UTC」が設定される場合を想定する。かかる場合には、ルール分類表14bのルール種別の項目に、「グループ共通」が登録され、ルール情報の項目に、「groupA」に対応して「Asia/Tokyo」、「groupB」に対応して「Etc/UTC」が登録される。
また、図4の例では、グループ内で設定内容が同一であり、かつ、設定内容の一部が他の設定内容を参照することで得られる場合、すなわち、他の設定内容を包含する場合には、ルール種別の項目に、「グループ共通:参照」が登録される。また、図4の例では、かかる場合には、ルール情報の項目に、グループごとに、参照先を示す情報が登録される。具体例を挙げて説明する。図3の例に示すように、ID「5」に対応する設定項目、すなわち設定項目名が「server」の設定項目に、「groupA」では、IDが「4」のレコードの「1」列目に登録された内容を参照して得られた「10.1.2.10」が設定される場合を想定する。かかる場合には、ルール分類表14bのルール種別の項目に、「グループ共通:参照」が登録され、ルール情報の項目に、「groupA」に対応して「$[4,1]」が登録される。図4の例では、$[4,1]は、設定情報14aのIDが「4」のレコードの「1」列目に登録された設定内容を参照先とすることを示す。また、図3の例に示すように、ID「5」に対応する設定項目、すなわち設定項目名が「server」の設定項目に、「groupB」では、IDが「4」のレコードの「4」列目に登録された内容を参照して得られた「10.1.3.10」が設定される場合を想定する。かかる場合には、ルール分類表14bのルール種別の項目に、「グループ共通:参照」が登録され、ルール情報の項目に、「groupB」に対応して「$[4,4]」が登録される。図4の例では、$[4,4]は、設定情報14aのIDが「4」のレコードの「4」列目に登録された設定内容を参照先とすることを示す。
また、図4の例では、サーバごとに設定内容が異なり、かつ、設定内容の一部が他の設定内容を参照することで得られる場合には、ルール種別の項目に、「個別:参照」が登録される。また、図4の例では、かかる場合には、ルール情報の項目に、サーバごとに参照先を示す情報が登録される。具体例を挙げて説明する。
図3の例に示すように、ID「7」に対応する変数#[myAddress]に、各サーバのIPアドレスとホスト名とが設定される場合を想定する。なお、設定内容が設定された設定項目の設定項目名が存在しないため、本実施例では、設定項目名の項目に、変数#[myAddress]が登録されている。また、図3の例では、サーバごとに、IDが「4」のレコードに登録された内容を参照して得られたIPアドレスと、IDが「1」のレコードに登録された内容を参照して得られたホスト名とが、変数#[myAddress]に設定される。かかる場合には、ルール分類表14bのルール種別の項目に、「個別:参照」が登録され、ルール情報の項目に、「$[4,self]$[1,self]」が登録される。図4の例では、$[4,self]は、設定情報14aのIDが「4」のレコードに登録された設定内容のうち、自装置に対応する設定内容を参照先とすることを示す。また、図4の例では、$[1,self]は、設定情報14aのIDが「1」のレコードに登録された設定内容のうち、自装置に対応する設定内容を参照先とすることを示す。例えば、サーバ21aの場合には、「$[4,self]$[1,self]」は、ID「4」のレコードのサーバ21aに対応する「10.1.2.10」、ID「1」のレコードのサーバ21aに対応する「hostA1」を参照先とすることを示す。
また、サーバ21bの場合には、「$[4,self]$[1,self]」は、ID「4」のレコードのサーバ21bに対応する「10.1.2.11」、ID「1」のレコードのサーバ21bに対応する「hostA2」を参照先とすることを示す。また、サーバ21cの場合には、「$[4,self]$[1,self]」は、ID「4」のレコードのサーバ21cに対応する「10.1.2.12」、ID「1」のレコードのサーバ21cに対応する「hostA3」を参照先とすることを示す。また、サーバ21dの場合には、「$[4,self]$[1,self]」は、ID「4」のレコードのサーバ21dに対応する「10.1.3.10」、ID「1」のレコードのサーバ21dに対応する「hostB1」を参照先とすることを示す。また、サーバ21eの場合には、「$[4,self]$[1,self]」は、ID「4」のレコードのサーバ21eに対応する「10.1.3.11」、ID「1」のレコードのサーバ21eに対応する「hostB2」を参照先とすることを示す。また、サーバ21fの場合には、「$[4,self]$[1,self]」は、ID「4」のレコードのサーバ21fに対応する「10.1.3.12」、ID「1」のレコードのサーバ21fに対応する「hostB3」を参照先とすることを示す。
また、ルール分類表14bには、サーバごとに設定内容が異なり、設定内容に数値が含まれないか、または、設定内容に数値が含まれても、その数値が所定の規則性を有せず、かつ、設定内容の一部が他の設定内容を参照しない場合には、次のような内容が登録される。すなわち、ルール種別の項目に、「個別」が登録される。なお、かかる場合には、ルールが存在しないため、ルール情報の項目には、何も登録されない。
ツリー14cは、ルール種別に応じた階層を有する。ツリー14cが有する階層には、ルール分類表14bによりルール種別が分類された設定項目の設定内容が、後述の生成部15cにより配置される。図5は、ツリーの一例を示す図である。図5の例では、全共通の階層「1」に、ルール分類表14bのルール種別が「全共通」の設定内容が配置される。図6は、ツリーに配置される設定内容の一例を示す図である。図6の例では、図5の例に示す階層「1」に配置される、図4の例に示すルール種別が「全共通」のID「2」に対応する設定情報14aの設定内容が示されている。
また、図5の例では、グループ共通の階層「2a」に、ルール分類表14bのルール種別が「グループ共通」および「グループ共通:参照」の設定内容のうち、「groupA」に対応する設定内容が配置される。図7は、ツリーに配置される設定内容の一例を示す図である。図7の例では、図5の例に示す階層「2a」に配置される、図4の例に示すルール種別が「グループ共通」のID「3」に対応する設定情報14aの「groupA」に対応する設定内容が示されている。また、図7の例では、図5の例に示す階層「2a」に配置される、図4の例に示すルール種別が「グループ共通:参照」のID「5」に対応する設定情報14aの「groupA」に対応する設定内容が示されている。また、図7の例では、図5の例に示す階層「2a」に配置される、図4の例に示すルール種別が「グループ共通」のID「6」に対応する設定情報14aの「groupA」に対応する設定内容が示されている。
また、図5の例では、グループ共通の階層「2b」に、ルール分類表14bのルール種別が「グループ共通」および「グループ共通:参照」の設定内容のうち、「groupB」に対応する設定内容が配置される。図8は、ツリーに配置される設定内容の一例を示す図である。図8の例では、図5の例に示す階層「2b」に配置される、図4の例に示すルール種別が「グループ共通」のID「3」に対応する設定情報14aの「groupB」に対応する設定内容が示されている。また、図8の例では、図5の例に示す階層「2b」に配置される、図4の例に示すルール種別が「グループ共通:参照」のID「5」に対応する設定情報14aの「groupB」に対応する設定内容が示されている。また、図8の例では、図5の例に示す階層「2b」に配置される、図4の例に示すルール種別が「グループ共通」のID「6」に対応する設定情報14aの「groupB」に対応する設定内容が示されている。
また、図5の例では、個別の階層「3a」に、ルール分類表14bのルール種別が「個別:単純増加」および「個別:参照」の設定内容のうち、ホスト名が「hostA1」のサーバ21aに対応する設定内容が配置される。図9は、ツリーに配置される設定内容の一例を示す図である。図9の例では、図5の例に示す階層「3a」に配置される、図4の例に示すルール種別が「個別:単純増加」のID「1」に対応する設定情報14aの「hostA1」に対応する設定内容が示されている。また、図9の例では、図5の例に示す階層「3a」に配置される、図4の例に示すルール種別が「個別:単純増加」のID「4」に対応する設定情報14aの「hostA1」に対応する設定内容が示されている。また、図9の例では、図5の例に示す階層「3a」に配置される、図4の例に示すルール種別が「個別:参照」のID「7」に対応する設定情報14aの「hostA1」に対応する設定内容が示されている。
また、図5の例では、個別の階層「3b」に、ルール分類表14bのルール種別が「個別:単純増加」および「個別:参照」の設定内容のうち、ホスト名が「hostA2」のサーバ21bに対応する設定内容が配置される。また、図5の例では、個別の階層「3c」に、ルール分類表14bのルール種別が「個別:単純増加」および「個別:参照」の設定内容のうち、ホスト名が「hostA3」のサーバ21cに対応する設定内容が配置される。また、図5の例では、個別の階層「3d」に、ルール分類表14bのルール種別が「個別:単純増加」および「個別:参照」の設定内容のうち、ホスト名が「hostB1」のサーバ21dに対応する設定内容が配置される。また、図5の例では、個別の階層「3e」に、ルール分類表14bのルール種別が「個別:単純増加」および「個別:参照」の設定内容のうち、ホスト名が「hostB2」のサーバ21eに対応する設定内容が配置される。また、図5の例では、個別の階層「3f」に、ルール分類表14bのルール種別が「個別:単純増加」および「個別:参照」の設定内容のうち、ホスト名が「hostB3」のサーバ21fに対応する設定内容が配置される。
図10は、ツリーを説明するための図である。図10に示すように、ホスト名が「hostA1」であるサーバ21aの設定項目のうち、上位の「2a」および「1」の階層の設定項目については、上位の「2a」および「1」の階層の設定内容が参照される。これにより、「2a」および「1」の階層の設定項目の設定内容を変更するだけで、ホスト名が「hostA1」であるサーバ21aの設定項目を変更することができる。そのため、設定工数および設定ミスが低減される。
記憶部14は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部14は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。
制御部15は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図2に示すように、制御部15は、取得部15aと、抽出部15bと、生成部15cと、設定制御部15dと、編集部15eと、検証部15fとを有する。
取得部15aは、複数の機器から、複数の機器の管理に用いられる管理単位を示すグループ情報と、複数の機器に設定された設定項目および設定内容を示す設定情報とを取得する。
具体例を挙げて説明する。ユーザから、入力部11を介して、第一の管理処理を実行する指示を受け付けると、取得部15aは、サーバ21a〜21fに、各サーバに設定された設定項目および設定内容を示す設定情報を管理装置に送信する旨の指示を送信する。これにより、サーバ21a〜21fから設定項目および設定内容を示す設定情報が管理装置に送信され、取得部15aは、受信した設定情報を取得する。そして、取得部15aは、サーバ21a〜21fの設定情報を設定情報14aに登録する。先の図3の例に示すように、設定情報14aには、サーバ21a〜21fに設定された設定項目ごとの設定内容が登録される。そして、取得部15aは、設定情報14aを記憶部14から取得して、表示部12に表示させる。これにより、管理装置10の管理者は、表示部12に表示された設定情報14aの内容から、指定するグループのIDを決定することができる。
そして、取得部15aは、入力部11からグループを指定するIDを取得する。かかるIDは、ユーザによって入力されたものである。図11は、実施例1に係る管理装置で実行される処理の一例を説明するための図である。図11の例では、ユーザは、グループを指定するIDとして、「6」を入力した場合が示されている。図11の例では、取得部15aは、グループを指定するIDとして「6」を取得する。
そして、取得部15aは、グループを取得する。例えば、取得部15aは、取得したIDが示す設定項目に設定された設定内容から、各グループに属するサーバを特定する。図12は、実施例1に係る管理装置で実行される処理の一例を説明するための図である。図12の例では、取得部15aは、サーバ21a〜21cが「groupA」に属することを特定し、サーバ21d〜21fが「groupB」に属することを特定する。「groupA」、「groupB」は、ネットワークのグループであり、サーバ21d〜21fの管理に用いられる管理単位を示すグループでもある。
抽出部15bは、複数の機器のうち、取得部15aにより取得されたグループ情報が示す管理単位に含まれる機器のそれぞれで設定内容が共通する設定項目を抽出する。また、抽出部15bは、複数の機器のうち、取得部15aにより取得されたグループ情報が示す管理単位に含まれる機器のそれぞれで設定内容が所定の規則性を有する設定項目を抽出する。
具体例を挙げて説明する。抽出部15bは、設定情報14aに登録された全てのレコード、すなわち、全ての設定項目について、下記の処理を行う。すなわち、抽出部15bは、まず、未選択のレコードを1つ選択する。そして、抽出部15bは、選択したレコードに登録された各サーバ21a〜21fの設定内容が全て同一であるか否かを判定する。図13は、実施例1に係る管理装置で実行される処理の一例を説明するための図である。図13の例では、IDが「2」のレコードに、各サーバ21a〜21fの設定内容として全て「yes」が登録されている場合が示されている。そのため、図13の例では、抽出部15bは、IDが「2」のレコードを選択した場合に、選択したレコードに登録された各サーバ21a〜21fの設定内容が全て同一であると判定する。
判定の結果、全て同一である場合には、抽出部15bは、選択したレコードのIDと設定内容とを抽出する。図13の例では、抽出部15bは、ID「2」と、設定内容「yes」とを抽出する。
一方、判定の結果、全て同一でない場合には、抽出部15bは、選択したレコードの設定内容の一部が他の設定内容を参照せず、かつ、取得部15aで特定されたグループ内で、設定内容が同一であるか否かを判定する。図13の例では、IDが「3」のレコードに、「groupA」のサーバ21a〜21cの設定内容として「Asia/Tokyo」が登録されている場合が示されている。また、図13の例では、IDが「3」のレコードに、「groupB」のサーバ21d〜21fの設定内容として「Etc/UTC」が登録されている場合が示されている。また、図13の例では、IDが「6」のレコードに、「groupA」のサーバ21a〜21cの設定内容として「groupA」が登録されている場合が示されている。また、図13の例では、IDが「6」のレコードに、「groupB」のサーバ21d〜21fの設定内容として「groupB」が登録されている場合が示されている。また、図13の例では、IDが「3」、「6」のレコードに登録されたサーバ21a〜21fの設定内容は、他の設定内容を参照しない。そのため、図13の例では、抽出部15bは、IDが「3」、「6」のレコードを選択した場合に、選択したレコードの設定内容の一部が他の設定内容を参照せず、かつ、取得部15aで特定されたグループ内で、設定内容が同一であると判定する。
判定の結果、選択したレコードの設定内容の一部が他の設定内容を参照せず、かつ、取得部15aで特定されたグループ内で、設定内容が同一である場合には、抽出部15bは、選択したレコードのIDと、グループごとの設定内容とを抽出する。図13の例では、抽出部15bは、ID「3」と、「groupA」の設定内容「Asia/Tokyo」および「groupB」の設定内容「Etc/UTC」とを抽出する。また、図13の例では、抽出部15bは、ID「6」と、「groupA」の設定内容「groupA」および「groupB」の設定内容「groupB」とを抽出する。
一方、判定の結果、選択したレコードの設定内容の一部が他の設定内容を参照することで得られるか、または、取得部15aで特定されたグループ内で、設定内容が同一でない場合には、抽出部15bは、次のような処理を行う。すなわち、抽出部15bは、設定内容の一部が他の設定内容を参照することで得られ、かつ、グループ内で設定内容が同一であるか否かを判定する。図13の例では、IDが「5」のレコードに、「groupA」のサーバ21a〜21cの設定内容として「10.2.1.10」が登録されている場合が示されている。また、図13の例では、IDが「5」のレコードに、「groupB」のサーバ21d〜21fの設定内容として「10.1.3.10」が登録されている場合が示されている。また、図13の例では、IDが「5」のレコードに登録されたサーバ21a〜21cの設定内容は、IDが「4」のレコードの「1」列目の設定内容を参照することで得られる。また、図13の例では、IDが「5」のレコードに登録されたサーバ21d〜21fの設定内容は、IDが「4」のレコードの「4」列目の設定内容を参照することで得られる。そのため、図13の例では、抽出部15bは、IDが「5」のレコードを選択した場合に、選択したレコードの設定内容の一部が他の設定内容を参照することで得られ、かつ、取得部15aで特定されたグループ内で、設定内容が同一であると判定する。
判定の結果、選択したレコードの設定内容の一部が他の設定内容を参照することで得られ、かつ、取得部15aで特定されたグループ内で、設定内容が同一である場合には、抽出部15bは、選択したレコードのIDと、グループごとの参照先を示す情報とを抽出する。図13の例では、抽出部15bは、ID「5」と、「groupA」の参照先$[4,1]とを抽出する。また、図13の例では、抽出部15bは、ID「5」と、「groupB」の参照先$[4,4]とを抽出する。
一方、判定の結果、選択したレコードの設定内容の一部が他の設定内容を参照しないか、または、取得部15aで特定されたグループ内で、設定内容が同一でない場合には、抽出部15bは、次のような処理を行う。すなわち、抽出部15bは、選択したレコードの各サーバの設定内容が全て異なり、かつ、設定内容の一部が他の設定内容を参照することで得られるか否かを判定する。先の図3の例は、IDが「7」のレコードに、「groupA」のサーバ21a〜21cの設定内容として「10.1.2.10、hostA1」、「10.1.2.11、hostA2」、「10.1.2.12、hostA3」が登録された場合を示す。また、図3の例は、IDが「7」のレコードに、「groupB」のサーバ21d〜21fの設定内容として「10.1.3.10、hostB1」、「10.1.3.11、hostB2」、「10.1.3.12、hostB3」が登録された場合を示す。また、図3の例では、IDが「7」のレコードに登録されたサーバ21a〜21cの設定内容は、IDが「4」のレコードの自装置の設定内容、IDが「1」のレコードの自装置の設定内容を参照することで得られる。また、図3の例では、IDが「7」のレコードに登録されたサーバ21d〜21fの設定内容は、IDが「4」のレコードの自装置の設定内容、IDが「1」のレコードの自装置の設定内容を参照することで得られる。そのため、図3の例では、抽出部15bは、IDが「7」のレコードを選択した場合に、選択したレコードの各サーバの設定内容が全て異なり、かつ、設定内容の一部が他の設定内容を参照することで得られると判定する。
判定の結果、選択したレコードの各サーバの設定内容が全て異なり、かつ、設定内容の一部が他の設定内容を参照することで得られる場合には、抽出部15bは、選択したレコードのIDと、サーバごとの参照先を示す情報とを抽出する。図3の例では、抽出部15bは、ID「7」と、サーバごとの参照先「$[4,self]$[1,self]」とを抽出する。
一方、判定の結果、選択したレコードの各サーバの設定内容が全て異ならないか、または、設定内容の一部が他の設定内容を参照することで得られない場合には、抽出部15bは、次のような処理を行う。すなわち、抽出部15bは、選択したレコードの各サーバの設定内容が全て異なり、かつ、設定内容が所定の規則性を有するか否かを判定する。ここで、所定の規則性とは、例えば、各設定内容に数値が含まれ、その数値が所定の値ずつ増加するような規則性が挙げられる。以下の説明では、かかる規則性として、各設定内容に数値が含まれ、その数値が所定の値ずつ増加する場合を例に挙げて説明する。なお、規則性はこれに限られず、数値が所定の値ずつ減少する場合や、設定内容に含まれるアルファベットの文字が、アルファベット順に変更する場合など様々な場合を含む。
先の図3の例では、IDが「1」のレコードに登録されたサーバ21a〜21cの設定内容は、「hostA1」、「hostA2」、「hostA3」というように、「hostA」に続く数値が初期値「1」から最大値「3」まで、「1」ずつ増加する。また、図3の例では、IDが「1」のレコードに登録されたサーバ21d〜21fの設定内容は、「hostB1」、「hostB2」、「hostB3」というように、「hostB」に続く数値が初期値「1」から最大値「3」まで、「1」ずつ増加する。また、図3の例では、IDが「4」のレコードに登録されたサーバ21a〜21cの設定内容は、「10.1.2.10」、「10.1.2.11」、「10.1.2.12」である。すなわち、図3の例では、「10.1.2.」に続く数値が初期値「10」から最大値「12」まで、「1」ずつ増加する。また、図3の例では、IDが「4」のレコードに登録されたサーバ21d〜21fの設定内容は、「10.1.3.10」、「10.1.3.11」、「10.1.3.12」である。すなわち、図3の例では、「10.1.3.」に続く数値が初期値「10」から最大値「12」まで、「1」ずつ増加する。
そのため、図3の例では、抽出部15bは、IDが「1」、「4」のレコードを選択した場合には、選択したレコードの各サーバの設定内容が全て異なり、かつ、設定内容が所定の規則性を有すると判定する。
判定の結果、選択したレコードの各サーバの設定内容が全て異なり、かつ、設定内容が所定の規則性を有する場合には、抽出部15bは、選択したレコードのIDと、サーバごとの単純増加の規則性を示す情報とを抽出する。図3の例では、抽出部15bは、ID「1」と、サーバごとの規則性「hostA$1,初期値:1,増分1,最大値3」、「hostB$1,初期値:1,増分1,最大値3」とを抽出する。また、図3の例では、ID「4」と、グループごとの規則性「10.1.2.$1,初期値:10,増分1,最大値12」、「10.1.3.$1,初期値:10,増分1,最大値12」とを抽出する。
また、上記のいずれの判定によっても、肯定判定が得られなかった場合には、選択したレコードの各サーバの設定内容が全て異なり、設定内容に所定の規則性がなく、かつ、設定内容の一部が他の設定内容を参照することで得られないような設定内容と考えられる。このような設定内容の一例としては、単に各サーバで異なるような値、例えば、各サーバに備えられたハードウェアのマック(MAC(Media Access Control))アドレスが挙げられる。そのため、このような設定内容が登録されたレコードを選択した場合には、抽出部15bは、選択したレコードのIDを抽出する。抽出部15bは、設定情報14aに登録された全てのレコード、すなわち、全ての設定項目について、上記の処理を行う。
生成部15cは、抽出部15bにより抽出された設定項目について、設定項目に対応する設定内容で、管理単位に含まれる機器に共通して設定を行う旨を示すルールを生成する。また、生成部15cは、抽出部15bにより抽出された所定の規則性を有する設定項目について、所定の規則性に基づいて管理単位に含まれる機器に設定を行う旨を示すルールを生成する。
具体例を挙げて説明する。生成部15cは、抽出部15bで、選択したレコードに登録された各サーバ21a〜21fの設定内容が全て同一であると判定された場合には、次のような処理を行う。すなわち、生成部15cは、ルール種別「全共通」と抽出部15bより抽出されたIDと設定内容とを対応付けて、それぞれ、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する。これにより、ルールが生成される。図13の例では、生成部15cは、「全共通」、ID「2」、設定内容「yes」のそれぞれを、先の図4に示すように、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する。
また、生成部15cは、抽出部15bで、選択したレコードの設定内容の一部が他の設定内容を参照せず、かつ、グループ内で設定内容が同一であると判定された場合には、次のような処理を行う。すなわち、生成部15cは、ルール種別「グループ共通」と抽出部15bにより抽出されたIDとグループごとの設定内容とを対応付けて、それぞれ、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する。これにより、ルールが生成される。図13の例では、生成部15cは、「グループ共通」、ID「3」、「groupA」の設定内容「Asia/Tokyo」および「groupB」の設定内容「Etc/UTC」をルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する。また、図13の例では、生成部15cは、「グループ共通」、ID「6」、「groupA」の設定内容「groupA」および「groupB」の設定内容「groupB」を、図4に示すように、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する。
また、生成部15cは、抽出部15bで、選択したレコードの設定内容の一部が他の設定内容を参照することで得られ、かつ、グループ内で設定内容が同一であると判定された場合には、次のような処理を行う。すなわち、生成部15cは、ルール種別「グループ共通:参照」と抽出部15bにより抽出されたIDとグループごとの参照先を示す情報とを対応付けて、それぞれ、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する。これにより、ルールが生成される。図13の例では、生成部15cは、「グループ共通:参照」、ID「5」、「groupA」,「groupB」の参照先を示す情報「$[4,1]」,「$[4,4]」を、図4に示すように、ルール種別の項目、IDの項目、ルール情報の項目に登録する。
また、生成部15cは、抽出部15bで、選択したレコードの各サーバの設定内容が全て異なり、かつ、設定内容の一部が他の設定内容を参照することで得られると判定された場合には、次のような処理を行う。すなわち、生成部15cは、ルール種別「個別:参照」と抽出部15bにより抽出されたIDと参照先を示す情報とを対応付けて、それぞれ、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する。これにより、ルールが生成される。先の図3の例では、生成部15cは、「個別:参照」、ID「7」、参照先を示す情報「$[4,1]」および「groupB」の参照先「$[4,self]$[1,self]」を、図4に示すように、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する。
また、生成部15cは、抽出部15bで、選択したレコードの各サーバの設定内容が全て異なり、かつ、設定内容が所定の規則性を有すると判定された場合には、次のような処理を行う。すなわち、生成部15cは、ルール種別「個別:単純増加」と抽出部15bにより抽出されたIDと規則性を示す情報とを対応付けて、それぞれ、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する。これにより、ルールが生成される。先の図3の例では、生成部15cは、「個別:単純増加」、ID「1」、規則性を示す情報「hostA$1,初期値:1,増分1,最大値3」を、図4に示すように、ルール種別の項目、IDの項目、ルール情報の項目に登録する。また、図3の例では、生成部15cは、「個別:単純増加」、ID「1」、規則性を示す情報「hostB$1,初期値:1,増分1,最大値3」を、図4に示すように、ルール種別の項目、IDの項目、ルール情報の項目に登録する。また、図3の例では、生成部15cは、「個別:単純増加」、ID「4」、規則性を示す情報「10.1.2.$1,初期値:10,増分1,最大値12」を、図4に示すように、ルール種別の項目、IDの項目、ルール情報の項目に登録する。また、図3の例では、生成部15cは、「個別:単純増加」、ID「4」、規則性を示す情報「10.1.3.$1,初期値:10,増分1,最大値12」を、図4に示すように、ルール種別の項目、IDの項目、ルール情報の項目に登録する。
また、生成部15cは、抽出部15bで、選択したレコードの各サーバの設定内容が全て異なり、設定内容に所定の規則性がなく、かつ設定内容の一部が他の設定内容を参照することで得られないような設定内容であると判定された場合には、次のような処理を行う。すなわち、生成部15cは、ルール種別「個別」と抽出部15bにより抽出されたIDとを対応付けて、それぞれ、ルール分類表14bのルール種別の項目、IDの項目に登録する。
また、生成部15cは、設定情報14aを生成する。以下の説明では、ユーザによって、属するネットワークのグループが「groupB」であると指定されたサーバ21gに設定する設定内容が、新たに追加された設定情報14aを生成する場合を例に挙げて説明する。なお、サーバ21gのホスト名は、「hostB4」である。具体例について説明する。生成部15cは、まず、上述した処理によって生成されたルール分類表14bを記憶部14から読み込む。そして、生成部15cは、ルール分類表14bのレコードのうち、未選択のレコードがあるか否かを判定する。未選択のレコードがある場合には、生成部15cは、未選択のレコードを1つ選択する。その後、生成部15cは、選択したレコードのルール種別が「全共通」であるか否かを判定する。「全共通」である場合には、生成部15cは、選択したレコードのIDの項目に設定された値と同一の値がIDの項目に設定されたレコードを設定情報14aから検索する。そして、生成部15cは、検索の結果得られたレコードが示す設定内容を、ツリー14cの全共通階層に配置する。例えば、図13の例では、生成部15cは、図6の例に示す設定内容を、ツリー14cの全共通階層に配置する。
また、生成部15cは、選択したレコードのルール種別が「グループ共通」または「グループ共通:参照」であるか否かを判定する。「グループ共通」または「グループ共通:参照」である場合には、生成部15cは、選択したレコードのIDの項目に設定された値と同一の値がIDの項目に設定されたレコードを設定情報14aから検索する。そして、生成部15cは、検索の結果得られたレコードが示す設定内容を、ツリー14cのグループ共通階層に配置する。例えば、図13の例では、生成部15cは、図7、図8の例に示す設定内容を、ツリー14cのグループ共通階層に配置する。
また、生成部15cは、選択したレコードのルール種別が「個別:単純増加」または「個別:参照」である場合には、生成部15cは、選択したレコードのIDの項目に設定された値と同一の値がIDの項目に設定されたレコードを設定情報14aから検索する。そして、生成部15cは、検索の結果得られたレコードが示す設定内容を、ツリー14cの個別階層に配置する。例えば、図13の例では、生成部15cは、図9の例に示す設定内容を、ツリー14cの個別階層に配置する。
生成部15cは、ルール分類表14bのレコードの中に、未選択のレコードがなくなるまで、上述した処理を繰り返し行う。これにより、ツリー14cの各階層に設定内容が配置される。
続いて、生成部15cは、設定された設定項目を管理装置10に送信する指示を新規のサーバ21gに送信する。これにより、生成部15cは、サーバ21gから送信された設定項目から、サーバ21gの設定項目を特定することができる。続いて、生成部15cは、ルール分類表14bから、サーバ21gの設定項目のそれぞれのルール種別を特定し、ルール種別が「全共通」、「グループ共通」、「グループ共通:参照」のサーバ21gの設定項目のうち、未選択の設定項目を1つ選択する。そして、生成部15cは、選択した設定項目のルール種別が、「グループ共通:参照」であるか否かを判定する。
選択した設定項目のルール種別が、「グループ共通:参照」である場合には、生成部15cは、選択した設定項目に対応する参照先を示す情報をルール分類表14bから取得する。図14は、実施例1に係る管理装置で実行される処理の一例を説明するための図である。図14の例では、ルール分類表14bの一部の例と、設定情報14aの一部の例とが示されており、ルール分類表14bから設定情報14aにサーバ21gの設定情報が設定される場合が模式的に示されている。図14の例では、サーバ21gが属するネットワークのグループが「groupB」であるため、生成部15cが、ルール分類表14bから、「groupB」に対応する参照先「$[4,4]」を取得する場合が示されている。そして、生成部15cは、取得した参照先を示す情報を用いて、設定情報14aから参照先の設定内容を取得する。図14の例では、生成部15cは、参照先「$[4,4]」を用いて、設定情報14aから、ホスト名が「hostB1」のサーバ21dのID「4」のレコードの設定内容「10.1.3.10」を取得する場合が示されている。続いて、生成部15cは、取得した設定内容を、設定情報14aの該当する項目に設定する。ここで言う「該当する項目」とは、選択した設定項目である。図14の例では、IDが「5」のレコードのサーバ21gの項目に、「10.1.3.10」を設定する場合が示されている。
また、選択した設定項目のルール種別が、「グループ共通:参照」でない場合、すなわち、「全共通」、「グループ共通」である場合には、生成部15cは、選択した設定項目に対応する設定内容をルール分類表14bのルール情報から取得する。図15は、実施例1に係る管理装置で実行される処理の一例を説明するための図である。図15の例では、生成部15cは、ID「2」が示す設定項目を選択した場合に、ルール分類表14bのルール情報から「yes」を取得する場合が示されている。また、図15の例では、生成部15cは、ID「3」が示す設定項目を選択した場合に、ルール分類表14bのルール情報から「Etc/UTC」を取得する場合が示されている。また、図15の例では、生成部15cは、ID「6」が示す設定項目を選択した場合に、ルール分類表14bのルール情報から「groupB」を取得する場合が示されている。そして、生成部15cは、取得した設定内容を、設定情報14aの該当する項目に設定する。図15の例では、IDが「2」のレコードのサーバ21gの項目に、「yes」を設定する場合が示されている。また、図15の例では、IDが「3」のレコードのサーバ21gの項目に、「Etc/UTC」を設定する場合が示されている。また、図15の例では、IDが「6」のレコードのサーバ21gの項目に、「groupB」を設定する場合が示されている。
ツリー14cを用いて、選択した設定項目のルール種別が、「全共通」、「グループ共通」である場合に、設定情報14aにサーバ21gの設定内容が設定される処理の一例を説明する。図16は、選択した設定項目のルール種別が、「全共通」、「グループ共通」である場合に、設定情報に新規のサーバの設定内容が設定される処理の一例を模式的に説明するための図である。図16の例では、サーバ21gの上位の階層「1」、「2b」に配置された設定内容が、設定情報14aに、サーバ21gの設定内容として設定される場合が示されている。
生成部15cは、「全共通」、「グループ共通」、「グループ共通:参照」のサーバ21gの設定項目の中に、未選択の設定項目がなくなるまで、上述した処理を繰り返し行う。
また、生成部15cは、ルール種別が「個別:単純増加」、「個別:参照」、「個別」のサーバ21gの設定項目のうち、未選択の設定項目を1つ選択する。そして、生成部15cは、選択した設定項目のルール種別が、「個別:単純増加」であるか否かを判定する。
選択した設定項目のルール種別が、「個別:単純増加」である場合には、生成部15cは、選択した設定項目に対応する規則性を示す情報をルール分類表14bから取得する。図17は、実施例1に係る管理装置で実行される処理の一例を説明するための図である。図17の例では、ルール分類表14bの一部の例と、設定情報14aの一部の例とが示されており、ルール分類表14bから設定情報14aにサーバ21gの設定情報が設定される場合が模式的に示されている。図17の例では、生成部15cが、ルール分類表14bから、「groupB」に対応する規則性を示す情報「hostB$1,初期値:1,増分1,最大値3」を取得する場合が示されている。そして、生成部15cは、取得した規則性を示す情報を用いて、設定内容を算出する。例えば、図17の例では、生成部15cは、最大値「3」に増分「1」を加えた値「4」を算出し、算出した「4」を「$1」に入れて、設定内容「hostB4」を算出する。このとき、生成部15cは、「groupB」に対応する規則性を示す情報の最大値を「4」に変更する。
そして、生成部15cは、算出した設定内容を、設定情報14aの該当する項目に設定する。図17の例では、IDが「1」のレコードのサーバ21gの項目に、「hostB4」を設定する場合が示されている。
一方、選択した設定項目のルール種別が、「個別:単純増加」でない場合、すなわち、「個別:参照」、「個別」である場合には、選択した設定項目のルール種別が、「個別:参照」であるか否かを判定する。
選択した設定項目のルール種別が、「個別:参照」である場合には、生成部15cは、選択した設定項目に対応する参照先を示す情報をルール分類表14bから取得する。図18は、実施例1に係る管理装置で実行される処理の一例を説明するための図である。図18の例では、ルール分類表14bの一部の例と、設定情報14aの一部の例とが示されており、ルール分類表14bから設定情報14aにサーバ21gの設定情報が設定される場合が模式的に示されている。図18の例では、生成部15cが、ルール分類表14bから、参照先「$[4,self]$[1,self]」を取得する場合が示されている。そして、生成部15cは、取得した参照先を示す情報を用いて、設定情報14aから参照先の設定内容を取得する。図18の例では、生成部15cは、参照先「$[4,self]$[1,self]」を用いて、設定情報14aから、ホスト名が「hostB4」のサーバ21gのID「4」のレコードの設定内容「10.1.3.13」を取得する場合が示されている。また、図18の例では、生成部15cは、参照先「$[4,self]$[1,self]」を用いて、設定情報14aから、ホスト名が「hostB4」のサーバ21gのID「1」のレコードの設定内容「hostB4」を取得する場合が示されている。続いて、生成部15cは、取得した設定内容を、設定情報14aの該当する項目に設定する。図18の例では、IDが「7」のレコードのサーバ21gの項目に、「10.1.3.13 hostB4」を設定する場合が示されている。
生成部15cは、「個別:単純増加」、「個別:参照」、「個別」のサーバ21gの設定項目の中に、未選択の設定項目がなくなるまで、上述した処理を繰り返し行う。
図19は、実施例1に係る管理装置によって、新規のサーバの設定内容が設定された設定情報の一例を示す図である。図19の例では、新規のサーバ21gの各設定項目に各設定内容が設定されている場合が示されている。
設定制御部15dは、指示された機器の設定内容を設定情報14aから読み取って、読み取った設定内容を指示された機器へ配布する。これにより、設定内容が配布された機器では、配布された設定内容が設定項目に設定される。
このように、本実施例に係る管理装置10によれば、サーバ21gに設定させる設定情報を生成する際に用いるルールを処理によって生成するため、人がルールを生成する場合と比較して、簡易に機器の設定情報の管理を行うことができる。また、設定内容が共通する設定対象を抽出するための処理の処理量を抑制することができる。また、管理装置10によれば、既存のサーバ21a〜21fから取得した設定情報に基づいてルールを生成するため、既存のサーバ21a〜21fが安定稼働している実環境から、精度が高いルールを生成することができる。
編集部15eは、管理者などに設定情報14aや、ルール分類表14bの編集を可能な画面を表示部12に表示させる。図20は、本実施例1に係る表示部に表示される画面の一例を示す図である。図20の例では、編集部15eは、設定情報14aを記憶部14から読み込み、読み込んだ設定情報14aを編集可能な画面60を表示部12に表示させた場合が示されている。図20の例に示す画面60では、設定情報14aの内容が表示され、管理者などが入力部11を介して各サーバの各設定項目の設定内容が編集可能である。図20の例では、ホスト名が「hostB4」であるサーバ21gのIDが「4」の設定内容が、管理者により「10.1.3.13」から「10.1.3.20」に編集された場合が示されている。
また、図20の例では、画面60に、新たにレコードを登録するための追加ボタン61が表示されている。また、図20の例では、画面60に、レコードを削除するための削除ボタン62が表示されている。また、図20の例では、編集された設定情報14aの設定内容が、ルール分類表14bが示すルールと合致するか否かを検証するための検証ボタン63が画面60に表示されている。また、図20の例では、検証の結果、編集された設定内容を、ルール分類表14bが示すルールに従って復元するための「ルールから復元」ボタン64が画面60に表示されている。また、図20の例では、検証の結果、編集された設定内容に基づいて、新たなルールを抽出するためのルール抽出ボタン65が画面60に表示されている。また、図20の例では、編集された設定内容、復元された設定内容、新たに抽出されたルールなどを適用するための適用ボタン66が画面60に表示されている。
検証部15fは、検証を行う。例えば、検証部15fは、検証ボタン63が押下されると、編集された設定内容のレコードを取得し、取得したレコードに含まれるIDをキーとして、ルール分類表14bから、取得したレコードの設定項目に対応するルール種別を取得する。そして、検証部15fは、取得したルール種別が、「全共通」である場合には、取得したレコードの全ての機器の設定内容が同一であるか否かを判定する。全ての機器の設定内容が同一である場合には、検証部15fは、編集内容が既存のルールに従ったものである旨のメッセージを表示部12に表示させる。一方、全ての機器の設定内容が同一でない場合には、編集内容が既存のルールに従ったものでない旨のメッセージを表示部12に表示させる。
また、検証部15fは、取得したルール種別が、「グループ共通」または「グループ共通:参照」である場合には、取得したレコードの機器の設定内容がグループ内で同一であるか否かを判定する。グループ内で同一である場合には、検証部15fは、編集内容が既存のルールに従ったものである旨のメッセージを表示部12に表示させる。一方、グループ内で同一でない場合には、編集内容が既存のルールに従ったものでない旨のメッセージを表示部12に表示させる。
また、検証部15fは、取得したルール種別が、「個別:単純増加」である場合には、取得したレコードの機器の設定内容が、ルール分類表14bが示す「初期値」から始まり「増分」で、「最大値」まで増加するか否かを判定する。ルール分類表14bが示す「初期値」から始まり「増分」で、「最大値」まで増加する場合には、検証部15fは、編集内容が既存のルールに従ったものである旨のメッセージを表示部12に表示させる。一方、ルール分類表14bが示す「初期値」から始まり「増分」で、「最大値」まで増加しない場合には、編集内容が既存のルールに従ったものでない旨のメッセージを表示部12に表示させる。図20の例では、IDが「4」のレコードが示す設定項目のルール種別は、「個別:単純増加」であり、10.1.3.10から始まり、増分「1」で、最大値10.1.3.12まで増加する。しかしながら、図20の例では、最大値が10.1.3.20であり、ルールに違反する。図21は、編集内容が既存のルールに従ったものでない旨のメッセージの表示例を示す図である。図21の例では、「hostB4、ID4の設定内容10.1.3.20は、ルールに違反しています」というメッセージが表示された場合が示されている。図21の例では、OKボタンを押下すると、メッセージが閉じる。
また、検証部15fは、取得したルール種別が、「個別:参照」である場合には、取得したレコードの機器の設定内容が、参照先が示す設定内容であるか否かを判定する。参照先が示す設定内容である場合には、検証部15fは、編集内容が既存のルールに従ったものである旨のメッセージを表示部12に表示させる。一方、参照先が示す設定内容でない場合には、編集内容が既存のルールに従ったものでない旨のメッセージを表示部12に表示させる。
また、検証部15fは、取得したルール種別が、「個別」である場合には、取得したレコードの機器の設定内容のうち、編集された設定内容が、他の設定内容と一致するか否かを判定する。一致しない場合には、検証部15fは、編集内容が既存のルールに従ったものである旨のメッセージを表示部12に表示させる。一方、一致する場合には、編集内容が既存のルールに従ったものでない旨のメッセージを表示部12に表示させる。
このように、本実施例に係る管理装置10は、処理によって得られたルールに、編集された設定内容が違反しているか否かを判定する。これにより、本実施例に係る管理装置10によれば、より簡易に検証を行うことができる。
そして、検証部15fは、「ルールから復元」ボタン64が押下された場合には、ルール分類表14bのルール内容にしたがって、取得したレコードの編集された設定内容を復元する。また、検証部15fは、ルール抽出ボタン65が押下された場合には、上記の抽出部15bや生成部15cで行われたように、取得したレコードのルール種別などを抽出する。また、検証部15fは、適用ボタン66が押下された場合には、各種情報を反映させる。例えば、検証部15fは、編集された設定内容を設定情報14aに反映させる。また、検証部15fは、復元された設定内容を設定情報14aに反映させる。また、検証部15fは、抽出されたルール種別などをルール分類表14bに反映させる。
図22は、本実施例1に係る表示部に表示される画面の他の例を示す図である。図22の例では、編集部15eは、ルール分類表14bを記憶部14から読み込み、読み込んだルール分類表14bを編集可能な画面70を表示部12に表示させた場合が示されている。図22の例に示す画面70では、ルール分類表14bの内容が表示され、管理者などが入力部11を介して各設定項目のルール情報が編集可能である。図22の例では、IDが「4」のルール情報が、管理者により初期値「10」、最大値「12」から初期値「100」、最大値「102」に編集された場合が示されている。
また、図22の例では、画面70に、新たにレコードを登録するための追加ボタン71が表示されている。また、図22の例では、画面70に、レコードを削除するための削除ボタン72が表示されている。また、図20の例では、設定情報14aが示す設定内容が、編集されたルール分類表14bのルールと合致するか否かを検証するための検証ボタン73が画面70に表示されている。また、図22の例では、検証の結果、編集されたルール情報を、ルール分類表14bに反映させずに、画面70を閉じるためのCANCELボタン74が画面70に表示されている。また、図22の例では、編集されたルール情報を適用するための適用ボタン75が画面70に表示されている。
図22の例では、検証部15fは、検証ボタン73が押下されると、編集されたルール情報のレコードを取得し、取得したレコードに含まれるIDをキーとして、設定情報14aから、取得したレコードの設定項目に対応する設定内容を取得する。そして、検証部15fは、取得したレコードのルール種別が、「全共通」である場合には、取得した全ての機器の設定内容が同一であるか否かを判定する。全ての機器の設定内容が同一である場合には、検証部15fは、設定内容が編集されたルールに従ったものである旨のメッセージを表示部12に表示させる。一方、全ての機器の設定内容が同一でない場合には、設定内容が編集されたルールに従ったものでない旨のメッセージを表示部12に表示させる。
また、検証部15fは、取得したレコードのルール種別が、「グループ共通」または「グループ共通:参照」である場合には、取得した設定内容がグループ内で同一であるか否かを判定する。グループ内で同一である場合には、検証部15fは、設定内容が編集されたルールに従ったものである旨のメッセージを表示部12に表示させる。一方、グループ内で同一でない場合には、設定内容が編集されたルールに従ったものでない旨のメッセージを表示部12に表示させる。
また、検証部15fは、取得したルール種別が、「個別:単純増加」である場合には、取得した設定内容が、取得したレコードのルール情報が示す「初期値」から始まり「増分」で、「最大値」まで増加するか否かを判定する。ルール情報が示す「初期値」から始まり「増分」で、「最大値」まで増加する場合には、検証部15fは、設定内容が編集されたルールに従ったものである旨のメッセージを表示部12に表示させる。一方、ルール情報が示す「初期値」から始まり「増分」で、「最大値」まで増加しない場合には、設定内容が編集されたルールに従ったものでない旨のメッセージを表示部12に表示させる。図22の例では、設定情報14aが示すIDが「4」の設定項目には、初期値が「10」から始まり、増分「1」で、最大値「12」まで増加する内容が登録されている。しかしながら、図22の例では、初期値が「100」であり、最大値が「102」であるため、設定内容は、編集されたルールに違反する。そのため、図22の例において、検証ボタン73が押下されると、エラー画面が表示される。
また、検証部15fは、取得したルール種別が、「個別:参照」である場合には、取得した設定内容が、参照先が示す設定内容であるか否かを判定する。参照先が示す設定内容である場合には、検証部15fは、設定内容が編集されたルールに従ったものである旨のメッセージを表示部12に表示させる。一方、参照先が示す設定内容でない場合には、設定内容が編集されたルールに従ったものでない旨のメッセージを表示部12に表示させる。
また、検証部15fは、取得したルール種別が、「個別」である場合には、取得した設定内容が、ルール情報が示す編集された条件と一致するか否かを判定する。一致する場合には、検証部15fは、設定内容が編集されたルールに従ったものである旨のメッセージを表示部12に表示させる。一方、一致しない場合には、設定内容が編集されたルールに従ったものでない旨のメッセージを表示部12に表示させる。
このように、本実施例に係る管理装置10は、処理によって得られ、編集されたルールに、設定内容が違反しているか否かを判定する。これにより、本実施例に係る管理装置10によれば、より簡易に検証を行うことができる。
そして、検証部15fは、CANCELボタン74が押下された場合には、編集されたルール情報を、ルール分類表14bに反映させずに、画面70を閉じる。また、検証部15fは、適用ボタン75が押下された場合には、編集されたルール情報をルール分類表14bに反映させる。
制御部15は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
[処理の流れ]
次に、本実施例に係る管理装置10の処理の流れを説明する。図23は、実施例1に係る第一の管理処理の手順を示すフローチャートである。第一の管理処理が実行されるタイミングの一例としては、入力部11を介して、ユーザから第一の管理処理を実行する指示を制御部15が受け付けた場合などが挙げられる。
図23に示すように、取得部15a、抽出部15b、生成部15cは、ルール抽出処理を実行する(S101)。そして、生成部15cは、ツリー生成処理を実行する(S102)。続いて、生成部15cは、設定情報生成処理を実行する(S103)。続いて、設定制御部15dは、新規のサーバ21gへ設定情報14aに新たに生成された設定情報を配布する(S104)。
次にルール抽出処理について説明する。図24、図25は、実施例1に係るルール抽出処理の手順を示すフローチャートである。
図24に示すように、取得部15aは、サーバ21a〜21fから設定項目および設定内容を示す設定情報を取得する(S201)。そして、取得部15aは、サーバ21a〜21fの設定情報を設定情報14aに登録する(S202)。そして、取得部15aは、設定情報14aを記憶部14から取得して、表示部12に表示させる(S203)。取得部15aは、グループを指定するIDが入力されたか否かを判定する(S204)。入力されていない場合(S204否定)には、取得部15aは、再び同様の判定を行う。一方、入力された場合(S204肯定)には、取得部15aは、入力部11からグループを指定するIDを取得し、グループを取得する(S205)。
抽出部15bは、設定情報14aに登録された全てのレコードのうち、未選択のレコードがあるか否かを判定する(S206)。ない場合(S206否定)には、抽出部15bは、処理結果を制御部15の内部メモリに格納し、リターンする。一方、ある場合(S206肯定)には、未選択のレコードを1つ選択する(S207)。そして、抽出部15bは、選択したレコードに登録された各サーバ21a〜21fの設定内容が全て同一であるか否かを判定する(S208)。
全て同一である場合(S208肯定)には、抽出部15bは、選択したレコードのIDと設定内容とを抽出する(S209)。生成部15cは、ルール種別「全共通」と抽出部15bより抽出されたIDと設定内容とを対応付けて、それぞれ、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録し(S210)、S206へ戻る。
一方、全て同一でない場合(S208否定)には、抽出部15bは、グループ内で、設定内容が同一であるか否かを判定する(S211)。同一である場合(S211肯定)には、抽出部15bは、選択したレコードの設定内容の一部が他の設定内容を含むか否かを判定する(S212)。含む場合(S212肯定)には、抽出部15bは、選択したレコードのIDと、グループごとの参照先を示す情報とを抽出する(S213)。生成部15cは、ルール種別「グループ共通:参照」と抽出部15bにより抽出されたIDとグループごとの参照先を示す情報とを対応付けて、それぞれ、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する(S214)。そして、S206へ戻る。
一方、含まない場合(S212否定)には、抽出部15bは、選択したレコードのIDと、グループごとの設定内容とを抽出する(S215)。生成部15cは、ルール種別「グループ共通」と抽出部15bにより抽出されたIDとグループごとの設定内容とを対応付けて、それぞれ、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する(S216)。そして、S206へ戻る。
また、同一でない場合(S211否定)には、図25に示すように、抽出部15bは、選択したレコードの設定内容の一部が他の設定内容を含むか否かを判定する(S217)。含む場合(S217肯定)には、抽出部15bは、選択したレコードのIDと、参照先を示す情報とを抽出する(S218)。生成部15cは、ルール種別「個別:参照」と抽出部15bにより抽出されたIDと参照先を示す情報とを対応付けて、それぞれ、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する(S219)。そして、S206へ戻る。
一方、含まない場合(S217否定)には、抽出部15bは、設定内容が所定の規則性を有するか否かを判定する(S220)。所定の規則性を有する場合(S220肯定)には、抽出部15bは、選択したレコードのIDと、サーバごとの単純増加の規則性を示す情報とを抽出する(S221)。生成部15cは、ルール種別「個別:単純増加」と抽出部15bにより抽出されたIDと規則性を示す情報とを対応付けて、それぞれ、ルール分類表14bのルール種別の項目、IDの項目、ルール情報の項目に登録する(S222)。そして、S206へ戻る。
所定の規則性を有しない場合(S220否定)には、抽出部15bは、選択したレコードのIDを抽出する(S223)。生成部15cは、ルール種別「個別」と抽出部15bにより抽出されたIDとを対応付けて、それぞれ、ルール分類表14bのルール種別の項目、IDの項目に登録する(S224)。そして、S206へ戻る。
次にツリー生成処理について説明する。図26は、実施例1に係るツリー生成処理の手順を示すフローチャートである。
図26に示すように、生成部15cは、ルール分類表14bを記憶部14から読み込む(S301)。そして、生成部15cは、ルール分類表14bのレコードのうち、未選択のレコードがあるか否かを判定する(S302)。未選択のレコードがない場合(S302否定)には、処理結果を制御部15の内部メモリに格納して、リターンする。一方、未選択のレコードがある場合(S302肯定)には、生成部15cは、未選択のレコードを1つ選択する(S303)。その後、生成部15cは、選択したレコードのルール種別が「全共通」であるか否かを判定する(S304)。「全共通」である場合(S304肯定)には、生成部15cは、選択したレコードのIDの項目に設定された値と同一の値がIDの項目に設定されたレコードを設定情報14aから検索する。そして、生成部15cは、検索の結果得られたレコードが示す設定内容を、ツリー14cの全共通階層に配置し(S305)、S302へ戻る。
一方、「全共通」でない場合(S304否定)には、生成部15cは、選択したレコードのルール種別が「グループ共通」または「グループ共通:参照」であるか否かを判定する(S306)。「グループ共通」または「グループ共通:参照」である場合(S306肯定)には、生成部15cは、選択したレコードのIDの項目に設定された値と同一の値がIDの項目に設定されたレコードを設定情報14aから検索する。そして、生成部15cは、検索の結果得られたレコードが示す設定内容を、ツリー14cのグループ共通階層に配置し(S307)、S302へ戻る。
「グループ共通」または「グループ共通:参照」でない場合(S306否定)には、生成部15cは、選択したレコードのIDの項目に設定された値と同一の値がIDの項目に設定されたレコードを設定情報14aから検索する。そして、生成部15cは、検索の結果得られたレコードが示す設定内容を、ツリー14cの個別階層に配置し(S308)、S302へ戻る。
次に設定情報生成処理について説明する。図27は、実施例1に係る設定情報生成処理の手順を示すフローチャートである。
図27に示すように、生成部15cは、ルール分類表14b、ツリー14cを記憶部14から読み込む(S401)。そして、生成部15cは、サーバ21gの設定項目を特定する(S402)。続いて、生成部15cは、ルール分類表14bから、「全共通」、「グループ共通」、「グループ共通:参照」のサーバ21gの設定項目のうち、下記のS404で未選択の設定項目があるか否かを判定する(S403)。未選択の設定項目がある場合(S403肯定)には、生成部15cは、未選択の設定項目を1つ選択する(S404)。そして、生成部15cは、選択した設定項目のルール種別が、「グループ共通:参照」であるか否かを判定する(S405)。
選択した設定項目のルール種別が、「グループ共通:参照」である場合(S405肯定)には、生成部15cは、選択した設定項目に対応する参照先を示す情報をルール分類表14bから取得する(S408)。そして、生成部15cは、取得した参照先を示す情報を用いて、設定情報14aから参照先の設定内容を取得し、取得した設定内容を、設定情報14aの該当する項目に設定する(S409)。そして、S403へ戻る。
また、選択した設定項目のルール種別が、「グループ共通:参照」でない場合(S405否定)には、生成部15cは、選択した設定項目に対応する設定内容をルール分類表14bのルール情報から取得する(S406)。そして、生成部15cは、取得した設定内容を、設定情報14aの該当する項目に設定する(S407)。そして、S403へ戻る。
また、生成部15cは、ルール種別が「個別:単純増加」、「個別:参照」、「個別」のサーバ21gの設定項目のうち、下記のS411で未選択の設定項目があるか否かを判定する(S410)。未選択の設定項目がある場合(S410肯定)には、生成部15cは、未選択の設定項目を1つ選択する(S411)。そして、生成部15cは、選択した設定項目のルール種別が、「個別:単純増加」であるか否かを判定する(S412)。
選択した設定項目のルール種別が、「個別:単純増加」である場合(S412肯定)には、生成部15cは、選択した設定項目に対応する規則性を示す情報をルール分類表14bから取得し、取得した規則性を示す情報を用いて、設定内容を算出する(S413)。
そして、生成部15cは、算出した設定内容を、設定情報14aの該当する項目に設定する(S414)。そして、S403へ戻る。
一方、選択した設定項目のルール種別が、「個別:単純増加」でない場合(S412否定)には、生成部15cは、選択した設定項目のルール種別が、「個別:参照」であるか否かを判定する(S415)。
選択した設定項目のルール種別が、「個別:参照」でない場合(S415否定)には、生成部15cは、処理結果を制御部15の内部メモリに格納し、リターンする。一方、選択した設定項目のルール種別が、「個別:参照」である場合(S415肯定)には、生成部15cは、選択した設定項目に対応する参照先を示す情報をルール分類表14bから取得する(S416)。続いて、生成部15cは、取得した設定内容を、設定情報14aの該当する項目に設定する(S417)。そして、S403へ戻る。
図28、図29は、実施例1に係る第二の管理処理の手順を示すフローチャートである。第二の管理処理が実行されるタイミングの一例としては、入力部11を介して、ユーザから第二の管理処理を実行する指示を制御部15が受け付けた場合などが挙げられる。
図26に示すように、編集部15eは、設定情報14aを編集可能な画面を表示させたあと、ルール分類表14b、ツリー14c、変更後の設定情報14aを取得する(S501)。編集部15eは、検証ボタンを押下させることを促す画面を表示部12に表示させる(S502)。
検証部15fは、検証ボタンが押下されたか否かを判定する(S503)。検証ボタンが押下される(S503肯定)と、検証部15fは、編集された設定内容のレコードに含まれるIDをキーとして、ルール分類表14bから、取得したレコードの設定項目に対応するルール種別を取得する。そして、検証部15fは、取得したルール種別が、「全共通」であるか否かを判定する(S504)。「全共通」である場合(S504肯定)には、検証部15fは、取得したレコードの全ての機器の設定内容が同一であるか否かを判定する(S505)。
全ての機器の設定内容が同一である場合(S505肯定)には、検証部15fは、編集内容が既存のルールに従ったものである旨のメッセージを表示部12に表示させる(S506)。一方、全ての機器の設定内容が同一でない場合(S505否定)には、編集内容が既存のルールに従ったものでない旨のメッセージを表示部12に表示させる(S507)。そして、S523へ進む。
一方、「全共通」でない場合(S504否定)には、検証部15fは、取得したルール種別が、「グループ共通」または「グループ共通:参照」であるか否かを判定する(S508)。「グループ共通」または「グループ共通:参照」である場合(S508肯定)には、検証部15fは、取得したレコードの機器の設定内容がグループ内で同一であるか否かを判定する(S509)。グループ内で同一である場合(S509肯定)には、検証部15fは、編集内容が既存のルールに従ったものである旨のメッセージを表示部12に表示させる(S510)。一方、グループ内で同一でない場合(S509否定)には、編集内容が既存のルールに従ったものでない旨のメッセージを表示部12に表示させる(S511)。そして、S523へ進む。
一方、「グループ共通」または「グループ共通:参照」でない場合(S508否定)には、検証部15fは、取得したルール種別が、「個別:単純増加」であるか否かを判定する(S512)。「個別:単純増加」である場合(S512肯定)には、検証部15fは、取得したレコードの機器の設定内容が、ルール分類表14bが示す「初期値」から始まり「増分」で、「最大値」まで増加するか否かを判定する(S513)。ルール分類表14bが示す「初期値」から始まり「増分」で、「最大値」まで増加する場合(S513肯定)には、検証部15fは、編集内容が既存のルールに従ったものである旨のメッセージを表示部12に表示させる(S514)。一方、ルール分類表14bが示す「初期値」から始まり「増分」で、「最大値」まで増加しない場合(S513否定)には、検証部15fは、編集内容が既存のルールに従ったものでない旨のメッセージを表示部12に表示させる(S515)。そして、S523へ進む。
また、「個別:単純増加」でない場合(S512否定)には、検証部15fは、取得したルール種別が、「個別:参照」であるか否かを判定する(S516)。「個別:参照」である場合(S516肯定)には、検証部15fは、取得したレコードの機器の設定内容が、参照先が示す設定内容であるか否かを判定する(S517)。参照先が示す設定内容である場合(S517肯定)には、検証部15fは、編集内容が既存のルールに従ったものである旨のメッセージを表示部12に表示させる(S518)。一方、参照先が示す設定内容でない場合(S517否定)には、検証部15fは、編集内容が既存のルールに従ったものでない旨のメッセージを表示部12に表示させる(S519)。
また、「個別:参照」でない場合(S516否定)には、検証部15fは、取得したレコードの機器の設定内容のうち、編集された設定内容が、他の設定内容と一致するか否かを判定する(S520)。一致しない場合(S520否定)には、検証部15fは、編集内容が既存のルールに従ったものである旨のメッセージを表示部12に表示させる(S522)。一方、一致する場合(S520肯定)には、検証部15fは、編集内容が既存のルールに従ったものでない旨のメッセージを表示部12に表示させる(S521)。そして、S523へ進む。
そして、検証部15fは、「ルールから復元」ボタンが押下されたか否かを判定する(S523)。押下された場合(S523肯定)には、検証部15fは、ルール分類表14bのルール内容にしたがって、取得したレコードの編集された設定内容を復元し(S524)、S523へ戻る。また、押下されていない場合(S523否定)には、検証部15fは、ルール抽出ボタンが押下されたか否かを判定する(S525)。押下された場合(S525肯定)には、検証部15fは、取得したレコードのルール種別などを抽出し(S526)、S523へ戻る。一方、押下されていない場合(S525否定)には、検証部15fは、適用ボタンが押下されたか否かを判定する(S527)。押下された場合(S527肯定)には、検証部15fは、各種情報を反映させ(S528)、処理を終了する。一方、押下されていない場合(S527否定)には、S523へ戻る。
図30、図31は、実施例1に係る第三の管理処理の手順を示すフローチャートである。第三の管理処理が実行されるタイミングの一例としては、入力部11を介して、ユーザから第三の管理処理を実行する指示を制御部15が受け付けた場合などが挙げられる。
図30に示すように、編集部15eは、ルール分類表14bを編集可能な画面を表示させたあと、編集後のルール分類表14b、ツリー14c、設定情報14aを取得する(S601)。編集部15eは、検証ボタンを押下させることを促す画面を表示部12に表示させる(S602)。
検証部15fは、検証ボタンが押下されたか否かを判定する(S603)。検証ボタンが押下される(S603肯定)と、検証部15fは、編集されたルール情報のルール種別を取得する。そして、検証部15fは、取得したルール種別が、「全共通」であるか否かを判定する(S604)。「全共通」である場合(S604肯定)には、検証部15fは、取得した全ての機器の設定内容が同一であるか否かを判定する(S605)。
全ての機器の設定内容が同一である場合(S605肯定)には、検証部15fは、設定内容が編集されたルールに従ったものである旨のメッセージを表示部12に表示させる(S606)。一方、全ての機器の設定内容が同一でない場合(S605否定)には、設定内容が編集されたルールに従ったものでない旨のメッセージを表示部12に表示させる(S607)。そして、S623へ進む。
一方、「全共通」でない場合(S604否定)には、検証部15fは、取得したルール種別が、「グループ共通」または「グループ共通:参照」であるか否かを判定する(S608)。「グループ共通」または「グループ共通:参照」である場合(S608肯定)には、検証部15fは、取得した設定内容がグループ内で同一であるか否かを判定する(S609)。グループ内で同一である場合(S609肯定)には、検証部15fは、設定内容が編集されたルールに従ったものである旨のメッセージを表示部12に表示させる(S610)。一方、グループ内で同一でない場合(S609否定)には、設定内容が編集されたルールに従ったものでない旨のメッセージを表示部12に表示させる(S611)。そして、S623へ進む。
一方、「グループ共通」または「グループ共通:参照」でない場合(S608否定)には、検証部15fは、取得したルール種別が、「個別:単純増加」であるか否かを判定する(S612)。「個別:単純増加」である場合(S612肯定)には、検証部15fは、取得した設定内容が、ルール分類表14bが示す「初期値」から始まり「増分」で、「最大値」まで増加するか否かを判定する(S613)。ルール分類表14bが示す「初期値」から始まり「増分」で、「最大値」まで増加する場合(S613肯定)には、検証部15fは、設定内容が編集されたルールに従ったものである旨のメッセージを表示部12に表示させる(S614)。一方、ルール分類表14bが示す「初期値」から始まり「増分」で、「最大値」まで増加しない場合(S613否定)には、検証部15fは、設定内容が編集されたルールに従ったものでない旨のメッセージを表示部12に表示させる(S615)。そして、S623へ進む。
また、「個別:単純増加」でない場合(S612否定)には、検証部15fは、取得したルール種別が、「個別:参照」であるか否かを判定する(S616)。「個別:参照」である場合(S616肯定)には、検証部15fは、取得したレコードの機器の設定内容が、参照先が示す設定内容であるか否かを判定する(S617)。参照先が示す設定内容である場合(S617肯定)には、検証部15fは、設定内容が編集されたルールに従ったものである旨のメッセージを表示部12に表示させる(S618)。一方、参照先が示す設定内容でない場合(S617否定)には、検証部15fは、設定内容が編集されたルールに従ったものでない旨のメッセージを表示部12に表示させる(S619)。
また、「個別:参照」でない場合(S616否定)には、検証部15fは、取得した設定内容が、ルール情報が示す編集された条件と一致するか否かを判定する(S620)。一致する場合(S620肯定)には、検証部15fは、設定内容が編集されたルールに従ったものである旨のメッセージを表示部12に表示させる(S622)。一方、一致しない場合(S620否定)には、検証部15fは、設定内容が編集されたルールに従ったものでない旨のメッセージを表示部12に表示させる(S621)。そして、S623へ進む。
そして、検証部15fは、適用ボタンが押下されたか否かを判定する(S623)。押下された場合(S623肯定)には、検証部15fは、編集されたルール情報をルール分類表14bに反映させ(S624)、処理を終了する。一方、押下されていない場合(S623否定)には、検証部15fは、CANCELボタンが押下されたか否かを判定する(S625)。押下された場合(S625肯定)には、検証部15fは、編集されたルール情報を、ルール分類表14bに反映させずに、画面70を閉じ(S626)、処理を終了する。一方、押下されていない場合(S625否定)には、S623へ戻る。
上述してきたように、本実施例に係る管理装置10によれば、サーバ21gに設定させる設定情報を生成する際に用いるルールを処理によって生成するため、人がルールを生成する場合と比較して、簡易に機器の設定情報の管理を行うことができる。また、設定内容が共通する設定対象を抽出するための処理の処理量を抑制することができる。また、管理装置10によれば、既存のサーバ21a〜21fから取得した設定情報に基づいてルールを生成するため、既存のサーバ21a〜21fが安定稼働している実環境から、精度が高いルールを生成することができる。
また、本実施例に係る管理装置10は、処理によって得られたルールに、編集された設定内容が違反しているか否かを判定する。したがって、本実施例に係る管理装置10によれば、より簡易に検証を行うことができる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
例えば、実施例1では、機器としてサーバを採用した場合を例に挙げて説明したが、機器として、ネットワーク機器、ストレージ装置など、物理的、仮想的を問わず、あらゆる機器を採用できる。
また、実施例1において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。例えば、S217の処理を行う前に、S220の処理を行うこともできる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図2に示す編集部15eと、検証部15fとが統合されてもよい。