図1は、実施の形態の企業システム1の構成を示す。企業システム1は、ICTサービス企業(システムインテグレータ等)に構築された情報処理システムである。ICTサービス企業は、顧客に対して情報システム管理のアウトソーシングサービスを提供し、具体的には自社のデータセンタにて複数の顧客の情報システムの運用を代行する。
データセンタには、ICTサービス企業の運用部門が管理するネットワーク(LANやWAN等)である第1運用NW28a、第2運用NW28b、中立NW16が構築される。これらのネットワークは、少なくとも互いに異なるブロードキャストドメインとなる。本実施の形態では、パケットフィルタリング機能を有するルータ14、ルータ24、ルータ26によりネットワークを分離するが、スイッチ等、他の種類の通信機器によりネットワークを分離してもよい。
図1では、第1運用NW28a内に、第1の顧客用の情報処理を実行する情報システムである第1管理対象システム32aが構築されている。第1運用NW28aには第1運用管理装置30aが設置され、第1運用管理装置30aは、第1管理対象システム32aを構成する複数の管理対象装置(各種の業務サーバ等)の運用を管理する。例えば、各管理対象装置の動作状態(言い換えれば稼働状況)を監視し、またバッチ処理等のジョブの実行を管理する。
第1運用管理装置30aは、第1管理対象システム32a(または第1管理対象システム32aに含まれる複数の管理対象装置)の動作状態を示すログ(以下「メッセージログ」とも呼ぶ。)を記録する。第1運用管理装置30aは、1日分のメッセージログを1つのログファイルに記録し、そのログファイルを1週間保持する。すなわち、当日と過去6日分のメッセージログを保持し、それ以前のメッセージログは消去する。
実施の形態のメッセージログは、メッセージID、状態を示す対象ノードのノードID・ノード名・状態フラグ(正常または異常等)、メッセージログの発信元(運用管理装置名等)・記録日時を含む。また、ジョブの実行状況に関連するメッセージログはさらに、フレーム名、ネット名、ジョブ名、ジョブ状態(起動、正常終了、異常終了等)、ジョブの実行日時を含む。なお、ジョブは1単位の処理(バッチ処理等)を定義したものである。ネットはジョブネットとも呼ばれ、複数のジョブの組み合わせ(実行順序や依存関係等)を定義したものである。フレームは複数のネットの組み合わせを定義したものである。
また図1では、第2運用NW28b内に、第2の顧客用の情報処理を実行する情報システムである第2管理対象システム32bが構築されている。第2運用NW28bには第2運用管理装置30bが設置され、第2運用管理装置30bは、第2管理対象システム32bを構成する複数の管理対象装置の運用を管理する。第1運用管理装置30aと同様に第2運用管理装置30bは、第2管理対象システム32b(または第2管理対象システム32bに含まれる複数の管理対象装置)の動作状態を示すメッセージログを記録する。第2運用管理装置30bは、1日分のメッセージログを1つのログファイルに記録し、そのログファイルを1週間保持する。
第1運用管理装置30aおよび第2運用管理装置30bには、既知の運用管理マネージャソフトウェアがインストールされ、運用管理のマネージャプロセス(機能)が起動されている。また、第1管理対象システム32aおよび第2管理対象システム32bを構成する各装置には、既知の運用管理エージェントソフトウェアがインストールされ、運用管理のエージェントプロセス(機能)が起動されている。上記のメッセージログは、運用管理のマネージャプロセスが生成し、当日のログファイルに逐次記録する。
またデータセンタには、ルータ24により第1運用NW28aと分離され、かつ、ルータ26により第2運用NW28bと分離された中立NW16が構築される。中立NW16には、ポータルサーバ18、第1ログ収集サーバ20a、第2ログ収集サーバ20bが設けられる。実施の形態では、運用管理装置(言い換えれば管理対象システム)と1対1にログ収集サーバが設けられる。ポータルサーバ18、第1ログ収集サーバ20a、第2ログ収集サーバ20bの詳細な機能は後述する。
図1には不図示だが、データセンタに第3運用NWが構築され、第3運用NW内に、第3の顧客用の情報処理を実行する第3管理対象システムが構築されてもよい。また、第3運用NWに第3運用管理装置が設置され、第3運用管理装置は、第3管理対象システムを構成する各装置の運用を管理してもよい。この場合、中立NW16には、第3運用管理装置(第3管理対象システム)に対応する第3ログ収集サーバがさらに設けられる。
ICTサービス企業の開発拠点(例えばデータセンタとは地理的に離れたオフィスビル等)には第1開発NW10aと第2開発NW10bが設けられる。第1開発NW10aは、ICTサービス企業の第1開発部門により管理されるネットワークであり、第1開発部門が管理するPCや通信装置が接続される。第2開発NW10bは、ICTサービス企業の第2開発部門により管理されるネットワークであり、第2開発部門が管理するPCや通信装置が接続される。
例えば第1開発NW10aは、第1開発部門の担当者が開発業務を実施する居室のLANであり、第1開発部門の担当者が開発業務で使用するPC12aが設置される。第1開発部門は、管理対象システム32aの保守(障害対応、顧客対応等)に責任を負い、第1開発部門の担当者は、第1運用管理装置30aのメッセージログを参照する必要がある。
また第2開発NW10bは、第2開発部門の担当者が開発業務を実施する居室のLANであり、第2開発部門の担当者が開発業務で使用するPC12bが設置される。第2開発部門は、管理対象システム32bの保守(障害対応、顧客対応等)に責任を負い、第2開発部門の担当者は、第2運用管理装置30bのメッセージログを参照する必要がある。
第1開発NW10aと第2開発NW10bは、ルータ14によりデータセンタのネットワークと分離される。第1開発NW10a、第2開発NW10b内の装置が、第1運用NW28a、第2運用NW28b内の装置に対して直接アクセスすることは禁止される。ルータ14は、第1開発NW10a内の装置(例えばPC12a)から送信された第1運用NW28a内の装置(例えば第1運用管理装置30a)宛のパケットを通過させずに廃棄する。同様にルータ14は、第2開発NW10b内の装置(例えばPC12b)から送信された第2運用NW28b内の装置(例えば第2運用管理装置30b)宛のパケットを通過させずに廃棄する。
実施の形態のルータ14は、既知のパケットフィルタリング機能により、第1開発NW10a内の装置(例えばPC12a)を送信元とするパケットのうち、ポータルサーバ18を送信先とするHTTPリクエストのみを通過させる。同様にルータ14は、第2開発NW10b内の装置(例えばPC12b)を送信元とするパケットのうち、ポータルサーバ18を送信先とするHTTPリクエストのみを通過させる。
一部記述したように、これまで第1運用管理装置30a、第2運用管理装置30bのメッセージログを開発部門側で確認するために長時間を要していた。例えば、第1管理対象システム32aにおける障害発生の通知を受けた第1開発部門の担当者は、上長の許可を得て開発拠点に設けられた本番端末室へ入室し、第1管理対象システム32a(第1運用管理装置30a)へのアクセスが可能なように構成された特別の情報端末(以下「本番端末」とも呼ぶ。)を操作してログを取得する必要があった。
この場合、典型的には、本番端末で取得した第1運用管理装置30aのメッセージログをUSBメモリに記憶させ、そのUSBメモリを居室へ持ち帰ってPC12aに挿入し、PC12aでメッセージログを確認していた。または、データセンタのオペレータに第1運用管理装置30aのメッセージログの収集を依頼し、オペレータから提供されたメッセージログをPC12aで確認していた。したがって、メッセージログの確認を開始するまでに30分以上要することがあり、迅速な障害対応が困難なことがあった。
実施の形態の企業システム1では、中立NW16に設置されたポータルサーバ18、第1ログ収集サーバ20a、第2ログ収集サーバ20bが連携することにより情報提供装置22を実現する。中立NW16内に上記の第3ログ収集サーバが設置される場合は、第3ログ収集サーバがさらに連携して情報提供装置22を実現する。なお、ポータルサーバ18、第1ログ収集サーバ20a、第2ログ収集サーバ20bそれぞれの機能が物理的に1台の筐体に集約されて、物理的に1台の情報提供装置22が構築されてもよいことはもちろんである。
具体的には、情報提供装置22は、第1運用管理装置30aにより記録されたメッセージログを第1運用管理装置30aから取得して蓄積し、第2運用管理装置30bにより記録されたメッセージログを第2運用管理装置30bから取得して蓄積する。情報提供装置22は、PC12aからメッセージログの閲覧要求を受け付けた場合に、第1運用管理装置30aから取得して蓄積したメッセージログが示す情報をPC12aへ提供する。また、PC12bからメッセージログの閲覧要求を受け付けた場合に、第2運用管理装置30bから取得して蓄積したメッセージログが示す情報をPC12bへ提供する。
第1開発部門(第2開発部門)の担当者は、PC12a(PC12b)でウェブブラウザを起動し、そのウェブブラウザを介して、ポータルサーバ18の運用ポータルサイトへアクセスする。PC12a(PC12b)のウェブブラウザは、運用ポータルサイトが提供するログ閲覧画面を表示させる。第1開発部門(第2開発部門)の担当者は、ログ閲覧画面を見て、第1運用管理装置30a(第2運用管理装置30b)が出力したメッセージログを確認する。
情報提供装置22によると、開発部門のネットワークから本番環境のネットワークへの直接アクセスの禁止を維持しつつ、開発部門の担当者は、自席のPCにて、運用管理装置が出力したメッセージログを参照でき、また取得できる。これにより、監視対象システムの動作状態を迅速に把握できるようになる。すなわち、情報提供装置22によると、企業システム1の情報セキュリティを損なうことなく、障害対応等における初動時間の短縮や、業務の迅速化を支援できる。
次に情報提供装置22を実現するためのポータルサーバ18、第1ログ収集サーバ20a、第2ログ収集サーバ20bの構成を説明する。
図2は、図1の第1ログ収集サーバ20aの機能構成を示すブロック図である。第1ログ収集サーバ20aは、制御部40、記憶部42、通信部44を備える。制御部40は、ログの収集と蓄積のための各種データ処理を実行し、記憶部42は、制御部40により参照・更新されるデータを記憶する記憶領域である。通信部44は、所定の通信プロトコルにしたがって外部装置と通信する。制御部40は、通信部44を介して、ポータルサーバ18や第1運用管理装置30aとデータを送受する。
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
例えば、制御部40内の複数の機能ブロックに対応する複数のモジュールを含むログ収集アプリケーションプログラムがDVD等の記録媒体に格納され、第1ログ収集サーバ20aのストレージにインストールされてもよい。第1ログ収集サーバ20aのCPUは、ストレージに格納されたログ収集アプリケーションプログラムをメインメモリに読出して実行することで、各機能ブロックの機能を発揮してもよい。記憶部42は、第1ログ収集サーバ20aのストレージやメモリがデータを記憶することで実現されてよい。図3に関連して後述するポータルサーバ18も同様である。
記憶部42は、ログ蓄積部46とログ取得状況保持部48を含む。制御部40は、ログ取得部50、ログ記録部52、ログ提供部54、ログ削除部56を含む。
ログ蓄積部46は、第1運用管理装置30aから取得されたメッセージログを記憶する。ログ蓄積部46は、第1運用管理装置30aがメッセージログを保持する期間(1週間)よりも長い期間、具体的には1年間メッセージログを記憶する。ログ取得状況保持部48は、メッセージログの取得状況を記憶する。具体的には、メッセージログの取得状況が正常か、または異常な状態かを示す情報と、最新の取得日時を示す情報を記憶する。後述するように、ポータルサーバ18によるメッセージログの検索は、ログ蓄積部46に蓄積された過去1年分のメッセージログが対象になる。
ログ取得部50は、PC12aからポータルサーバ18へのログ閲覧要求の頻度(トラフィック)に関わらず、予め定められた頻度で定期的に第1運用管理装置30aからメッセージログを取得する。なお、第1運用管理装置30aではSSHデーモンが起動され、ログ取得部50は、SCPやSFTPを使用してメッセージログを取得してもよい。
実施の形態では、ログ取得部50は、30秒が経過する都度、1000メッセージを上限としてメッセージログを取得する。例えば、第1運用管理装置30aにおいて当日のメッセージログが逐次記録される当日分のログファイルを参照し、そのログファイルに新規に追加されたレコード(メッセージログ)を1000件を上限に取得する処理を30秒おきに繰り返す。これにより、開発側からのログ閲覧のアクセスと、運用側へのログ取得のアクセスを分離し、第1運用管理装置30aの処理負荷が増大することを抑制する。
ログ記録部52は、ログ取得部50により取得されたメッセージログを、現在日時を示す格納日時と対応付けてログ蓄積部46に格納する。ログ削除部56は、ログ蓄積部46に格納された各メッセージログの格納日時を参照し、ログ蓄積部46への格納から1年が経過したメッセージログを消去する。なおメッセージログの保持期間は、第1運用管理装置30aから取得されるメッセージログの個数やデータ量、ログ蓄積部46の容量等に基づいて、運用部門と開発部門間で調整されてよい。
ログ提供部54は、ポータルサーバ18から受け付けたメッセージログの提供要求に応じて、ログ蓄積部46に格納されたメッセージログのデータをポータルサーバ18へ送信する。具体的には、ログ提供部54は、ログ蓄積部46に格納されたメッセージログの中から、提供要求で指定された検索条件に合致するメッセージログを抽出し、抽出したメッセージログのデータをポータルサーバ18へ送信する。このように、ポータルサーバ18へ提供されるメッセージログは、ログ蓄積部46に蓄積されたメッセージログであるため、ユーザによるログ閲覧が第1運用管理装置30aに影響を与えることはない。
なお、第1ログ収集サーバ20aは、データベースサーバであってもよく、検索条件を示すSQLクエリをポータルサーバ18から受け付けてもよい。第1ログ収集サーバ20aは、SQLクエリを解析し、検索条件に合致するメッセージログのデータを、SQLクエリにより指定された形式に整形してポータルサーバ18へ返信してもよい。
図1の第2ログ収集サーバ20bの機能構成は、図2に示す第1ログ収集サーバ20aと同様であるため説明を省略する。ただし第2ログ収集サーバ20bは、メッセージログの提供元(言い換えれば取得先)が第2運用管理装置30bである点で第1ログ収集サーバ20aと異なる。なお、メッセージログの要求元および提供先は、第1ログ収集サーバ20aと同様にポータルサーバ18になる。
図3は、図1のポータルサーバ18の機能構成を示すブロック図である。ポータルサーバ18は、サービス提供中の情報システムの運用状態を一元的に提示するウェブサイトである運用ポータルサイトを提供するウェブサーバの機能を含み、運用ポータルサイトのウェブページを開発部門の担当者端末へ提供する。以下、ポータルサーバ18にアクセスする開発部門の担当者を「ユーザ」とも呼ぶ。
ポータルサーバ18は、制御部60、記憶部62、通信部64を備える。制御部60は、運用ポータルサイトを提供するための各種データ処理を実行する。なお、ウェブサーバの機能は既知であるため、以下では、運用ポータルサイトにおいて運用管理装置のログ情報を表示させるための構成を詳細に説明する。記憶部62は、制御部60により参照・更新されるデータを記憶する記憶領域である。通信部64は、所定の通信プロトコルにしたがって外部装置と通信する。制御部60は、通信部64を介して、外部装置との間でデータを送受する。実施の形態における外部装置は、PC12a、PC12b、第1ログ収集サーバ20a、第2ログ収集サーバ20bを含む。
記憶部62は、認証情報保持部66、提供元情報保持部68、ジョブフィルタ保持部70、検索フィルタ保持部72を含む。
認証情報保持部66は、運用ポータルサイトでユーザ認証を行うための情報であり、運用ポータルサイトにログインを許可するユーザに関する情報を記憶する。具体的には、ユーザID、パスワード、グループIDを対応付けて保持する。グループIDは、ICTサービス企業内の複数のグループ(組織)のうちユーザが所属するグループの識別情報である。例えば、第1開発部門や第2開発部門のIDであってもよく、さらに細かい粒度で区分けされたIDであってもよい。実施の形態では、保守の責任を負う管理対象システム毎(言い換えればメッセージログを出力する運用管理装置毎)にグループが設けられる。グループIDは、ユーザに提供すべきメッセージログの提供元を識別するための情報と言える。
提供元情報保持部68は、メッセージログの提供元に関する情報を保持する。言い換えれば、特定のグループのユーザに提供すべきメッセージログについて、そのログの収集主体である特定のログ収集サーバを識別するための情報を保持する。具体的には、提供元情報保持部68は、複数のログ収集サーバのIDと、複数のグループIDとを対応づけて保持する。実施の形態ではさらに、メッセージログの出力主体である運用管理装置の名称、その運用管理装置により管理される情報システムのIDおよび名称を保持する。例えば、提供元情報保持部68は、第1ログ収集サーバ20aのIDと、第1運用管理装置30aの名称、第1管理対象システム32aのIDと名称、第1開発部門のIDを対応付けたレコードを保持する。
ジョブフィルタ保持部70は、後述のフィルタ記録部92により設定されたジョブフィルタを、設定元ユーザのグループIDに対応付けて保持する。ジョブフィルタは、複数のメッセージログの中から、特定のジョブや、ネット、フレームに関するメッセージログを抽出させるための検索条件を示すものである。検索フィルタ保持部72は、後述のフィルタ記録部92により設定された検索フィルタを、設定元ユーザのグループIDに対応付けて保持する。検索フィルタは、複数のメッセージログの中から、特定の内容のメッセージを抽出させるための検索条件を示すものである。ジョブフィルタ保持部70および検索フィルタ保持部72は、ユーザに提供するメッセージログを絞り込むための検索条件を保持する検索条件保持部とも言える。
制御部60は、要求受付部74、ログイン処理部76、画面生成部78、ログ検索部88、画面提供部90、フィルタ記録部92、検索結果ファイル提供部94を含む。後述するように、画面生成部78、ログ検索部88、画面提供部90、検索結果ファイル提供部94は、互いに連携することにより、第1ログ収集サーバ20aおよび第2ログ収集サーバ20bに蓄積されたメッセージログの情報をユーザへ提供するログ情報提供部として機能する。
要求受付部74は、PC12a(PC12b)から送信された運用ポータルサイトに対する各種要求を受け付ける。PC12a(PC12b)からポータルサーバ18へのアクセスは、ルータ14により、ウェブブラウザを介したHTTPアクセスに制限される。
ログイン処理部76は、運用ポータルサイトにおけるユーザのログイン処理を実行する。ログイン処理部76は、ログイン画面のウェブページをPC12a(PC12b)へ提供し、ログイン画面に入力されたユーザIDとパスワードを取得する。ログイン処理部76は、認証情報保持部66を参照して、ユーザIDとパスワードの組み合わせがログインを許可されたユーザのものと一致する場合、ユーザのログインを許可する。また、ユーザIDとパスワードの組み合わせに対応付けられたグループIDを識別し、そのグループIDをユーザのセッションに対応付けて記録する。
画面生成部78は、運用ポータルサイトの各種画面を示すウェブページのデータを生成する。運用ポータルサイトは、ログビューワ機能を提供し、ログビューワの画面を、ログインユーザ(「要求元ユーザ」とも呼ぶ。)の端末であるPC12aまたはPC12bへ提供する。ログビューワの画面は、(1)ジョブ確認画面、(2)ジョブフィルタ設定画面、(3)ログ検索画面、(4)検索フィルタ設定画面を含む。画面生成部78は、これら4つの画面のデータを生成するジョブ確認画面生成部80、ジョブフィルタ設定画面生成部82、ログ検索画面生成部84、検索フィルタ設定画面生成部86を含む。
(1)ジョブ確認画面:
図4は、ジョブ確認画面100の例を示す。ジョブ確認画面100は、ジョブ稼働状況の確認画面とも言える。ジョブ確認画面は、当日に実行された1つ以上のジョブの実行状態を一覧表示する画面である。なお「当日」は、第1運用管理装置30a、第2運用管理装置30bにおけるメッセージログの出力日付を基準とした参照日のことであり、第1管理対象システム32a、第2管理対象システム32bにおける運用日付とは関係ない。したがって、ある日のジョブ確認画面100が、複数の運用日付に跨るメッセージログを表示することもある。
ジョブ確認画面生成部80は、提供元情報保持部68において要求元ユーザ(実施の形態では当該ユーザが所属するグループと言える)に対応付けられた第1ログ収集サーバ20aまたは第2ログ収集サーバ20bから、メッセージログの取得状況を示す情報を取得する。そしてその情報をログ取得状況エリア101へ設定する。メッセージログの取得状況を示す情報は、メッセージログの取得処理の成否とその実施日時を示す内容を含む。またジョブ確認画面生成部80は、システム情報エリア102に、提供元情報保持部68において要求元ユーザに対応付けられた管理対象システムのIDと名称、運用管理装置名を設定する。
ジョブ確認画面生成部80は、フィルタ選択エリア104に、要求元ユーザにより予め登録された1つまたは複数のジョブフィルタの名称を一覧表示する画面要素であり、特定のジョブフィルタの選択を受け付ける画面要素を設定する。図4の例では、要求元ユーザが所属するグループにより登録済の5つのジョブフィルタの中から、所望のジョブフィルタをユーザに選択させるためのドロップダウンリストを設けている。
ジョブ確認画面生成部80は、検索ボタン106に対する選択操作を受け付けると、要求元ユーザが所属するグループに対応付けられた特定のログ収集サーバのIDと、フィルタ選択エリア104で選択されたジョブフィルタ(ジョブフィルタ保持部70に格納されたジョブフィルタのデータ)を含むジョブ検索要求をログ検索部88に渡す。ジョブ確認画面生成部80は、ジョブ検索要求に応じてログ検索部88が取得したメッセージログのデータを検索結果エリア108に設定する。
ジョブ確認画面生成部80は、検索結果エリア108の運用日付欄〜ジョブ日時欄に、メッセージログの対応する項目値をそれぞれ設定する。項目のうち状態(ジョブ状態)が「異常あり」「異常終了」等の所定のキーワードと一致する場合、その項目値を通常とは異なる態様(例えば背景色を赤、文字色を白等)で表示させる。検索結果エリア108のメッセージ欄には、メッセージログの各項目の内容をそのまま設定する。
(2)ジョブフィルタ設定画面:
図5は、ジョブフィルタ設定画面110の例を示す。ジョブフィルタ設定画面110は、ジョブ確認画面100に表示させるべきジョブの抽出条件であるジョブフィルタをユーザに登録させるための画面である。
ジョブフィルタ設定画面生成部82は、システム情報エリア102に、提供元情報保持部68において要求元ユーザに対応付けられた管理対象システムのIDと名称、運用管理装置名を設定する。またジョブフィルタ設定画面生成部82は、ジョブフィルタの名称とする任意の文字列をユーザに入力させるフィルタ名設定エリア112を設ける。それとともに、後の時点でのジョブフィルタの編集を支援するための、フィルタの内容を示す任意の文字列をユーザに入力させるフィルタ説明設定エリア113を設ける。
なお、ジョブやネット、フレームの名称は、システムの命名規則等に応じて決定されることが多いが、ジョブフィルタの名称には、テクニカルスキル(例えばシステム開発スキルやシステム運用スキル)が低いユーザ(例えば事務作業者や営業担当者等)にとっても分かり易い名称が設定されることが望ましい。例えば、ジョブやネット、フレームの名称は通常英語表記になるが、ジョブフィルタの名称は日本語表記であってもよい。後述の検索フィルタの名称も同様である。ジョブフィルタ、検索フィルタの名称をテクニカルスキルが低いユーザにも分かり易い名称とし、例えばシステムの理解度が低いユーザにも理解容易な名称とすることで、開発部門におけるログの抽出作業や取得作業を容易なものにすることができる。
ジョブフィルタ設定画面生成部82は、ジョブフィルタの内容をユーザに入力させるためのフィルタ条件設定エリア114を設ける。フィルタ条件設定エリア114には、メッセージログを絞り込むための検索条件となるフレーム名称、ネット名称、ジョブ名称の組み合わせが入力される。図5に示すように、1つのジョブフィルタにおいて、複数のジョブ、ネット、フレームの組み合わせを指定できる。ジョブ説明設定エリア116には、検索対象とするフレーム、ネット、ジョブの内容を説明する任意の文字列が入力される。図4で示したように、ジョブ確認画面100の検索結果エリア108の説明欄には、ジョブ説明設定エリア116に設定された文字列が転記される。
ジョブフィルタ設定画面110で確定ボタン118が選択されると、フィルタ記録部92は、ジョブフィルタ設定画面110に対するユーザの入力内容をジョブフィルタとしてジョブフィルタ保持部70へ格納する。具体的には、要求元ユーザのグループIDと対応づけて、フィルタ名設定エリア112に入力されたフィルタ名称、フィルタ説明設定エリア113に入力された説明、フィルタ条件設定エリア114に入力されたフィルタ条件をジョブフィルタ保持部70へ格納する。1つのグループで複数のジョブフィルタの登録が可能であり、あるグループで登録された複数のジョブフィルタは、そのグループのユーザのジョブ確認画面で選択可能に一覧表示される。後述の検索フィルタも同様である。
(3)ログ検索画面:
図6は、ログ検索画面120の例を示す。ログ検索画面120は、第1ログ収集サーバ20aまたは第2ログ収集サーバ20bに蓄積された過去1年分のメッセージログの中から所望のメッセージログを検索するための画面である。
ログ検索画面生成部84は、提供元情報保持部68において要求元ユーザに対応付けられた第1ログ収集サーバ20aまたは第2ログ収集サーバ20bから、メッセージログの取得状況を示す情報を取得する。そしてその情報をログ取得状況エリア101へ設定する。メッセージログの取得状況を示す情報は、メッセージログの取得処理の成否とその実施日時を示す内容を含む。またログ検索画面生成部84は、システム情報エリア102に、提供元情報保持部68において要求元ユーザに対応付けられた管理対象システムのIDと名称、運用管理装置名を設定する。
ログ検索画面生成部84は、ログ検索画面120に表示させるべきメッセージログの検索条件(以下「検索フィルタ」と呼ぶ。)をユーザに入力させるための検索条件設定エリア122を設ける。検索フィルタとして指定可能な情報項目は、メッセージログ出力の期間、メッセージID、状態フラグ、ノードID・ノード名、発信元、内容である。内容は、メッセージログの全体を検索対象とする検索文字列であり、すなわちキーワードやキーフレーズである。
ログ検索画面生成部84は、フィルタ選択エリア124に、要求元ユーザにより予め登録された1つまたは複数の検索フィルタの名称を一覧表示する画面要素であり、特定の検索フィルタの選択を受け付ける画面要素を設定する。この画面要素は、例えばドロップダウンリストである。ユーザは、フィルタ選択エリア124に名称が表示された1つ以上の検索フィルタの中から、調査内容等に応じた所望の検索フィルタを選択することができる。
ログ検索画面生成部84は、検索ボタン126に対する選択操作を受け付けると、要求元ユーザが所属するグループに対応付けられた特定のログ収集サーバのIDと、ログ検索画面120で指定された検索フィルタのデータを含むログ検索要求をログ検索部88に渡す。ログ検索画面120のフィルタ選択エリア124において特定の検索フィルタが選択されている場合、ログ検索画面生成部84は、その特定の検索フィルタのデータを検索フィルタ保持部72から取得してログ検索要求に設定する。また、ログ検索画面120の検索条件設定エリア122に検索フィルタの内容が入力されている場合、ログ検索画面生成部84は、フィルタ選択エリア124に入力された検索フィルタのデータをログ検索要求に設定する。
さらにまた、フィルタ選択エリア124と検索条件設定エリア122の両方で検索フィルタが指定されている場合、ログ検索画面生成部84は、フィルタ選択エリア124で選択された検索フィルタのデータと、検索条件設定エリア122に入力された検索フィルタのデータとをAND条件で結合した検索条件を生成してログ検索要求に設定する。変形例として、フィルタ選択エリア124で選択された検索フィルタのデータと、検索条件設定エリア122に入力された検索フィルタのデータとをOR条件で結合した検索条件を生成してログ検索要求に設定してもよい。ログ検索画面生成部84は、ログ検索要求に応じてログ検索部88が取得したメッセージログのデータを検索結果エリア128に設定する。
検索結果ファイル提供部94は、ログ検索画面120のCSV出力ボタン130に対する選択操作が受け付けられると、その時点で検索結果エリア128に設定されているメッセージログのデータをCSV(Comma Separated Value)形式で電子ファイル(以下「検索結果ファイル」と呼ぶ。)に保存する。検索結果ファイル提供部94は、検索結果ファイルを要求元ユーザの端末(PC12aまたはPC12b)へ送信する。すなわち、開発部門のユーザは、検索結果ファイルを自席のPCにダウンロードして、メッセージログを解析することができる。
変形例として、ログ検索画面120のCSV出力ボタン130に対する選択操作が受け付けられると、ログ検索画面生成部84とログ検索部88は、ログ検索画面120で指定された検索フィルタに応じたメッセージログ検索処理を再度実行してもよい。そして、検索結果ファイル提供部94は、ログ検索部88が取得したメッセージログのデータを検索結果ファイルに保存してもよい。これにより、CSV出力ボタン130に対する選択操作が入力された時点での最新のメッセージログを含む検索結果ファイルを提供できる。
(4)検索フィルタ設定画面:
図7は、検索フィルタ設定画面140の例を示す。検索フィルタ設定画面140は、ログ検索画面120に表示させるべきメッセージログの検索条件として使用される検索フィルタをユーザに登録させるための画面である。すなわち、検索フィルタ設定画面140で登録された検索フィルタは、ログ検索画面120のフィルタ選択エリア124にて選択可能になる。
検索フィルタ設定画面生成部86は、システム情報エリア102に、提供元情報保持部68において要求元ユーザに対応付けられた管理対象システムのIDと名称、運用管理装置名を設定する。また検索フィルタ設定画面生成部86は、検索フィルタの名称とする任意の文字列をユーザに入力させるフィルタ名設定エリア142を設ける。さらに検索フィルタ設定画面生成部86は、検索フィルタの内容をユーザに入力させるためのフィルタ条件設定エリア144を設ける。フィルタ条件設定エリア144には、メッセージログを絞り込む条件となる状態、メッセージID、ノードID、ノード名、発信元、内容等の任意の組み合わせを入力可能である。
検索フィルタ設定画面140において追加ボタン146が選択されると、フィルタ記録部92は、検索フィルタ設定画面140に対するユーザの入力内容を検索フィルタとして検索フィルタ保持部72へ格納する。具体的には、要求元ユーザのグループIDと対応づけて、フィルタ名設定エリア142に入力されたフィルタ名称と、フィルタ条件設定エリア144に入力されたフィルタ条件を検索フィルタ保持部72へ格納する。なお、フィルタ名設定エリア142への入力内容が既存のフィルタ名であった場合、言い換えれば、フィルタ名設定エリア142へ入力された名称の検索フィルタのデータが検索フィルタ保持部72に既に存在する場合、フィルタ記録部92は、その既存の検索フィルタの内容を、フィルタ条件設定エリア144に入力されたフィルタ条件にて更新してもよい。この場合、追加ボタン146は、既存の検索フィルタを変更する変更ボタンとして機能する。
図3に戻り、ログ検索部88は、ジョブ確認画面生成部80からジョブ検索要求を受け付けると、当該要求で指定された第1ログ収集サーバ20aまたは第2ログ収集サーバ20bで蓄積されたメッセージログの中から、当該要求で指定されたジョブフィルタの検索条件に合致するメッセージログを検索する(抽出するとも言える)。ジョブ検索要求による検索範囲は、当日に取得されたメッセージログとなる。言い換えれば、当日を示す格納日時に対応付けられたメッセージログが検索対象になる。
ログ検索部88は、第1ログ収集サーバ20aまたは第2ログ収集サーバ20bから、検索条件に合致するメッセージログを取得すると、取得したメッセージログのデータをジョブ確認画面生成部80に渡してジョブ確認画面100に設定させる。なおログ検索部88は、ジョブ検索要求で指定された検索条件を示すSQLクエリを生成して、当該要求で指定された第1ログ収集サーバ20aまたは第2ログ収集サーバ20bへSQLクエリを送信してもよい。そして、SQLクエリへの応答として、検索条件に合致するメッセージログのデータを第1ログ収集サーバ20aまたは第2ログ収集サーバ20bから取得してもよい。
またログ検索部88は、ログ検索画面生成部84からログ検索要求を受け付けると、当該要求で指定された第1ログ収集サーバ20aまたは第2ログ収集サーバ20bで蓄積されたメッセージログの中から、当該要求で指定された検索フィルタの検索条件に合致するメッセージログを検索する。ログ検索要求による検索対象は、当日を含む過去1年分のメッセージログとなる。言い換えれば、第1ログ収集サーバ20aと第2ログ収集サーバ20bに蓄積された全てのメッセージログが検索対象になる。
ログ検索部88は、第1ログ収集サーバ20aまたは第2ログ収集サーバ20bから、検索条件に合致するメッセージログを取得すると、取得したメッセージログのデータをログ検索画面生成部84に渡してログ検索画面120に設定させる。なおログ検索部88は、ログ検索要求を受け付けた場合、ジョブ検索要求を受け付けた場合と同様に、SQLクエリを第1ログ収集サーバ20aまたは第2ログ収集サーバ20bへ送信してもよい。
画面提供部90は、画面生成部78により生成された運用ポータルサイトの画面を、要求元のユーザ端末へ送信し、ユーザ端末のディスプレイに運用ポータルサイトの画面を表示させる。実施の形態では、ジョブ確認画面100、ジョブフィルタ設定画面110、ログ検索画面120、検索フィルタ設定画面140それぞれのウェブページのデータをPC12aまたはPC12bへ送信する。PC12aまたはPC12bで起動されたウェブブラウザは、ポータルサーバ18から提供されたジョブ確認画面100、ジョブフィルタ設定画面110、ログ検索画面120、検索フィルタ設定画面140それぞれのウェブページを表示させる。
以上の構成による企業システム1の動作を、図1を参照しつつ説明する。
第1運用管理装置30aは、既知の運用管理マネージャ機能により、サービス提供中の第1管理対象システム32aの運用状況を示すメッセージログを逐次記録する。同様に第2運用管理装置30bは、サービス提供中の第2管理対象システム32bの運用状況を示すメッセージログを逐次記録する。第1ログ収集サーバ20aのログ取得部50は、第1運用管理装置30aから定期的にメッセージログを取得し、ローカルのログ蓄積部46に格納する。第2ログ収集サーバ20bのログ取得部50は、第2運用管理装置30bから定期的にメッセージログを取得し、ローカルのログ蓄積部46に格納する。
ここでは、第1管理対象システム32aで障害が発生したこと、または第1管理対象システム32aにおけるジョブ実行時間のトレンド分析の必要が生じたこと等に伴い、第1開発部門の担当者(以下「ユーザ」と呼ぶ。)が第1運用管理装置30aのメッセージログを確認する必要が生じたこととする。ユーザの操作に応じて、PC12aのウェブブラウザは、ポータルサーバ18へアクセスし、運用ポータルサイトへログインする。ポータルサーバ18は、ユーザ認証に成功すると、ユーザが所属するグループである第1開発部門に予め対応付けられた第1ログ収集サーバ20aをメッセージログの提供元として識別し、第1ログ収集サーバ20aをユーザのセッションに対応付けて記録する。なお、ログインユーザが第2開発部門に所属する場合は、第2開発部門に予め対応付けられた第2ログ収集サーバ20bをメッセージログの提供元として識別することになる。
ユーザは、ジョブの実行状況を確認すべき場合、運用ポータルサイトにてジョブ確認画面を選択する。ポータルサーバ18は、ジョブ確認画面のウェブページをPC12aへ提供して表示させる。ジョブ確認画面は、当該ユーザのグループが登録済のジョブフィルタの名称を選択可能に一覧表示する。ジョブ確認画面のフィルタ選択エリアで特定のジョブフィルタの名称が選択されて検索ボタンが押されると、ポータルサーバ18は、第1ログ収集サーバ20aに蓄積された当日分のメッセージログを検索の母集団として、ユーザにより選択されたジョブフィルタによる検索結果をジョブ確認画面に表示させる。
ユーザは、ジョブフィルタを作成・編集すべき場合、運用ポータルサイトにてジョブフィルタ設定画面を選択する。ポータルサーバ18は、ジョブフィルタ設定画面のウェブページをPC12aへ提供して表示させる。ジョブフィルタ設定画面でジョブフィルタの内容が入力されて追加ボタンが押されると、ポータルサーバ18は、ジョブフィルタ設定画面に入力されたジョブフィルタのデータ(ユーザが設定したジョブフィルタの名称を含む)をユーザのグループに対応付けて記録する。ここで記録されたジョブフィルタの名称は、ジョブ確認画面において選択可能な態様で表示される。
ユーザは、ジョブに限らず、様々な種類・内容のログに亘る検索を実施すべき場合、運用ポータルサイトにてログ検索画面を選択する。ポータルサーバ18は、ログ検索画面のウェブページをPC12aへ提供して表示させる。ログ検索画面は、当該ユーザのグループが登録済の検索フィルタの名称を選択可能に一覧表示する。ログ検索画面のフィルタ選択エリアで特定の検索フィルタの名称が選択されて検索ボタンが押されると、ポータルサーバ18は、第1ログ収集サーバ20aに蓄積された1年分のメッセージログを検索の母集団として、ユーザにより選択された検索フィルタによる検索結果をログ検索画面に表示させる。
ユーザは、検索フィルタを作成・編集すべき場合、運用ポータルサイトにて検索フィルタ設定画面を選択する。ポータルサーバ18は、検索フィルタ設定画面のウェブページをPC12aへ提供して表示させる。検索フィルタ設定画面で検索フィルタの内容が入力されて確定ボタンが押されると、ポータルサーバ18は、検索フィルタ設定画面に入力された検索フィルタのデータ(ユーザが設定した検索フィルタの名称を含む)をユーザのグループに対応付けて記録する。ここで記録された検索フィルタの名称は、ログ検索画面において選択可能な態様で表示される。
なお、ジョブ確認画面での検索対象は当日分のメッセージログである一方、ログ検索画面での検索対象は当日分に加えて過去1年分のメッセージログである。したがって、当日のジョブの実行状況を確認すべき場合は、ログ検索画面ではなくジョブ確認画面を使用することで、迅速に検索結果を確認できる。
実施の形態のポータルサーバ18、第1ログ収集サーバ20a、第2ログ収集サーバ20b(以下、総称して「情報提供装置22」と呼ぶ。)によると、開発部門の担当者が自席のPCにおいて、運用管理装置が出力した最新のメッセージログを参照し、取得することが可能になる。例えば、第1開発部門の担当者は、第1運用管理装置30aから障害発生の通知メールを受け付けると、即座にPC12aのウェブブラウザで運用ポータルサイトにアクセスし、第1運用管理装置30aが出力したメッセージログを閲覧して、障害対応を開始できる。
また、現在、企業における内部統制の効率化・高度化が求められており、ICTサービス企業でも、開発と運用の分離や、本番環境と開発環境の分離が求められている。情報提供装置22によると、本番環境の運用管理装置が出力したメッセージログの取得・参照に運用が関与しない仕組みを実現できる。これにより、開発と運用の分離や、本番環境と開発環境の分離を実現できる。このことは、開発と運用の分離を要求する昨今のシステム監査への対応においても有用である。
さらにまた、情報提供装置22はセキュリティリスクの回避にも有効である。例えば、(1)ログ取得のための本番端末室への入室が不要になり、本番端末室へUSBメモリを持ち込むことも不要になるため、本番端末室のリスク回避に有効である。(2)本番端末室の利用が減ることで、他システムの本番端末に触れる機会が減るため、他システムへの影響も回避できる。例えば、第1開発部門の担当者が、担当外の第2運用管理装置30b(第2管理対象システム32b)へアクセスすることを防止しやすくなる。
(3)ユーザにはメッセージログの参照権限しかなく、ユーザは本番環境の運用管理装置へ直接アクセスすることはできない。また、ユーザの利用頻度が増えても情報提供装置22から運用管理装置へのアクセス頻度は変わらない。また、本番端末室の本番端末から運用管理装置へFTP等の通信機能が利用できるとしても、ログビューワの画面を介して運用管理装置へのデータやスクリプトの入出力はできない。したがって、本番環境の運用管理装置のリスクを回避できる。
さらにまた、これまでメッセージログは、本番環境の運用管理装置による保持期間(例えば1週間)しか参照できなかった。情報提供装置22は、本番環境の運用管理装置による保持期間より長い期間(例えば1年間)、運用管理装置から取得したメッセージログを保持し、ログビューワでの閲覧を可能にする。これにより、過去に遡ったシステム稼働状況の確認が可能になる。例えば、数ヶ月前の障害の状況を把握することが可能なり、またジョブの実行時間の変化傾向を把握することも可能になる。
さらにまた、情報提供装置22では、運用管理装置毎にログ収集サーバを設けた。図1の例では、第1運用管理装置30aのメッセージログを収集する第1ログ収集サーバ20aと、第2運用管理装置30bのメッセージログを収集する第2ログ収集サーバ20bを別個に設けた。これにより、異なる運用管理装置が出力したメッセージログが同一のログ収集サーバ内に混在することがなく、ユーザが担当外システムのメッセージログを閲覧することを確実に防止しやすくなる。すなわち、異なる顧客のシステムのメッセージログの混在を防止し、情報セキュリティのリスクを回避することができる。
さらにまた、情報提供装置22では、ジョブフィルタと検索フィルタがユーザのグループ毎に管理され、ユーザのグループ毎に同じフィルタ(1つ以上のフィルタ)を選択可能とする。これにより、効率的にメッセージログを検索できるようユーザを支援できる。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
上記実施の形態では言及していないが、ジョブ確認画面生成部80は、最新のメッセージログを取得するよう指示するための更新ボタンをジョブ確認画面に配置してもよい。同様にログ検索画面生成部84も、更新ボタンをジョブ確認画面に配置してもよい。ポータルサーバ18はログ更新指示部をさらに備え、ログ更新指示部は、更新ボタンの選択操作を受け付けた場合に、最新のメッセージログを取得する所定のコマンドを、要求元ユーザに対応するログ収集サーバ(ここでは第1ログ収集サーバ20aとする)へ送信してもよい。第1ログ収集サーバ20aのログ取得部50は、上記コマンドを受け付けると、予め定められたログ取得時間の経過に関わらず、即時に第1運用管理装置30aから最新のメッセージログを取得する。これにより、ジョブ確認画面およびログ検索画面において最新のメッセージログを検索対象に含めた検索を実施できる。
なお、更新ボタンが選択された際、ジョブフィルタまたは検索フィルタが選択済であり、言い換えれば検索条件が設定済であれば、上記コマンドの送信に続いて、ログ検索部88は、第1ログ収集サーバ20aに蓄積されたメッセージログの検索処理を自動で実行してもよい。
上記実施の形態では、第1運用管理装置30aおよび第2運用管理装置30bは、運用側ネットワーク内に設置され、PC12aおよびPC12bは、運用側ネットワークへのアクセスが禁止された開発側ネットワーク内に設置され、情報提供装置22は、それらのネットワークから独立した中立ネットワーク内に設置されることとした。ただし、情報提供装置22は、ネットワーク構成を問わず、第1運用管理装置30aおよび第2運用管理装置30bのセキュリティを向上させるために有用である。例えば、PC12aおよびPC12bが、第1運用管理装置30aおよび第2運用管理装置30bへのアクセスが禁止された状況において、情報提供装置22は、実施の形態の構成によって、PC12aおよびPC12bに対して、第1運用管理装置30aおよび第2運用管理装置30bが記録したログを閲覧可能なログビューワを提供でき、実施の形態と同様の効果を奏する。
上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。