(57)【特許請求の範囲】
【請求項１】
複数の機器と接続され、前記各機器の状態を示す稼働データを収集する管理サーバであって、
前記稼働データは、前記各機器の状態を示す値、前記稼働データが生成された時刻、前記稼働データが状態を示す機器に割り当てられた監視対象ＩＤ、および、前記状態を示す値の意味を示す監視項目ＩＤを含み、
前記管理サーバは、
プロセッサ、メモリ、および、インタフェースを備え、
前記インタフェースを介して前記稼働データを出力する要求が入力された場合、前記稼働データの出力が要求された時刻と、前記出力が要求された稼働データに含まれる前記監視対象ＩＤと、前記出力が要求された稼働データに含まれる前記監視項目ＩＤと、の少なくとも一つを含むアクセスログを、前記メモリに格納し、
前記各機器において発生した障害または障害の予兆を示すインシデントが発生した場合、前記インシデントが発生した時刻と、前記インシデントが発生した機器に割り当てられた監視対象ＩＤと、前記インシデントが発生した監視項目ＩＤと、の少なくとも一つを含むインシデント情報を、前記メモリに格納し、
前記アクセスログに前記インシデント情報を関連付け、
前記アクセスログに関連付けられたインシデント情報と前記アクセスログとに従って、前記アクセスログに含まれる情報を、所定の規則によって抽象化された文字列に更新し、
前記抽象化された文字列に更新された前記情報を含む、抽象アクセスログを生成し、
前記インタフェースを介して第１のインシデント情報を示す値が入力された場合、前記第１のインシデント情報に基づいて、前記生成された抽象アクセスログから少なくとも一つの第１の抽象アクセスログを特定し、
前記第１の抽象アクセスログと前記第１のインシデント情報とに基づいて、出力すべき前記稼働データが生成された時刻と、前記出力すべき稼働データに含まれる監視対象ＩＤと、前記出力すべき稼働データに含まれる監視項目ＩＤとの、少なくとも一つの情報を含む前記出力すべき稼働データの条件を特定し、
前記特定された稼働データの条件を出力することを特徴とする管理サーバ。
【請求項２】
請求項１に記載された管理サーバであって、
前記インタフェースを介して前記第１のインシデント情報を示す値が入力された場合、前記メモリに格納されたインシデント情報から、前記第１のインシデント情報と類似する第２のインシデント情報を特定し、
前記第２のインシデント情報が関連付けられた少なくとも一つの第１のアクセスログを前記メモリに格納されたアクセスログから特定し、
前記第１のアクセスログと前記第２のインシデント情報とに従って生成された前記抽象アクセスログを、前記第１の抽象アクセスログとして特定することを特徴とする管理サーバ。
【請求項３】
請求項２に記載された管理サーバであって、
前記第１のアクセスログと前記第２のインシデント情報とに基づいて、前記第２のインシデント情報が示すインシデントを解決するための作業における第１の重要度であって、前記第１のアクセスログが示すアクセスの第１の重要度を、前記少なくとも一つの第１の抽象アクセスログに対応して算出し、
前記第１の抽象アクセスログと前記第１のインシデント情報とに基づいて特定された前記稼働データの条件を、前記第１の重要度が高い順に強調されるように出力することを特徴とする管理サーバ。
【請求項４】
請求項３に記載された管理サーバであって、
前記各機器は、少なくとも一つのグループに分類され、
前記アクセスログは、前記グループを示すグループＩＤを含み、
前記インシデント情報は、前記インシデントが発生した機器が分類される前記グループを示すグループＩＤを含み、
前記第２のインシデント情報に含まれるグループＩＤと、前記第１のアクセスログに含まれるグループＩＤとが一致する場合、所定の値を前記第１の重要度に加算することによって、前記第１の重要度を算出することを特徴とする管理サーバ。
【請求項５】
請求項１に記載された管理サーバであって、
インシデントによって影響を受ける機器と当該インシデントが発生した機器との関係を示す依存関係データを定義し、
前記インシデント情報に含まれる監視対象ＩＤが示す機器と、前記アクセスログに含まれる監視対象ＩＤが示す機器とが、前記依存関係データに定義される関係か否かを判定し、
前記判定の結果、前記インシデント情報に含まれる監視対象ＩＤが示す機器と、前記アクセスログに含まれる監視対象ＩＤが示す機器とが、前記依存関係データに定義される関係である場合、前記アクセスログに含まれる監視対象ＩＤを、前記定義された関係を示す文字列に更新することによって、前記抽象アクセスログを生成することを特徴とする管理サーバ。
【請求項６】
請求項１に記載された管理サーバであって、
前記機器が提供するサービスを示すサービス情報を定義し、
前記インシデント情報の監視対象ＩＤが示す機器が提供するサービスのうち、前記アクセスログの監視対象ＩＤが示す機器が提供するサービスと一致するサービスが、前記サービス情報に定義されているか否かを判定し、
前記判定の結果、前記インシデント情報の監視対象ＩＤが示す機器が提供する前記サービスのうち、前記アクセスログの監視対象ＩＤが示す機器が提供するサービスと一致する前記サービスが、前記サービス情報に定義されている場合、前記アクセスログに含まれる監視対象ＩＤを、前記定義されたサービスを示す文字列に更新することによって、前記抽象アクセスログを生成することを特徴とする管理サーバ。
【請求項７】
請求項１に記載された管理サーバであって、
前記アクセスログは、前記稼働データの出力を要求した要求元を示す要求元ＩＤを含み、
前記インシデント情報は、前記インシデントが解決された時刻を含み、
前記管理サーバは、
前記要求元ＩＤと、前記要求元が監視業務を担当する機器を示す前記監視対象ＩＤと、前記要求元が監視業務を担当する監視項目を示す監視項目ＩＤとを含む担当者情報を保持し、
前記インシデント情報が示すインシデントが発生してから前記インシデントが解決するまでに要求された前記稼働データの出力を前記アクセスログが示すか、前記インシデント情報に含まれる監視対象ＩＤおよび監視項目ＩＤが前記アクセスログに含まれる要求元ＩＤが監視業務を担当する監視対象および監視項目を示すか、または、前記インシデント情報に含まれる監視対象ＩＤと前記アクセスログに含まれる監視対象ＩＤとが一致するか否かを、前記アクセスログと前記インシデント情報と前記担当者情報とに基づいて判定することによって、前記アクセスログと前記インシデント情報とが関連するかを判定し、
前記判定の結果、前記アクセスログと前記インシデント情報とが関連する場合、前記アクセスログに前記インシデント情報を関連付けることを特徴とする管理サーバ。
【請求項８】
請求項１に記載された管理サーバであって、
前記抽象アクセスログは、前記抽象化された文字列によって更新された前記アクセスログに関連付けられた前記インシデント情報を示すインシデントＩＤを含み、
前記管理サーバは、
前記インタフェースを介して第１のインシデント情報が前記メモリに格納された場合、前記第１のインシデント情報に含まれる情報を、所定の規則によって抽象化された少なくとも一つの文字列に更新し、
前記抽象化された文字列に更新された情報と、前記第１のインシデント情報を示すインシデントＩＤとを含む、少なくとも一つの第１の抽象インシデント情報を生成し、
前記インタフェースを介して第１のインシデント情報を示す値が入力された場合、前記第１の抽象インシデント情報を特定し、
前記特定された第１の抽象インシデント情報に含まれるインシデントＩＤを含む少なくとも一つの第２の抽象アクセスログを、前記第１の抽象アクセスログとして特定することを特徴とする管理サーバ。
【請求項９】
請求項８に記載された管理サーバであって、
前記管理サーバは、
前記第２の抽象アクセスログと、前記第１の抽象インシデント情報とに基づいて、前記第１の抽象インシデント情報が示すインシデントを解決するための作業における第２の重要度であって、前記第２の抽象アクセスログが示すアクセスの第２の重要度を、前記第１の抽象インシデント情報ごとに算出し、
前記第１の抽象インシデント情報における前記第２の抽象アクセスログの前記第２の重要度の分布が、所定の値より小さい前記第１の抽象インシデント情報を削除することを特徴とする管理サーバ。
【請求項１０】
複数の機器に接続され、前記各機器の状態を示す稼働データを収集する管理サーバと、を備える管理システムであって、
前記稼働データは、前記各機器の状態を示す値、前記稼働データが生成された時刻、前記稼働データが状態を示す機器に割り当てられた監視対象ＩＤ、および、前記状態を示す値の意味を示す監視項目ＩＤを含み、
前記管理サーバは、
プロセッサ、メモリ、および、インタフェースを備え、
前記インタフェースを介して前記稼働データを出力する要求が入力された場合、前記稼働データの出力が要求された時刻と、前記出力が要求された稼働データに含まれる前記監視対象ＩＤと、前記出力が要求された稼働データに含まれる前記監視項目ＩＤと、の少なくとも一つを含むアクセスログを、前記メモリに格納し、
前記各機器において発生した障害または障害の予兆を示すインシデントが発生した場合、前記インシデントが発生した時刻と、前記インシデントが発生した機器に割り当てられた監視対象ＩＤと、前記インシデントが発生した監視項目ＩＤと、の少なくとも一つを含むインシデント情報を、前記メモリに格納し、
前記アクセスログに前記インシデント情報を関連付け、
前記アクセスログに関連付けられたインシデント情報と前記アクセスログとに従って、前記アクセスログに含まれる情報を、所定の規則によって抽象化された文字列に更新し、
前記抽象化された文字列に更新された前記情報を含む、抽象アクセスログを生成し、
前記インタフェースを介して第１のインシデント情報を示す値が入力された場合、前記第１のインシデント情報に基づいて、前記生成された抽象アクセスログから少なくとも一つの第１の抽象アクセスログを特定し、
前記第１の抽象アクセスログと前記第１のインシデント情報とに基づいて、出力すべき前記稼働データが生成された時刻と、前記出力すべき稼働データに含まれる監視対象ＩＤと、前記出力すべき稼働データに含まれる監視項目ＩＤとの、少なくとも一つの情報を含む前記出力すべき稼働データの条件を特定し、
前記特定された稼働データの条件を出力することを特徴とする管理システム。
【請求項１１】
請求項１０に記載された管理システムであって、
前記インタフェースを介して前記第１のインシデント情報を示す値が入力された場合、前記メモリに格納されたインシデント情報から、前記第１のインシデント情報と類似する第２のインシデント情報を特定し、
前記第２のインシデント情報が関連付けられた少なくとも一つの第１のアクセスログを前記メモリに格納されたアクセスログから特定し、
前記第１のアクセスログと前記第２のインシデント情報とに従って生成された前記抽象アクセスログを、前記第１の抽象アクセスログとして特定することを特徴とする管理システム。
【請求項１２】
請求項１０に記載された管理システムであって、
前記抽象アクセスログは、前記抽象化された文字列によって更新された前記アクセスログに関連付けられた前記インシデント情報を示すインシデントＩＤを含み、
前記管理システムは、
前記インタフェースを介して第１のインシデント情報が前記メモリに格納された場合、前記第１のインシデント情報に含まれる情報を、所定の規則によって抽象化された少なくとも一つの文字列に更新し、
前記抽象化された文字列に更新された情報と、前記第１のインシデント情報を示すインシデントＩＤとを含む、少なくとも一つの第１の抽象インシデント情報を生成し、
前記インタフェースを介して第１のインシデント情報を示す値が入力された場合、前記第１の抽象インシデント情報を特定し、
前記特定された第１の抽象インシデント情報に含まれるインシデントＩＤを含む少なくとも一つの第２の抽象アクセスログを、前記第１の抽象アクセスログとして特定することを特徴とする管理システム。
【請求項１３】
複数の機器に接続され、前記各機器の状態を示す稼働データを収集する管理サーバによる管理方法であって、
前記稼働データは、前記各機器の状態を示す値、前記稼働データが生成された時刻、前記稼働データが状態を示す機器に割り当てられた監視対象ＩＤ、および、前記状態を示す値の意味を示す監視項目ＩＤを含み、
前記管理サーバは、プロセッサ、メモリ、および、インタフェースを備え、
前記プロセッサが、前記インタフェースを介して前記稼働データを出力する要求が入力された場合、前記稼働データの出力が要求された時刻と、前記出力が要求された稼働データに含まれる前記監視対象ＩＤと、前記出力が要求された稼働データに含まれる前記監視項目ＩＤと、の少なくとも一つを含むアクセスログを、前記メモリに格納し、
前記プロセッサが、前記各機器において発生した障害または障害の予兆を示すインシデントが発生した場合、前記インシデントが発生した時刻と、前記インシデントが発生した機器に割り当てられた監視対象ＩＤと、前記インシデントが発生した監視項目ＩＤと、の少なくとも一つを含むインシデント情報を、前記メモリに格納し、
前記プロセッサが、前記アクセスログに前記インシデント情報を関連付け、
前記プロセッサが、前記アクセスログに関連付けられたインシデント情報と前記アクセスログとに従って、前記アクセスログに含まれる情報を、所定の規則によって抽象化された文字列に更新し、
前記プロセッサが、前記抽象化された文字列に更新された前記情報を含む、抽象アクセスログを生成し、
前記プロセッサが、前記インタフェースを介して第１のインシデント情報を示す値が入力された場合、前記第１のインシデント情報に基づいて、前記生成された抽象アクセスログから少なくとも一つの第１の抽象アクセスログを特定し、
前記プロセッサが、前記第１の抽象アクセスログと前記第１のインシデント情報とに基づいて、出力すべき前記稼働データが生成された時刻と、前記出力すべき稼働データに含まれる監視対象ＩＤと、前記出力すべき稼働データに含まれる監視項目ＩＤとの、少なくとも一つの情報を含む前記出力すべき稼働データの条件を特定し、
前記プロセッサが、前記特定された稼働データの条件を出力することを特徴とする管理方法。
【請求項１４】
請求項１３に記載された管理方法であって、
前記プロセッサが、前記インタフェースを介して前記第１のインシデント情報を示す値が入力された場合、前記メモリに格納されたインシデント情報から、前記第１のインシデント情報と類似する第２のインシデント情報を特定し、
前記プロセッサが、前記第２のインシデント情報が関連付けられた少なくとも一つの第１のアクセスログを前記メモリに格納されたアクセスログから特定し、
前記プロセッサが、前記第１のアクセスログと前記第２のインシデント情報とに従って生成された前記抽象アクセスログを、前記第１の抽象アクセスログとして特定することを特徴とする管理方法。
【請求項１５】
請求項１３に記載された管理方法であって、
前記抽象アクセスログは、前記抽象化された文字列によって更新された前記アクセスログに関連付けられた前記インシデント情報を示すインシデントＩＤを含み、
前記管理方法は、
前記プロセッサが、前記インタフェースを介して第１のインシデント情報が前記メモリに格納された場合、前記第１のインシデント情報に含まれる情報を、所定の規則によって抽象化された少なくとも一つの文字列に更新し、
前記プロセッサが、前記抽象化された文字列に更新された情報と、前記第１のインシデント情報を示すインシデントＩＤとを含む、少なくとも一つの第１の抽象インシデント情報を生成し、
前記プロセッサが、前記インタフェースを介して第１のインシデント情報を示す値が入力された場合、前記第１の抽象インシデント情報を特定し、
前記プロセッサが、前記特定された第１の抽象インシデント情報に含まれるインシデントＩＤを含む少なくとも一つの第２の抽象アクセスログを、前記第１の抽象アクセスログとして特定することを特徴とする管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理サーバに関し、特に、サービス管理業務の管理サーバに関する。
【背景技術】
【０００２】
コンピュータシステムの運用管理者は、コンピュータシステムにおいて動作するサービスに影響する障害と、その障害の予兆を示す異常とを監視するサービス管理業務（または、監視業務）を行う。運用管理者は、監視業務において、障害または異常が検出された場合、検出された障害または異常の原因を分析し、分析結果に従い必要に応じて対策を講じる。【０００３】
以下では、前述のような障害および異常を、Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  Ｌｉｂｒａｒｙ（ＩＴＩＬ）の用語に従って、インシデントと呼ぶ。【０００４】
前述のような監視業務を支援するソフトウェアには、監視ツールとインシデント管理ツールとがある。【０００５】
監視ツールは、インシデントの検出および原因分析を支援するソフトウェアである。監視ツールは、第１の機能として、監視対象のハードウェアおよびソフトウェアと通信し、システムの稼働状況を示すデータを収集する機能を持つ。【０００６】
稼働状況を示すデータには、ＣＰＵ使用率などのコンピュータシステムの性能を示すデータ（数値）、および、アプリケーションログなどのログ（文字列）がある。近年では、多種多様なログを収集し、収集されたログを運用管理者に検索させる監視ツールも提案されている。以下では、これらの数値および文字列を稼働データと総称する。【０００７】
また、監視ツールは、第２の機能として、稼働データがあらかじめ指定された条件を満たした場合、運用管理者へアラートを送信する機能を持つ。さらに、監視ツールは、第３の機能として、稼働データを線グラフまたは棒グラフなどの運用管理者が内容を認識できるような表示データに加工し、加工された表示データを管理者端末の画面上に表示する機能を持つ。【０００８】
一方、インシデント管理ツールは、過去のインシデントの内容と、過去のインシデントに講じられた対策とを管理するためのソフトウェアである。運用管理者は、新たなインシデントが発生した場合、インシデントの内容をインシデント管理ツールに登録する。そして、運用管理者がインシデントを処理する過程において判明した原因、および、インシデントに講じられた対策も、運用管理者は、インシデント管理ツールに登録する。これは、過去のインシデントと同様のインシデントが将来発生した場合に、運用管理者が、過去のノウハウを活用できるようにするためである。【０００９】
監視ツールとインシデント管理ツールとはともに用いられることが多いため、監視ツールとインシデント管理ツールとを統合した製品も提案されている。以下では、このような製品をサービス管理サーバと呼ぶ。サービス管理サーバは、運用管理者の作業時間短縮に有効である。【００１０】
例えば、サービス管理サーバは、監視ツールによって送信されたアラートに基づいて、サービス管理サーバに接続される記憶領域にインシデントを自動的に登録できる。このため、サービス管理サーバは、運用管理者がインシデントを登録する作業を削減できる。【００１１】
また、例えば、サービス管理サーバは、インシデントに関する情報を画面に表示することによって、表示されたインシデントが検出された監視対象の稼働データを示す画面へ、運用管理者を導くことができる。このため、サービス管理サーバは、インシデントが検出された監視対象の稼働データを運用管理者が検索する作業を削減できる。【００１２】
運用管理者は、インシデントの原因を分析するため、多種多様な稼働データを閲覧する必要がある。このため、サービス管理サーバを用いた監視業務には、１人の運用管理者が監視業務を担当するハードウェアおよびソフトウェアの種類または数が増加すると、インシデントの原因を分析するために必要な時間が長くなるという課題がある。【００１３】
さらに、近年インシデントの原因分析のためにルールベースを用いる技術を採用したサービス管理サーバが登場している。しかし、このようなルールベースを用いた技術を採用した場合も、自動的に検出された根本原因の正しさを検証するため、運用管理者が稼働データを閲覧する必要がある。従って、サービス監視サーバによる監視業務には、運用管理者による閲覧時間が長くなるという課題がある。【００１４】
閲覧時間の短縮という課題の解決方法には、サービス管理サーバが、運用管理者の作業（稼働データの閲覧を含む）の順序をあらかじめ手順書として保持し、運用管理者にインシデントの内容に従って手順書を参照させることによって、運用管理者が確認するべき稼働データと、講じるべき対策とを運用管理者に把握させる方法がある。しかし、この場合、運用管理者が事前に手順書を作成するためのコストがかかる。【００１５】
また、閲覧時間を短縮するための技術には、インシデント状態とナレッジＤＢとに基づいて、遠隔保守操作の手順を自動的に生成する方法が提案されている（例えば、特許文献１参照）。特許文献１に記載された技術は、インシデント状態に従って、手順の一部を自動生成するため、手順書を生成するためのコストを下げることができる。しかし、特許文献１に記載された技術は、ＤＢにナレッジがあらかじめ蓄積されていないインシデントに対応する手順を、生成できない。【００１６】
さらに、閲覧時間を短縮するための技術には、新たに発生したインシデントに類似する過去のインシデントを特定し、特定された過去のインシデントへの対策を運用管理者へ提示する方法が提案されている（例えば、特許文献２参照）。しかし、特許文献２に記載された技術において、過去のインシデントへの対策が特定されても、特定された対策が新しいインシデントの場合にどのような意味を持つかを運用担当者が解釈する時間がかかる。また、過去のインシデントへの対策の内容には企業秘密が含まれる可能性があるため、異なる企業間の監視業務は、過去のインシデントへの対策をそのまま共有できない。【００１７】
一方、Ｗｅｂサイト等に適用される従来の推薦技術は、各データに対するアクセス数の偏りを算出し、頻繁に行われるアクセスをユーザに推薦することができる。このような推薦技術をサービス管理サーバに適用し、運用管理者が事前に手順書を作成することなく、稼働データの閲覧時間を短縮する技術が提案されている（例えば、特許文献３参照）。特許文献３に記載された技術は、複数の属性を持つＷｅｂページへのアクセスログから、Ｗｅｂページを推薦する技術である。【００１８】
稼働データは、監視対象、監視項目（稼働データが含む値の種類）、または、日時などを属性として持つため、サービス管理サーバは、稼働データを前述のＷｅｂページと同様に処理することが可能である。しかし、サービス管理サーバの場合、インシデントの内容によって運用管理者がアクセスするべき対象の稼働データが異なるため、特定の稼働データにアクセスが偏ることは少ない。従って、サービス管理サーバのアクセスログに従来の推薦技術を適用しても、十分な推薦ができない。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２０１０−２２４８２９号公報
【特許文献２】特開２００９−１１０２９３号公報
【特許文献３】特開２０１１−１０８０３４号公報
【発明の概要】
【発明が解決しようとする課題】
【００２０】
事前に運用管理者が手順書を作成することなく、新たに発生したインシデントの内容に従って、サービス管理サーバから運用管理者に、運用管理者が確認すべき稼働データを推薦する技術の提供を目的とする。
【課題を解決するための手段】
【００２１】
本発明の代表的な一例を示せば以下のとおりである。すなわち、複数の機器と接続され、前記各機器の状態を示す稼働データを収集する管理サーバであって、前記稼働データは、前記各機器の状態を示す値、前記稼働データが生成された時刻、前記稼働データが状態を示す機器に割り当てられた監視対象ＩＤ、および、前記状態を示す値の意味を示す監視項目ＩＤを含み、前記管理サーバは、プロセッサ、メモリ、および、インタフェースを備え、前記インタフェースを介して前記稼働データを出力する要求が入力された場合、前記稼働データの出力が要求された時刻と、前記出力が要求された稼働データに含まれる前記監視対象ＩＤと、前記出力が要求された稼働データに含まれる前記監視項目ＩＤと、の少なくとも一つを含むアクセスログを、前記メモリに格納し、前記各機器において発生した障害または障害の予兆を示すインシデントが発生した場合、前記インシデントが発生した時刻と、前記インシデントが発生した機器に割り当てられた監視対象ＩＤと、前記インシデントが発生した監視項目ＩＤと、の少なくとも一つを含むインシデント情報を、前記メモリに格納し、前記アクセスログに前記インシデント情報を関連付け、前記アクセスログに関連付けられたインシデント情報と前記アクセスログとに従って、前記アクセスログに含まれる情報を、所定の規則によって抽象化された文字列に更新し、前記抽象化された文字列に更新された前記情報を含む、抽象アクセスログを生成し、前記インタフェースを介して第１のインシデント情報を示す値が入力された場合、前記第１のインシデント情報に基づいて、前記生成された抽象アクセスログから少なくとも一つの第１の抽象アクセスログを特定し、前記第１の抽象アクセスログと前記第１のインシデント情報とに基づいて、出力すべき前記稼働データが生成された時刻と、前記出力すべき稼働データに含まれる監視対象ＩＤと、前記出力すべき稼働データに含まれる監視項目ＩＤとの、少なくとも一つの情報を含む前記出力すべき稼働データの条件を特定し、前記特定された稼働データの条件を出力する。
【発明の効果】
【００２２】
本発明の一実施形態によると、運用管理者が確認すべき稼働データを運用管理者に推薦できる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１の実施形態のコンピュータシステムの物理的な構成を示すブロック図である。
【図２】本発明の第１の実施形態のサービス管理サーバの物理的な構成とサービス管理サーバが保持する情報とを示すブロック図である。
【図３】本発明の第１の実施形態のデータベースに格納されるデータを示す説明図である。
【図４】本発明の第１の実施形態の稼働データを示す説明図である。
【図５】本発明の第１の実施形態の稼働データ表示設定を示す説明図である。
【図６】本発明の第１の実施形態の運用管理者情報を示す説明図である。
【図７】本発明の第１の実施形態のアクセスログを示す説明図である。
【図８】本発明の第１の実施形態のインシデント情報を示す説明図である。
【図９】本発明の第１の実施形態の担当者情報を示す説明図である。
【図１０】本発明の第１の実施形態のインシデント付きアクセスログを示す説明図である。
【図１１】本発明の第１の実施形態の依存関係データを示す説明図である。
【図１２】本発明の第１の実施形態のサービス情報を示す説明図である。
【図１３】本発明の第１の実施形態の抽象アクセスログを示す説明図である。
【図１４Ａ】本発明の第１の実施形態のインシデント付きアクセスログの生成処理のうち、時刻に基づいて関連するインシデント情報を取得する処理を示すフローチャートである。
【図１４Ｂ】本発明の第１の実施形態のインシデント付きアクセスログの生成処理のうち、運用管理者または監視対象によって関連するインシデント情報を取得する処理を示すフローチャートである。
【図１５Ａ】本発明の第１の実施形態のアクセスログを抽象化する処理のうち、監視対象および監視項目を抽象化する処理を示すフローチャートである。
【図１５Ｂ】本発明の第１の実施形態のアクセスログを抽象化する処理のうち、インシデント発生元以外の監視対象を抽象化する処理を示すフローチャートである。
【図１５Ｃ】本発明の第１の実施形態のアクセスログを抽象化する処理のうち、表示期間および絞り込み条件を抽象化する処理を示すフローチャートである。
【図１６】本発明の第１の実施形態の稼働データ表示プログラムによる稼働データの推薦処理を示すフローチャートである。
【図１７】本発明の第１の実施形態の重み付き抽象アクセスログを示す説明図である。
【図１８】本発明の第１の実施形態のアクセスパターンを示す説明図である。
【図１９Ａ】本発明の第１の実施形態の稼働データ表示プログラムが重み付き抽象アクセスログを生成する処理を示すフローチャートである。
【図１９Ｂ】本発明の第１の実施形態の稼働データ表示プログラムがアクセスパターンを生成する処理を示すフローチャートである。
【図２０Ａ】本発明の第１の実施形態の運用管理者に推薦する稼働データを表示するための画面を示す説明図である。
【図２０Ｂ】本発明の第１の実施形態のアクセスパターンに基づいて運用管理者に推薦する稼働データのみを表示するための画面を示す説明図である。
【図２１】本発明の第２の実施形態のサービス管理サーバの物理的な構成とサービス管理サーバが保持する情報とを示すブロック図である。
【図２２】本発明の第２の実施形態のデータベースに格納されるデータを示す説明図である。
【図２３】本発明の第２の実施形態の抽象インシデント情報を示す説明図である。
【図２４Ａ】本発明の第２の実施形態の抽象インシデント情報を生成する処理のうち、監視対象ＩＤ、監視項目ＩＤ、および、インシデントの内容を抽象化する処理を示すフローチャートである。
【図２４Ｂ】本発明の第２の実施形態の抽象インシデント情報を生成する処理のうち、抽出化されたインシデント情報を抽象インシデント情報に格納する処理を示すフローチャートである。
【図２５】本発明の第２の実施形態の稼働データ表示プログラムが、運用管理者から稼働データの表示要求を受けた際に、稼働データを推薦する処理を示すフローチャートである。
【図２６】本発明の第２の実施形態の運用管理者に推薦する稼働データを表示するための画面を示す説明図である。
【発明を実施するための形態】
【００２４】
（第１の実施形態）
【００２５】
本発明のサービス管理サーバは、稼働データに運用管理者がアクセスした履歴を示すアクセスログを、各アクセスのきっかけとなったインシデントの情報と、監視対象の関係性を示すデータとに基づいて抽象化する。抽象化されたアクセスログ（以下、抽象アクセスログ）は、抽象アクセスログ間で監視対象または監視項目に共通部分を見いだしやすくなる。このため、抽象アクセスログの数には偏りが生じる。
【００２６】
このため、サービス管理サーバは、抽象アクセスログに推薦技術を適用することによって、各抽象アクセスログを順序づける。そして、新規インシデントが発生した場合、サービス管理サーバは、その新規インシデントと、順序付けされた抽象アクセスログと、監視対象間の関係性を示すデータと、を用いて、運用管理者に推薦すべき稼働データを決定する。
【００２７】
アクセスログを抽象化するために、本実施形態のサービス管理サーバは、監視対象間の関係性を示すデータを持つ。しかし、監視対象間の関係性を示すデータは自動的な手段で生成されるため、監視対象間の関係性を示すデータを生成するコストは手順書を作成するコストよりも低い。なお、監視対象間の関係性を示すデータを生成する方法には、トラフィック解析、構成管理データベース（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｍａｎａｇｅｍｅｎｔ  ｄａｔａｂａｓｅ、ＣＭＤＢ）からの変換、または、監視対象の設定ファイルからの変換などがある。
【００２８】
以下、図面を用いて第１の実施形態を説明する。
【００２９】
図１は、本発明の第１の実施形態のコンピュータシステムの物理的な構成を示すブロック図である。
【００３０】
第１の実施形態のコンピュータシステムは、サービス管理サーバ３、データベース４、管理者端末２０および複数の機器を備える。サービス管理サーバ３、データベース４、管理者端末２０および複数の機器は、管理ネットワーク１を介して接続される。
【００３１】
第１の実施形態のコンピュータシステムにおける複数の機器は、ユーザへサービスを提供するための機器である。複数の機器には、複数の物理マシン５（５−１〜５−８）、複数のスイッチ６（６−１〜６−６）、複数のルータ７（７−１、７−２）、複数のファイバチャネルスイッチ（ＦＣ−ＳＷ）８（８−１、８−２）、および、ストレージ９（９−１、９−２）などが含まれる。これらの機器は、物理的な通信回線２を介して管理ネットワーク１に接続される。
【００３２】
また、第１の実施形態のコンピュータシステムにおける機器は、ユーザへサービスを提供するため、物理的な通信回線１１を介して、サービスを提供するためのＷｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）１０（１０−１、１０−２）に、相互に接続される。
【００３３】
物理マシン５、スイッチ６およびルータ７は、ＣＰＵなどのプロセッサ、および、メモリを備える計算機であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を実行する。また、ＦＣ−ＳＷ８およびストレージ９が自らのコントローラを備える場合、ＦＣ−ＳＷ８およびストレージ９は、ＣＰＵなどのプロセッサ、および、メモリを備える計算機であり、ＯＳを実行する。
【００３４】
一つの物理マシン５は、複数の仮想マシンを実装してもよい。また、複数の物理マシン５が、一つの仮想マシンを実装してもよい。各仮想マシンは、物理マシン５において、ＯＳを実行してもよい。
【００３５】
スイッチ６は、ルータ７と物理マシン５とを接続するネットワーク機器である。ルータ７は、運用管理者が監視または設定を行うコンピュータシステムと、ＷＡＮ１０とを接続するネットワーク機器である。ＦＣ−ＳＷ８は、物理マシン５とストレージ９との間のトラフィックを仲介するネットワーク機器である。ストレージ９は、物理マシンの利用するデータを格納する機器である。
【００３６】
第１の実施形態のコンピュータシステムにおける前述の機器は、複数の企業または組織に貸し出される。グループ１２は、本実施形態において、各企業に貸し出される機器の集合である。貸し出される機器は、物理マシン５ごとに貸し出されても、仮想マシンごとに貸し出されてもよい。また、例えばグループ１２として、一つの仮想マシンと、物理マシン５−２と、スイッチ６−２と、ＦＣ−ＳＷ８−１と、ストレージ９−１のうち一部の記憶領域と、が貸し出されてもよい。
【００３７】
一般的に、あるグループ１２を貸し出された企業または組織の運用管理者は、他のグループ１２の仮想マシンまたはストレージ９などの機器を利用できない。一方、スイッチ６またはＦＣ−ＳＷ８などの一部の機器は、複数のグループ１２に貸し出されてもよい。これは、例えば、スイッチ６は各ＷＡＮ１０から各物理マシン５または仮想マシンへの通信を、グループ１２ごとに切り替えるように設定されるためである。また、ＦＣ−ＳＷ８は、各物理マシン５からストレージ９の一部の記憶領域への通信を、グループ１２ごとに切り替えるように設定されるためである。
【００３８】
また、各企業に貸し出されたグループ１２における、サービスに関する稼働データ、および、インシデント情報は、各企業の企業秘密を含む可能性がある。このため、あるグループ１２の運用管理者は、他のグループ１２の稼働データ、および、インシデント情報を閲覧できない。
【００３９】
第１の実施形態のコンピュータシステムにおける管理ネットワーク１および通信回線２は、運用管理者が各機器の監視および設定を行うためのネットワークである。なお、運用管理者は、管理ネットワーク１を用いず、通信回線１１によって各機器の監視および設定を行ってもよい。これは、例えば、各機器の監視のためのデータを送受信するためのトラフィック量が少なく、通信回線１１に監視のためのトラフィックと各機器が提供するサービスに関するトラフィックとが、十分に収容される場合など、運用管理者は通信回線１１によって、各機器を監視し、また、各機器を設定すればよいためである。
【００４０】
サービス管理サーバ３は、各機器のハードウェア（物理マシン５、スイッチ６、ルータ７、ＦＣ−ＳＷ８およびストレージ９）およびハードウェアにおいて実行されるソフトウェアから稼働データを収集する監視ツールの機能と、インシデントの情報を管理するインシデント管理ツールの機能とを、運用管理者に提供するサーバである。さらに、本発明のサービス管理サーバ３は、運用管理者に、稼働データの推薦機能を提供する機能を有する。
【００４１】
データベース４は、各機器から収集された稼働データを格納するための記憶領域である。また、データベース４は、監視ツールの機能、インシデント管理ツールの機能および本発明の推薦機能を提供するために必要なデータを格納する記憶領域である。
【００４２】
管理者端末２０は、第１の実施形態のコンピュータシステムの運用管理者が利用する端末である。具体的には、サービス管理サーバ３によって提供される機能を、運用管理者に表示するための装置である。また、管理者端末２０は、運用管理者によって入力されるサービス管理サーバ３への要求を、サービス管理サーバ３に送信するための装置である。
【００４３】
管理者端末２０は、サービス管理サーバ３が有する各プログラムと通信するためのソフトウェア（以下、管理クライアント）を有する。管理者端末２０が有する管理クライアントは、例えば、専用の通信プロトコルを利用するＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、または、ＨＴＴＰによって通信するＷｅｂブラウザなどである。本実施形態において、管理クライアントはＷｅｂブラウザとする。
【００４４】
図２は、本発明の第１の実施形態のサービス管理サーバ３の物理的な構成とサービス管理サーバ３が保持する情報とを示すブロック図である。
【００４５】
サービス管理サーバ３は、インタフェース（Ｉ／Ｆ）３１、プロセッサ３２、および、メモリ３３を備える計算機である。Ｉ／Ｆ３１、プロセッサ３２、および、メモリ３３は、データパス３４によって接続される。
【００４６】
サービス管理サーバ３は、Ｉ／Ｆ３１を介して、管理ネットワーク１と通信する。プロセッサ３２は、ＣＰＵ等の演算装置である。メモリ３３は、プログラムおよびデータを保持するための記憶領域である。プロセッサ３２は、メモリ３３に保持された各プログラムを、データパス３４を介して読み出すことによって、各プログラムを実行する。
【００４７】
メモリ３３は、稼働データ収集プログラム３３１、稼働データ表示プログラム３３２、インシデント登録プログラム３３３、インシデント表示プログラム３３４、関連インシデント発見プログラム３３５、および、アクセスログ抽象化プログラム３３６を保持する。
【００４８】
稼働データ収集プログラム３３１は、図１に示す各機器から稼働データを収集するプログラムである。一般的な収集方法には、各機器においてＳｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ（ＳＮＭＰ）などのエージェントをあらかじめ実行させる方法がある。そして、稼働データ収集プログラム３３１が各機器上のエージェントと通信することによって、稼働データ収集プログラム３３１は稼働データを収集する。稼働データ収集プログラム３３１は、収集された稼働データをデータベース４に格納する。
【００４９】
なお、本実施形態のコンピュータシステムの各機器のうち、ＯＳを備える機器は、ＣＰＵ使用率またはメモリ使用率等の各機器の性能を示す情報を、ＯＳの機能またはＯＳ上にインストールされたエージェントプログラムによって、定期的または指定された時刻に、所定の機器に出力する。また、各機器は、各サービスを提供するために実行するアプリケーションの実行状況を示す情報を、アプリケーションの機能によって定期的、または、インシデントが発生した際に、所定の機器に出力する。
【００５０】
そして、稼働データ収集プログラム３３１は、各機器に出力された、機器の性能を示す情報およびアプリケーションの実行状況を示す情報を、稼働データとして収集する。
【００５１】
稼働データには、稼働データがその性能を示す機器の識別子、または、稼働データがその実行状況を示すアプリケーションを実行する機器の識別子が含まれる。本実施形態において、稼働データが性能または実行状況を示すこれらの機器を、監視対象と記載する。
【００５２】
また、稼働データには、稼働データが示す性能の名称の識別子、または、稼働データが示す実行状況の名称の識別子が含まれる。本実施形態において、稼働データが性能または実行状況を示すこれらの名称を、監視項目と記載する。
【００５３】
なお、本実施形態における監視対象には、仮想マシンが含まれる。このため、本実施形態における仮想マシンにも、監視対象の識別子があらかじめ割り当てられる。
【００５４】
稼働データ表示プログラム３３２は、管理者端末２０から送信される要求に従って、要求を送信した運用管理者が所属するグループ１２を特定し、特定されたグループ１２の稼働データを、管理者端末２０に表示するプログラムである。
【００５５】
運用管理者にとっての利便性を高めるために、稼働データ表示プログラム３３２は、１画面に表示する稼働データの種類を、運用管理者の要求に従ってカスタマイズするための機能を有する。また、本実施形態の稼働データ表示プログラム３３２は、稼働データ表示プログラム３３２が用いられた詳細な履歴を示すアクセスログを、データベース４に格納する。
【００５６】
以下では、稼働データ表示プログラム３３２が用いられた詳細な履歴を、単にアクセスログと呼ぶ。具体的には、本実施形態におけるアクセスログは、運用管理者が稼働データを表示した履歴、すなわち、運用管理者が稼働データにアクセスした履歴を示す。稼働データ表示プログラム３３２は、このアクセスログを加工した抽象アクセスログを用いて、後述する稼働データの推薦機能を、運用管理者に提供する。
【００５７】
インシデント登録プログラム３３３は、運用管理者による管理者端末２０への入力の内容を示し、かつ管理者端末２０から送信される入力情報、または、監視ツールによって送信されるアラートの内容を示すアラート情報に基づいて、インシデントに関する情報（以下、インシデント情報）を生成するプログラムである。そして、インシデント登録プログラム３３３は、生成されたインシデント情報をデータベース４に格納する。また、インシデント登録プログラム３３３は、運用管理者による入力情報に従って、データベース４に格納されたインシデント情報を更新する。
【００５８】
インシデント表示プログラム３３４は、管理者端末２０から送信される要求に従って、要求を送信した運用管理者が所属するグループ１２を特定し、特定されたグループ１２のインシデント情報を、管理者端末２０に表示するプログラムである。また、インシデント表示プログラム３３４は、さらに、インシデントが検出された監視対象の稼働データを表示する機能（インシデント表示プログラム３３４がＷｅｂアプリケーションによって実装される場合、稼働データ表示プログラム３３２へのリンクを表示する機能）も提供する。
【００５９】
インシデントが検出された監視対象の稼働データを表示する機能によって稼働データを表示した場合、本実施形態のインシデント表示プログラム３３４は、インシデント表示プログラム３３４によって表示されたインシデントを一意に示す識別子（インシデントＩＤ）を、稼働データ表示プログラム３３２に入力する。これは、インシデント表示プログラム３３４が、稼働データを表示したことを示すアクセスログと、稼働データを表示する理由となったインシデントとを、関連付けるためである。
【００６０】
具体的には、インシデント表示プログラム３３４がＷｅｂアプリケーションによって実装される場合、ＵＲＬのパラメータにインシデントの識別子を含め、稼働データ表示プログラム３３２にＵＲＬを入力する。
【００６１】
関連インシデント発見プログラム３３５は、データベース４に格納された各アクセスログに関連するインシデントを特定するプログラムである。稼働データ表示プログラム３３２が実行された際に、インシデント表示プログラム３３４などのプログラムから稼働データ表示プログラム３３２へインシデントＩＤが入力されなかった場合、アクセスログにはインシデントＩＤが関連付けられていない。
【００６２】
しかし、そのようなアクセスログのなかにも、インシデントの原因分析と関連するものが含まれている可能性がある。関連インシデント発見プログラム３３５は、インシデントがまだ関連付けられておらず、かつ、インシデントに関連する履歴を示すアクセスログを、インシデントに関連付けるためのプログラムである。
【００６３】
アクセスログ抽象化プログラム３３６は、データベース４に格納された各データを用いて、抽象アクセスログを生成するプログラムである。関連インシデント発見プログラム３３５およびアクセスログ抽象化プログラム３３６は、定期的なバッチ処理によって実行されてもよい。
【００６４】
稼働データ表示プログラム３３２、関連インシデント発見プログラム３３５、および、アクセスログ抽象化プログラム３３６の処理を示すフローチャートは後述する。
【００６５】
なお、サービス管理サーバ３は、図２に示すプログラムによって各機能を提供するが、各プログラムの機能は、一つのプログラムによって実装されてもよい。また、図２に示す各プログラムを処理ごとに分割することによって、一つのプログラムを複数のプログラムによって実装してもよい。
【００６６】
また、図２に示す各プログラムの機能は、プロセッサを備えるＬＳＩ素子等の処理部によってサービス管理サーバ３に実装されてもよい。具体的には、稼働データ収集プログラム３３１の機能は、稼働データ収集処理部としてサービス管理サーバ３に実装されてもよい。
【００６７】
また、図２に示す各プログラムは、プログラム配布サーバ、または、計算機読み取り可能な非一時的記憶媒体によってサービス管理サーバ３にインストールすることができ、また、サービス管理サーバ３が備える不揮発性記憶デバイス（図示なし）に格納することができる。
【００６８】
図３は、本発明の第１の実施形態のデータベース４に格納されるデータを示す説明図である。
【００６９】
データベース４には、稼働データ１０００、稼働データ表示設定１１００、運用管理者情報１２００、アクセスログ１３００、インシデント情報１４００、担当者情報１５００、インシデント付きアクセスログ１６００、依存関係データ１７００、サービス情報１８００、および、抽象アクセスログ１９００が格納される。
【００７０】
稼働データ１０００、稼働データ表示設定１１００、および、運用管理者情報１２００は、サービス管理サーバ３が、監視ツールを提供するために必要なデータを格納するテーブルである。インシデント情報１４００は、サービス管理サーバ３が、インシデント管理ツールを提供するために必要なデータを格納するテーブルである。
【００７１】
アクセスログ１３００、担当者情報１５００、インシデント付きアクセスログ１６００、依存関係データ１７００、サービス情報１８００、および、抽象アクセスログ１９００は、サービス管理サーバ３が、本実施形態の推薦機能を提供するために必要なデータを格納するテーブルである。
【００７２】
本実施形態において、データベース４に格納されるデータは、すべてテーブルに格納されるが、各データの内容を識別できれば、いかなる方法によってデータベース４に格納されてもよい。例えば、ＣＳＶまたはリストなど、いかなる方法によって格納されてもよい。
【００７３】
図４は、本発明の第１の実施形態の稼働データ１０００を示す説明図である。
【００７４】
稼働データ１０００は、稼働データ収集プログラム３３１によって収集された稼働データを格納する。稼働データに含まれる監視対象は、サービス管理サーバ３が監視する（すなわち、運用管理者が監視する）機器を示す。また、稼働データに含まれる監視項目は、各機器によって取得され、かつ、稼働データに含まれる値が示す意味である。
【００７５】
稼働データ１０００は、列１００１〜列１００６を含む。また、図４に示す稼働データ１０００は、行１０１１〜行１０１７を含む。稼働データ１０００に含まれる各行は、各機器から収集された稼働データを示す。
【００７６】
列１００１は、本実施形態のコンピュータシステムにおいて稼働データを一意に識別するための識別子（稼働データＩＤ）を示す。列１００２は、稼働データが生成された監視対象が含まれるグループ１２を一意に識別するための識別子（グループＩＤ）を示す。稼働データ収集プログラム３３１、または、各機器が有するエージェントが、各稼働データにグループＩＤを付加する。
【００７７】
列１００３は、各稼働データを出力した監視対象を一意に識別するための識別子（監視対象ＩＤ）を示す。監視対象ＩＤは、例えば、ホスト名またはＩＰアドレスなどであり、物理マシン５および仮想マシンなどに一意に割り当てられた識別子である。本実施形態における監視対象ＩＤは、ホスト名である。
【００７８】
列１００４は、稼働データに含まれる監視項目を一意に識別するための識別子（監視項目ＩＤ）を含む。監視項目ＩＤは、ＯＳの稼働状況に関する項目（例えば、ＯＳのＣＰＵ使用率など）、ＯＳにおいて実行される複数のアプリケーションから共通して利用されるミドルウェア（例えば、データベース、または、Ｗｅｂコンテナなど）の稼働状況に関する項目、または、アプリケーション固有の項目などを示す文字列である。
【００７９】
図４の列１００４には、文字列が格納されるが、運用管理者によって識別可能であれば、数または記号などが格納されてもよい。
【００８０】
列１００５は、稼働データが測定された時刻を示す。列１００６は、各機器によって取得され、稼働データに含まれる値である。運用管理者は、列１００６に含まれる値によって、監視対象の機器が監視項目の内容において、正常であるか否かを判定する。列１００６に含まれる値は、例えば、数値、比率、および、ログの文字列などである。
【００８１】
図５は、本発明の第１の実施形態の稼働データ表示設定１１００を示す説明図である。
【００８２】
稼働データ表示設定１１００は、稼働データ表示プログラム３３２によって表示される画面の設定に関するデータを格納する。稼働データ表示設定１１００の各行は、一つの画面に表示された稼働データと表示方法とを示す。稼働データ表示設定１１００は、サービス管理サーバ３にあらかじめ設定されてもよいし、運用管理者が画面表示をカスタマイズした際に稼働データ表示プログラム３３２によって生成されてもよい。
【００８３】
稼働データ表示設定１１００は、列１１０１〜列１１０７を含む。また、図５に示す稼働データ表示設定１１００は、行１１１１〜行１１１７を含む。
【００８４】
列１１０１は、稼働データ表示プログラム３３２が表示した各画面を一意に識別するための識別子（画面ＩＤ）である。画面ＩＤが同じ稼働データは、同じ画面に表示された稼働データである。列１１０１には、画面ＩＤとして、画面に対応したＵＲＬ、または、画面に対応したＵＲＬに含まれるセッションＩＤなどのパラメータなどが含まれてもよい。
【００８５】
列１１０２は、画面に表示される稼働データが出力された監視対象のグループＩＤを示す。列１１０２に示すグループ１２を管理する運用管理者のみが、列１１０１が示す画面を閲覧できる。
【００８６】
列１１０３は、画面に表示される稼働データが出力された監視対象ＩＤを示す。列１１０４は、画面に表示される稼働データの監視項目ＩＤを示す。例えば、行１１１１および行１１１２は、画面ＩＤが１の画面が、監視対象がｈｏｓｔ１およびｈｏｓｔ２であり、監視項目が「ＯＳのＣＰＵ使用率」である稼働データを表示することを示す。
【００８７】
列１１０５は、画面に表示される稼働データの値の要約方法を示す。要約方法としては、稼働データの値（稼働データ１０００の列１００６に対応）の、ある期間における最大値、最小値、または、平均値などを算出する方法がある。本実施形態の列１１０５は、最大値、最小値、または、平均値などを示す文字列を含む。
【００８８】
列１１０６は、画面における閾値表示の有無と、表示された閾値とを示す。図５に示す列１１０６は、閾値表示がない場合「なし」の文字列が含まれ、閾値表示がある場合「あり」の文字列が含まれる。例えば、行１１１５の列１１０６は、５０の閾値が表示されたことを示す。
【００８９】
列１１０７は、画面におけるベースライン表示の有無と、ベースラインとして表示される稼働データの内容を示す。ベースラインとは、表示された稼働データを比較するための表示である。ベースラインは、例えば、過去の一定期間に生成された稼働データの平均値などであり、列１１０７には、ベースラインに用いられた稼働データが生成された期間等が含まれる。列１１０７は、ベースライン表示がない場合「なし」の文字列が含まれ、ベースライン表示がある場合「あり」の文字列が含まれる。
【００９０】
図６は、本発明の第１の実施形態の運用管理者情報１２００を示す説明図である。
【００９１】
運用管理者情報１２００は、サービス管理サーバ３が有する各プログラムを利用可能なユーザ、すなわち運用管理者に関するデータである。運用管理者情報１２００は、運用管理者によって、データベース４にあらかじめ設定される。
【００９２】
運用管理者情報１２００は、列１２０１〜列１２０３を含む。また、図６に示す運用管理者情報１２００は、行１２１１〜行１２１５を含む。
【００９３】
列１２０１は、本実施形態のコンピュータシステムの運用管理者を一意に識別するための識別子（運用管理者ＩＤ）を示す。運用管理者ＩＤは、各種データのアクセス制御、および、アクセスログの記録に用いられる。
【００９４】
列１２０２は、各種データのアクセス制御に用いられるパスワードを示す。
【００９５】
列１２０３は、運用管理者ＩＤが管理するグループ１２のグループＩＤを示す。列１２０３のグループＩＤは、運用管理者によるアクセスを制御するために用いられる。
【００９６】
図７は、本発明の第１の実施形態のアクセスログ１３００を示す説明図である。
【００９７】
アクセスログ１３００は、運用管理者が稼働データ表示プログラム３３２を介して稼働データ１０００にアクセスした履歴を格納する。稼働データ表示プログラム３３２を介したアクセスには、各稼働データの表示の要求等が含まれる。アクセスログ１３００は、運用管理者が稼働データ表示プログラム３３２に稼働データの表示の要求等を入力するたびに、稼働データ表示プログラム３３２によって生成または更新される。
【００９８】
アクセスログ１３００は、列１３０１〜列１３１０を含む。また、図７に示すアクセスログ１３００は、行１３１１〜行１３２１を含む。アクセスログ１３００の各行は、運用管理者によって行われたアクセスを示すアクセスログを含む。
【００９９】
列１３０１は、本実施形態のコンピュータシステムにおいてアクセスログを一意に識別するための識別子（アクセスログＩＤ）を示す。
【０１００】
列１３０２は、稼働データがアクセスされた際に稼働データ表示プログラム３３２に入力されたインシデントＩＤを示す。インシデント表示プログラム３３４等から稼働データ表示プログラム３３２にインシデントＩＤが入力されなかった場合、列１３０２に値は格納されない。
【０１０１】
列１３０３は、稼働データ表示プログラム３３２を介して運用管理者が稼働データへアクセスした時刻を示す。列１３０４は、列１３０３が示す時刻に、稼働データ表示プログラム３３２を介して稼働データへアクセスした運用管理者のグループＩＤを示す。列１３０５は、列１３０３が示す時刻に、稼働データ表示プログラム３３２を介して稼働データへアクセスした運用管理者の運用管理者ＩＤを示す。
【０１０２】
列１３０６は、一定の短時間内に連続して行われたアクセスを関連付けるためのセッションＩＤを示す。稼働データ表示プログラム３３２がＷｅｂアプリの場合、列１３０６には、ＨＴＴＰｃｏｏｋｉｅに含まれるセッションＩＤが含まれる。
【０１０３】
列１３０７、列１３０８および列１３０９は、稼働データ表示プログラム３３２によって画面に表示された稼働データの監視対象ＩＤ、監視項目ＩＤおよび表示期間を示す。
【０１０４】
一般に、監視ツールは、稼働データを表示する期間を柔軟に変更することができる。例えば、行１３１９のアクセスログは、２０１１年１月１８日に監視対象において出力された１日分の稼働データを表示した場合のアクセスログを示す。また、行１３２０のアクセスログは、２０１１年１月１８日の１２時５１分から１３時５１分の間に監視対象において出力された１時間分の稼働データを表示した場合のアクセスログを示す。
【０１０５】
列１３１０は、表示する稼働データを絞り込むために、運用管理者によって指定された絞り込み条件を示す。絞り込み条件には、稼働データを検索するためのキーワード、または、閾値などが含まれる。例えば、運用管理者が、特定のエラーメッセージを含む稼働データを表示するように指定した場合、列１３１０は、指定されたエラーメッセージを示す。
【０１０６】
稼働データ表示プログラム３３２によってデータベース４に格納されるアクセスログ１３００は、管理者端末２０のディスプレイに表示された稼働データに関するアクセスログに限定してよい。例えば、もしも稼働データ表示プログラム３３２が管理者端末２０のディスプレイに収まらない大きさの画面を出力した場合、運用管理者は、画面表示をスクロールさせないと、画面上のすべての稼働データを確認できない。このような場合にアクセスログ１３００に格納されたデータは、運用管理者が実際に確認した稼働データを正確に示さない可能性がある。
【０１０７】
このため、稼働データ表示プログラム３３２は、実際に管理者端末２０のディスプレイ上に表示された稼働データを検知し、検知された稼働データのアクセスログをアクセスログ１３００に格納してもよい。稼働データ表示プログラム３３２は、例えば、稼働データ表示プログラム３３２が出力するＷｅｂページのなかにＪａｖａＳｃｒｉｐｔ（登録商標、以下同じ）のプログラムを埋め込むことによって、ディスプレイ上に表示された稼働データを検知してもよい。これによって、後述する稼働データの推薦に、監視の実態をより正確に反映することができる。
【０１０８】
図８は、本発明の第１の実施形態のインシデント情報１４００を示す説明図である。
【０１０９】
インシデント情報１４００は、インシデント登録プログラム３３３によってデータベース４に登録されたインシデントに関する情報を格納し、本実施形態のコンピュータシステムにおいて発生したインシデントに関する情報を格納する。
【０１１０】
サービス情報１８００は、列１４０１〜列１４１４を含む。図８に示すインシデント情報１４００は、行１４２１〜行１４２４を含む。インシデント情報１４００の各行は、本実施形態のコンピュータシステムにおいて発生したインシデントに関するインシデント情報を示す。
【０１１１】
列１４０１は、本実施形態のコンピュータシステムにおけるインシデントＩＤを示す。
【０１１２】
列１４０２は、インシデントが発生した機器が含まれるグループ１２のグループＩＤを示す。インシデント登録プログラム３３３は、インシデントに関するデータをインシデント情報１４００に格納した運用管理者の運用管理者ＩＤを含む、運用管理者情報１２００の行を抽出することによって、列１４０２に格納されるグループＩＤを特定する。また、インシデント登録プログラム３３３は、インシデントを示すアラートに含まれる監視対象を示す文字列等に従って、列１４０２に格納されるグループＩＤを特定する。
【０１１３】
列１４０３は、インシデントの種類を示す。列１４０３に格納されるインシデントの種類は、インシデントの内容に従って運用管理者によって入力されるか、または、インシデントを示すアラートに含まれる文字列等に従ってインシデント登録プログラム３３３によって割り当てられる。列１４０３が示すインシデントの種類は、後述するインシデントの類似性判定に用いられる。
【０１１４】
列１４０４〜列１４０７は、インシデントの有無を運用管理者が判断するために用いた稼働データと稼働データの条件を示す。列１４０４〜列１４０７は、インシデントの発生時に、運用管理者によって入力される。
【０１１５】
列１４０８は、インシデントの対応者になった運用管理者の運用管理者ＩＤを示す。一般的に、インシデント発生時にインシデントの対応者が決定されるため、対応者またはその他の運用管理者が、列１４０８に対応者の運用管理者ＩＤを入力する。ここで、本実施形態の対応者とは、インシデントの原因を分析する運用管理者である。
【０１１６】
列１４０９は、インシデントの状態（解決または未解決）を示す。列１４０９には、列１４１０〜列１４１４に値が入力された場合、インシデント登録プログラム３３３が、列１４０９に「解決」を示す値を格納してもよいし、運用管理者が、列１４０９の値を更新してもよい。
【０１１７】
列１４１０〜列１４１４は、インシデントの解決後に、運用管理者によって入力される。列１４１０〜列１４１４は、後述する処理において、類似するインシデントが発生した場合に用いられる。
【０１１８】
列１４１０は、インシデントが解決された日時を示す。列１４１１は、インシデントの原因を説明する文章である。
【０１１９】
列１４１２および列１４１３は、インシデントの原因と密接に関係する監視対象および監視項目を示す。また、列１４１２および列１４１３は、インシデントの原因と密接に関係する稼働データを特定するための情報である。列１４１２は、インシデントの原因となった監視対象の監視対象ＩＤを示す。列１４１３は、インシデントの原因となった監視項目の監視項目ＩＤを示す。
【０１２０】
列１４１４は、インシデントに対する対策を説明する文章を示す。
【０１２１】
図９は、本発明の第１の実施形態の担当者情報１５００を示す説明図である。
【０１２２】
担当者情報１５００は、各運用管理者が監視を担当する監視対象および監視項目を示すデータを格納する。担当者情報１５００は、運用管理者によってあらかじめ作成され、データベース４に格納される。
【０１２３】
担当者情報１５００は、列１５０１〜列１５０３を含む。図９に示す担当者情報１５００は、行１５１１〜行１５１４を含む。
【０１２４】
列１５０１は、運用管理者ＩＤを示す。列１５０２は、運用管理者が監視を担当する監視対象の監視対象ＩＤを示す。列１５０３は、運用管理者が監視を担当する監視項目の監視項目ＩＤを示す。列１５０２および列１５０３の各セルは、複数の監視対象または複数の監視項目を示す識別子（例えば、図９に示す「すべて」または「グループＢのすべて」）を含んでもよい。
【０１２５】
図１０は、本発明の第１の実施形態のインシデント付きアクセスログ１６００を示す説明図である。
【０１２６】
インシデント付きアクセスログ１６００は、特定のインシデントと関連付けされたアクセスログ（インシデント付きアクセスログ）を格納する。
【０１２７】
インシデント付きアクセスログ１６００は、列１６０１〜列１６１０を含む。図１０に示すインシデント付きアクセスログ１６００は、行１６１１〜行１６１４、行１６１７〜行１６２１を含む。
【０１２８】
列１６０１〜列１６１０は、アクセスログ１３００の列１３０１〜列１３１０に各々対応する。ただし、インシデント付きアクセスログ１６００には、アクセスログ１３００のうち、列１３０２にインシデントＩＤが既に格納されていたアクセスログと、関連インシデント発見プログラム３３５によってインシデントＩＤが割り当てられたアクセスログとのみが、格納される。
【０１２９】
例えば、図７に示す行１３１１〜行１３１４は、列１３０２に値が格納されていない。しかし、関連インシデント発見プログラム３３５が後述する処理によって行１３１１〜行１３１４のアクセスログに関連するインシデントを割り当てた場合（運用管理者はインシデントＩＤが１のインシデントの対応者）、インシデント付きアクセスログ１６００には、行１６１１〜行１６１４の列１６０２のように、行１３１１〜行１３１４のアクセスログに対応する値が格納される。
【０１３０】
さらに具体的には、行１３１１〜行１３１４の列１３０５は「ｏｐｅｒａｔｏｒ１」を示し、図８に示すインシデント情報１４００の行１４２１の列１４０８の値、すなわち、インシデントＩＤが１であるインシデントの対応者を示す。このため、関連インシデント発見プログラム３３５は、行１６１１〜行１６１４の列１６０２に、インシデントＩＤとして１を格納する。
【０１３１】
一方で、関連インシデント発見プログラム３３５が、図７に示す行１３１５〜行１３１６のアクセスログに、関連インシデントを割り当てることができない場合、行１３１５〜行１３１６に対応するアクセスログは、インシデント付きアクセスログ１６００に格納されない。
【０１３２】
図１１は、本発明の第１の実施形態の依存関係データ１７００を示す説明図である。
【０１３３】
依存関係データ１７００は、監視対象と監視対象との間の依存関係を示す依存関係データを格納する。図１１に示す依存関係データ１７００は、監視対象間の依存関係データの一例である。
【０１３４】
例えば、第１の監視対象に障害が発生した際に、第１の監視対象とは別の第２の監視対象のサービスが停止するか、または、第２の監視対象のサービス品質が低下する場合、第１の監視対象と第２の監視対象とには本実施形態において依存関係がある。
【０１３５】
運用管理者は、一般的に、インシデントが発生した場合、インシデント発生元と依存関係がある監視対象または監視項目のデータを閲覧することが多い。このため、監視対象間の依存関係を示す依存関係データ１７００は、後述する稼働データを推薦する処理において用いられる。
【０１３６】
依存関係には、サーバとスイッチとの接続関係、ハイパーバイザとハイパーバイザにおいて動作する仮想マシンとの関係、Ｗｅｂアプリケーションとデータベースとの関係などが含まれる。依存関係データ１７００は、運用管理者によってあらかじめ作成されてもよいし、コンピュータシステムから自動的に収集された情報と運用管理者によって定められた基準とによって生成されてもよい。
【０１３７】
具体的には、本実施形態のコンピュータシステムにおいて送受信されるトラフィックの解析、各機器の構成を示す情報データベースからの変換、または、監視対象が設定されたデータからの変換などを、運用管理者によって定められた基準によって行うことによって、図示しないプログラムが依存関係データ１７００を自動的に生成してもよい。
【０１３８】
依存関係データ１７００は、列１７０１〜列１７０３を含む。また、図１１に示す依存関係データ１７００は、行１７１１〜行１７１７を含む。
【０１３９】
列１７０１は、依存元、すなわち、依存される側の監視対象の監視対象ＩＤを示す。列１７０２は、依存先、すなわち、依存する側の監視対象の監視対象ＩＤを示す。具体的には、列１７０１が示す監視対象にインシデントが発生した場合、列１７０２が示す監視対象のサービスが停止、または、品質低下等の影響を受ける。また、列１７０１が示す監視対象は、列１７０２が示す監視対象において発生したインシデントによって影響を受けない。
【０１４０】
列１７０３は、依存関係の種類を示す識別子である。例えば、本実施形態のコンピュータシステムのトラフィックを解析した結果、監視対象ｈｏｓｔ３が保持するデータベースを参照するために、監視対象ｈｏｓｔ１から監視対象ｈｏｓｔ３へ接続していることが検出された場合、監視対象ｈｏｓｔ１および監視対象ｈｏｓｔ３には依存関係がある。この場合、依存関係データ１７００は、行１７１３のように、列１７０１に"ｈｏｓｔ３"が格納され、列１７０２に"ｈｏｓｔ１"が格納され、列１７０３に"データベース"が格納される。
【０１４１】
図１２は、本発明の第１の実施形態のサービス情報１８００を示す説明図である。
【０１４２】
サービス情報１８００は、各サービスを提供する監視対象を示すサービス情報を格納する。図１２に示すサービス情報１８００は、同じサービスを提供する複数の監視対象間の関係性を示すサービス情報の一例である。
【０１４３】
運用管理者は、一般的に、インシデントが発生した場合、インシデント発生元と同じサービスを提供する監視対象または監視項目のデータを閲覧することが多い。このため、同じサービスを提供する監視対象間の関係性を示すサービス情報１８００は、後述する稼働データの推薦機能において用いられる。
【０１４４】
同じサービスを提供する監視対象間の関係性には、各サービスを提供するために並列に稼働する複数のＷｅｂサーバ間の関係、または、各サービスのプライマリＤＮＳサーバとセカンダリＤＮＳサーバとの間の関係などが含まれる。サービス情報１８００は、依存関係データ１７００と同じく、運用管理者によってあらかじめ作成されてもよいし、コンピュータシステムから自動的に収集された情報と運用管理者によって定められた基準とによって生成されてもよい。なお、各機器が提供するサービスを一つのサービスとして識別する基準は、運用管理者によって定められる。
【０１４５】
サービス情報１８００は、列１８０１〜列１８０３を含む。また、図１２に示すサービス情報１８００は、行１８１１〜行１８１９を含む。
【０１４６】
列１８０１は、サービスを一意に識別するための識別子（サービスＩＤ）を示す。サービスＩＤは運用管理者が各サービスに一意に割り当てる。列１８０２は、構成要素、すなわち、サービスを提供する監視対象の監視対象ＩＤを示す。列１８０３は、サービスにおける各監視対象の機能または役割を示す。
【０１４７】
例えば、図１２に示すサービス情報１８００において、サービスＩＤが「ｓｅｒｖｉｃｅ−Ａ」であるサービスを提供する監視対象は、監視対象ｈｏｓｔ１および監視対象ｈｏｓｔ３である。そして、サービスＩＤが「ｓｅｒｖｉｃｅ−Ａ」のサービスにおいて、監視対象ｈｏｓｔ１はＷｅｂサーバの役割を有し、監視対象ｈｏｓｔ３はデータベースの役割を有する。
【０１４８】
なお、図１１に示す依存関係データ１７００および図１２に示すサービス情報１８００は、最新のコンピュータシステムの状態を示す。しかし、過去のコンピュータシステムの状態に基づいた依存関係データ１７００およびサービス情報１８００と、コンピュータシステムの状態が取得された時刻情報とが、サービス管理サーバ３の図示しないプログラムによって、データベース４に蓄積されてもよい。これによって、アクセスログ抽象化プログラム３３６は、より正確に、後述する抽象アクセスログを生成できる。アクセスログ抽象化プログラム３３６が、インシデントが発生した際のコンピュータシステムの正確な状態に基づいて抽象アクセスログを算出できるため、前述の方法は、コンピュータシステムの構成が頻繁に変わる場合において、特に有効な方法である。
【０１４９】
図１３は、本発明の第１の実施形態の抽象アクセスログ１９００を示す説明図である。
【０１５０】
抽象アクセスログ１９００は、アクセスログ抽象化プログラム３３６によって、インシデント付きアクセスログ１６００が抽象化された結果の抽象化アクセスログを格納する。この抽象アクセスログ１９００は、稼働データの推薦に用いられる。
【０１５１】
本実施形態における抽象化とは、閲覧された稼働データの内容を示す監視対象、監視項目、表示期間、および、絞り込み条件を、監視業務における運用管理者間の共通の概念を示す文字列に置き換える処理である。本実施形態において抽象化処理は、頻繁に閲覧される稼働データがインシデントへの対応においてどのような情報を提供する稼働データであるか、または、運用管理者がどのような動機によって頻繁に稼働データを閲覧するかを、一般的な文字列によって表現し、複数の運用管理者間で共有するために行われる処理である。
【０１５２】
本実施形態におけるサービス管理サーバ３は、閲覧された稼働データの内容を抽象化（または、一般化）することによって、インシデントに対応するために閲覧すべき稼働データを示す抽象的な文字列を生成し、そして、生成された抽象的な文字列から、閲覧すべき具体的な稼働データを特定する。
【０１５３】
抽象アクセスログ１９００は、列１９０１〜列１９０７を含む。図１３に示す抽象アクセスログ１９００は、行１９１１〜行１９１８、および、行１９２０を含む。
【０１５４】
列１９０１は、本実施形態のコンピュータシステムにおいて抽象アクセスログを一意に識別するための識別子（抽象アクセスログＩＤ）を示す。列１９０２は、抽象アクセスログが生成された元のアクセスログのアクセスログＩＤを示す。
【０１５５】
列１９０３は、この抽象アクセスログの抽象化に用いられたインシデントのインシデントＩＤを示す。列１９０４〜列１９０７は、インシデント付きアクセスログ１６００の列１６０７〜列１６１０を各々抽象化した結果を示す。
【０１５６】
列１６０７〜列１６１０を抽象化することによって、列１９０４〜列１９０７に格納される値を大きく分類することが可能となり、運用管理者が、どのような動機によってどのような内容の稼働データを多く閲覧したかが明確になる。
【０１５７】
例えば、図１０の行１６１１〜行１６２０は、列１６０７〜列１６１０の値が全く一致していない。しかし、図１３の行１９１１および行１９１５と、行１９１４および行１９１７とは、列１９０４〜列１９０７の値が一致する。このため、行１９１１および行１９１５は、同じ動機によるアクセスログを示し、行１９１４および行１９１７も、同じ動機によるアクセスログを示す。
【０１５８】
そして、列１９０４〜列１９０７の値が重複する抽象アクセスログが多い程、抽象アクセスログ１９００は、運用管理者がインシデントの対応において稼働データを閲覧する傾向を示すことができる。本実施形態の推薦処理において、このような抽象アクセスログ１９００が示す傾向が用いられる。
【０１５９】
図１４Ａは、本発明の第１の実施形態のインシデント付きアクセスログ１６００の生成処理のうち、時刻に基づいて関連するインシデント情報を取得する処理を示すフローチャートである。
【０１６０】
図１４Ｂは、本発明の第１の実施形態のインシデント付きアクセスログ１６００の生成処理のうち、運用管理者または監視対象によって関連するインシデント情報を取得する処理を示すフローチャートである。
【０１６１】
関連インシデント発見プログラム３３５が、図１４Ａ、および、図１４Ｂに示す処理を行うことによって、アクセスログ１３００からインシデント付きアクセスログ１６００が生成される。
【０１６２】
関連インシデント発見プログラム３３５による図１４Ａおよび図１４Ｂの処理は、新しいアクセスログがアクセスログ１３００に追加された場合だけでなく、インシデント情報１４００が更新された場合にも実行されてよい。これは、インシデント情報１４００の各列（特に列１４０８が示す対応者）が更新された結果、各アクセスログに関連するインシデント情報が変わる場合があるためである。
【０１６３】
関連インシデント発見プログラム３３５は、データベース４からアクセスログ１３００の各行に含まれるアクセスログをすべて取得する（Ｓ１０１）。そして、関連インシデント発見プログラム３３５は、Ｓ１０１において取得されたアクセスログのうち、Ｓ１０４以降の処理が実行されていないアクセスログがあるか否かを判定する（Ｓ１０２）。Ｓ１０４以降の処理が実行されていないアクセスログがない場合、関連インシデント発見プログラム３３５は、図１４Ａ、および、図１４Ｂに示す処理を終了する。
【０１６４】
そして、Ｓ１０１において取得されたアクセスログのうち、Ｓ１０４以降の処理が実行されていないアクセスログがある場合、関連インシデント発見プログラム３３５は、Ｓ１０１において取得されたアクセスログから、Ｓ１０４以降の処理が実行されていないアクセスログを一つ選択する（Ｓ１０３）。以降の説明では、Ｓ１０３において選択されたアクセスログをＬＯＧ１と呼ぶ。
【０１６５】
Ｓ１０３の後、関連インシデント発見プログラム３３５は、ＬＯＧ１の列１３０２に、インシデントＩＤが含まれるか否かを判定する（Ｓ１０４）。Ｓ１０４において、列１３０２にインシデントＩＤが含まれると判定された場合、ＬＯＧ１にはインシデントが既に関連付けられている。このため、関連インシデント発見プログラム３３５は、ＬＯＧ１をインシデント付きアクセスログとし、データベース４のインシデント付きアクセスログ１６００に格納する（Ｓ１０５）。例えば、図７に示す行１３１７は、列１３０２にインシデントＩＤが含まれるため、関連インシデント発見プログラム３３５は、行１３１７を図１０に示す行１６１７に格納する。
【０１６６】
Ｓ１０５の後、関連インシデント発見プログラム３３５は、新たなアクセスログをインシデント情報と関連付けるため、Ｓ１０２を実行する。
【０１６７】
一方、Ｓ１０４において、ＬＯＧ１の列１３０２にインシデントＩＤが含まれていないと判定された場合、関連インシデント発見プログラム３３５は、ＬＯＧ１に関連付けられるインシデント情報を後述のＳ１０６〜Ｓ１１３によって抽出する。まず、関連インシデント発見プログラム３３５は、ＬＯＧ１の列１３０３が示すアクセス時刻より前に発生したインシデントを示し、かつ、ＬＯＧ１の列１３０３が示すアクセス時刻の時点で未解決のインシデントを示すすべてのインシデント情報を、データベース４のインシデント情報１４００から取得する（Ｓ１０６）。
【０１６８】
例えば、ＬＯＧ１が図７の行１３１１である場合、関連インシデント発見プログラム３３５は、Ｓ１０６において、図８の行１４２１をインシデント情報１４００から取得する。これは、行１４２１が示すインシデントは２０１１年１月１７日９：００に発生し、２０１１年１月１７日１０：４０に解決されており、一方、行１３１１のアクセスログは、２０１１年１月１７日９：１０に運用管理者が稼働データにアクセスしたことを示すためである。すなわち、行１３１１が示す稼働データへのアクセスは、行１４２１が示すインシデントを解決するために行われた可能性が高いためである。
【０１６９】
Ｓ１０６の後、関連インシデント発見プログラム３３５は、Ｓ１０６において取得されたインシデント情報のうち、図１４Ｂに示すＳ１０９以降の処理が実行されていないインシデント情報があるか否かを判定する（Ｓ１０７）。図１４Ｂに示すＳ１０９以降の処理が実行されていないインシデント情報がない場合、関連インシデント発見プログラム３３５は、新たなアクセスログをインシデント情報と関連付けるため、Ｓ１０２を実行する。
【０１７０】
図１４Ａに示すＳ１０７において、図１４Ｂに示すＳ１０９以降の処理が実行されていないインシデント情報があると判定された場合、関連インシデント発見プログラム３３５は、Ｓ１０６において取得されたインシデント情報から、Ｓ１０９以降の処理が実行されていないインシデント情報を一つ選択する（Ｓ１０８）。以降の説明では、Ｓ１０８において選択されたインシデント情報をＩＮＣ１と呼ぶ。
【０１７１】
Ｓ１０９およびＳ１１０において、アクセスログ抽象化プログラム３３６は、ＬＯＧ１が示すアクセスを行った運用管理者がＩＮＣ１に関連するか否かを判定する。
【０１７２】
Ｓ１０８の後、関連インシデント発見プログラム３３５は、ＩＮＣ１の列１４０８が示す対応者と、ＬＯＧ１の列１３０５が示す運用管理者とが一致するか否かを判定する（Ｓ１０９）。ＩＮＣ１が示す対応者とＬＯＧ１が示す運用管理者とが一致した場合、ＬＯＧ１が示すアクセスはＩＮＣ１が示すインシデントを解決するために行われた可能性が高い。このため、関連インシデント発見プログラム３３５は、さらにＩＮＣ１がＬＯＧ１に関連するか否かを判定するため、Ｓ１１１を実行する。
【０１７３】
Ｓ１０９において、ＩＮＣ１が示す対応者とＬＯＧ１が示す運用管理者とが一致しないと判定された場合、関連インシデント発見プログラム３３５は、担当者情報１５００を参照することによって、ＩＮＣ１の列１４０４が示す監視対象および列１４０５が示す監視項目を、ＬＯＧ１の列１３０５が示す運用管理者が担当しているか否かを判定する（Ｓ１１０）。これは、ＬＯＧ１が示す運用管理者が、ＩＮＣ１が示すインシデントによって、稼働データを閲覧する必要がある担当者である場合、ＬＯＧ１とＩＮＣ１とは関連しているためである。
【０１７４】
具体的には、Ｓ１１０において関連インシデント発見プログラム３３５は、ＬＯＧ１の列１３０５の値を列１５０１に含み、ＩＮＣ１の列１４０４の値を列１５０２に含み、ＩＮＣ１の列１４０５の値を列１５０３に含む行が、担当者情報１５００に含まれる場合、ＩＮＣ１が示す監視対象および監視項目を、ＬＯＧ１が示す運用管理者が担当していると判定する。
【０１７５】
Ｓ１１０において、ＩＮＣ１が示す監視対象および監視項目を、ＬＯＧ１が示す運用管理者が担当していないと判定された場合、ＬＯＧ１が示す運用管理者は、ＩＮＣ１が示すインシデントの解決のために稼働データにアクセスしていない。このため関連インシデント発見プログラム３３５は、ＬＯＧ１に関連するインシデントをさらに検索するため、Ｓ１０７を実行する。
【０１７６】
Ｓ１１０において、ＩＮＣ１が示す監視対象および監視項目を、ＬＯＧ１が示す運用管理者が担当していると判定された場合、ＬＯＧ１が示すアクセスが、ＩＮＣ１が示すインシデントを解決するために行われた可能性があるため、関連インシデント発見プログラム３３５は、Ｓ１１１を実行する。
【０１７７】
Ｓ１１１およびＳ１１２において、関連インシデント発見プログラム３３５は、ＬＯＧ１が示すアクセスによって表示された稼働データが、ＩＮＣ１に関連するか否かを判定する。
【０１７８】
Ｓ１０９またはＳ１１０の後、関連インシデント発見プログラム３３５は、ＩＮＣ１の列１４０４が示す監視対象とＬＯＧ１の列１３０７が示す監視対象との間に依存関係があるか、または、ＩＮＣ１の列１４０４が示す監視対象とＬＯＧ１の列１３０７が示す監視対象とが一致するか否かを、依存関係データ１７００を用いて判定する（Ｓ１１１）。
【０１７９】
具体的には、Ｓ１１１において関連インシデント発見プログラム３３５は、ＩＮＣ１が示す監視対象が列１７０２に含まれ、かつ、ＬＯＧ１が示す監視対象が列１７０１に含まれる行、または、ＩＮＣ１が示す監視対象が列１７０１に含まれ、かつ、ＬＯＧ１が示す監視対象が列１７０２含まれる行が、依存関係データ１７００に含まれる場合、ＩＮＣ１が示す監視対象とＬＯＧ１が示す監視対象とに依存関係があると判定する。
【０１８０】
Ｓ１１１において、ＩＮＣ１が示す監視対象とＬＯＧ１が示す監視対象とに依存関係があると判定された場合、または、ＩＮＣ１が示す監視対象とＬＯＧ１が示す監視対象とが一致すると判定された場合、ＬＯＧ１が示すアクセスはＩＮＣ１の解決のために行われた可能性がある。このため、関連インシデント発見プログラム３３５は、Ｓ１１３を実行する。
【０１８１】
Ｓ１１１において、ＩＮＣ１が示す監視対象とＬＯＧ１が示す監視対象とに依存関係がなく、かつ、ＩＮＣ１が示す監視対象とＬＯＧ１が示す監視対象とが一致しないと判定された場合、関連インシデント発見プログラム３３５は、ＩＮＣ１が示す監視対象とＬＯＧ１が示す監視対象とが同じサービスを提供しているか否かを、サービス情報１８００を用いて判定する（Ｓ１１２）。
【０１８２】
具体的には、Ｓ１１２において関連インシデント発見プログラム３３５は、列１８０２にＩＮＣ１が示す監視対象を含む行と、列１８０２にＬＯＧ１が示す監視対象を含む行とのうち、列１８０１に同じ値を含む行がある場合、ＩＮＣ１が示す監視対象とＬＯＧ１が示す監視対象とが同じサービスを提供していると判定する。
【０１８３】
Ｓ１１２において、ＩＮＣ１が示す監視対象とＬＯＧ１が示す監視対象とが同じサービスを提供していないと判定された場合、ＬＯＧ１が示すアクセスは、ＩＮＣ１が示すインシデントと関連していない。このため関連インシデント発見プログラム３３５は、ＬＯＧ１に関連するインシデントをさらに検索するため、Ｓ１０７を実行する。
【０１８４】
Ｓ１１２において、ＩＮＣ１が示す監視対象とＬＯＧ１が示す監視対象とが同じサービスを提供している場合、ＬＯＧ１が示すアクセスはＩＮＣ１が示すインシデントの解決のために行われた可能性がある。このため、関連インシデント発見プログラム３３５は、Ｓ１１３を実行する。
【０１８５】
Ｓ１１１またはＳ１１２の後、関連インシデント発見プログラム３３５は、ＬＯＧ１の列１３０１および列１３０３〜列１３１０に格納される値と、ＩＮＣ１の列１４０１に格納される値とを含むインシデント付きアクセスログを生成する。そして、生成されたインシデント付きアクセスログを、データベース４のインシデント付きアクセスログ１６００に格納する（Ｓ１１３）。
【０１８６】
例えば、図７に示す行１３１１のアクセスログと、図８に示す行１４２１のインシデントＩＤとに基づいて、図１０に示す行１６１１のインシデント付きアクセスログが生成される。すなわち、行１４２１の列１４０１が示すインシデントＩＤ「１」が、行１６１１の列１６０２に格納される。行１３１１の列１３０１が行１６１１の列１６０１に、行１３１１の列１３０３〜列１３１０が行１６１１の列１６０３〜列１６１０に格納される。
【０１８７】
Ｓ１１３の後、関連インシデント発見プログラム３３５は、ＬＯＧ１に関連するインシデントをさらに検索するため、Ｓ１０７を実行する。
【０１８８】
なお、稼働データへの一回のアクセスが複数のインシデントに関連している場合、図１４Ａおよび図１４Ｂに示す処理によって、インシデント付きアクセスログ１６００には、同じアクセスログＩＤを含み、異なるインシデントＩＤを含む行が格納されてもよい。
【０１８９】
また、関連インシデント発見プログラム３３５は、図１４Ａおよび図１４Ｂに示す処理が行われるごとに、過去のインシデント付きアクセスログ１６００を削除し、新たなインシデント付きアクセスログ１６００を生成してもよい。これによって、インシデント付きアクセスログ１６００は、常に最新のアクセスおよびインシデントに基づいて更新される。
【０１９０】
また、図１４Ａおよび図１４Ｂに示す処理において、関連インシデント発見プログラム３３５は、アクセスログに関連付けられるインシデント情報を特定するため、Ｓ１０６、Ｓ１０９、Ｓ１１０、Ｓ１１１、およびＳ１１２の処理を行う。しかし、前述の処理以外でも、アクセスログのインシデント情報を関連付けることができれば、関連インシデント発見プログラム３３５は、いかなる処理を行ってもよい。
【０１９１】
また、関連インシデント発見プログラム３３５は、Ｓ１０６、Ｓ１０９、Ｓ１１０、Ｓ１１１、およびＳ１１２の少なくとも一つを処理することによって、アクセスログとインシデント情報とを関連付けてもよい。
【０１９２】
図１５Ａは、本発明の第１の実施形態のアクセスログを抽象化する処理のうち、監視対象および監視項目を抽象化する処理を示すフローチャートである。
【０１９３】
図１５Ｂは、本発明の第１の実施形態のアクセスログを抽象化する処理のうち、インシデント発生元以外の監視対象を抽象化する処理を示すフローチャートである。
【０１９４】
図１５Ｃは、本発明の第１の実施形態のアクセスログを抽象化する処理のうち、表示期間および絞り込み条件を抽象化する処理を示すフローチャートである。
【０１９５】
アクセスログ抽象化プログラム３３６は、図１５Ａ〜図１５Ｃに示す処理によって、インシデント付きアクセスログ１６００を抽象アクセスログ１９００に変換する抽象化処理を行う。アクセスログ抽象化プログラム３３６は、インシデント付きアクセスログ１６００に新しいインシデント付きアクセスログが格納された場合に、図１５Ａに示す処理を開始する。
【０１９６】
アクセスログ抽象化プログラム３３６は、データベース４の抽象アクセスログ１９００からすべてのインシデント付きアクセスログを取得する（Ｓ２０１）。Ｓ２０１の後、アクセスログ抽象化プログラム３３６は、Ｓ２０１において取得されたインシデント付きアクセスログのうち、Ｓ２０４以降の処理が実行されていないインシデント付きアクセスログがあるか否かを判定する（Ｓ２０２）。Ｓ２０４以降の処理が実行されていないインシデント付きアクセスログがない場合、アクセスログ抽象化プログラム３３６は、図１５Ａ〜図１５Ｃの処理を終了する。
【０１９７】
Ｓ２０２において、Ｓ２０４以降の処理が実行されていないインシデント付きアクセスログがあると判定された場合、アクセスログ抽象化プログラム３３６は、Ｓ２０１において取得され、Ｓ２０４以降の処理が実行されていないインシデント付きアクセスログを一つ選択する（Ｓ２０３）。以降の説明では、Ｓ２０３において選択されたインシデント付きアクセスログをＩＬＯＧ１と呼ぶ。
【０１９８】
ここで、過去にアクセスログ抽象化プログラム３３６が図１５Ａ〜図１５Ｃの抽象化処理を行ったインシデント付きアクセスログのうち、以下の条件を満たすものについて、アクセスログ抽象化プログラム３３６は、Ｓ２０１において取得しなくてもよい。これは、過去に抽象化処理が行われ、かつ、以下の条件のすべてを満たすインシデント付きアクセスログが再度抽象化処理をされても、過去に行われた抽象化処理による結果と同じ結果しか得られないためである。従って、アクセスログ抽象化プログラム３３６は、過去に抽象化処理が行われ、かつ、以下の条件をすべて満たすインシデント付きアクセスログをＳ２０１において取得しないことによって、処理時間を短縮できる。
【０１９９】
Ｓ２０１において取得されないインシデント付きアクセスログの条件の一つ目は、インシデント付きアクセスログが示すインシデントＩＤ（インシデント付きアクセスログ１６００の列１６０２に対応）が、図１５Ａ〜図１５Ｃの処理の前回の実行以降に変更されていないことである。
【０２００】
また、Ｓ２０１において取得されないインシデント付きアクセスログの条件の二つ目は、インシデント付きアクセスログが示すインシデント情報のインシデント発生元（インシデント情報１４００の列１４０４に対応）、および、インシデント付きアクセスログの監視対象（インシデント付きアクセスログ１６００の列１６０７に対応）を含む依存関係データ１７００の行が、図１５Ａ〜図１５Ｃの処理の前回の実行以降に変更されていないことである。
【０２０１】
また、Ｓ２０１において取得されないインシデント付きアクセスログの条件の三つ目は、インシデント付きアクセスログが示すインシデントのインシデント発生元（インシデント情報１４００の列１４１２に対応）、および、インシデント付きアクセスログの監視対象（インシデント付きアクセスログ１６００の列１６０７に対応）を含むサービス情報１８００の行が、図１５Ａ〜図１５Ｃの処理の前回の実行以降に変更されていないことである。
【０２０２】
Ｓ２０３の後、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１の列１６０２が示すインシデントＩＤを列１４０１に含むインシデント情報１４００の行を、インシデント情報としてデータベース４から取得する（Ｓ２０４）。以降の説明では、Ｓ２０４において取得されたインシデント情報を、ＩＮＣ２と呼ぶ。
【０２０３】
なお、Ｓ２０４において、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１の列１６０１、列１６０２、および、列１６０７〜列１６１０を、ＩＬＯＧ１に対応する抽象アクセスログの列１９０２、列１９０３、および、列１９０４〜列１９０７としてメモリ３３に格納する。そして、図１５Ａに示すＳ２０５およびＳ２０６、ならびに、図１５Ｂに示すＳ２０７〜Ｓ２１７において、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１に対応する抽象アクセスログの列１９０４に、抽象化された監視対象ＩＤを格納する。
【０２０４】
Ｓ２０４の後、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１の列１６０７が示す監視対象と、ＩＮＣ２の列１４０４が示す監視対象とが一致するか否かを判定する（Ｓ２０５）。これは、ＩＬＯＧ１が示すアクセスによって閲覧された監視対象と、ＩＮＣ２の発生元の監視対象との関係によって、ＩＬＯＧ１の監視対象ＩＤを抽象化するためである。
【０２０５】
Ｓ２０５において、ＩＬＯＧ１の列１６０７が示す監視対象と、ＩＮＣ２の列１４０４が示す監視対象とが一致すると判定された場合、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１の列１６０７に含まれる値を「インシデント発生元」の文字列によって更新することによって、抽象アクセスログをメモリ３３に生成する（Ｓ２０６）。具体的には、Ｓ２０６においてアクセスログ抽象化プログラム３３６は、ＩＬＯＧ１に対応するメモリ３３に格納された抽象アクセスログの列１９０４を、「インシデント発生元」によって更新する。
【０２０６】
これは、ＩＬＯＧ１の列１６０７が示す監視対象と、ＩＮＣ２の列１４０４が示す監視対象とが一致する場合、ＩＬＯＧ１は、インシデントの発生元の監視対象によって生成された稼働データへのアクセスを示すためである。なお、「インシデント発生元」の文字列は、運用管理者等によってあらかじめ定められた文字列である。
【０２０７】
Ｓ２０５において、ＩＬＯＧ１の列１６０７が示す監視対象と、ＩＮＣ２の列１４０４が示す監視対象とが一致しないと判定された場合、アクセスログ抽象化プログラム３３６は、図１５Ｂに示すＳ２０７〜Ｓ２１７の抽象化処理を実行する。
【０２０８】
図１５ＢのＳ２０７において、アクセスログ抽象化プログラム３３６は、列１７０１が示す依存元の監視対象または列１７０２が示す依存先の監視対象が、ＩＮＣ２の列１４０４が示す監視対象に一致する依存関係データを、データベース４の依存関係データ１７００から取得する（Ｓ２０７）。
【０２０９】
Ｓ２０７の後、アクセスログ抽象化プログラム３３６は、Ｓ２０７において取得された依存関係データのうち、Ｓ２１０の処理が実行されていない依存関係データがあるか否かを判定する（Ｓ２０８）。Ｓ２１０の処理が実行されていない依存関係データがない場合、アクセスログ抽象化プログラム３３６は、Ｓ２１２の処理を実行する。
【０２１０】
Ｓ２０８において、Ｓ２１０の処理が実行されていない依存関係データがあると判定された場合、アクセスログ抽象化プログラム３３６は、Ｓ２０７において取得された依存関係データから、Ｓ２１０の処理が実行されていない依存関係データを一つ選択する（Ｓ２０９）。以降の説明では、Ｓ２０９において選択された依存関係データをＤＥＰ１と呼ぶ。
【０２１１】
Ｓ２０９の後、アクセスログ抽象化プログラム３３６は、ＤＥＰ１の列１７０１が示す依存元の監視対象、または、ＤＥＰ１の列１７０２が示す依存先の監視対象に、ＩＬＯＧ１の列１６０７が示す監視対象が含まれるか否かを判定する（Ｓ２１０）。ＩＬＯＧ１の列１６０７が示す監視対象ＩＤがＤＥＰ１に含まれる場合、ＩＮＣ２の列１４０４が示す監視対象とＩＬＯＧ１の列１６０７が示す監視対象との間には依存関係がある。
【０２１２】
すなわち、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１の列１６０７が示す監視対象ＩＤがＤＥＰ１に含まれる場合、ＩＮＣ２の列１４０４が示す監視対象とＩＬＯＧ１の列１６０７が示す監視対象の間の依存関係を用いて、列１６０７が示す監視対象ＩＤを抽象化できる。具体的には、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１に対応する抽象アクセスログの列１９０４に含まれる値を、ＩＬＯＧ１の列１６０７が示す監視対象とＩＮＣ２の列１４０４が示すインシデント発生元の監視対象との依存関係を示す文字列に更新することによって、ＩＬＯＧ１に対応する抽象アクセスログを生成する。（Ｓ２１１）。
【０２１３】
例えば、ＩＮＣ２が図８に示す行１４２１であり、ＩＬＯＧ１が図１０に示す行１６１２の場合、ＤＥＰ１は、図１１の行１７１１または行１７１３である。そして、アクセスログ抽象化プログラム３３６は、Ｓ２０８〜Ｓ２１０の処理によって、行１７１１に行１６１２の列１６０７が示す監視対象（ｓｗｉｔｃｈ１）が含まれると判定する。そして、アクセスログ抽象化プログラム３３６は、Ｓ２１１において、ＩＬＯＧ１の列１６０７の値「ｓｗｉｔｃｈ１」を、「インシデント発生元の上流スイッチ」の文字列に更新することによって、ＩＬＯＧ１の監視対象を抽象化した抽象アクセスログを生成する。
【０２１４】
ここで、列１６０７の値を更新する文字列は、ＤＥＰ１に含まれる値に従って、あらかじめ定められる。Ｓ２１１の後、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１が示す監視対象を含む依存関係データをさらに検索するため、Ｓ２０８を実行する。
【０２１５】
Ｓ２０８の後、すなわち、ＩＮＣ２とＩＬＯＧ１との依存関係によってＩＬＯＧ１を抽象アクセスログに更新した後、アクセスログ抽象化プログラム３３６は、列１８０２が示す監視対象がＩＮＣ２の列１４０４が示す監視対象に一致するサービス情報を、データベース４のサービス情報１８００から取得する（Ｓ２１２）。
【０２１６】
Ｓ２１２の後、アクセスログ抽象化プログラム３３６は、Ｓ２１２において取得されたサービス情報のうち、Ｓ２１５およびＳ２１６の処理が実行されていないサービス情報があるか否かを判定する（Ｓ２１３）。Ｓ２１５およびＳ２１６の処理が実行されていないサービス情報がない場合、アクセスログ抽象化プログラム３３６は、図１５Ｂに示す処理を終了し、図１５Ａに示すＳ２１８を実行する。
【０２１７】
Ｓ２１３において、Ｓ２１５およびＳ２１６の処理が実行されていないサービス情報があると判定された場合、アクセスログ抽象化プログラム３３６は、Ｓ２１２において取得されたサービス情報から、Ｓ２１５およびＳ２１６の処理が実行されていないサービス情報を一つ選択する（Ｓ２１４）。以降の説明では、Ｓ２１４において選択されたサービス情報をＳＲＶ１と呼ぶ。
【０２１８】
Ｓ２１４の後、アクセスログ抽象化プログラム３３６は、列１８０１が示すサービスＩＤがＳＲＶ１の列１８０１が示すサービスＩＤと一致し、列１８０２が示す構成要素がＩＬＯＧ１の列１６０７が示す監視対象と一致するサービス情報を、データベース４のサービス情報１８００において特定する（Ｓ２１５）。すなわち、Ｓ２１５においてアクセスログ抽象化プログラム３３６は、ＩＮＣ２が示す監視対象が提供するサービスのうち、ＩＬＯＧ１が示す監視対象が提供するサービスと一致するサービスを特定する。
【０２１９】
Ｓ２１５の後、アクセスログ抽象化プログラム３３６は、Ｓ２１５の結果、サービス情報１８００においてサービス情報が特定されるか否かを判定する（Ｓ２１６）。Ｓ２１５の結果、サービス情報１８００においてサービス情報が特定されない場合、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１が示す監視対象を含むサービス情報をさらに検索するため、Ｓ２１３を実行する。
【０２２０】
Ｓ２１５の結果、サービス情報１８００においてサービス情報が特定された場合、ＩＮＣ２の列１４０４が示す監視対象とＩＬＯＧ１の列１６０７が示す監視対象とは、同じサービスを提供する。そして、ＩＮＣ２の列１４０４が示す監視対象とＩＬＯＧ１の列１６０７が示す監視対象とが同じサービスを提供する場合、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１に対応する抽象アクセスログの列１９０４を、Ｓ２１６において特定されたサービス情報を示す文字列に更新する（Ｓ２１７）。
【０２２１】
具体的には、Ｓ２１１において既にＩＬＯＧ１に対応する抽象アクセスログがメモリ３３に生成されている場合、Ｓ２１７においてアクセスログ抽象化プログラム３３６は、メモリ３３に格納される抽象アクセスログの列１９０４に、Ｓ２１６において特定されたサービス情報を示す文字列を追加する。すなわち、アクセスログ抽象化プログラム３３６は、ＩＮＣ２が示す監視対象とＩＬＯＧ１が示す監視対象との依存関係を示す文字列に、Ｓ２１６において特定されたサービス情報を示す文字列を追加する。これによって、ＩＬＯＧ１が示す監視対象ＩＤが、ＩＮＣ２が示す監視対象とＩＬＯＧ１が示す監視対象との依存関係、および、ＩＮＣ２が示す監視対象とＩＬＯＧ１が示す監視対象との両方が提供するサービス情報によって、抽象化される。
【０２２２】
また、Ｓ２１１が実行されていない場合、Ｓ２１７においてアクセスログ抽象化プログラム３３６は、ＩＬＯＧ１の列１６０７に含まれる値を、Ｓ２１６において特定されたサービス情報を示す文字列に更新することによって、ＩＬＯＧ１に対応する抽象アクセスログを生成する。
【０２２３】
例えば、ＩＮＣ２が図８に示す行１４２２であり、ＩＬＯＧ１が図１０に示す行１６１８である場合、アクセスログ抽象化プログラム３３６は、Ｓ２１５によって、図１２に示す行１８１４を特定する。このとき、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１の列１６０７の「ｈｏｓｔ３３」の値を、「インシデント発生元に並列するＷｅｂサーバ」の文字列によって更新する。アクセスログ抽象化プログラム３３６は、これによって、ＩＬＯＧ１の列１６０７の値を抽象化した抽象アクセスログを生成する。
【０２２４】
Ｓ２１７の後、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１が示す監視対象を含むサービス情報をさらに検索するため、Ｓ２１３を実行する。
【０２２５】
なお、図１３に示す列１９０４は人が意味を認識できる文章によって抽象化された文字列を含むが、本実施形態の抽象アクセスログ１９００の列１９０４は、Ｓ２１１およびＳ２１７において追加される文字列を、例えばカンマによって区切ることによって保持してもよい。
【０２２６】
図１５Ａおよび図１５Ｂに示す処理のとおり、本実施形態のアクセスログ抽象化プログラム３３６は、ＩＮＣ２が示す監視対象とＩＬＯＧ１が示す監視対象との依存関係を示す文字列、または、ＩＮＣ２が示す監視対象とＩＬＯＧ１が示す監視対象との両方が提供するサービスを示す文字列を用いて、ＩＬＯＧ１の監視対象ＩＤを抽象化することによって、アクセスログを複数の規則によって抽象化する。このように、複数の規則によって監視対象ＩＤを抽象化することによって、アクセスログ抽象化プログラム３３６は、後述する稼働データの推薦処理に利用できる抽象アクセスログを増やすことができ、さらに、推薦処理の精度を上げることができる。
【０２２７】
図１５Ａに示すＳ２０６または図１５Ｂに示すＳ２１３の後、アクセスログ抽象化プログラム３３６は、Ｓ２１８およびＳ２１９によって、ＩＬＯＧ１の監視項目を抽象化する。アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１の列１６０８が示す監視項目と、ＩＮＣ２の列１４０５が示す監視項目とが一致するか否か判定する（Ｓ２１８）。
【０２２８】
Ｓ２１８において、ＩＬＯＧ１の列１６０８が示す監視項目と、ＩＮＣ２の列１４０５が示す監視項目とが一致したと判定された場合、アクセスログ抽象化プログラム３３６は、Ｓ２１８までの処理によってメモリ３３に格納されたＩＬＯＧ１に対応するすべての抽象アクセスログの列１９０５を、「インシデント発生元」の文字列によって更新する（Ｓ２１９）。
【０２２９】
例えば、ＩＮＣ２が図８に示す行１４２１であり、ＩＬＯＧ１が図１０に示す行１６１１である場合、インシデントが発生した監視項目と表示された稼働データの監視項目とが同じである。このため、アクセスログ抽象化プログラム３３６は、メモリ３３に格納されたＩＬＯＧ１に対応する抽象アクセスログの列１９０５を「インシデント発生元」の文字列に更新する。
【０２３０】
Ｓ２１９の後、または、Ｓ２１８においてＩＬＯＧ１の列１６０８が示す監視項目と、ＩＮＣ２の列１４０５が示す監視項目とが一致しないと判定された場合、アクセスログ抽象化プログラム３３６は、図１５Ｃに示すＳ２２０を実行する。なお、Ｓ２１８においてＩＬＯＧ１の列１６０８が示す監視項目と、ＩＮＣ２の列１４０５が示す監視項目とが一致しないと判定された場合、アクセスログ抽象化プログラム３３６は、メモリ３３に格納されたＩＬＯＧ１に対応する抽象アクセスログの列１９０５を更新しない。すなわち、ＩＬＯＧ１の列１６０８に格納されていた値を、抽象アクセスログの列１９０５の値に決定する。
【０２３１】
また、アクセスログ抽象化プログラム３３６は、Ｓ２１８においてＩＬＯＧ１の列１６０８が示す監視項目と、ＩＮＣ２の列１４０５が示す監視項目とが一致しないと判定された場合、ＩＬＯＧ１の列１６０８が示す監視項目を、あらかじめ定められた規則に従って抽象化してもよい。例えば、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１の列１６０８が「ＯＳのＣＰＵ使用率」を示す場合、あらかじめ定められた規則に従って、「ＯＳの性能値」を示す文字列によって列１６０８を更新してもよい。また、列１６０８が「ＷｅｂアプリケーションＡのログ」を示す場合、「Ｗｅｂアプリケーションのログ」を示す文字列によって列１６０８を更新してもよい。
【０２３２】
このように、所定の規則に従って文字列を更新し、インシデント付きアクセスログ１６００が示す監視項目の抽象度を高める場合、運用管理者へ推薦される稼働データの精度は下がる。しかし、抽象度を高めることによって、抽象アクセスログを大きく分類することが可能になり、どのような稼働データが表示されることが多いかを示す傾向を、後述する推薦処理において取得することができるというメリットがある。このため、前述の規則に従った抽象化は、データベース４のインシデント付きアクセスログ１６００に格納される行が少ない場合において有効である。
【０２３３】
Ｓ２１９またはＳ２１８の後、アクセスログ抽象化プログラム３３６は、図１５ＣのＳ２２０を実行する。Ｓ２２０においてアクセスログ抽象化プログラム３３６は、ＩＬＯＧ１の列１６０９が示す表示期間を抽象化する。アクセスログ抽象化プログラム３３６は、メモリ３３のＩＬＯＧ１に対応するすべての抽象アクセスログの列１９０６の値を、ＩＬＯＧ１の列１６０９が示す表示期間とＩＮＣ２の列１４０７が示す発生日時との相対的な関係を示す文字列に更新する。
【０２３４】
例えば、ＩＮＣ２が図８に示す行１４２１であり、ＩＬＯＧ１が図１０に示す行１６１１である場合、アクセスログ抽象化プログラム３３６は、ＩＮＣ２の列１４０７が示すインシデントの発生日時と、ＩＬＯＧ１の列１６０９が示す稼働データの表示期間とが同じ日であるため、メモリ３３のＩＬＯＧ１に対応する抽象アクセスログの列１９０６を「インシデント発生日」の文字列に更新する。
【０２３５】
Ｓ２２０の後、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１の絞り込み条件を抽象化する。まず、アクセスログ抽象化プログラム３３６は、あらかじめ定められたアラート文字列のテンプレート、または、形態素解析エンジンを用いることによって、ＩＮＣ２の列１４０６が示すインシデントの内容から、特徴語（以下、キーワード）を取得する（Ｓ２２１）。
【０２３６】
Ｓ２２１の後、アクセスログ抽象化プログラム３３６は、Ｓ２２１において取得されたキーワードのうち、Ｓ２２４の処理が実行されていないキーワードがあるか否かを判定する（Ｓ２２２）。
【０２３７】
Ｓ２２２において、Ｓ２２４の処理が実行されていないキーワードがあると判定された場合、アクセスログ抽象化プログラム３３６は、Ｓ２２１において取得されたキーワードから、Ｓ２２４の処理が実行されていないキーワードを一つ選択する（Ｓ２２３）。以降の説明では、この選択されたキーワードをＫＥＹ１と呼ぶ。
【０２３８】
Ｓ２２３の後、アクセスログ抽象化プログラム３３６は、ＩＬＯＧ１の列１６１０が示す絞り込み条件にＫＥＹ１が含まれているか否かを判定する（Ｓ２２４）。列１６１０が示す絞り込み条件にＫＥＹ１が含まれている場合、アクセスログ抽象化プログラム３３６は、メモリ３３に格納されたすべての抽象アクセスログの列１９０７に含まれるＫＥＹ１を、「インシデント中のキーワード」を示す文字列によって更新する（Ｓ２２５）。
【０２３９】
例えば、ＩＮＣ２が図８に示す行１４２３であり、ＩＬＯＧ１が図１０に示す行１６２１である場合、ＩＮＣ２の列１４０６が示すインシデントの内容から取得されるキーワード（ＫＥＹ１）は「ｕｐｌｏａｄ  ｄａｔａ  ｅｒｒｏｒ」である。そして、ＩＬＯＧ１の列１６１０が示す絞り込み条件は、「"ｕｐｌｏａｄ  ｄａｔａ  ｅｒｒｏｒ"で検索」であり、ＫＥＹ１を含む。このため、Ｓ２２５においてアクセスログ抽象化プログラム３３６は、ＩＬＯＧ１に対応する抽象アクセスログの列１９０７の値を、図１３の行１９２０の列１９０７のように、「インシデント中のキーワードで検索」に更新する。
【０２４０】
Ｓ２２５の後、アクセスログ抽象化プログラム３３６は、ＩＮＣ２のインシデントの内容に含まれるキーワードをさらに検証するため、Ｓ２２２を実行する。
【０２４１】
Ｓ２２２において、Ｓ２２４の処理が実行されていないキーワードがない場合、アクセスログ抽象化プログラム３３６は、メモリ３３に格納されたＩＬＯＧ１に対応するすべての抽象アクセスログを、データベース４の抽象アクセスログ１９００に追加する（Ｓ２２６）。そして、アクセスログ抽象化プログラム３３６は、メモリ３３に格納されたすべての抽象アクセスログを削除し、次のインシデント付きアクセスログを処理するため、図１５Ａに示すＳ２０２を実行する。
【０２４２】
稼働データ表示プログラム３３２は、図１５Ａ〜図１５Ｃに示す処理によって生成された抽象アクセスログ１９００を用いて、運用管理者に稼働データを推薦する。以下に、推薦処理の一例を示す。
【０２４３】
図１６は、本発明の第１の実施形態の稼働データ表示プログラム３３２による稼働データの推薦処理を示すフローチャートである。
【０２４４】
運用管理者から稼働データを出力する要求（表示要求）を受けた場合、稼働データ表示プログラム３３２は、図１６に示す稼働データを推薦する処理を実行する。
【０２４５】
まず、稼働データ表示プログラム３３２は、運用管理者から受信した稼働データの表示要求を示すアクセスログを、データベース４のアクセスログ１３００に格納する（Ｓ３０１）。Ｓ３０１の後、稼働データ表示プログラム３３２は、運用管理者による表示要求にインシデントＩＤが含まれるか否かを判定する（Ｓ３０２）。
【０２４６】
本実施形態において、運用管理者が稼働データの表示要求を管理者端末２０に入力する際、運用管理者が情報を取得したいインシデントのインシデントＩＤを認識していた場合、運用管理者は稼働データの表示要求と、インシデントＩＤとを管理者端末２０に入力する。
【０２４７】
Ｓ３０２において稼働データの表示要求にインシデントＩＤが含まれると判定された場合、稼働データ表示プログラム３３２は、Ｓ３０６を実行する。一方、Ｓ３０２において稼働データの表示要求にインシデントＩＤが含まれないと判定された場合、稼働データ表示プログラム３３２は、Ｓ３０１においてアクセスログ１３００に格納したアクセスログ、すなわち、運用管理者による表示要求を示すアクセスログを取得する。そして取得されたアクセスログに関連した未解決のインシデントを特定する（Ｓ３０３）。
【０２４８】
Ｓ３０３において、稼働データ表示プログラム３３２は、関連インシデント発見プログラム３３５による図１４Ａに示すＳ１０６と、図１４Ｂに示すＳ１０８〜Ｓ１１３と同じ処理を行う。具体的には、Ｓ３０３において稼働データ表示プログラム３３２は、Ｓ３０３において取得されたアクセスログのアクセス時刻（列１３０３）、監視対象ＩＤ（列１３０７）、監視項目ＩＤ（１３０８）、および、運用管理者ＩＤ（列１３０５）に基づいて、アクセスログの関連するインシデント情報を特定する。なお、稼働データ表示プログラム３３２は、Ｓ３０３においてＳ１０７を行わない。
【０２４９】
ただし、稼働データ表示プログラム３３２は、Ｓ３０３においてＳ１１３を実行した場合、インシデント付きアクセスログを生成する代わりに、図１６に示すＳ３０４を実行する。Ｓ３０３の後、取得されたアクセスログに関連した未解決のインシデントが特定されたか否かを判定する（Ｓ３０４）。
【０２５０】
Ｓ３０４において、取得されたアクセスログに関連した未解決のインシデントが特定されない場合、稼働データ表示プログラム３３２は、稼働データの表示要求によって要求された稼働データのみを管理者端末２０の画面に表示し、処理を終了する（Ｓ３０５）。
【０２５１】
なお、Ｓ３０６以降の処理において、稼働データの表示要求に含まれるインシデントＩＤが示すインシデント情報１４００の行、または、Ｓ３０３において特定されたインシデントを示すインシデント情報１４００の行を、ＩＮＣ３と呼ぶ。また、Ｓ３０４において、複数のインシデント情報がアクセスログに関連付けられた場合、稼働データ表示プログラム３３２は、Ｓ３０４において特定された各インシデント情報に、Ｓ３０６以降の処理を実行してもよい。
【０２５２】
Ｓ３０４において、取得されたアクセスログに関連した未解決のインシデントが特定された場合、稼働データ表示プログラム３３２は、ＩＮＣ３が示す情報をデータベース４のインシデント情報１４００から取得する（Ｓ３０６）。Ｓ３０６の後、稼働データ表示プログラム３３２は、ＩＮＣ３に類似する過去のインシデント情報をデータベース４のインシデント情報１４００から取得する（Ｓ３０７）。
【０２５３】
Ｓ３０７において稼働データ表示プログラム３３２は、ＩＮＣ３に類似する過去のインシデント情報を取得するために、ＩＮＣ３の列１４０２〜列１４０６と、インシデント情報１４００の各インシデント情報の列１４０２〜列１４０６との少なくとも一つを比較する。以下において、ＩＮＣ３の列１４０３が示すインシデントの種類と、各インシデント情報の列１４０３が示すインシデントの種類とのみを比較することによって、稼働データ表示プログラム３３２は、ＩＮＣ３に類似する過去のインシデント情報を取得する。
【０２５４】
例えば、図８に示す行１４２４がＩＮＣ３である場合、行１４２４の列１４０３は「ＣＰＵ負荷」を示し、行１４２１および行１４２２の列１４０３も「ＣＰＵ負荷」を示す。このため、ＩＮＣ３に類似する過去のインシデント情報は行１４２１および行１４２２である。
【０２５５】
なお、稼働データ表示プログラム３３２は、推薦処理の精度を高めるため、列１４０２〜列１４０６のうち、より多くの情報を比較することによって、類似するインシデント情報を取得してもよい。また、稼働データ表示プログラム３３２は、比較の結果類似していると判定されたインシデント情報のうち、類似性の高い上位数件のみを過去のインシデント情報として取得してもよい。
【０２５６】
Ｓ３０７の後、稼働データ表示プログラム３３２は、Ｓ３０７においてＩＮＣ３に類似する過去のインシデントをデータベース４のインシデント情報１４００から取得できたか否かを判定する（Ｓ３０８）。Ｓ３０８において、ＩＮＣ３に類似する過去のインシデント情報が取得できないと判定された場合、稼働データ表示プログラム３３２は、Ｓ３０５を実行する。
【０２５７】
Ｓ３０８において、ＩＮＣ３に類似する過去のインシデント情報が取得できたと判定された場合、稼働データ表示プログラム３３２は、Ｓ３０７において取得されたＩＮＣ３に類似する過去のインシデント情報に対応する抽象アクセスログを、データベース４の抽象アクセスログ１９００から取得する（Ｓ３０９）。具体的には、稼働データ表示プログラム３３２は、Ｓ３０７において取得されたインシデント情報のインシデントＩＤ（列１４０１）を、列１９０３に含む抽象アクセスログ１９００の行を、抽象アクセスログとして取得する。
【０２５８】
Ｓ３０９の後、稼働データ表示プログラム３３２は、ＩＮＣ３、Ｓ３０９において取得された抽象アクセスログ、依存関係データ１７００、および、サービス情報１８００に基づいて、画面上の表示を変更するためのデータを生成する（Ｓ３１０）。以下では、この画面上の表示を変更するためのデータをアクセスパターンと呼ぶ。Ｓ３１０における処理は、後述する。
【０２５９】
Ｓ３１０の後、稼働データ表示プログラム３３２は、Ｓ３１０において生成されたアクセスパターンに基づいて、管理者端末２０の画面の表示を変更する（Ｓ３１１）。Ｓ３１１の後、稼働データ表示プログラム３３２は、図１６に示す処理を終了する。
【０２６０】
以下では、Ｓ３１０におけるアクセスパターンを生成する処理の詳細を説明する。
【０２６１】
稼働データ表示プログラム３３２は、アクセスパターンを段階的に生成する。最初の段階において、稼働データ表示プログラム３３２はＳ３０９において取得された各抽象アクセスログに対する重要度を算出する。そして二番目の段階において、稼働データ表示プログラム３３２は、算出された重要度によって重み付き抽象アクセスログに基づいて、アクセスパターンを生成する。
【０２６２】
図１７は、本発明の第１の実施形態の重み付き抽象アクセスログ２０００を示す説明図である。
【０２６３】
重み付き抽象アクセスログ２０００は、列２００１〜列２００５を含む。図１７に示す重み付き抽象アクセスログ２０００は、行２０１１〜行２０１６を含む。
【０２６４】
列２００１〜列２００４は、抽象アクセスログ１９００の列１９０４〜列１９０７に対応する。列２００５は、抽象化されたアクセスログの重要度を示す。
【０２６５】
重み付き抽象アクセスログ２０００は、列２００１〜列２００４に格納される値の組合せが、一意になるように生成される。例えば、列１９０４〜列１９０７に含まれる値が同じ組合せである二つの抽象アクセスログが抽象アクセスログ１９００に格納されていた場合、列１９０４〜列１９０７に含まれる値が同じ組合せである二つの抽象アクセスログは、一つの重み付き抽象アクセスログに変換される。
【０２６６】
そして、稼働データ表示プログラム３３２は、二つの抽象アクセスログによって一つの重み付き抽象アクセスログを生成するために用いられた抽象アクセスログの数に従って、列２００５が示す重要度を算出する。すなわち、インシデントが発生した場合に高い頻度で行われるアクセスには、高い重要度が算出される。また、インシデントを解決するために重要な役割を果たすアクセスを示す抽象アクセスログには、高い重要度が算出される。このため、列２００５が示す重要度が高い行ほど、稼働データの推薦に使われやすくなる。
【０２６７】
図１８は、本発明の第１の実施形態のアクセスパターン２１００を示す説明図である。
【０２６８】
アクセスパターン２１００は、列２１０１〜列２１０５を含む。図１８に示すアクセスパターン２１００は、行２１１１〜行２１１７を含む。
【０２６９】
列２１０１〜列２１０５は、重み付き抽象アクセスログ２０００の列２００１〜列２００５に対応する。ただし、アクセスパターン２１００の列２１０１〜２１０４は、重み付き抽象アクセスログ２０００の列２００１〜列２００５に格納された値を、具体化した値を含む。アクセスパターン２１００は、重み付き抽象アクセスログ２０００と依存関係データ１７００とサービス情報１８００とに基づいて、稼働データ表示プログラム３３２によって生成される。
【０２７０】
重み付き抽象アクセスログ２０００の行の数と、アクセスパターン２１００の行の数とは、必ずしも一致しない。依存関係データ１７００とサービス情報１８００との内容に従って、一つの重み付き抽象アクセスログから二つ以上のアクセスパターンが生成される場合があり、一つの重み付き抽象アクセスログからアクセスパターンが一つも生成されない場合があるためである。
【０２７１】
本実施形態のアクセスパターン２１００は、運用管理者に推薦する稼働データの条件を示す。稼働データ表示プログラム３３２は、アクセスパターン２１００を参照し、運用管理者に稼働データを推薦するためのデータを生成する。
【０２７２】
図１９Ａは、本発明の第１の実施形態の稼働データ表示プログラム３３２が重み付き抽象アクセスログ２０００を生成する処理を示すフローチャートである。
【０２７３】
図１９Ｂは、本発明の第１の実施形態の稼働データ表示プログラム３３２がアクセスパターン２１００を生成する処理を示すフローチャートである。
【０２７４】
図１９Ａおよび図１９Ｂに示す処理は、図１６に示すＳ３１０の処理である。図１９Ａに示すＳ４０１〜Ｓ４０８は、重み付き抽象アクセスログ２０００を生成する処理であり、図１９Ｂに示すＳ４０９〜Ｓ４１８は、重み付き抽象アクセスログ２０００を具体化することによって、アクセスパターン２１００を生成する処理である。
【０２７５】
稼働データ表示プログラム３３２は、Ｓ３０９において取得された抽象アクセスログ、すなわち、ＩＮＣ３に類似したインシデント情報によって生成された抽象アクセスログから、列１９０４が示す監視対象ＩＤ、列１９０５が示す監視項目ＩＤ、列１９０６が示す表示期間、および、列１９０７が示す絞り込み条件の、一意な組合せをすべて抽出する（Ｓ４０１）。そして、抽出された組合せを列２００１〜列２００４に格納することによって、稼働データ表示プログラム３３２は、重み付き抽象アクセスログの列２００１〜列２００４を、メモリ３３に生成する。
【０２７６】
Ｓ４０１の後、稼働データ表示プログラム３３２は、Ｓ４０１において抽出された組合せのうち、Ｓ４０４およびＳ４０５の処理が実行されていない組合せがあるか否かを判定する（Ｓ４０２）。Ｓ４０２において、Ｓ４０４およびＳ４０５の処理が実行されていない組合せがないと判定された場合、稼働データ表示プログラム３３２は、図１９Ａおよび図１９Ｂに示す処理を終了する。
【０２７７】
Ｓ４０２において、Ｓ４０４およびＳ４０５の処理が実行されていない組合せがあると判定された場合、稼働データ表示プログラム３３２は、Ｓ４０１において抽出された組合せのなかから一つの組合せを選択する（Ｓ４０３）。以降の説明では、Ｓ４０３において選択された組合せをＣＯＭＢ１と呼ぶ。
【０２７８】
Ｓ４０３の処理において組合せを選択することによって、稼働データ表示プログラム３３２は、Ｓ４０５以降の処理によって抽象アクセスログごとに算出された重みの総和を算出することによって、組合せの重要度を算出することができる。
【０２７９】
Ｓ４０３の後、稼働データ表示プログラム３３２は、Ｓ３０９において取得された抽象アクセスログのなかから、列１９０４〜列１９０６に格納される組合せがＣＯＭＢ１と一致する抽象アクセスログをすべて選択する（Ｓ４０４）。これは、ＣＯＭＢ１ごとの重要度を、後述の処理によって算出するためである。
【０２８０】
Ｓ４０４の後、稼働データ表示プログラム３３２は、Ｓ４０４において選択された抽象アクセスログのうち、Ｓ４０７およびＳ４０８に示す処理が実行されていない抽象アクセスログがあるか否かを判定する（Ｓ４０５）。Ｓ４０５において、Ｓ４０７およびＳ４０８に示す処理が実行されていない抽象アクセスログがないと判定された場合、稼働データ表示プログラム３３２は、図１９Ｂに示すＳ４０９を実行する。
【０２８１】
Ｓ４０５において、Ｓ４０７およびＳ４０８に示す処理が実行されていない抽象アクセスログがあると判定された場合、稼働データ表示プログラム３３２は、Ｓ４０４において選択され、かつ、Ｓ４０７およびＳ４０８に示す処理が実行されていない抽象アクセスログのなかから一つを選択する（Ｓ４０６）。以降の説明では、Ｓ４０６において選択された抽象アクセスログをＡＬＯＧ１と呼ぶ。
【０２８２】
Ｓ４０６の後、稼働データ表示プログラム３３２は、ＡＬＯＧ１の列１９０２が示すアクセスログ（以下、ＬＯＧ２）および列１９０３が示すインシデント情報（以下、ＩＮＣ４）をデータベース４のアクセスログ１３００およびインシデント情報１４００から取得する（Ｓ４０７）。Ｓ４０７の後、ＬＯＧ２およびＩＮＣ４からＡＬＯＧ１の重みを算出し、算出された重みをＣＯＭＢ１の重要度に加算する（Ｓ４０８）。
【０２８３】
Ｓ４０８においてＡＬＯＧ１の重みを算出する方法には、例えば、以下の第１〜第９の方法が用いられる。また、ＡＬＯＧ１の重みは、以下の第１〜第９の方法の任意の組合せによって算出されてもよい。
【０２８４】
ＡＬＯＧ１の重みを算出する第１〜第９の方法において行われる判定は、ＬＯＧ２が示すアクセスが、ＩＮＣ４が示すインシデントの解決のために行われたアクセスであるか否かを判定するために行われる。このため、ＬＯＧ２が示すアクセスが、ＩＮＣ４が示すインシデントの解決のために行われたアクセスであると判定された場合、ＡＬＯＧ１が示す抽象的な稼働データは、障害等の対応のために表示される稼働データを示すため、稼働データ表示プログラム３３２は、ＡＬＯＧ１の重みを大きくする。
【０２８５】
ＡＬＯＧ１の重みを算出する第１の方法は、稼働データ表示プログラム３３２が、ＬＯＧ２の列１３０５が示す運用管理者が、ＩＮＣ４の列１４０８が示す対応者と一致するか否かを判定する方法である。そして、稼働データ表示プログラム３３２が、ＬＯＧ２の列１３０５が示す運用管理者が、ＩＮＣ４の列１４０８が示す対応者と一致する場合、ＡＬＯＧ１の重みを大きくする方法である。
【０２８６】
ＡＬＯＧ１の重みを算出する第２の方法は、稼働データ表示プログラム３３２が、ＬＯＧ２の列１３０５が示す運用管理者が、ＩＮＣ４の列１４０４が示す監視対象および列１４０５が示す監視項目の担当者であるか否かを、担当者情報１５００に基づいて判定する方法である。そして、稼働データ表示プログラム３３２が、ＬＯＧ２の列１３０５が示す運用管理者が、ＩＮＣ４の列１４０４が示す監視対象および列１４０５が示す監視項目の担当者である場合、ＡＬＯＧ１の重みを大きくする方法である。
【０２８７】
ＡＬＯＧ１の重みを算出する第３の方法は、稼働データ表示プログラム３３２が、ＬＯＧ２の列１３０３が示すアクセス時刻が、ＩＮＣ４の列１４０７が示す発生日時に近いか否かを判定する方法である。そして、稼働データ表示プログラム３３２が、ＬＯＧ２の列１３０３が示すアクセス時刻が、ＩＮＣ４の列１４０７が示す発生日時に近い場合、ＡＬＯＧ１の重みを大きくする方法である。
【０２８８】
ＡＬＯＧ１の重みを算出する第４の方法は、稼働データ表示プログラム３３２が、ＬＯＧ２の列１３０３が示すアクセス時刻が、ＩＮＣ４の列１４１０が示す解決日時に近いか否かを判定する方法である。そして、稼働データ表示プログラム３３２が、ＬＯＧ２の列１３０３が示すアクセス時刻が、ＩＮＣ４の列１４１０が示す解決日時に近い場合、ＡＬＯＧ１の重みを大きくする方法である。
【０２８９】
ＡＬＯＧ１の重みを算出する第５の方法は、稼働データ表示プログラム３３２が、ＩＮＣ４の列１４０９が解決済みを示すか否かを判定し、ＩＮＣ４の列１４０９が解決済みを示す場合、ＡＬＯＧ１の重みを大きくする方法である。
【０２９０】
ＡＬＯＧ１の重みを算出する第６の方法は、稼働データ表示プログラム３３２が、ＬＯＧ２の列１３０７が示す監視対象および列１３０８が示す監視項目が、ＩＮＣ４の列１４０４が示す監視対象および列１４０５が示す監視項目に一致するか否かを判定する方法である。そして、稼働データ表示プログラム３３２が、ＬＯＧ２の列１３０７が示す監視対象および列１３０８が示す監視項目が、ＩＮＣ４の列１４０４が示す監視対象および列１４０５が示す監視項目に一致する場合、ＡＬＯＧ１の重みを大きくする方法である。
【０２９１】
ＡＬＯＧ１の重みを算出する第７の方法は、稼働データ表示プログラム３３２が、ＬＯＧ２の列１３０７が示す監視対象および列１３０８が示す監視項目が、ＩＮＣ４の列１４１２が示す原因の監視対象および列１４１３が示す原因の監視項目に一致するか否かを判定する方法である。そして、稼働データ表示プログラム３３２が、ＬＯＧ２の列１３０７が示す監視対象および列１３０８が示す監視項目が、ＩＮＣ４の列１４１２が示す原因の監視対象および列１４１３が示す原因の監視項目に一致する場合、ＡＬＯＧ１の重みを大きくする方法である。
【０２９２】
ＡＬＯＧ１の重みを算出する第８の方法は、稼働データ表示プログラム３３２が、前述のＡＬＯＧ１の重みを算出する第１〜第７の方法のいずれかの方法によってＩＮＣ４が示すインシデントの解決のために行われたアクセスであると判定されたアクセスログのセッションＩＤ（列１３０６に対応）と、ＬＯＧ２の列１３０６が示すセッションＩＤとが同じである場合、ＡＬＯＧ１の重みを大きくする方法である。
【０２９３】
ＡＬＯＧ１の重みを算出する第９の方法は、稼働データ表示プログラム３３２が、ＩＮＣ４の列１４０２が示すグループが、ＬＯＧ２の列１３０４が示すグループと一致するか否かを判定し、ＩＮＣ４の列１４０２が示すグループが、ＬＯＧ２の列１３０４が示すグループと一致する場合、ＡＬＯＧ１の重みを大きくする方法である。
【０２９４】
前述の第１〜第９の方法を用いてＡＬＯＧ１の重み付けを行うことによって、過去のインシデントの解決につながったアクセスログから作られた抽象アクセスログは、インシデントの解決につながらないアクセスログから作られた抽象アクセスログよりも、大きい重要度を割り当てられる。従って、稼働データ表示プログラム３３２は、大きい重要度が割り当てられる抽象アクセスログを稼働データの推薦に用いることによって、インシデントの解決につながる稼働データを、より精度よく推薦することができる。
【０２９５】
一般的に、運用管理者が属するグループ１２においてサービスが長期間運用されている場合、抽象アクセスログの列１９０２が示すアクセスログの列１３０４が示すグループ１２と、列１９０３が示すインシデントが発生した監視対象が含まれるグループ１２とが同じである抽象アクセスログを、稼働データの推薦に優先的に用いることによって、稼働データ表示プログラム３３２は、推薦の制度を向上させることができる。これは、各グループ１２固有のインシデントが発生している可能性があるためである。このため、第９の方法が用いられる。
【０２９６】
Ｓ４０８において稼働データ表示プログラム３３２は、前述の第１〜第９の方法によって算出されたＡＬＯＧ１の重みを、ＣＯＭＢ１の重要度に加算する。
【０２９７】
なお、稼働データ表示プログラム３３２は、抽象アクセスログ（ＣＯＭＢ１）の重要度を、抽象アクセスログの元になったアクセスログ（ＡＬＯＧ１）の数に従って算出してもよい。例えば、ＡＬＯＧ１として図１３の行１９１１〜行１９１８がＳ４０６〜Ｓ４０８の処理を実行された場合、重み付き抽象アクセスログ２０００の行２０１１および行２０１２の重要度は２であり、行２０１３〜行２０１８の重要度は１である（重要度の平均値は１．３３、標準偏差は０．５２）。
【０２９８】
これは、例えば、行２０１１が示す組合せを含む抽象アクセスログは、図１３において行１９１１および行１９１５の二つであり、行２０１２が示す組合せを含む抽象アクセスログは、図１３において行１９１４および行１９１７の二つであるためである。
【０２９９】
しかし、前述のように、抽象アクセスログの重要度を、抽象アクセスログの元になったアクセスログの数に従って算出した場合、重要度の最大値と最小値との差が小さいため、運用管理者は稼働データを確認する順番を判断しづらい。この場合、稼働データ表示プログラム３３２は、抽象アクセスログの元になったアクセスログの数に従って重要度を算出する方法と、前述の第１〜第９の方法のいずれかとを用いることによって、重要度の最大値と最小値との差を大きくし、運用管理者へ推薦する強さを変化させることができる。
【０３００】
具体的には、稼働データ表示プログラム３３２は、抽象アクセスログの元になったアクセスログの数に従って重要度を算出する方法に加え、さらに、第１の方法を用いてもよい。すなわち、ＬＯＧ２の列１３０５が示す運用管理者が、ＩＮＣ４の列１４０８が示す対応者と一致する場合、重要度に２を加算し、一致しない場合、重要度に１を加算してもよい。これによって、例えば、図１７に示すように、行２０１１の重要度は３と算出され、行２０１３の重要度は２と算出される（重要度の平均値は２、標準偏差は０．８９）。
【０３０１】
これは、行１９１１〜行１９１４の抽象アクセスログの元になったアクセスログ（行１３１１〜行１３１４に対応）は、インシデントＩＤが１であるインシデント情報（行１４２１）の対応者（列１４０８に対応）によるアクセスを示すためである。また、行１９１５〜１９１８の元になったアクセスログ（行１３１７〜行１３２０に対応）は、インシデントＩＤが２であるインシデント情報（行１４２２に対応）の対応者（列１４０８に対応）によるアクセスを示さないためである。
【０３０２】
以上によって、稼働データ表示プログラム３３２は、Ｓ４０８の処理を実行する。そして、図１９Ｂに示す処理によって、稼働データ表示プログラム３３２は、図１９Ａの処理によって生成された重み付き抽象アクセスログ（ＣＯＭＢ１）に基づいてアクセスパターン２１００を生成する。
【０３０３】
Ｓ４０５において、Ｓ４０４において選択された組合せのすべてにＳ４０６〜Ｓ４０８の処理が実行されたと判定された場合、図１９Ｂに示す処理が実行される。稼働データ表示プログラム３３２は、Ｓ４０９〜Ｓ４１４の処理によって、ＣＯＭＢ１の列２００１が示す監視対象ＩＤを、監視対象を示す具体的な値に変換する。
【０３０４】
まず、稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００１が示す監視対象ＩＤが「インシデント発生元」を示すか否かを判定する（Ｓ４０９）。すなわち、稼働データ表示プログラム３３２は、抽象化された監視対象ＩＤの文字列を、運用管理者が情報を表示したいインシデントのインシデント情報（ＩＮＣ３）を用いて、具体化された監視対象ＩＤに変換する。
【０３０５】
Ｓ４０９において、ＣＯＭＢ１の列２００１が示す監視対象ＩＤが「インシデント発生元」を示すと判定された場合、稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００１に格納された値を、ＩＮＣ３の列１４０４が示す監視対象ＩＤに変換する（Ｓ４１０）。Ｓ４１０の後、稼働データ表示プログラム３３２は、Ｓ４１５を実行する。
【０３０６】
Ｓ４０９において、ＣＯＭＢ１の列２００１が示す監視対象ＩＤが「インシデント発生元」を示さないと判定された場合、稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００１が示す監視対象が、インシデント発生元の監視対象（ＩＮＣ３の列１４０４）と依存関係にあるか否かを、依存関係データ１７００を用いて判定する（Ｓ４１１）。
【０３０７】
Ｓ４１１において、ＣＯＭＢ１の列２００１が示す監視対象がインシデント発生元の監視対象と依存関係にあると判定された場合、稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００１に格納された値を、ＩＮＣ３のインシデント発生元と依存関係にある監視対象の監視対象ＩＤに変換する（Ｓ４１２）。Ｓ４１２の後、稼働データ表示プログラム３３２は、Ｓ４１５を実行する。
【０３０８】
Ｓ４１２において稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００１に格納された値を、依存関係データ１７００を用いて変換する。なお、ＣＯＭＢ１の列２００１が示す監視対象と依存関係にある監視対象が複数ある場合、稼働データ表示プログラム３３２は、複数のアクセスパターンを生成してもよい。
【０３０９】
Ｓ４１１において、ＣＯＭＢ１の列２００１が示す監視対象がインシデント発生元の監視対象と依存関係にないと判定された場合、稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００１が示す監視対象ＩＤが、インシデント発生元と同じサービスを提供するか否かを、サービス情報１８００を用いて判定する（Ｓ４１３）。
【０３１０】
Ｓ４１３において、ＣＯＭＢ１の列２００１が示す監視対象ＩＤがインシデント発生元と同じサービスを提供すると判定された場合、稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００１に格納された値を、ＩＮＣ３の列１４０４が示すインシデント発生元と同じサービスを提供する監視対象の監視対象ＩＤに変換する（Ｓ４１４）。Ｓ４１４の後、稼働データ表示プログラム３３２は、Ｓ４１５を実行する。
【０３１１】
Ｓ４１４において稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００１に格納された値を、サービス情報１８００を用いて変換する。なお、ＣＯＭＢ１の列２００１が示す監視対象と同じサービスを提供する監視対象が複数ある場合、稼働データ表示プログラム３３２は、複数のアクセスパターンを生成してもよい。
【０３１２】
例えば、図１７の行２０１５の監視対象ＩＤは「インシデント発生元に並列するＷｅｂサーバ」であるため、稼働データ表示プログラム３３２は、行２０１５にＳ４１３およびＳ４１４の処理を実行する。そして、ＩＮＣ３のインシデント発生元の監視対象（列１４０４）である「ｈｏｓｔ５０」と同じサービスを提供するＷｅｂサーバは、サービス情報１８００の行１８１８が示す「ｈｏｓｔ５１」および行１８１９が示す「ｈｏｓｔ５２」の二つである。このため、稼働データ表示プログラム３３２は、Ｓ４１４において、二つのアクセスパターン（図１８の行２１１５および行２１１６）を生成してもよい。
【０３１３】
Ｓ４１３において、ＣＯＭＢ１の列２００１が示す監視対象ＩＤがインシデント発生元の監視対象と同じサービスを提供しないと判定された場合、Ｓ４１０、Ｓ４１２、または、Ｓ４１４の後、稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００２が示す監視項目ＩＤを変換する。稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００２に格納された値が「インシデント発生元」であるか否かを判定する（Ｓ４１５）。
【０３１４】
Ｓ４１５において、ＣＯＭＢ１の列２００２に格納された値が「インシデント発生元」であると判定された場合、稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００２に格納された値を、ＩＮＣ３の列１４０５の監視項目ＩＤに変換する（Ｓ４１６）。
【０３１５】
Ｓ４１５において、ＣＯＭＢ１の列２００２に格納された値が「インシデント発生元」でないと判定された場合、または、Ｓ４１６の後、稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００３が示す表示期間を、ＩＮＣ３の列１４０７が示す発生日時に基づいて更新する（Ｓ４１７）。
【０３１６】
Ｓ４１７の後、稼働データ表示プログラム３３２は、ＣＯＭＢ１の列２００４が示す絞り込み条件を、ＩＮＣ３の列１４０６が示すインシデントの内容に含まれるキーワードに基づいて更新する（Ｓ４１８）。
【０３１７】
Ｓ４１８の後、稼働データ表示プログラム３３２は、図１９Ａに示すＳ４０２を実行する。以上が、図１６に示すＳ３１０においてアクセスパターン２１００を生成する処理の詳細である。
【０３１８】
稼働データ表示プログラム３３２は、図１６のＳ３１１において、生成されたアクセスパターン２１００の列２１０５が示す重要度の高い順に、列２１０１〜列２１０４に該当する稼働データを表示してもよい。また、図１６のＳ３１１において、列２１０５が示す重要度が所定の値より高いアクセスパターンを選択し、選択されたアクセスパターンの列２１０１〜列２１０４に該当する稼働データを表示してもよい。
【０３１９】
図１６、図１９Ａおよび図１９Ｂにおいて、稼働データ表示プログラム３３２は、運用管理者が情報を表示したいインシデントと類似するインシデントのインシデント情報を、過去に蓄積されたインシデント情報１４００から取得する。そして、稼働データ表示プログラム３３２は、取得されたインシデント情報から生成された抽象アクセスログを用いて、運用管理者に推薦すべき稼働データを示すアクセスパターンを生成する。これによって、稼働データ表示プログラム３３２は、過去のインシデントの解決に直接つながるアクセスを用いることができ、推薦機能の精度を上げることができる。
【０３２０】
図２０Ａは、本発明の第１の実施形態の運用管理者に推薦する稼働データを表示するための画面２３００を示す説明図である。
【０３２１】
図２０Ａは、運用管理者が閲覧すべき稼働データを、運用管理者に推薦するための画面２３００を示す。画面２３００は、二つのペイン（ペイン２３０１、および、ペイン２３０２）を含み、左のペイン２３０１には、稼働データを選択するための稼働データへのリンクが表示され、右のペイン２３０２には、選択された稼働データが表示される。
【０３２２】
図２０Ａは、ペイン２３０１に既に表示されていた稼働データへのリンクのうち、図１９Ａおよび図１９Ｂの処理によって生成されたアクセスパターン２１００に相当するリンクを、稼働データ表示プログラム３３２が強調表示した場合の例である。稼働データ表示プログラム３３２は、Ｓ３１１において、稼働データへのリンクを太字によって表示することによって稼働データへのリンクを強調表示してもよい。また、アクセスパターン２１００の列２１０５が示す重要度が高い順に、星印を多く表示することによって、稼働データへのリンクを強調表示してもよい。
【０３２３】
稼働データ表示プログラム３３２が図２０Ａに示す画面を表示した場合、稼働データ表示プログラム３３２は、運用管理者が見慣れた画面を大きく変更しない。このため、運用管理者は図２０Ａに示す画面から、確認すべき稼働データを直感的に理解しやすいという効果がある。
【０３２４】
図２０Ｂは、本発明の第１の実施形態のアクセスパターン２１００に基づいて運用管理者に推薦する稼働データのみを表示するための画面２３１０を示す説明図である。
【０３２５】
図２０Ｂは、運用管理者が閲覧すべき稼働データへのリンクのみを表示する画面２３１０を示す。画面２３１０は、二つのペイン（ペイン２３１１、および、ペイン２３１２）を含み、左のペイン２３１１には、稼働データを選択するためのリンクが表示され、右のペイン２３１２には、選択された稼働データが表示される。
【０３２６】
図２０Ｂは、稼働データ表示プログラム３３２が、図１６のＳ３１１において、アクセスパターン２１００が示す稼働データの条件に対応する稼働データへのリンクのみをペイン２３１１に表示した場合の例を示す。稼働データ表示プログラム３３２は、アクセスパターン２１００の列２１０５が示す重要度の降順に、稼働データへのリンクを表示することによって、稼働データへのリンクを強調表示してもよい。
【０３２７】
稼働データ表示プログラム３３２が画面２３１０を表示する場合、確認すべき稼働データへのリンクを表示するために、運用管理者が画面を編集する手間がかからない。
【０３２８】
前述のように、稼働データ表示プログラム３３２は、新たに発生したインシデントのインシデント情報１４００、監視対象同士の関係性を示すデータ（依存関係データ１７００およびサービス情報１８００）、および、アクセスログ抽象化プログラム３３６によって生成された抽象アクセスログ１９００に基づいて、運用管理者が閲覧すべき稼働データを推薦することができる。
【０３２９】
さらに、稼働データ表示プログラム３３２は、各抽象アクセスログに割り当てられた重要度（重み付き抽象アクセスログ２０００）に基づいて、インシデントの解決に特に役立つ稼働データを、他の稼働データよりも強調して表示することができる。これによって、運用管理者は、新たに発生したインシデントの解決に役立つ稼働データを迅速に閲覧できる。これは、運用管理者がインシデントを解決するまでの時間を短縮し、さらに、サービス停止時間の短縮という効果がある。
【０３３０】
また、本実施形態の重み付き抽象アクセスログ２０００には、監視業務を示す一般的な文字列が含まれており、企業秘密が含まれない。このため、サービス管理サーバ３は、重み付き抽象アクセスログ２０００を、異なる企業または組織間、さらに、異なるコンピュータシステム間において共有することができる。
【０３３１】
例えば、前述の実施形態によれば、運用管理者は、グループＤにおいて発生したインシデント（図８の行１４２４）を解決するために、グループＡおよびグループＢにおいて過去に発生したインシデント（図８の行１４２１および行１４２２）に関する抽象アクセスログを用いることができる。すなわち、本発明のサービス管理サーバ３は、アクセスログ１３００にデータが蓄積されていない新規のコンピュータシステムまたはグループにおいても、他のコンピュータシステムにおいて生成された重み付き抽象アクセスログ２０００を用いて、運用管理者へ稼働データを推薦することができ、さらに、運用管理者がインシデントの原因を分析する時間を短縮できるという効果がある。
【０３３２】
（第２の実施形態）
【０３３３】
以下、図面を用いて第２の実施形態を説明する。第２の実施形態のサービス管理サーバ３は、アクセスログの抽象化に加えて、さらに、インシデント情報を抽象化する。第２の実施形態のコンピュータシステムは、図１に示す第１の実施形態のコンピュータシステムと同様である。ただし、メモリ３３が保持するプログラム、および、データベース４に格納されるデータは、第１の実施形態のプログラムおよびデータと一部異なる。
【０３３４】
図２１は、本発明の第２の実施形態のサービス管理サーバ３の物理的な構成とサービス管理サーバ３が保持する情報とを示すブロック図である。
【０３３５】
第２の実施形態のサービス管理サーバ３は、第１の実施形態のサービス管理サーバ３と同じく、インタフェース（Ｉ／Ｆ）３１、プロセッサ３２、および、メモリ３３を備える。第２の実施形態のメモリ３３は、第１の実施形態のメモリ３３が保持するプログラムと、インシデント情報抽象化プログラム３３７と、を保持する。
【０３３６】
インシデント情報抽象化プログラム３３７は、データベース４に格納された各種データを用いて、抽象インシデント情報を生成するプログラムである。インシデント情報抽象化プログラム３３７は、インシデント情報１４００が更新された時点で実行されるか、または、定期的なバッチ処理によって実行される。
【０３３７】
なお、第２の実施形態のサービス管理サーバ３は、図２１に示すプログラムによって各機能を提供するが、第１の実施形態におけるプログラムと同じく、各プログラムの機能は、一つのプログラムによって実装されてもよい。また、図２１に示す各プログラムを処理ごとに分割することによって、一つのプログラムを複数のプログラムによって実装してもよい。
【０３３８】
また、図２１に示す各プログラムの機能は、第１の実施形態と同じく、プロセッサを備えるＬＳＩ素子等の処理部によってサービス管理サーバ３に実装されてもよい。また、図２１に示す各プログラムは、プログラム配布サーバ、または、計算機読み取り可能な非一時的記憶媒体によってサービス管理サーバ３にインストールすることができ、また、サービス管理サーバ３が備える不揮発性記憶デバイス（図示なし）に格納することができる。
【０３３９】
図２２は、本発明の第２の実施形態のデータベース４に格納されるデータを示す説明図である。
【０３４０】
第２の実施形態のデータベース４は、第１の実施形態のデータベース４に格納されるデータと、抽象インシデント情報２２００とを格納する。
【０３４１】
抽象インシデント情報２２００は、インシデント情報抽象化プログラム３３７によって、インシデント情報１４００が抽象化された結果のデータである。この抽象インシデント情報２２００は、稼働データを推薦するため、または、推薦の根拠を運用管理者に示すために用いられる。
【０３４２】
抽象インシデント情報２２００は、テーブルに格納されるが、各データの内容を識別できれば、いかなる方法によってデータベース４に格納されてもよい。
【０３４３】
図２３は、本発明の第２の実施形態の抽象インシデント情報２２００を示す説明図である。
【０３４４】
抽象インシデント情報２２００は、列２２０１〜列２２０５を含む。図２３に示す抽象インシデント情報２２００は、行２２１１〜行２２１７、および、行２２２１〜行２２２８を含む。
【０３４５】
列２２０１は、本実施形態のコンピュータシステムにおいて抽象インシデント情報を一意に識別するための識別子（抽象インシデントＩＤ）を示す。列２２０２は、抽象インシデント情報を生成するためにもとになったインシデント情報のインシデントＩＤを示す。
【０３４６】
列２２０３は、インシデント情報１４００の列１４０４に対応し、列２２０４は、インシデント情報１４００の列１４０５に対応し、列２２０５は、インシデント情報１４００の列１４０６に対応する。列２２０３〜列２２０５は、列１４０４〜列１４０６に含まれる値、または、列１４０４〜列１４０６に含まれる値を抽象化した値を含む。
【０３４７】
インシデント情報抽象化プログラム３３７によってインシデント情報１４００が抽象化された結果、図２３に示す行２２１１〜行２２１３のように、一つのインシデント情報（インシデントＩＤが１）から、二つ以上の抽象インシデント情報が生成される場合がある。また、図２３に示す行２２１２のように、二つ以上のインシデント情報（インシデントＩＤが１および３）から一つの抽象インシデント情報が生成される場合もある。
【０３４８】
図２４Ａは、本発明の第２の実施形態の抽象インシデント情報を生成する処理のうち、監視対象ＩＤ、監視項目ＩＤ、および、インシデントの内容を抽象化する処理を示すフローチャートである。
【０３４９】
図２４Ｂは、本発明の第２の実施形態の抽象インシデント情報を生成する処理のうち、抽出化されたインシデント情報を抽象インシデント情報２２００に格納する処理を示すフローチャートである。
【０３５０】
図２４Ａおよび図２４Ｂは、インシデント情報抽象化プログラム３３７が、インシデント情報１４００から抽象インシデント情報２２００を生成する処理を示す。
【０３５１】
インシデント情報抽象化プログラム３３７は、データベース４のインシデント情報１４００からすべてのインシデント情報を取得する（Ｓ５０１）。インシデント情報抽象化プログラム３３７は、インシデント情報１４００が更新された際に、図２４Ａに示す処理を開始してもよいし、定期的または指定された時刻に、図２４Ａに示す処理を開始してもよい。
【０３５２】
Ｓ５０１の後、インシデント情報抽象化プログラム３３７は、Ｓ５０１において取得されたインシデント情報のうち、Ｓ５０４およびＳ５０５の処理が実行されていないインシデント情報があるか否かを判定する（Ｓ５０２）。Ｓ５０２において、Ｓ５０４およびＳ５０５の処理を実行されていないインシデント情報がないと判定された場合、インシデント情報抽象化プログラム３３７は、図２４Ａおよび図２４Ｂの処理を終了する。
【０３５３】
Ｓ５０２において、Ｓ５０４およびＳ５０５の処理を実行されていないインシデント情報があると判定された場合、インシデント情報抽象化プログラム３３７は、Ｓ５０４およびＳ５０５の処理を実行されていないインシデント情報を一つ選択する（Ｓ５０３）。以降の説明では、Ｓ５０３において選択されたインシデント情報をＩＮＣ５と呼ぶ。
【０３５４】
Ｓ５０４〜Ｓ５１２において、インシデント情報抽象化プログラム３３７は、ＩＮＣ５の列１４０５が示す監視対象、ＩＮＣ５の列１４０６が示す監視項目、および、ＩＮＣ５の列１４０７が示すインシデントの内容を抽象化した結果を、メモリ３３に格納する。Ｓ５０３の後、インシデント情報抽象化プログラム３３７は、ＩＮＣ５の列１４０５が示す監視対象ＩＤを、メモリ３３に保持された監視対象リストに追加する（Ｓ５０４）。
【０３５５】
例えば、ＩＮＣ５が行１４２１である場合、インシデント情報抽象化プログラム３３７は、列１４０５が示す「ｈｏｓｔ１」を監視対象リストに追加する。これによって、図２３に示す行２２１１の列２２０３に対応する値が監視対象リストに追加される。
【０３５６】
なお、第２の実施形態において、インシデント情報抽象化プログラム３３７は、メモリ３３に、監視対象リスト、監視項目リストおよび内容リストを保持する。監視対象リストは、抽象化された文字列によって、インシデントが発生した監視対象を保持するリストである。監視項目リストは、抽象化された文字列によって、インシデントが発生した監視項目を保持するリストである。内容リストは、抽象化された文字列によって、インシデントの内容を保持するリストである。
【０３５７】
Ｓ５０４の後、インシデント情報抽象化プログラム３３７は、ＩＮＣ５の列１４０５が示す監視対象ＩＤを、依存元（列１７０１）または依存先（列１７０２）に含む行を、依存関係データ１７００から抽出できるか否かを判定する（Ｓ５０５）。
【０３５８】
Ｓ５０５において、ＩＮＣ５の列１４０５が示す監視対象ＩＤを、依存元（列１７０１）または依存先（列１７０２）に含む行を、依存関係データ１７００から抽出できた場合、インシデント情報抽象化プログラム３３７は、Ｓ５０５において抽出された依存関係データ１７００の行に基づいて、抽象化された監視対象ＩＤを生成する。そして、生成された監視対象ＩＤを、メモリ３３の監視対象リストに追加する（Ｓ５０６）。Ｓ５０６の後、インシデント情報抽象化プログラム３３７は、Ｓ５０７を実行する。
【０３５９】
例えば、ＩＮＣ５が図８に示す行１４２１である場合、インシデント情報抽象化プログラム３３７は、図１１に示す行１７１１および行１７１３に基づいて、「ｓｗｉｔｃｈ１に依存する監視対象」、および、「ｈｏｓｔ３に依存する監視対象」を示す文字列を、メモリ３３の監視対象リストにそれぞれ追加する。これによって、図２３に示す行２２１２および行２２１３の列２２０３に対応する値が監視対象リストに追加される。
【０３６０】
Ｓ５０５において、ＩＮＣ５の列１４０５が示す監視対象を依存元または依存先に含む行が依存関係データ１７００にないと判定された場合、または、Ｓ５０６の後、インシデント情報抽象化プログラム３３７は、ＩＮＣ５の列１４０５が示す監視対象ＩＤを、構成要素（列１８０２）に含む行を、サービス情報１８００から抽出できるか否かを判定する（Ｓ５０７）。
【０３６１】
Ｓ５０７において、ＩＮＣ５の列１４０５が示す監視対象を構成要素（列１８０２）に含む行をサービス情報１８００から抽出できた場合、インシデント情報抽象化プログラム３３７は、Ｓ５０７において抽出されたサービス情報１８００の行に基づいて、抽象化された監視対象ＩＤを生成する。そして、生成された監視対象ＩＤを、メモリ３３の監視対象リストに追加する（Ｓ５０８）。Ｓ５０８の後、インシデント情報抽象化プログラム３３７は、Ｓ５０９を実行する。
【０３６２】
例えば、ＩＮＣ５が図８に示す行１４２１である場合、インシデント情報抽象化プログラム３３７は、図１２に示す行１８１１に基づいて、「Ｗｅｂサーバ」、および、「サービスｓｅｒｖｉｃｅ−ＡのＷｅｂサーバ」をメモリ３３の監視対象リストに追加する。これによって、図２３の行２２１４および行２２１５の列２２０３に対応する値が監視対象リストに追加する。
【０３６３】
ここで、行２２１４の列２２０３に対応する値「Ｗｅｂサーバ」は、サービス情報の種類（列１８０３）のみを用いて抽象化された監視対象ＩＤを示し、行２２１５の列２２０３に対応する値「サービスｓｅｒｖｉｃｅ−ＡのＷｅｂサーバ」は、サービス情報のサービスＩＤ（列１８０１）と種類（列１８０３）とを用いて抽象化された監視対象ＩＤを示す。種類のみを用いて抽象化された監視対象の方がより抽象度が高いため、多数のインシデント情報に関連付けられやすい。
【０３６４】
Ｓ５０７において、ＩＮＣ５の列１４０５が示す監視対象を構成要素（列１８０２）に含む行をサービス情報１８００から抽出できないと判定された場合、または、Ｓ５０８の後、インシデント情報抽象化プログラム３３７は、ＩＮＣ５の列１４０５が示す監視項目ＩＤを、メモリ３３に保持された監視項目リストに追加する（Ｓ５０９）。
【０３６５】
Ｓ５０９の後、インシデント情報抽象化プログラム３３７は、ＩＮＣ５の列１４０６が示す監視項目を抽象化した文字列を、メモリ３３に保持される監視項目リストに追加する（Ｓ５１０）。インシデント情報抽象化プログラム３３７は、Ｓ５１０において、事前に定められた規則に基づいて監視項目ＩＤを抽象化する。これは、第１の実施形態において、アクセスログの列１３０８の監視項目ＩＤを抽象化した処理（Ｓ２１８およびＳ２１９）と同じである。
【０３６６】
Ｓ５１０の後、インシデント情報抽象化プログラム３３７は、ＩＮＣ５の列１４０６に含まれる値（インシデントの内容）を、メモリ３３に保持された内容リストに追加する（Ｓ５１１）。Ｓ５１１の後、インシデント情報抽象化プログラム３３７は、ＩＮＣ５の列１４０６が示すインシデントの内容を抽象化した文字列を、メモリ３３に保持された内容リストに追加する（Ｓ５１２）。
【０３６７】
Ｓ５１２における抽象化処理の詳細を以下に示す。
【０３６８】
インシデント情報抽象化プログラム３３７は、Ｓ５１２において、アラート文字列のテンプレート、または、形態素解析エンジンを用いることによって、ＩＮＣ５の列１４０６が示すインシデントの内容から、特徴語を取得する。そして、インシデント情報抽象化プログラム３３７は、ＩＮＣ５の列１４０６に含まれる前述の特徴語を削除するか、または、ＩＮＣ５の列１４０６に含まれる前述の特徴語を一般的な表現（「エラーメッセージ」など）に置換する。
【０３６９】
例えば、ＩＮＣ５が図８に示す行１４２３である場合、インシデント情報抽象化プログラム３３７は、列１４０６が示す「エラー"ｕｐｌｏａｄ  ｄａｔａ  ｅｒｒｏｒ"発生」をメモリ３３に保持された内容リストに追加する。また、インシデント情報抽象化プログラム３３７は、列１４０６が示す「エラー"ｕｐｌｏａｄ  ｄａｔａ  ｅｒｒｏｒ"発生」を、「エラー"エラーメッセージ"発生」に置換し、置換された「エラー"エラーメッセージ"発生」を、メモリ３３に保持された内容リストに追加する。「エラー"ｕｐｌｏａｄ  ｄａｔａ  ｅｒｒｏｒ"発生」の文字列よりも「エラー"エラーメッセージ"発生」の方が、監視業務を表現する言葉としてより抽象度が高いため、多数のインシデント情報に関連付けられやすい。
【０３７０】
以上が、メモリ３３に監視対象リスト、監視項目リストおよび内容リストを生成する処理の概要である。Ｓ５１２の後、インシデント情報抽象化プログラム３３７は、図２４ＢのＳ５１３を実行する。
【０３７１】
図２４Ａに示すＳ５１２の後、インシデント情報抽象化プログラム３３７は、メモリ３３の監視対象リスト、監視項目リストおよび内容リストに基づいて、監視対象と監視項目とインシデントの内容との一意な組合せを抽出する（Ｓ５１３）。そして、インシデント情報抽象化プログラム３３７は、Ｓ５１３において抽出された組合せのうち、Ｓ５１６およびＳ５１７の処理が実行されていない組合せがあるか否かを判定する（Ｓ５１４）。
【０３７２】
Ｓ５１４において、Ｓ５１３において抽出された組合せのうち、Ｓ５１６およびＳ５１７の処理が実行されていない組合せがないと判定された場合、インシデント情報抽象化プログラム３３７は、新たなインシデント情報を抽象化するため、図２４Ａに示すＳ５０２を実行する。
【０３７３】
Ｓ５１４において、Ｓ５１３において抽出された組合せのうち、Ｓ５１６およびＳ５１７の処理が実行されていない組合せがあると判定された場合、インシデント情報抽象化プログラム３３７は、Ｓ５１３において抽出され、Ｓ５１６およびＳ５１７の処理が実行されていない組合せを一つ選択する（Ｓ５１５）。以降の説明では、この選択された組合せをＣＯＭＢ２と呼ぶ。
【０３７４】
Ｓ５１５の後、インシデント情報抽象化プログラム３３７は、ＣＯＭＢ２と同じ監視対象ＩＤ、監視項目ＩＤ、および、インシデントの内容を含む抽象インシデント情報を、データベース４の抽象インシデント情報２２００において検索する（Ｓ５１６）。
【０３７５】
Ｓ５１６の後、インシデント情報抽象化プログラム３３７は、Ｓ５１６における検索の結果、ＣＯＭＢ２と同じ監視対象ＩＤ、監視項目ＩＤ、および、インシデントの内容を含む行が、抽象インシデント情報２２００から抽出されるか否かを判定する（Ｓ５１７）。ＣＯＭＢ２と同じ監視対象ＩＤ、監視項目ＩＤ、および、インシデントの内容を含む行が、抽象インシデント情報２２００から抽出された場合、Ｓ５１６において抽出された行の列２２０２に、ＩＮＣ５のインシデントＩＤを追加する（Ｓ５１８）。
【０３７６】
Ｓ５１７において、ＣＯＭＢ２と同じ監視対象ＩＤ、監視項目ＩＤ、および、インシデントの内容を含む抽象インシデント情報を、抽象インシデント情報２２００から抽出できないと判定された場合、インシデント情報抽象化プログラム３３７は、ＣＯＭＢ２に基づいて新しい抽象インシデント情報２２００の行を生成する。そして、インシデント情報抽象化プログラム３３７は、生成された行をデータベース４の抽象インシデント情報２２００に格納する（Ｓ５１９）。Ｓ５１９において、生成された行のインシデントＩＤ（列２２０２）には、ＩＮＣ５のインシデントＩＤが格納される。
【０３７７】
Ｓ５１８の後、または、Ｓ５１９の後、インシデント情報抽象化プログラム３３７は、他の組合せを抽象インシデント情報２２００に格納するため、Ｓ５１４を実行する。
【０３７８】
図２４Ｂに示す処理によって、インシデント情報抽象化プログラム３３７は、過去に生成された抽象インシデント情報２２００に、新たに追加された抽象インシデント情報を追加できる。また、抽象インシデント情報が生成される元となったインシデント情報を示す値が、抽象インシデント情報２２００に格納される。
【０３７９】
図２５は、本発明の第２の実施形態の稼働データ表示プログラム３３２が、運用管理者から稼働データの表示要求を受けた際に、稼働データを推薦する処理を示すフローチャートである。
【０３８０】
図２５のＳ６０１〜Ｓ６０６は、第１の実施形態における図１６のＳ３０１〜Ｓ３０６と同じ処理である。Ｓ６０７以降は、第１の実施形態と異なる処理である。Ｓ６０１〜Ｓ６０６の処理によって、運用管理者が表示した稼働データに関連するインシンデント情報が、ＩＮＣ３としてインシデント情報１４００から取得される。
【０３８１】
Ｓ６０６の後、稼働データ表示プログラム３３２は、ＩＮＣ３に類似し、かつ、アクセスされた実績が多い抽象インシデント情報をデータベース４の抽象インシデント情報２２００から取得する（Ｓ６０７）。ここで、ＩＮＣ３が抽象化されることによって生成された抽象インシデント情報と、ＩＮＣ３とは、本実施形態において類似する。このため、稼働データ表示プログラム３３２は、ＩＮＣ３に類似する抽象インシデント情報を取得するため、Ｓ６０７において、ＩＮＣ３の列１４０１が示すインシデントＩＤを列２２０２に含む抽象インシデント情報を、抽象インシデント情報２２００から取得する。
【０３８２】
さらに、Ｓ６０７において稼働データ表示プログラム３３２は、以下に示す第１〜第１１の評価値を算出することによって、ＩＮＣ３に類似する抽象インシデント情報にアクセスされた実績を定量化する。そして、定量化された結果アクセスされた実績が多く、かつ、ＩＮＣ３に類似する抽象インシデント情報を抽象インシデント情報２２００から取得する。
【０３８３】
第１の評価値は、ＩＮＣ３に類似する抽象インシデント情報の元になったインシデント情報に関連付けられた抽象アクセスログの件数である。すなわち、抽象インシデント情報２２００の列２２０２のインシデントＩＤを、抽象アクセスログ１９００の列１９０３に含む抽象アクセスログ１９００の行の数である。
【０３８４】
第２の評価値は、ＩＮＣ３に類似する抽象インシデント情報の元になったインシデント情報のうち、解決済みのインシデント情報に関連付けられた抽象アクセスログの件数のみをＣ１倍した値（Ｃ１は事前に設定された数値）である。すなわち、抽象インシデント情報２２００の列２２０２の値であり、かつ、インシデント情報１４００の列１４０９に「解決」が格納される行の列１４０１の値であるインシデントＩＤを、抽象アクセスログ１９００の列１９０３に含む抽象アクセスログ１９００の行の数をＣ１倍した数である。
【０３８５】
第３の評価値は、ＩＮＣ３に類似する抽象インシデント情報の元になったインシデント情報のうち、ＩＮＣ３の列１４０２が示すグループ１２と同じグループ１２において発生したインシデント情報に関連付けられた抽象アクセスログの件数のみをＣ２倍した値（Ｃ２は事前に設定された数値）である。すなわち、抽象インシデント情報２２００の列２２０２のインシデントＩＤのうち、列１４０２の値が同じインシデント情報を示すインシデントＩＤを、抽象アクセスログ１９００の列１９０３に含む抽象アクセスログ１９００の行の数をＣ２倍した数である。
【０３８６】
第４の評価値は、ＩＮＣ３に類似する抽象インシデント情報の元になったインシデント情報のうち、ＩＮＣ３の列１４０４が示す監視対象と同じ監視対象において発生したインシデント情報に関連付けられた抽象アクセスログの件数のみをＣ３倍した値（Ｃ３は事前に設定された数値）である。すなわち、抽象インシデント情報２２００の列２２０２のインシデントＩＤのうち、列１４０４の値が同じインシデント情報を示すインシデントＩＤを、抽象アクセスログ１９００の列１９０３に含む抽象アクセスログ１９００の行の数をＣ３倍した数である。
【０３８７】
第５の評価値は、ＩＮＣ３に類似する抽象インシデント情報の元になったインシデント情報のうち、ＩＮＣ３の列１４０５が示す監視項目と同じ監視項目において発生したインシデント情報に関連付けられた抽象アクセスログの件数のみＣ４倍した値（Ｃ４は事前に設定された数値）である。すなわち、抽象インシデント情報２２００の列２２０２のインシデントＩＤのうち、列１４０５の値が同じインシデント情報を示すインシデントＩＤを、抽象アクセスログ１９００の列１９０３に含む抽象アクセスログ１９００の行の数をＣ４倍した数である。
【０３８８】
第６の評価値は、ＩＮＣ３に類似する抽象インシデント情報の元になったインシデント情報のうち、ＩＮＣ３の列１４０６が示すインシデントの内容と同じインシデントの内容のインシデント情報に関連付けられた抽象アクセスログの件数のみをＣ５倍した値（Ｃ５は事前に設定された数値）である。すなわち、抽象インシデント情報２２００の列２２０２のインシデントＩＤのうち、列１４０６の値が同じインシデント情報を示すインシデントＩＤを、抽象アクセスログ１９００の列１９０３に含む抽象アクセスログ１９００の行の数をＣ５倍した数である。
【０３８９】
第７の評価値は、ＩＮＣ３に類似する抽象インシデント情報の元になったインシデント情報の件数である。すなわち、抽象インシデント情報２２００の列２２０２のインシデントＩＤの数である。
【０３９０】
第８の評価値は、ＩＮＣ３に類似する抽象インシデント情報の元になったインシデント情報のうち、ＩＮＣ３の列１４０２が示すグループ１２と同じグループ１２において発生したインシデント情報の件数のみをＣ６倍した値（Ｃ６は事前に設定された数値）である。すなわち、抽象インシデント情報２２００の列２２０２のインシデントＩＤのうち、列１４０２の値が同じインシデント情報を示すインシデントＩＤの数をＣ６倍した数である。
【０３９１】
第９の評価値は、ＩＮＣ３に類似する抽象インシデント情報の元になったインシデント情報のうち、ＩＮＣ３の列１４０４が示す監視対象と同じ監視対象において発生したインシデント情報の件数のみをＣ７倍した値（Ｃ７は事前に設定された数値）である。すなわち、抽象インシデント情報２２００の列２２０２のインシデントＩＤのうち、列１４０４の値が同じインシデント情報を示すインシデントＩＤの数をＣ７倍した数である。
【０３９２】
第１０の評価値は、ＩＮＣ３に類似する抽象インシデント情報の元になったインシデント情報のうち、ＩＮＣ３の列１４０５が示す監視項目と同じ監視項目において発生したインシデント情報の件数のみをＣ８倍した値（Ｃ８は事前に設定された数値）である。すなわち、抽象インシデント情報２２００の列２２０２のインシデントＩＤのうち、列１４０５の値が同じインシデント情報を示すインシデントＩＤの数をＣ８倍した数である。
【０３９３】
第１１の評価値は、ＩＮＣ３に類似する抽象インシデント情報の元になったインシデント情報のうち、ＩＮＣ３の列１４０６が示すインシデントの内容と同じインシデントの内容のインシデント情報の件数のみＣ９倍した値（Ｃ９は事前に設定された数値）である。すなわち、抽象インシデント情報２２００の列２２０２のインシデントＩＤのうち、列１４０６の値が同じインシデント情報を示すインシデントＩＤの数をＣ９倍した数である。
【０３９４】
以上の評価値を算出し、アクセスされた実績を定量化することによって、ＩＮＣ３が示すインシデントと全く同じインシデントが過去に複数回発生している場合、稼働データ表示プログラム３３２は、Ｓ６０７において、抽象度の低い抽象インシデント情報、すなわち、より具体的な抽象インシデント情報を取得できる。例えば、稼働データ表示プログラム３３２は、図２３に示す行２２１１のような、列２２０３が具体的な監視対象ＩＤの「ｈｏｓｔ１」を示す、抽象度の低い抽象インシデント情報を取得できる。
【０３９５】
一方、ＩＮＣ３が示すインシデントと全く同じインシデントが過去に発生していても、ＩＮＣ３が示すインシデントと類似するインシデントが過去に多数発生していた場合、稼働データ表示プログラム３３２は、Ｓ６０７において、評価値の多さを評価するため、よりアクセスが多い抽象インシデント情報が取得される。例えば、稼働データ表示プログラム３３２は、図２３に示す行２２１４のような、列２２０３が抽象的な監視対象ＩＤの「Ｗｅｂサーバ」を示す、抽象度の高い抽象インシデント情報を取得する。
【０３９６】
Ｓ６０７の後、稼働データ表示プログラム３３２は、Ｓ６０７の処理によって、抽象インシデント情報を抽象インシデント情報２２００から取得できたか否かを判定する（Ｓ６０８）。Ｓ６０７の処理によって、抽象インシデント情報を抽象インシデント情報２２００から取得できない場合、稼働データ表示プログラム３３２は、運用管理者によって表示を要求された稼働データのみを画面に表示し、処理を終了する（Ｓ６０５）。
【０３９７】
Ｓ６０８において、Ｓ６０７の処理によって、抽象インシデント情報を抽象インシデント情報２２００から取得できたと判定された場合、稼働データ表示プログラム３３２は、Ｓ６０７において取得された抽象インシデント情報に対応する抽象アクセスログを、データベース４の抽象アクセスログ１９００から取得する（Ｓ６０９）。具体的には、Ｓ６０７において取得された抽象インシデント情報の、列２２０２と同じ値を列１９０３に含む抽象アクセスログの行を取得する。
【０３９８】
Ｓ６０９の後、稼働データ表示プログラム３３２は、ＩＮＣ３、Ｓ６０９において取得された抽象アクセスログ、依存関係データ１７００、および、サービス情報１８００に基づいてアクセスパターンを生成する（Ｓ６１０）。Ｓ６１０の処理は、第１の実施形態の図１９Ａおよび図１９Ｂと同じである。
【０３９９】
Ｓ６１０の後、稼働データ表示プログラム３３２は、Ｓ６１０において生成されたアクセスパターンと、Ｓ６０７において取得された抽象インシデントとに基づいて、管理者端末２０の画面の表示を変更する（Ｓ６１１）。
【０４００】
以上が、稼働データ表示プログラム３３２の処理の概要である。
【０４０１】
なお、第１の実施形態における稼働データ表示プログラム３３２は、運用管理者から情報を表示するインシデントの指示があった場合に、重み付き抽象アクセスログ２０００を生成した。これは、運用管理者からアクセスされるまで、推薦に使われる抽象アクセスログの集合（Ｓ３０９において取得される抽象アクセスログ）が定まらないためである。
【０４０２】
しかし、第２の実施形態において、インシデント情報抽象化プログラム３３７は、稼働データを推薦するため、抽象インシデント情報２２００を生成する。従って、稼働データ表示プログラム３３２は、各抽象インシデント情報に関連する抽象アクセスログに基づいて、抽象インシデント情報ごとの重み付き抽象アクセスログ２０００を、運用管理者がＳ６０２を行うより前に生成することができる（Ｓ４０５〜Ｓ４０８の計算に相当）。これによって、稼働データ表示プログラム３３２によるＳ６１０（図１９Ａおよび図１９Ｂの処理を含む）およびＳ６１１の処理時間を短縮することができる。
【０４０３】
また、Ｓ６０２より前に重み付き抽象アクセスログ２０００を生成することによって、重み付き抽象アクセスログ２０００の重要度（列２００５）の分布を、事前に算出できる。抽象インシデント情報ごとの重み付き抽象アクセスログの重要度を事前に算出できる結果、例えば、ある抽象インシデント情報に関する抽象アクセスログの重要度の分布が均等な場合、運用管理者またはサービス管理サーバ３は、抽象インシデント情報が示すインシデントを解決するために必要な稼働データを、現在までに収集したアクセスログからは定められないことを判断できる。
【０４０４】
また、例えば、ある抽象インシデント情報に関連した重み付き抽象アクセスログの重要度の標準偏差がＭ１（Ｍ１は事前に設定された数値）より小さい場合、アクセスログ抽象化プログラム３３６がその抽象アクセスログを削除することによって、不要な重み付き抽象アクセスログを削除することができる。すなわち、不要な抽象インシデント情報を削除することができる。これによって、不要な重み付き抽象アクセスログによってアクセスパターンが生成されないため、稼働データ表示プログラム３３２が運用管理者により精度の高い稼働データを推薦できる。
【０４０５】
また、アクセスログ抽象化プログラム３３６が、ある抽象インシデント情報に関係した重み付き抽象アクセスログの重要度の標準偏差が大きい上位Ｍ２（Ｍ２は事前に設定された数値）件の抽象インシデント情報を残し、それ以外の抽象インシデント情報を削除してもよい。これによって、稼働データ表示プログラム３３２が、運用管理者により精度の高い稼働データを推薦できる。
【０４０６】
このようにサービス管理サーバ３が、重要度が推薦に適さない分布を持つ抽象インシデント情報を事前に削除することで、実用的な推薦を行えない抽象インシデント情報を事前に除外できるという効果がある。なお、標準偏差以外の方法を用いて分布の均等さを判断してもよい。
【０４０７】
図２６は、本発明の第２の実施形態の運用管理者に推薦する稼働データを表示するための画面２４００を示す説明図である。
【０４０８】
図２６は、運用管理者が閲覧すべき稼働データを、運用管理者に推薦するための画面２４００を示す。画面２４００は、ペイン２４０１、ペイン２４０２、および、ペイン２４０３の三つのペインを含む。
【０４０９】
ペイン２４０１は、稼働データを選択するためのリンクを表示する。ペイン２４０３は、ペイン２４０１において選択された稼働データを表示する。ペイン２４０２は、稼働データの推薦に用いられた抽象インシデント情報を表示する。
【０４１０】
例えば、図２３に示す行２２１４の抽象インシデント情報が図２５に示すＳ６０７において取得された場合、稼働データ表示プログラム３３２は、図２５に示すＳ６１１において、図２６に示すペイン２４０２のように推薦に使われた抽象インシデント情報を運用管理者に表示する。ペイン２４０２によって、運用管理者は、サービス管理サーバ３による稼働データの推薦が、どのようなインシデントの例に基づく推薦であるかを理解できる。ペイン２４０２を表示する機能は、運用管理者が、推薦された稼働データに疑問を感じた際に、感じた疑問を解決するために役立つ。
【０４１１】
図２６に示す画面２４００のペイン２４０２において、稼働データ表示プログラム３３２は、抽象化された監視対象ＩＤ、抽象化された監視項目ＩＤ、および、抽象化されたインシデントの内容を表示する。
【０４１２】
しかし、インシデント情報抽象化プログラム３３７によってインシデント情報の列１４１２が示す原因の監視対象ＩＤ、または、列１４１３が示す原因の監視項目ＩＤが抽象化された場合、稼働データ表示プログラム３３２は、抽象化された原因の監視対象ＩＤ、または、原因の監視項目ＩＤを、ペイン２４０２に表示してもよい。これによって、稼働データ表示プログラム３３２は、抽象化された原因の監視対象ＩＤ、または、抽象化された原因の監視項目ＩＤに関する稼働データを優先的に確認するための手がかりを、運用管理者に提供することができる。その結果、インシデントの解決にかかる時間を短縮できる。
【０４１３】
また、稼働データ表示プログラム３３２によって画面２４００に表示された推薦が役に立たなかった場合、運用管理者は、別の抽象インシデント情報を使った推薦を、稼働データ表示プログラム３３２に指示してもよい。具体的には、稼働データ表示プログラム３３２は、運用管理者にペイン２４０２に表示されたボタン２４０４を操作させることによって、運用管理者に「役に立たない」抽象インシデント情報を入力させる。
【０４１４】
そして、稼働データ表示プログラム３３２は、入力された「役に立たない」抽象インシデント情報に基づいて、図２５に示す処理を再実行する。具体的には、稼働データ表示プログラム３３２は、Ｓ６０７において抽象インシデント情報を取得する際、運用管理者に「役に立たない」と入力された抽象インシデント情報を取得しない。
【０４１５】
前述のとおり、第２の実施形態の稼働データ表示プログラム３３２は、第１の実施形態と同じく稼働データを推薦する。さらに、第２の実施形態の稼働データ表示プログラム３３２は、その推薦の根拠となった過去のインシデント情報を運用管理者に提示することができる。
【０４１６】
また、インシデント情報１４００には各グループ１２の企業秘密が含まれるため、第１の実施形態において、稼働データ表示プログラム３３２は、類似するインシデント情報を画面２３００に表示できなかった。例えば、稼働データ表示プログラム３３２は、グループＩＤが「Ｄ」であるグループ１２に属する運用管理者に、図８に示す行１４２１および行１４２２のインシデント情報を表示することはできない。
【０４１７】
しかし、第２の実施形態によれば、稼働データ表示プログラム３３２は、例えば、図２３の行２２１４のような、抽象インシデント情報を表示することができる。これによって、運用管理者は、稼働データ表示プログラム３３２によって行われる稼働データの推薦が役立たないと感じた場合、類似する抽象インシデント情報を変更することによって、他の稼働データを推薦されることができる。これは、運用管理者がインシデントを解決するまでの時間の短縮、および、サービス停止時間の短縮という効果がある。
【０４１８】
また、第２の実施形態によれば、稼働データ表示プログラム３３２は、抽象インシデント情報ごとに抽象アクセスログの重要度を事前に算出することによって、稼働データの推薦を第１の実施形態よりも高速に行うことができる。加えて、抽象アクセスログの重要度の標準偏差が小さい抽象インシデント情報を事前に除外することによって、運用管理者が稼働データを選択する助けにならないようなアクセスパターンを除外することができる。これによって、運用管理者がインシデントを解決するまでの時間の短縮、さらに、サービス停止時間の短縮という効果がある。
【０４１９】
本実施形態によれば、サービス管理サーバ３は、事前に運用管理者が手順書を生成していないインシデントが発生した場合も、過去のインシデントに関する抽象アクセスログを用いることによって、運用管理者が優先的に閲覧すべき稼働データを、運用管理者に推薦できる。これによって、運用管理者がインシデントの原因分析を行う時間を短縮できる。
【０４２０】
また、抽象アクセスログには企業秘密が含まれないため、異なる企業や組織間、さらに異なるコンピュータシステム間でも共有できる。従って、本発明のサービス管理サーバは、監視作業が過去に行われていない新規サービスにおいても、運用管理者がインシデントの原因分析を行う時間を短縮できる。
【０４２１】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。
【産業上の利用可能性】
【０４２２】
複数の機器を監視する監視業務において、運用管理者が用いるサーバに適用できる。
【図１】
0005624683.tif 000002
【図２】
0005624683.tif 000003
【図３】
0005624683.tif 000004
【図４】
0005624683.tif 000005
【図５】
0005624683.tif 000006
【図６】
0005624683.tif 000007
【図７】
0005624683.tif 000008
【図８】
0005624683.tif 000009
【図９】
0005624683.tif 000010
【図１０】
0005624683.tif 000011
【図１１】
0005624683.tif 000012
【図１２】
0005624683.tif 000013
【図１３】
0005624683.tif 000014
【図１４Ａ】
0005624683.tif 000015
【図１４Ｂ】
0005624683.tif 000016
【図１５Ａ】
0005624683.tif 000017
【図１５Ｂ】
0005624683.tif 000018
【図１５Ｃ】
0005624683.tif 000019
【図１６】
0005624683.tif 000020
【図１７】
0005624683.tif 000021
【図１８】
0005624683.tif 000022
【図１９Ａ】
0005624683.tif 000023
【図１９Ｂ】
0005624683.tif 000024
【図２０Ａ】
0005624683.tif 000025
【図２０Ｂ】
0005624683.tif 000026
【図２１】
0005624683.tif 000027
【図２２】
0005624683.tif 000028
【図２３】
0005624683.tif 000029
【図２４Ａ】
0005624683.tif 000030
【図２４Ｂ】
0005624683.tif 000031
【図２５】
0005624683.tif 000032
【図２６】
0005624683.tif 000033