JP5624683B2 - 管理サーバ、管理システム、および、管理方法 - Google Patents

管理サーバ、管理システム、および、管理方法 Download PDF

Info

Publication number
JP5624683B2
JP5624683B2 JP2013551056A JP2013551056A JP5624683B2 JP 5624683 B2 JP5624683 B2 JP 5624683B2 JP 2013551056 A JP2013551056 A JP 2013551056A JP 2013551056 A JP2013551056 A JP 2013551056A JP 5624683 B2 JP5624683 B2 JP 5624683B2
Authority
JP
Japan
Prior art keywords
incident
access log
information
operation data
abstract
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013551056A
Other languages
English (en)
Other versions
JPWO2013098915A1 (ja
Inventor
政洋 吉澤
政洋 吉澤
昌幸 親松
昌幸 親松
竜也 佐藤
竜也 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013551056A priority Critical patent/JP5624683B2/ja
Application granted granted Critical
Publication of JP5624683B2 publication Critical patent/JP5624683B2/ja
Publication of JPWO2013098915A1 publication Critical patent/JPWO2013098915A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer Hardware Design (AREA)

Description

本発明は、管理サーバに関し、特に、サービス管理業務の管理サーバに関する。
コンピュータシステムの運用管理者は、コンピュータシステムにおいて動作するサービスに影響する障害と、その障害の予兆を示す異常とを監視するサービス管理業務(または、監視業務)を行う。運用管理者は、監視業務において、障害または異常が検出された場合、検出された障害または異常の原因を分析し、分析結果に従い必要に応じて対策を講じる。
以下では、前述のような障害および異常を、Information Technology Infrastructure Library(ITIL)の用語に従って、インシデントと呼ぶ。
前述のような監視業務を支援するソフトウェアには、監視ツールとインシデント管理ツールとがある。
監視ツールは、インシデントの検出および原因分析を支援するソフトウェアである。監視ツールは、第1の機能として、監視対象のハードウェアおよびソフトウェアと通信し、システムの稼働状況を示すデータを収集する機能を持つ。
稼働状況を示すデータには、CPU使用率などのコンピュータシステムの性能を示すデータ(数値)、および、アプリケーションログなどのログ(文字列)がある。近年では、多種多様なログを収集し、収集されたログを運用管理者に検索させる監視ツールも提案されている。以下では、これらの数値および文字列を稼働データと総称する。
また、監視ツールは、第2の機能として、稼働データがあらかじめ指定された条件を満たした場合、運用管理者へアラートを送信する機能を持つ。さらに、監視ツールは、第3の機能として、稼働データを線グラフまたは棒グラフなどの運用管理者が内容を認識できるような表示データに加工し、加工された表示データを管理者端末の画面上に表示する機能を持つ。
一方、インシデント管理ツールは、過去のインシデントの内容と、過去のインシデントに講じられた対策とを管理するためのソフトウェアである。運用管理者は、新たなインシデントが発生した場合、インシデントの内容をインシデント管理ツールに登録する。そして、運用管理者がインシデントを処理する過程において判明した原因、および、インシデントに講じられた対策も、運用管理者は、インシデント管理ツールに登録する。これは、過去のインシデントと同様のインシデントが将来発生した場合に、運用管理者が、過去のノウハウを活用できるようにするためである。
監視ツールとインシデント管理ツールとはともに用いられることが多いため、監視ツールとインシデント管理ツールとを統合した製品も提案されている。以下では、このような製品をサービス管理サーバと呼ぶ。サービス管理サーバは、運用管理者の作業時間短縮に有効である。
例えば、サービス管理サーバは、監視ツールによって送信されたアラートに基づいて、サービス管理サーバに接続される記憶領域にインシデントを自動的に登録できる。このため、サービス管理サーバは、運用管理者がインシデントを登録する作業を削減できる。
また、例えば、サービス管理サーバは、インシデントに関する情報を画面に表示することによって、表示されたインシデントが検出された監視対象の稼働データを示す画面へ、運用管理者を導くことができる。このため、サービス管理サーバは、インシデントが検出された監視対象の稼働データを運用管理者が検索する作業を削減できる。
運用管理者は、インシデントの原因を分析するため、多種多様な稼働データを閲覧する必要がある。このため、サービス管理サーバを用いた監視業務には、1人の運用管理者が監視業務を担当するハードウェアおよびソフトウェアの種類または数が増加すると、インシデントの原因を分析するために必要な時間が長くなるという課題がある。
さらに、近年インシデントの原因分析のためにルールベースを用いる技術を採用したサービス管理サーバが登場している。しかし、このようなルールベースを用いた技術を採用した場合も、自動的に検出された根本原因の正しさを検証するため、運用管理者が稼働データを閲覧する必要がある。従って、サービス監視サーバによる監視業務には、運用管理者による閲覧時間が長くなるという課題がある。
閲覧時間の短縮という課題の解決方法には、サービス管理サーバが、運用管理者の作業(稼働データの閲覧を含む)の順序をあらかじめ手順書として保持し、運用管理者にインシデントの内容に従って手順書を参照させることによって、運用管理者が確認するべき稼働データと、講じるべき対策とを運用管理者に把握させる方法がある。しかし、この場合、運用管理者が事前に手順書を作成するためのコストがかかる。
また、閲覧時間を短縮するための技術には、インシデント状態とナレッジDBとに基づいて、遠隔保守操作の手順を自動的に生成する方法が提案されている(例えば、特許文献1参照)。特許文献1に記載された技術は、インシデント状態に従って、手順の一部を自動生成するため、手順書を生成するためのコストを下げることができる。しかし、特許文献1に記載された技術は、DBにナレッジがあらかじめ蓄積されていないインシデントに対応する手順を、生成できない。
さらに、閲覧時間を短縮するための技術には、新たに発生したインシデントに類似する過去のインシデントを特定し、特定された過去のインシデントへの対策を運用管理者へ提示する方法が提案されている(例えば、特許文献2参照)。しかし、特許文献2に記載された技術において、過去のインシデントへの対策が特定されても、特定された対策が新しいインシデントの場合にどのような意味を持つかを運用担当者が解釈する時間がかかる。また、過去のインシデントへの対策の内容には企業秘密が含まれる可能性があるため、異なる企業間の監視業務は、過去のインシデントへの対策をそのまま共有できない。
一方、Webサイト等に適用される従来の推薦技術は、各データに対するアクセス数の偏りを算出し、頻繁に行われるアクセスをユーザに推薦することができる。このような推薦技術をサービス管理サーバに適用し、運用管理者が事前に手順書を作成することなく、稼働データの閲覧時間を短縮する技術が提案されている(例えば、特許文献3参照)。特許文献3に記載された技術は、複数の属性を持つWebページへのアクセスログから、Webページを推薦する技術である。
稼働データは、監視対象、監視項目(稼働データが含む値の種類)、または、日時などを属性として持つため、サービス管理サーバは、稼働データを前述のWebページと同様に処理することが可能である。しかし、サービス管理サーバの場合、インシデントの内容によって運用管理者がアクセスするべき対象の稼働データが異なるため、特定の稼働データにアクセスが偏ることは少ない。従って、サービス管理サーバのアクセスログに従来の推薦技術を適用しても、十分な推薦ができない。
特開2010−224829号公報 特開2009−110293号公報 特開2011−108034号公報
事前に運用管理者が手順書を作成することなく、新たに発生したインシデントの内容に従って、サービス管理サーバから運用管理者に、運用管理者が確認すべき稼働データを推薦する技術の提供を目的とする。
本発明の代表的な一例を示せば以下のとおりである。すなわち、複数の機器と接続され、前記各機器の状態を示す稼働データを収集する管理サーバであって、前記稼働データは、前記各機器の状態を示す値、前記稼働データが生成された時刻、前記稼働データが状態を示す機器に割り当てられた監視対象ID、および、前記状態を示す値の意味を示す監視項目IDを含み、前記管理サーバは、プロセッサ、メモリ、および、インタフェースを備え、前記インタフェースを介して前記稼働データを出力する要求が入力された場合、前記稼働データの出力が要求された時刻と、前記出力が要求された稼働データに含まれる前記監視対象IDと、前記出力が要求された稼働データに含まれる前記監視項目IDと、の少なくとも一つを含むアクセスログを、前記メモリに格納し、前記各機器において発生した障害または障害の予兆を示すインシデントが発生した場合、前記インシデントが発生した時刻と、前記インシデントが発生した機器に割り当てられた監視対象IDと、前記インシデントが発生した監視項目IDと、の少なくとも一つを含むインシデント情報を、前記メモリに格納し、前記アクセスログに前記インシデント情報を関連付け、前記アクセスログに関連付けられたインシデント情報と前記アクセスログとに従って、前記アクセスログに含まれる情報を、所定の規則によって抽象化された文字列に更新し、前記抽象化された文字列に更新された前記情報を含む、抽象アクセスログを生成し、前記インタフェースを介して第1のインシデント情報を示す値が入力された場合、前記第1のインシデント情報に基づいて、前記生成された抽象アクセスログから少なくとも一つの第1の抽象アクセスログを特定し、前記第1の抽象アクセスログと前記第1のインシデント情報とに基づいて、出力すべき前記稼働データが生成された時刻と、前記出力すべき稼働データに含まれる監視対象IDと、前記出力すべき稼働データに含まれる監視項目IDとの、少なくとも一つの情報を含む前記出力すべき稼働データの条件を特定し、前記特定された稼働データの条件を出力する。
本発明の一実施形態によると、運用管理者が確認すべき稼働データを運用管理者に推薦できる。
本発明の第1の実施形態のコンピュータシステムの物理的な構成を示すブロック図である。 本発明の第1の実施形態のサービス管理サーバの物理的な構成とサービス管理サーバが保持する情報とを示すブロック図である。 本発明の第1の実施形態のデータベースに格納されるデータを示す説明図である。 本発明の第1の実施形態の稼働データを示す説明図である。 本発明の第1の実施形態の稼働データ表示設定を示す説明図である。 本発明の第1の実施形態の運用管理者情報を示す説明図である。 本発明の第1の実施形態のアクセスログを示す説明図である。 本発明の第1の実施形態のインシデント情報を示す説明図である。 本発明の第1の実施形態の担当者情報を示す説明図である。 本発明の第1の実施形態のインシデント付きアクセスログを示す説明図である。 本発明の第1の実施形態の依存関係データを示す説明図である。 本発明の第1の実施形態のサービス情報を示す説明図である。 本発明の第1の実施形態の抽象アクセスログを示す説明図である。 本発明の第1の実施形態のインシデント付きアクセスログの生成処理のうち、時刻に基づいて関連するインシデント情報を取得する処理を示すフローチャートである。 本発明の第1の実施形態のインシデント付きアクセスログの生成処理のうち、運用管理者または監視対象によって関連するインシデント情報を取得する処理を示すフローチャートである。 本発明の第1の実施形態のアクセスログを抽象化する処理のうち、監視対象および監視項目を抽象化する処理を示すフローチャートである。 本発明の第1の実施形態のアクセスログを抽象化する処理のうち、インシデント発生元以外の監視対象を抽象化する処理を示すフローチャートである。 本発明の第1の実施形態のアクセスログを抽象化する処理のうち、表示期間および絞り込み条件を抽象化する処理を示すフローチャートである。 本発明の第1の実施形態の稼働データ表示プログラムによる稼働データの推薦処理を示すフローチャートである。 本発明の第1の実施形態の重み付き抽象アクセスログを示す説明図である。 本発明の第1の実施形態のアクセスパターンを示す説明図である。 本発明の第1の実施形態の稼働データ表示プログラムが重み付き抽象アクセスログを生成する処理を示すフローチャートである。 本発明の第1の実施形態の稼働データ表示プログラムがアクセスパターンを生成する処理を示すフローチャートである。 本発明の第1の実施形態の運用管理者に推薦する稼働データを表示するための画面を示す説明図である。 本発明の第1の実施形態のアクセスパターンに基づいて運用管理者に推薦する稼働データのみを表示するための画面を示す説明図である。 本発明の第2の実施形態のサービス管理サーバの物理的な構成とサービス管理サーバが保持する情報とを示すブロック図である。 本発明の第2の実施形態のデータベースに格納されるデータを示す説明図である。 本発明の第2の実施形態の抽象インシデント情報を示す説明図である。 本発明の第2の実施形態の抽象インシデント情報を生成する処理のうち、監視対象ID、監視項目ID、および、インシデントの内容を抽象化する処理を示すフローチャートである。 本発明の第2の実施形態の抽象インシデント情報を生成する処理のうち、抽出化されたインシデント情報を抽象インシデント情報に格納する処理を示すフローチャートである。 本発明の第2の実施形態の稼働データ表示プログラムが、運用管理者から稼働データの表示要求を受けた際に、稼働データを推薦する処理を示すフローチャートである。 本発明の第2の実施形態の運用管理者に推薦する稼働データを表示するための画面を示す説明図である。
(第1の実施形態)
本発明のサービス管理サーバは、稼働データに運用管理者がアクセスした履歴を示すアクセスログを、各アクセスのきっかけとなったインシデントの情報と、監視対象の関係性を示すデータとに基づいて抽象化する。抽象化されたアクセスログ(以下、抽象アクセスログ)は、抽象アクセスログ間で監視対象または監視項目に共通部分を見いだしやすくなる。このため、抽象アクセスログの数には偏りが生じる。
このため、サービス管理サーバは、抽象アクセスログに推薦技術を適用することによって、各抽象アクセスログを順序づける。そして、新規インシデントが発生した場合、サービス管理サーバは、その新規インシデントと、順序付けされた抽象アクセスログと、監視対象間の関係性を示すデータと、を用いて、運用管理者に推薦すべき稼働データを決定する。
アクセスログを抽象化するために、本実施形態のサービス管理サーバは、監視対象間の関係性を示すデータを持つ。しかし、監視対象間の関係性を示すデータは自動的な手段で生成されるため、監視対象間の関係性を示すデータを生成するコストは手順書を作成するコストよりも低い。なお、監視対象間の関係性を示すデータを生成する方法には、トラフィック解析、構成管理データベース(Configuration management database、CMDB)からの変換、または、監視対象の設定ファイルからの変換などがある。
以下、図面を用いて第1の実施形態を説明する。
図1は、本発明の第1の実施形態のコンピュータシステムの物理的な構成を示すブロック図である。
第1の実施形態のコンピュータシステムは、サービス管理サーバ3、データベース4、管理者端末20および複数の機器を備える。サービス管理サーバ3、データベース4、管理者端末20および複数の機器は、管理ネットワーク1を介して接続される。
第1の実施形態のコンピュータシステムにおける複数の機器は、ユーザへサービスを提供するための機器である。複数の機器には、複数の物理マシン5(5−1〜5−8)、複数のスイッチ6(6−1〜6−6)、複数のルータ7(7−1、7−2)、複数のファイバチャネルスイッチ(FC−SW)8(8−1、8−2)、および、ストレージ9(9−1、9−2)などが含まれる。これらの機器は、物理的な通信回線2を介して管理ネットワーク1に接続される。
また、第1の実施形態のコンピュータシステムにおける機器は、ユーザへサービスを提供するため、物理的な通信回線11を介して、サービスを提供するためのWide Area Network(WAN)10(10−1、10−2)に、相互に接続される。
物理マシン5、スイッチ6およびルータ7は、CPUなどのプロセッサ、および、メモリを備える計算機であり、OS(Operating System)を実行する。また、FC−SW8およびストレージ9が自らのコントローラを備える場合、FC−SW8およびストレージ9は、CPUなどのプロセッサ、および、メモリを備える計算機であり、OSを実行する。
一つの物理マシン5は、複数の仮想マシンを実装してもよい。また、複数の物理マシン5が、一つの仮想マシンを実装してもよい。各仮想マシンは、物理マシン5において、OSを実行してもよい。
スイッチ6は、ルータ7と物理マシン5とを接続するネットワーク機器である。ルータ7は、運用管理者が監視または設定を行うコンピュータシステムと、WAN10とを接続するネットワーク機器である。FC−SW8は、物理マシン5とストレージ9との間のトラフィックを仲介するネットワーク機器である。ストレージ9は、物理マシンの利用するデータを格納する機器である。
第1の実施形態のコンピュータシステムにおける前述の機器は、複数の企業または組織に貸し出される。グループ12は、本実施形態において、各企業に貸し出される機器の集合である。貸し出される機器は、物理マシン5ごとに貸し出されても、仮想マシンごとに貸し出されてもよい。また、例えばグループ12として、一つの仮想マシンと、物理マシン5−2と、スイッチ6−2と、FC−SW8−1と、ストレージ9−1のうち一部の記憶領域と、が貸し出されてもよい。
一般的に、あるグループ12を貸し出された企業または組織の運用管理者は、他のグループ12の仮想マシンまたはストレージ9などの機器を利用できない。一方、スイッチ6またはFC−SW8などの一部の機器は、複数のグループ12に貸し出されてもよい。これは、例えば、スイッチ6は各WAN10から各物理マシン5または仮想マシンへの通信を、グループ12ごとに切り替えるように設定されるためである。また、FC−SW8は、各物理マシン5からストレージ9の一部の記憶領域への通信を、グループ12ごとに切り替えるように設定されるためである。
また、各企業に貸し出されたグループ12における、サービスに関する稼働データ、および、インシデント情報は、各企業の企業秘密を含む可能性がある。このため、あるグループ12の運用管理者は、他のグループ12の稼働データ、および、インシデント情報を閲覧できない。
第1の実施形態のコンピュータシステムにおける管理ネットワーク1および通信回線2は、運用管理者が各機器の監視および設定を行うためのネットワークである。なお、運用管理者は、管理ネットワーク1を用いず、通信回線11によって各機器の監視および設定を行ってもよい。これは、例えば、各機器の監視のためのデータを送受信するためのトラフィック量が少なく、通信回線11に監視のためのトラフィックと各機器が提供するサービスに関するトラフィックとが、十分に収容される場合など、運用管理者は通信回線11によって、各機器を監視し、また、各機器を設定すればよいためである。
サービス管理サーバ3は、各機器のハードウェア(物理マシン5、スイッチ6、ルータ7、FC−SW8およびストレージ9)およびハードウェアにおいて実行されるソフトウェアから稼働データを収集する監視ツールの機能と、インシデントの情報を管理するインシデント管理ツールの機能とを、運用管理者に提供するサーバである。さらに、本発明のサービス管理サーバ3は、運用管理者に、稼働データの推薦機能を提供する機能を有する。
データベース4は、各機器から収集された稼働データを格納するための記憶領域である。また、データベース4は、監視ツールの機能、インシデント管理ツールの機能および本発明の推薦機能を提供するために必要なデータを格納する記憶領域である。
管理者端末20は、第1の実施形態のコンピュータシステムの運用管理者が利用する端末である。具体的には、サービス管理サーバ3によって提供される機能を、運用管理者に表示するための装置である。また、管理者端末20は、運用管理者によって入力されるサービス管理サーバ3への要求を、サービス管理サーバ3に送信するための装置である。
管理者端末20は、サービス管理サーバ3が有する各プログラムと通信するためのソフトウェア(以下、管理クライアント)を有する。管理者端末20が有する管理クライアントは、例えば、専用の通信プロトコルを利用するGUI(Graphical User Interface)、または、HTTPによって通信するWebブラウザなどである。本実施形態において、管理クライアントはWebブラウザとする。
図2は、本発明の第1の実施形態のサービス管理サーバ3の物理的な構成とサービス管理サーバ3が保持する情報とを示すブロック図である。
サービス管理サーバ3は、インタフェース(I/F)31、プロセッサ32、および、メモリ33を備える計算機である。I/F31、プロセッサ32、および、メモリ33は、データパス34によって接続される。
サービス管理サーバ3は、I/F31を介して、管理ネットワーク1と通信する。プロセッサ32は、CPU等の演算装置である。メモリ33は、プログラムおよびデータを保持するための記憶領域である。プロセッサ32は、メモリ33に保持された各プログラムを、データパス34を介して読み出すことによって、各プログラムを実行する。
メモリ33は、稼働データ収集プログラム331、稼働データ表示プログラム332、インシデント登録プログラム333、インシデント表示プログラム334、関連インシデント発見プログラム335、および、アクセスログ抽象化プログラム336を保持する。
稼働データ収集プログラム331は、図1に示す各機器から稼働データを収集するプログラムである。一般的な収集方法には、各機器においてSimple Network Management Protocol(SNMP)などのエージェントをあらかじめ実行させる方法がある。そして、稼働データ収集プログラム331が各機器上のエージェントと通信することによって、稼働データ収集プログラム331は稼働データを収集する。稼働データ収集プログラム331は、収集された稼働データをデータベース4に格納する。
なお、本実施形態のコンピュータシステムの各機器のうち、OSを備える機器は、CPU使用率またはメモリ使用率等の各機器の性能を示す情報を、OSの機能またはOS上にインストールされたエージェントプログラムによって、定期的または指定された時刻に、所定の機器に出力する。また、各機器は、各サービスを提供するために実行するアプリケーションの実行状況を示す情報を、アプリケーションの機能によって定期的、または、インシデントが発生した際に、所定の機器に出力する。
そして、稼働データ収集プログラム331は、各機器に出力された、機器の性能を示す情報およびアプリケーションの実行状況を示す情報を、稼働データとして収集する。
稼働データには、稼働データがその性能を示す機器の識別子、または、稼働データがその実行状況を示すアプリケーションを実行する機器の識別子が含まれる。本実施形態において、稼働データが性能または実行状況を示すこれらの機器を、監視対象と記載する。
また、稼働データには、稼働データが示す性能の名称の識別子、または、稼働データが示す実行状況の名称の識別子が含まれる。本実施形態において、稼働データが性能または実行状況を示すこれらの名称を、監視項目と記載する。
なお、本実施形態における監視対象には、仮想マシンが含まれる。このため、本実施形態における仮想マシンにも、監視対象の識別子があらかじめ割り当てられる。
稼働データ表示プログラム332は、管理者端末20から送信される要求に従って、要求を送信した運用管理者が所属するグループ12を特定し、特定されたグループ12の稼働データを、管理者端末20に表示するプログラムである。
運用管理者にとっての利便性を高めるために、稼働データ表示プログラム332は、1画面に表示する稼働データの種類を、運用管理者の要求に従ってカスタマイズするための機能を有する。また、本実施形態の稼働データ表示プログラム332は、稼働データ表示プログラム332が用いられた詳細な履歴を示すアクセスログを、データベース4に格納する。
以下では、稼働データ表示プログラム332が用いられた詳細な履歴を、単にアクセスログと呼ぶ。具体的には、本実施形態におけるアクセスログは、運用管理者が稼働データを表示した履歴、すなわち、運用管理者が稼働データにアクセスした履歴を示す。稼働データ表示プログラム332は、このアクセスログを加工した抽象アクセスログを用いて、後述する稼働データの推薦機能を、運用管理者に提供する。
インシデント登録プログラム333は、運用管理者による管理者端末20への入力の内容を示し、かつ管理者端末20から送信される入力情報、または、監視ツールによって送信されるアラートの内容を示すアラート情報に基づいて、インシデントに関する情報(以下、インシデント情報)を生成するプログラムである。そして、インシデント登録プログラム333は、生成されたインシデント情報をデータベース4に格納する。また、インシデント登録プログラム333は、運用管理者による入力情報に従って、データベース4に格納されたインシデント情報を更新する。
インシデント表示プログラム334は、管理者端末20から送信される要求に従って、要求を送信した運用管理者が所属するグループ12を特定し、特定されたグループ12のインシデント情報を、管理者端末20に表示するプログラムである。また、インシデント表示プログラム334は、さらに、インシデントが検出された監視対象の稼働データを表示する機能(インシデント表示プログラム334がWebアプリケーションによって実装される場合、稼働データ表示プログラム332へのリンクを表示する機能)も提供する。
インシデントが検出された監視対象の稼働データを表示する機能によって稼働データを表示した場合、本実施形態のインシデント表示プログラム334は、インシデント表示プログラム334によって表示されたインシデントを一意に示す識別子(インシデントID)を、稼働データ表示プログラム332に入力する。これは、インシデント表示プログラム334が、稼働データを表示したことを示すアクセスログと、稼働データを表示する理由となったインシデントとを、関連付けるためである。
具体的には、インシデント表示プログラム334がWebアプリケーションによって実装される場合、URLのパラメータにインシデントの識別子を含め、稼働データ表示プログラム332にURLを入力する。
関連インシデント発見プログラム335は、データベース4に格納された各アクセスログに関連するインシデントを特定するプログラムである。稼働データ表示プログラム332が実行された際に、インシデント表示プログラム334などのプログラムから稼働データ表示プログラム332へインシデントIDが入力されなかった場合、アクセスログにはインシデントIDが関連付けられていない。
しかし、そのようなアクセスログのなかにも、インシデントの原因分析と関連するものが含まれている可能性がある。関連インシデント発見プログラム335は、インシデントがまだ関連付けられておらず、かつ、インシデントに関連する履歴を示すアクセスログを、インシデントに関連付けるためのプログラムである。
アクセスログ抽象化プログラム336は、データベース4に格納された各データを用いて、抽象アクセスログを生成するプログラムである。関連インシデント発見プログラム335およびアクセスログ抽象化プログラム336は、定期的なバッチ処理によって実行されてもよい。
稼働データ表示プログラム332、関連インシデント発見プログラム335、および、アクセスログ抽象化プログラム336の処理を示すフローチャートは後述する。
なお、サービス管理サーバ3は、図2に示すプログラムによって各機能を提供するが、各プログラムの機能は、一つのプログラムによって実装されてもよい。また、図2に示す各プログラムを処理ごとに分割することによって、一つのプログラムを複数のプログラムによって実装してもよい。
また、図2に示す各プログラムの機能は、プロセッサを備えるLSI素子等の処理部によってサービス管理サーバ3に実装されてもよい。具体的には、稼働データ収集プログラム331の機能は、稼働データ収集処理部としてサービス管理サーバ3に実装されてもよい。
また、図2に示す各プログラムは、プログラム配布サーバ、または、計算機読み取り可能な非一時的記憶媒体によってサービス管理サーバ3にインストールすることができ、また、サービス管理サーバ3が備える不揮発性記憶デバイス(図示なし)に格納することができる。
図3は、本発明の第1の実施形態のデータベース4に格納されるデータを示す説明図である。
データベース4には、稼働データ1000、稼働データ表示設定1100、運用管理者情報1200、アクセスログ1300、インシデント情報1400、担当者情報1500、インシデント付きアクセスログ1600、依存関係データ1700、サービス情報1800、および、抽象アクセスログ1900が格納される。
稼働データ1000、稼働データ表示設定1100、および、運用管理者情報1200は、サービス管理サーバ3が、監視ツールを提供するために必要なデータを格納するテーブルである。インシデント情報1400は、サービス管理サーバ3が、インシデント管理ツールを提供するために必要なデータを格納するテーブルである。
アクセスログ1300、担当者情報1500、インシデント付きアクセスログ1600、依存関係データ1700、サービス情報1800、および、抽象アクセスログ1900は、サービス管理サーバ3が、本実施形態の推薦機能を提供するために必要なデータを格納するテーブルである。
本実施形態において、データベース4に格納されるデータは、すべてテーブルに格納されるが、各データの内容を識別できれば、いかなる方法によってデータベース4に格納されてもよい。例えば、CSVまたはリストなど、いかなる方法によって格納されてもよい。
図4は、本発明の第1の実施形態の稼働データ1000を示す説明図である。
稼働データ1000は、稼働データ収集プログラム331によって収集された稼働データを格納する。稼働データに含まれる監視対象は、サービス管理サーバ3が監視する(すなわち、運用管理者が監視する)機器を示す。また、稼働データに含まれる監視項目は、各機器によって取得され、かつ、稼働データに含まれる値が示す意味である。
稼働データ1000は、列1001〜列1006を含む。また、図4に示す稼働データ1000は、行1011〜行1017を含む。稼働データ1000に含まれる各行は、各機器から収集された稼働データを示す。
列1001は、本実施形態のコンピュータシステムにおいて稼働データを一意に識別するための識別子(稼働データID)を示す。列1002は、稼働データが生成された監視対象が含まれるグループ12を一意に識別するための識別子(グループID)を示す。稼働データ収集プログラム331、または、各機器が有するエージェントが、各稼働データにグループIDを付加する。
列1003は、各稼働データを出力した監視対象を一意に識別するための識別子(監視対象ID)を示す。監視対象IDは、例えば、ホスト名またはIPアドレスなどであり、物理マシン5および仮想マシンなどに一意に割り当てられた識別子である。本実施形態における監視対象IDは、ホスト名である。
列1004は、稼働データに含まれる監視項目を一意に識別するための識別子(監視項目ID)を含む。監視項目IDは、OSの稼働状況に関する項目(例えば、OSのCPU使用率など)、OSにおいて実行される複数のアプリケーションから共通して利用されるミドルウェア(例えば、データベース、または、Webコンテナなど)の稼働状況に関する項目、または、アプリケーション固有の項目などを示す文字列である。
図4の列1004には、文字列が格納されるが、運用管理者によって識別可能であれば、数または記号などが格納されてもよい。
列1005は、稼働データが測定された時刻を示す。列1006は、各機器によって取得され、稼働データに含まれる値である。運用管理者は、列1006に含まれる値によって、監視対象の機器が監視項目の内容において、正常であるか否かを判定する。列1006に含まれる値は、例えば、数値、比率、および、ログの文字列などである。
図5は、本発明の第1の実施形態の稼働データ表示設定1100を示す説明図である。
稼働データ表示設定1100は、稼働データ表示プログラム332によって表示される画面の設定に関するデータを格納する。稼働データ表示設定1100の各行は、一つの画面に表示された稼働データと表示方法とを示す。稼働データ表示設定1100は、サービス管理サーバ3にあらかじめ設定されてもよいし、運用管理者が画面表示をカスタマイズした際に稼働データ表示プログラム332によって生成されてもよい。
稼働データ表示設定1100は、列1101〜列1107を含む。また、図5に示す稼働データ表示設定1100は、行1111〜行1117を含む。
列1101は、稼働データ表示プログラム332が表示した各画面を一意に識別するための識別子(画面ID)である。画面IDが同じ稼働データは、同じ画面に表示された稼働データである。列1101には、画面IDとして、画面に対応したURL、または、画面に対応したURLに含まれるセッションIDなどのパラメータなどが含まれてもよい。
列1102は、画面に表示される稼働データが出力された監視対象のグループIDを示す。列1102に示すグループ12を管理する運用管理者のみが、列1101が示す画面を閲覧できる。
列1103は、画面に表示される稼働データが出力された監視対象IDを示す。列1104は、画面に表示される稼働データの監視項目IDを示す。例えば、行1111および行1112は、画面IDが1の画面が、監視対象がhost1およびhost2であり、監視項目が「OSのCPU使用率」である稼働データを表示することを示す。
列1105は、画面に表示される稼働データの値の要約方法を示す。要約方法としては、稼働データの値(稼働データ1000の列1006に対応)の、ある期間における最大値、最小値、または、平均値などを算出する方法がある。本実施形態の列1105は、最大値、最小値、または、平均値などを示す文字列を含む。
列1106は、画面における閾値表示の有無と、表示された閾値とを示す。図5に示す列1106は、閾値表示がない場合「なし」の文字列が含まれ、閾値表示がある場合「あり」の文字列が含まれる。例えば、行1115の列1106は、50の閾値が表示されたことを示す。
列1107は、画面におけるベースライン表示の有無と、ベースラインとして表示される稼働データの内容を示す。ベースラインとは、表示された稼働データを比較するための表示である。ベースラインは、例えば、過去の一定期間に生成された稼働データの平均値などであり、列1107には、ベースラインに用いられた稼働データが生成された期間等が含まれる。列1107は、ベースライン表示がない場合「なし」の文字列が含まれ、ベースライン表示がある場合「あり」の文字列が含まれる。
図6は、本発明の第1の実施形態の運用管理者情報1200を示す説明図である。
運用管理者情報1200は、サービス管理サーバ3が有する各プログラムを利用可能なユーザ、すなわち運用管理者に関するデータである。運用管理者情報1200は、運用管理者によって、データベース4にあらかじめ設定される。
運用管理者情報1200は、列1201〜列1203を含む。また、図6に示す運用管理者情報1200は、行1211〜行1215を含む。
列1201は、本実施形態のコンピュータシステムの運用管理者を一意に識別するための識別子(運用管理者ID)を示す。運用管理者IDは、各種データのアクセス制御、および、アクセスログの記録に用いられる。
列1202は、各種データのアクセス制御に用いられるパスワードを示す。
列1203は、運用管理者IDが管理するグループ12のグループIDを示す。列1203のグループIDは、運用管理者によるアクセスを制御するために用いられる。
図7は、本発明の第1の実施形態のアクセスログ1300を示す説明図である。
アクセスログ1300は、運用管理者が稼働データ表示プログラム332を介して稼働データ1000にアクセスした履歴を格納する。稼働データ表示プログラム332を介したアクセスには、各稼働データの表示の要求等が含まれる。アクセスログ1300は、運用管理者が稼働データ表示プログラム332に稼働データの表示の要求等を入力するたびに、稼働データ表示プログラム332によって生成または更新される。
アクセスログ1300は、列1301〜列1310を含む。また、図7に示すアクセスログ1300は、行1311〜行1321を含む。アクセスログ1300の各行は、運用管理者によって行われたアクセスを示すアクセスログを含む。
列1301は、本実施形態のコンピュータシステムにおいてアクセスログを一意に識別するための識別子(アクセスログID)を示す。
列1302は、稼働データがアクセスされた際に稼働データ表示プログラム332に入力されたインシデントIDを示す。インシデント表示プログラム334等から稼働データ表示プログラム332にインシデントIDが入力されなかった場合、列1302に値は格納されない。
列1303は、稼働データ表示プログラム332を介して運用管理者が稼働データへアクセスした時刻を示す。列1304は、列1303が示す時刻に、稼働データ表示プログラム332を介して稼働データへアクセスした運用管理者のグループIDを示す。列1305は、列1303が示す時刻に、稼働データ表示プログラム332を介して稼働データへアクセスした運用管理者の運用管理者IDを示す。
列1306は、一定の短時間内に連続して行われたアクセスを関連付けるためのセッションIDを示す。稼働データ表示プログラム332がWebアプリの場合、列1306には、HTTPcookieに含まれるセッションIDが含まれる。
列1307、列1308および列1309は、稼働データ表示プログラム332によって画面に表示された稼働データの監視対象ID、監視項目IDおよび表示期間を示す。
一般に、監視ツールは、稼働データを表示する期間を柔軟に変更することができる。例えば、行1319のアクセスログは、2011年1月18日に監視対象において出力された1日分の稼働データを表示した場合のアクセスログを示す。また、行1320のアクセスログは、2011年1月18日の12時51分から13時51分の間に監視対象において出力された1時間分の稼働データを表示した場合のアクセスログを示す。
列1310は、表示する稼働データを絞り込むために、運用管理者によって指定された絞り込み条件を示す。絞り込み条件には、稼働データを検索するためのキーワード、または、閾値などが含まれる。例えば、運用管理者が、特定のエラーメッセージを含む稼働データを表示するように指定した場合、列1310は、指定されたエラーメッセージを示す。
稼働データ表示プログラム332によってデータベース4に格納されるアクセスログ1300は、管理者端末20のディスプレイに表示された稼働データに関するアクセスログに限定してよい。例えば、もしも稼働データ表示プログラム332が管理者端末20のディスプレイに収まらない大きさの画面を出力した場合、運用管理者は、画面表示をスクロールさせないと、画面上のすべての稼働データを確認できない。このような場合にアクセスログ1300に格納されたデータは、運用管理者が実際に確認した稼働データを正確に示さない可能性がある。
このため、稼働データ表示プログラム332は、実際に管理者端末20のディスプレイ上に表示された稼働データを検知し、検知された稼働データのアクセスログをアクセスログ1300に格納してもよい。稼働データ表示プログラム332は、例えば、稼働データ表示プログラム332が出力するWebページのなかにJavaScript(登録商標、以下同じ)のプログラムを埋め込むことによって、ディスプレイ上に表示された稼働データを検知してもよい。これによって、後述する稼働データの推薦に、監視の実態をより正確に反映することができる。
図8は、本発明の第1の実施形態のインシデント情報1400を示す説明図である。
インシデント情報1400は、インシデント登録プログラム333によってデータベース4に登録されたインシデントに関する情報を格納し、本実施形態のコンピュータシステムにおいて発生したインシデントに関する情報を格納する。
サービス情報1800は、列1401〜列1414を含む。図8に示すインシデント情報1400は、行1421〜行1424を含む。インシデント情報1400の各行は、本実施形態のコンピュータシステムにおいて発生したインシデントに関するインシデント情報を示す。
列1401は、本実施形態のコンピュータシステムにおけるインシデントIDを示す。
列1402は、インシデントが発生した機器が含まれるグループ12のグループIDを示す。インシデント登録プログラム333は、インシデントに関するデータをインシデント情報1400に格納した運用管理者の運用管理者IDを含む、運用管理者情報1200の行を抽出することによって、列1402に格納されるグループIDを特定する。また、インシデント登録プログラム333は、インシデントを示すアラートに含まれる監視対象を示す文字列等に従って、列1402に格納されるグループIDを特定する。
列1403は、インシデントの種類を示す。列1403に格納されるインシデントの種類は、インシデントの内容に従って運用管理者によって入力されるか、または、インシデントを示すアラートに含まれる文字列等に従ってインシデント登録プログラム333によって割り当てられる。列1403が示すインシデントの種類は、後述するインシデントの類似性判定に用いられる。
列1404〜列1407は、インシデントの有無を運用管理者が判断するために用いた稼働データと稼働データの条件を示す。列1404〜列1407は、インシデントの発生時に、運用管理者によって入力される。
列1408は、インシデントの対応者になった運用管理者の運用管理者IDを示す。一般的に、インシデント発生時にインシデントの対応者が決定されるため、対応者またはその他の運用管理者が、列1408に対応者の運用管理者IDを入力する。ここで、本実施形態の対応者とは、インシデントの原因を分析する運用管理者である。
列1409は、インシデントの状態(解決または未解決)を示す。列1409には、列1410〜列1414に値が入力された場合、インシデント登録プログラム333が、列1409に「解決」を示す値を格納してもよいし、運用管理者が、列1409の値を更新してもよい。
列1410〜列1414は、インシデントの解決後に、運用管理者によって入力される。列1410〜列1414は、後述する処理において、類似するインシデントが発生した場合に用いられる。
列1410は、インシデントが解決された日時を示す。列1411は、インシデントの原因を説明する文章である。
列1412および列1413は、インシデントの原因と密接に関係する監視対象および監視項目を示す。また、列1412および列1413は、インシデントの原因と密接に関係する稼働データを特定するための情報である。列1412は、インシデントの原因となった監視対象の監視対象IDを示す。列1413は、インシデントの原因となった監視項目の監視項目IDを示す。
列1414は、インシデントに対する対策を説明する文章を示す。
図9は、本発明の第1の実施形態の担当者情報1500を示す説明図である。
担当者情報1500は、各運用管理者が監視を担当する監視対象および監視項目を示すデータを格納する。担当者情報1500は、運用管理者によってあらかじめ作成され、データベース4に格納される。
担当者情報1500は、列1501〜列1503を含む。図9に示す担当者情報1500は、行1511〜行1514を含む。
列1501は、運用管理者IDを示す。列1502は、運用管理者が監視を担当する監視対象の監視対象IDを示す。列1503は、運用管理者が監視を担当する監視項目の監視項目IDを示す。列1502および列1503の各セルは、複数の監視対象または複数の監視項目を示す識別子(例えば、図9に示す「すべて」または「グループBのすべて」)を含んでもよい。
図10は、本発明の第1の実施形態のインシデント付きアクセスログ1600を示す説明図である。
インシデント付きアクセスログ1600は、特定のインシデントと関連付けされたアクセスログ(インシデント付きアクセスログ)を格納する。
インシデント付きアクセスログ1600は、列1601〜列1610を含む。図10に示すインシデント付きアクセスログ1600は、行1611〜行1614、行1617〜行1621を含む。
列1601〜列1610は、アクセスログ1300の列1301〜列1310に各々対応する。ただし、インシデント付きアクセスログ1600には、アクセスログ1300のうち、列1302にインシデントIDが既に格納されていたアクセスログと、関連インシデント発見プログラム335によってインシデントIDが割り当てられたアクセスログとのみが、格納される。
例えば、図7に示す行1311〜行1314は、列1302に値が格納されていない。しかし、関連インシデント発見プログラム335が後述する処理によって行1311〜行1314のアクセスログに関連するインシデントを割り当てた場合(運用管理者はインシデントIDが1のインシデントの対応者)、インシデント付きアクセスログ1600には、行1611〜行1614の列1602のように、行1311〜行1314のアクセスログに対応する値が格納される。
さらに具体的には、行1311〜行1314の列1305は「operator1」を示し、図8に示すインシデント情報1400の行1421の列1408の値、すなわち、インシデントIDが1であるインシデントの対応者を示す。このため、関連インシデント発見プログラム335は、行1611〜行1614の列1602に、インシデントIDとして1を格納する。
一方で、関連インシデント発見プログラム335が、図7に示す行1315〜行1316のアクセスログに、関連インシデントを割り当てることができない場合、行1315〜行1316に対応するアクセスログは、インシデント付きアクセスログ1600に格納されない。
図11は、本発明の第1の実施形態の依存関係データ1700を示す説明図である。
依存関係データ1700は、監視対象と監視対象との間の依存関係を示す依存関係データを格納する。図11に示す依存関係データ1700は、監視対象間の依存関係データの一例である。
例えば、第1の監視対象に障害が発生した際に、第1の監視対象とは別の第2の監視対象のサービスが停止するか、または、第2の監視対象のサービス品質が低下する場合、第1の監視対象と第2の監視対象とには本実施形態において依存関係がある。
運用管理者は、一般的に、インシデントが発生した場合、インシデント発生元と依存関係がある監視対象または監視項目のデータを閲覧することが多い。このため、監視対象間の依存関係を示す依存関係データ1700は、後述する稼働データを推薦する処理において用いられる。
依存関係には、サーバとスイッチとの接続関係、ハイパーバイザとハイパーバイザにおいて動作する仮想マシンとの関係、Webアプリケーションとデータベースとの関係などが含まれる。依存関係データ1700は、運用管理者によってあらかじめ作成されてもよいし、コンピュータシステムから自動的に収集された情報と運用管理者によって定められた基準とによって生成されてもよい。
具体的には、本実施形態のコンピュータシステムにおいて送受信されるトラフィックの解析、各機器の構成を示す情報データベースからの変換、または、監視対象が設定されたデータからの変換などを、運用管理者によって定められた基準によって行うことによって、図示しないプログラムが依存関係データ1700を自動的に生成してもよい。
依存関係データ1700は、列1701〜列1703を含む。また、図11に示す依存関係データ1700は、行1711〜行1717を含む。
列1701は、依存元、すなわち、依存される側の監視対象の監視対象IDを示す。列1702は、依存先、すなわち、依存する側の監視対象の監視対象IDを示す。具体的には、列1701が示す監視対象にインシデントが発生した場合、列1702が示す監視対象のサービスが停止、または、品質低下等の影響を受ける。また、列1701が示す監視対象は、列1702が示す監視対象において発生したインシデントによって影響を受けない。
列1703は、依存関係の種類を示す識別子である。例えば、本実施形態のコンピュータシステムのトラフィックを解析した結果、監視対象host3が保持するデータベースを参照するために、監視対象host1から監視対象host3へ接続していることが検出された場合、監視対象host1および監視対象host3には依存関係がある。この場合、依存関係データ1700は、行1713のように、列1701に"host3"が格納され、列1702に"host1"が格納され、列1703に"データベース"が格納される。
図12は、本発明の第1の実施形態のサービス情報1800を示す説明図である。
サービス情報1800は、各サービスを提供する監視対象を示すサービス情報を格納する。図12に示すサービス情報1800は、同じサービスを提供する複数の監視対象間の関係性を示すサービス情報の一例である。
運用管理者は、一般的に、インシデントが発生した場合、インシデント発生元と同じサービスを提供する監視対象または監視項目のデータを閲覧することが多い。このため、同じサービスを提供する監視対象間の関係性を示すサービス情報1800は、後述する稼働データの推薦機能において用いられる。
同じサービスを提供する監視対象間の関係性には、各サービスを提供するために並列に稼働する複数のWebサーバ間の関係、または、各サービスのプライマリDNSサーバとセカンダリDNSサーバとの間の関係などが含まれる。サービス情報1800は、依存関係データ1700と同じく、運用管理者によってあらかじめ作成されてもよいし、コンピュータシステムから自動的に収集された情報と運用管理者によって定められた基準とによって生成されてもよい。なお、各機器が提供するサービスを一つのサービスとして識別する基準は、運用管理者によって定められる。
サービス情報1800は、列1801〜列1803を含む。また、図12に示すサービス情報1800は、行1811〜行1819を含む。
列1801は、サービスを一意に識別するための識別子(サービスID)を示す。サービスIDは運用管理者が各サービスに一意に割り当てる。列1802は、構成要素、すなわち、サービスを提供する監視対象の監視対象IDを示す。列1803は、サービスにおける各監視対象の機能または役割を示す。
例えば、図12に示すサービス情報1800において、サービスIDが「service−A」であるサービスを提供する監視対象は、監視対象host1および監視対象host3である。そして、サービスIDが「service−A」のサービスにおいて、監視対象host1はWebサーバの役割を有し、監視対象host3はデータベースの役割を有する。
なお、図11に示す依存関係データ1700および図12に示すサービス情報1800は、最新のコンピュータシステムの状態を示す。しかし、過去のコンピュータシステムの状態に基づいた依存関係データ1700およびサービス情報1800と、コンピュータシステムの状態が取得された時刻情報とが、サービス管理サーバ3の図示しないプログラムによって、データベース4に蓄積されてもよい。これによって、アクセスログ抽象化プログラム336は、より正確に、後述する抽象アクセスログを生成できる。アクセスログ抽象化プログラム336が、インシデントが発生した際のコンピュータシステムの正確な状態に基づいて抽象アクセスログを算出できるため、前述の方法は、コンピュータシステムの構成が頻繁に変わる場合において、特に有効な方法である。
図13は、本発明の第1の実施形態の抽象アクセスログ1900を示す説明図である。
抽象アクセスログ1900は、アクセスログ抽象化プログラム336によって、インシデント付きアクセスログ1600が抽象化された結果の抽象化アクセスログを格納する。この抽象アクセスログ1900は、稼働データの推薦に用いられる。
本実施形態における抽象化とは、閲覧された稼働データの内容を示す監視対象、監視項目、表示期間、および、絞り込み条件を、監視業務における運用管理者間の共通の概念を示す文字列に置き換える処理である。本実施形態において抽象化処理は、頻繁に閲覧される稼働データがインシデントへの対応においてどのような情報を提供する稼働データであるか、または、運用管理者がどのような動機によって頻繁に稼働データを閲覧するかを、一般的な文字列によって表現し、複数の運用管理者間で共有するために行われる処理である。
本実施形態におけるサービス管理サーバ3は、閲覧された稼働データの内容を抽象化(または、一般化)することによって、インシデントに対応するために閲覧すべき稼働データを示す抽象的な文字列を生成し、そして、生成された抽象的な文字列から、閲覧すべき具体的な稼働データを特定する。
抽象アクセスログ1900は、列1901〜列1907を含む。図13に示す抽象アクセスログ1900は、行1911〜行1918、および、行1920を含む。
列1901は、本実施形態のコンピュータシステムにおいて抽象アクセスログを一意に識別するための識別子(抽象アクセスログID)を示す。列1902は、抽象アクセスログが生成された元のアクセスログのアクセスログIDを示す。
列1903は、この抽象アクセスログの抽象化に用いられたインシデントのインシデントIDを示す。列1904〜列1907は、インシデント付きアクセスログ1600の列1607〜列1610を各々抽象化した結果を示す。
列1607〜列1610を抽象化することによって、列1904〜列1907に格納される値を大きく分類することが可能となり、運用管理者が、どのような動機によってどのような内容の稼働データを多く閲覧したかが明確になる。
例えば、図10の行1611〜行1620は、列1607〜列1610の値が全く一致していない。しかし、図13の行1911および行1915と、行1914および行1917とは、列1904〜列1907の値が一致する。このため、行1911および行1915は、同じ動機によるアクセスログを示し、行1914および行1917も、同じ動機によるアクセスログを示す。
そして、列1904〜列1907の値が重複する抽象アクセスログが多い程、抽象アクセスログ1900は、運用管理者がインシデントの対応において稼働データを閲覧する傾向を示すことができる。本実施形態の推薦処理において、このような抽象アクセスログ1900が示す傾向が用いられる。
図14Aは、本発明の第1の実施形態のインシデント付きアクセスログ1600の生成処理のうち、時刻に基づいて関連するインシデント情報を取得する処理を示すフローチャートである。
図14Bは、本発明の第1の実施形態のインシデント付きアクセスログ1600の生成処理のうち、運用管理者または監視対象によって関連するインシデント情報を取得する処理を示すフローチャートである。
関連インシデント発見プログラム335が、図14A、および、図14Bに示す処理を行うことによって、アクセスログ1300からインシデント付きアクセスログ1600が生成される。
関連インシデント発見プログラム335による図14Aおよび図14Bの処理は、新しいアクセスログがアクセスログ1300に追加された場合だけでなく、インシデント情報1400が更新された場合にも実行されてよい。これは、インシデント情報1400の各列(特に列1408が示す対応者)が更新された結果、各アクセスログに関連するインシデント情報が変わる場合があるためである。
関連インシデント発見プログラム335は、データベース4からアクセスログ1300の各行に含まれるアクセスログをすべて取得する(S101)。そして、関連インシデント発見プログラム335は、S101において取得されたアクセスログのうち、S104以降の処理が実行されていないアクセスログがあるか否かを判定する(S102)。S104以降の処理が実行されていないアクセスログがない場合、関連インシデント発見プログラム335は、図14A、および、図14Bに示す処理を終了する。
そして、S101において取得されたアクセスログのうち、S104以降の処理が実行されていないアクセスログがある場合、関連インシデント発見プログラム335は、S101において取得されたアクセスログから、S104以降の処理が実行されていないアクセスログを一つ選択する(S103)。以降の説明では、S103において選択されたアクセスログをLOG1と呼ぶ。
S103の後、関連インシデント発見プログラム335は、LOG1の列1302に、インシデントIDが含まれるか否かを判定する(S104)。S104において、列1302にインシデントIDが含まれると判定された場合、LOG1にはインシデントが既に関連付けられている。このため、関連インシデント発見プログラム335は、LOG1をインシデント付きアクセスログとし、データベース4のインシデント付きアクセスログ1600に格納する(S105)。例えば、図7に示す行1317は、列1302にインシデントIDが含まれるため、関連インシデント発見プログラム335は、行1317を図10に示す行1617に格納する。
S105の後、関連インシデント発見プログラム335は、新たなアクセスログをインシデント情報と関連付けるため、S102を実行する。
一方、S104において、LOG1の列1302にインシデントIDが含まれていないと判定された場合、関連インシデント発見プログラム335は、LOG1に関連付けられるインシデント情報を後述のS106〜S113によって抽出する。まず、関連インシデント発見プログラム335は、LOG1の列1303が示すアクセス時刻より前に発生したインシデントを示し、かつ、LOG1の列1303が示すアクセス時刻の時点で未解決のインシデントを示すすべてのインシデント情報を、データベース4のインシデント情報1400から取得する(S106)。
例えば、LOG1が図7の行1311である場合、関連インシデント発見プログラム335は、S106において、図8の行1421をインシデント情報1400から取得する。これは、行1421が示すインシデントは2011年1月17日9:00に発生し、2011年1月17日10:40に解決されており、一方、行1311のアクセスログは、2011年1月17日9:10に運用管理者が稼働データにアクセスしたことを示すためである。すなわち、行1311が示す稼働データへのアクセスは、行1421が示すインシデントを解決するために行われた可能性が高いためである。
S106の後、関連インシデント発見プログラム335は、S106において取得されたインシデント情報のうち、図14Bに示すS109以降の処理が実行されていないインシデント情報があるか否かを判定する(S107)。図14Bに示すS109以降の処理が実行されていないインシデント情報がない場合、関連インシデント発見プログラム335は、新たなアクセスログをインシデント情報と関連付けるため、S102を実行する。
図14Aに示すS107において、図14Bに示すS109以降の処理が実行されていないインシデント情報があると判定された場合、関連インシデント発見プログラム335は、S106において取得されたインシデント情報から、S109以降の処理が実行されていないインシデント情報を一つ選択する(S108)。以降の説明では、S108において選択されたインシデント情報をINC1と呼ぶ。
S109およびS110において、アクセスログ抽象化プログラム336は、LOG1が示すアクセスを行った運用管理者がINC1に関連するか否かを判定する。
S108の後、関連インシデント発見プログラム335は、INC1の列1408が示す対応者と、LOG1の列1305が示す運用管理者とが一致するか否かを判定する(S109)。INC1が示す対応者とLOG1が示す運用管理者とが一致した場合、LOG1が示すアクセスはINC1が示すインシデントを解決するために行われた可能性が高い。このため、関連インシデント発見プログラム335は、さらにINC1がLOG1に関連するか否かを判定するため、S111を実行する。
S109において、INC1が示す対応者とLOG1が示す運用管理者とが一致しないと判定された場合、関連インシデント発見プログラム335は、担当者情報1500を参照することによって、INC1の列1404が示す監視対象および列1405が示す監視項目を、LOG1の列1305が示す運用管理者が担当しているか否かを判定する(S110)。これは、LOG1が示す運用管理者が、INC1が示すインシデントによって、稼働データを閲覧する必要がある担当者である場合、LOG1とINC1とは関連しているためである。
具体的には、S110において関連インシデント発見プログラム335は、LOG1の列1305の値を列1501に含み、INC1の列1404の値を列1502に含み、INC1の列1405の値を列1503に含む行が、担当者情報1500に含まれる場合、INC1が示す監視対象および監視項目を、LOG1が示す運用管理者が担当していると判定する。
S110において、INC1が示す監視対象および監視項目を、LOG1が示す運用管理者が担当していないと判定された場合、LOG1が示す運用管理者は、INC1が示すインシデントの解決のために稼働データにアクセスしていない。このため関連インシデント発見プログラム335は、LOG1に関連するインシデントをさらに検索するため、S107を実行する。
S110において、INC1が示す監視対象および監視項目を、LOG1が示す運用管理者が担当していると判定された場合、LOG1が示すアクセスが、INC1が示すインシデントを解決するために行われた可能性があるため、関連インシデント発見プログラム335は、S111を実行する。
S111およびS112において、関連インシデント発見プログラム335は、LOG1が示すアクセスによって表示された稼働データが、INC1に関連するか否かを判定する。
S109またはS110の後、関連インシデント発見プログラム335は、INC1の列1404が示す監視対象とLOG1の列1307が示す監視対象との間に依存関係があるか、または、INC1の列1404が示す監視対象とLOG1の列1307が示す監視対象とが一致するか否かを、依存関係データ1700を用いて判定する(S111)。
具体的には、S111において関連インシデント発見プログラム335は、INC1が示す監視対象が列1702に含まれ、かつ、LOG1が示す監視対象が列1701に含まれる行、または、INC1が示す監視対象が列1701に含まれ、かつ、LOG1が示す監視対象が列1702含まれる行が、依存関係データ1700に含まれる場合、INC1が示す監視対象とLOG1が示す監視対象とに依存関係があると判定する。
S111において、INC1が示す監視対象とLOG1が示す監視対象とに依存関係があると判定された場合、または、INC1が示す監視対象とLOG1が示す監視対象とが一致すると判定された場合、LOG1が示すアクセスはINC1の解決のために行われた可能性がある。このため、関連インシデント発見プログラム335は、S113を実行する。
S111において、INC1が示す監視対象とLOG1が示す監視対象とに依存関係がなく、かつ、INC1が示す監視対象とLOG1が示す監視対象とが一致しないと判定された場合、関連インシデント発見プログラム335は、INC1が示す監視対象とLOG1が示す監視対象とが同じサービスを提供しているか否かを、サービス情報1800を用いて判定する(S112)。
具体的には、S112において関連インシデント発見プログラム335は、列1802にINC1が示す監視対象を含む行と、列1802にLOG1が示す監視対象を含む行とのうち、列1801に同じ値を含む行がある場合、INC1が示す監視対象とLOG1が示す監視対象とが同じサービスを提供していると判定する。
S112において、INC1が示す監視対象とLOG1が示す監視対象とが同じサービスを提供していないと判定された場合、LOG1が示すアクセスは、INC1が示すインシデントと関連していない。このため関連インシデント発見プログラム335は、LOG1に関連するインシデントをさらに検索するため、S107を実行する。
S112において、INC1が示す監視対象とLOG1が示す監視対象とが同じサービスを提供している場合、LOG1が示すアクセスはINC1が示すインシデントの解決のために行われた可能性がある。このため、関連インシデント発見プログラム335は、S113を実行する。
S111またはS112の後、関連インシデント発見プログラム335は、LOG1の列1301および列1303〜列1310に格納される値と、INC1の列1401に格納される値とを含むインシデント付きアクセスログを生成する。そして、生成されたインシデント付きアクセスログを、データベース4のインシデント付きアクセスログ1600に格納する(S113)。
例えば、図7に示す行1311のアクセスログと、図8に示す行1421のインシデントIDとに基づいて、図10に示す行1611のインシデント付きアクセスログが生成される。すなわち、行1421の列1401が示すインシデントID「1」が、行1611の列1602に格納される。行1311の列1301が行1611の列1601に、行1311の列1303〜列1310が行1611の列1603〜列1610に格納される。
S113の後、関連インシデント発見プログラム335は、LOG1に関連するインシデントをさらに検索するため、S107を実行する。
なお、稼働データへの一回のアクセスが複数のインシデントに関連している場合、図14Aおよび図14Bに示す処理によって、インシデント付きアクセスログ1600には、同じアクセスログIDを含み、異なるインシデントIDを含む行が格納されてもよい。
また、関連インシデント発見プログラム335は、図14Aおよび図14Bに示す処理が行われるごとに、過去のインシデント付きアクセスログ1600を削除し、新たなインシデント付きアクセスログ1600を生成してもよい。これによって、インシデント付きアクセスログ1600は、常に最新のアクセスおよびインシデントに基づいて更新される。
また、図14Aおよび図14Bに示す処理において、関連インシデント発見プログラム335は、アクセスログに関連付けられるインシデント情報を特定するため、S106、S109、S110、S111、およびS112の処理を行う。しかし、前述の処理以外でも、アクセスログのインシデント情報を関連付けることができれば、関連インシデント発見プログラム335は、いかなる処理を行ってもよい。
また、関連インシデント発見プログラム335は、S106、S109、S110、S111、およびS112の少なくとも一つを処理することによって、アクセスログとインシデント情報とを関連付けてもよい。
図15Aは、本発明の第1の実施形態のアクセスログを抽象化する処理のうち、監視対象および監視項目を抽象化する処理を示すフローチャートである。
図15Bは、本発明の第1の実施形態のアクセスログを抽象化する処理のうち、インシデント発生元以外の監視対象を抽象化する処理を示すフローチャートである。
図15Cは、本発明の第1の実施形態のアクセスログを抽象化する処理のうち、表示期間および絞り込み条件を抽象化する処理を示すフローチャートである。
アクセスログ抽象化プログラム336は、図15A〜図15Cに示す処理によって、インシデント付きアクセスログ1600を抽象アクセスログ1900に変換する抽象化処理を行う。アクセスログ抽象化プログラム336は、インシデント付きアクセスログ1600に新しいインシデント付きアクセスログが格納された場合に、図15Aに示す処理を開始する。
アクセスログ抽象化プログラム336は、データベース4の抽象アクセスログ1900からすべてのインシデント付きアクセスログを取得する(S201)。S201の後、アクセスログ抽象化プログラム336は、S201において取得されたインシデント付きアクセスログのうち、S204以降の処理が実行されていないインシデント付きアクセスログがあるか否かを判定する(S202)。S204以降の処理が実行されていないインシデント付きアクセスログがない場合、アクセスログ抽象化プログラム336は、図15A〜図15Cの処理を終了する。
S202において、S204以降の処理が実行されていないインシデント付きアクセスログがあると判定された場合、アクセスログ抽象化プログラム336は、S201において取得され、S204以降の処理が実行されていないインシデント付きアクセスログを一つ選択する(S203)。以降の説明では、S203において選択されたインシデント付きアクセスログをILOG1と呼ぶ。
ここで、過去にアクセスログ抽象化プログラム336が図15A〜図15Cの抽象化処理を行ったインシデント付きアクセスログのうち、以下の条件を満たすものについて、アクセスログ抽象化プログラム336は、S201において取得しなくてもよい。これは、過去に抽象化処理が行われ、かつ、以下の条件のすべてを満たすインシデント付きアクセスログが再度抽象化処理をされても、過去に行われた抽象化処理による結果と同じ結果しか得られないためである。従って、アクセスログ抽象化プログラム336は、過去に抽象化処理が行われ、かつ、以下の条件をすべて満たすインシデント付きアクセスログをS201において取得しないことによって、処理時間を短縮できる。
S201において取得されないインシデント付きアクセスログの条件の一つ目は、インシデント付きアクセスログが示すインシデントID(インシデント付きアクセスログ1600の列1602に対応)が、図15A〜図15Cの処理の前回の実行以降に変更されていないことである。
また、S201において取得されないインシデント付きアクセスログの条件の二つ目は、インシデント付きアクセスログが示すインシデント情報のインシデント発生元(インシデント情報1400の列1404に対応)、および、インシデント付きアクセスログの監視対象(インシデント付きアクセスログ1600の列1607に対応)を含む依存関係データ1700の行が、図15A〜図15Cの処理の前回の実行以降に変更されていないことである。
また、S201において取得されないインシデント付きアクセスログの条件の三つ目は、インシデント付きアクセスログが示すインシデントのインシデント発生元(インシデント情報1400の列1412に対応)、および、インシデント付きアクセスログの監視対象(インシデント付きアクセスログ1600の列1607に対応)を含むサービス情報1800の行が、図15A〜図15Cの処理の前回の実行以降に変更されていないことである。
S203の後、アクセスログ抽象化プログラム336は、ILOG1の列1602が示すインシデントIDを列1401に含むインシデント情報1400の行を、インシデント情報としてデータベース4から取得する(S204)。以降の説明では、S204において取得されたインシデント情報を、INC2と呼ぶ。
なお、S204において、アクセスログ抽象化プログラム336は、ILOG1の列1601、列1602、および、列1607〜列1610を、ILOG1に対応する抽象アクセスログの列1902、列1903、および、列1904〜列1907としてメモリ33に格納する。そして、図15Aに示すS205およびS206、ならびに、図15Bに示すS207〜S217において、アクセスログ抽象化プログラム336は、ILOG1に対応する抽象アクセスログの列1904に、抽象化された監視対象IDを格納する。
S204の後、アクセスログ抽象化プログラム336は、ILOG1の列1607が示す監視対象と、INC2の列1404が示す監視対象とが一致するか否かを判定する(S205)。これは、ILOG1が示すアクセスによって閲覧された監視対象と、INC2の発生元の監視対象との関係によって、ILOG1の監視対象IDを抽象化するためである。
S205において、ILOG1の列1607が示す監視対象と、INC2の列1404が示す監視対象とが一致すると判定された場合、アクセスログ抽象化プログラム336は、ILOG1の列1607に含まれる値を「インシデント発生元」の文字列によって更新することによって、抽象アクセスログをメモリ33に生成する(S206)。具体的には、S206においてアクセスログ抽象化プログラム336は、ILOG1に対応するメモリ33に格納された抽象アクセスログの列1904を、「インシデント発生元」によって更新する。
これは、ILOG1の列1607が示す監視対象と、INC2の列1404が示す監視対象とが一致する場合、ILOG1は、インシデントの発生元の監視対象によって生成された稼働データへのアクセスを示すためである。なお、「インシデント発生元」の文字列は、運用管理者等によってあらかじめ定められた文字列である。
S205において、ILOG1の列1607が示す監視対象と、INC2の列1404が示す監視対象とが一致しないと判定された場合、アクセスログ抽象化プログラム336は、図15Bに示すS207〜S217の抽象化処理を実行する。
図15BのS207において、アクセスログ抽象化プログラム336は、列1701が示す依存元の監視対象または列1702が示す依存先の監視対象が、INC2の列1404が示す監視対象に一致する依存関係データを、データベース4の依存関係データ1700から取得する(S207)。
S207の後、アクセスログ抽象化プログラム336は、S207において取得された依存関係データのうち、S210の処理が実行されていない依存関係データがあるか否かを判定する(S208)。S210の処理が実行されていない依存関係データがない場合、アクセスログ抽象化プログラム336は、S212の処理を実行する。
S208において、S210の処理が実行されていない依存関係データがあると判定された場合、アクセスログ抽象化プログラム336は、S207において取得された依存関係データから、S210の処理が実行されていない依存関係データを一つ選択する(S209)。以降の説明では、S209において選択された依存関係データをDEP1と呼ぶ。
S209の後、アクセスログ抽象化プログラム336は、DEP1の列1701が示す依存元の監視対象、または、DEP1の列1702が示す依存先の監視対象に、ILOG1の列1607が示す監視対象が含まれるか否かを判定する(S210)。ILOG1の列1607が示す監視対象IDがDEP1に含まれる場合、INC2の列1404が示す監視対象とILOG1の列1607が示す監視対象との間には依存関係がある。
すなわち、アクセスログ抽象化プログラム336は、ILOG1の列1607が示す監視対象IDがDEP1に含まれる場合、INC2の列1404が示す監視対象とILOG1の列1607が示す監視対象の間の依存関係を用いて、列1607が示す監視対象IDを抽象化できる。具体的には、アクセスログ抽象化プログラム336は、ILOG1に対応する抽象アクセスログの列1904に含まれる値を、ILOG1の列1607が示す監視対象とINC2の列1404が示すインシデント発生元の監視対象との依存関係を示す文字列に更新することによって、ILOG1に対応する抽象アクセスログを生成する。(S211)。
例えば、INC2が図8に示す行1421であり、ILOG1が図10に示す行1612の場合、DEP1は、図11の行1711または行1713である。そして、アクセスログ抽象化プログラム336は、S208〜S210の処理によって、行1711に行1612の列1607が示す監視対象(switch1)が含まれると判定する。そして、アクセスログ抽象化プログラム336は、S211において、ILOG1の列1607の値「switch1」を、「インシデント発生元の上流スイッチ」の文字列に更新することによって、ILOG1の監視対象を抽象化した抽象アクセスログを生成する。
ここで、列1607の値を更新する文字列は、DEP1に含まれる値に従って、あらかじめ定められる。S211の後、アクセスログ抽象化プログラム336は、ILOG1が示す監視対象を含む依存関係データをさらに検索するため、S208を実行する。
S208の後、すなわち、INC2とILOG1との依存関係によってILOG1を抽象アクセスログに更新した後、アクセスログ抽象化プログラム336は、列1802が示す監視対象がINC2の列1404が示す監視対象に一致するサービス情報を、データベース4のサービス情報1800から取得する(S212)。
S212の後、アクセスログ抽象化プログラム336は、S212において取得されたサービス情報のうち、S215およびS216の処理が実行されていないサービス情報があるか否かを判定する(S213)。S215およびS216の処理が実行されていないサービス情報がない場合、アクセスログ抽象化プログラム336は、図15Bに示す処理を終了し、図15Aに示すS218を実行する。
S213において、S215およびS216の処理が実行されていないサービス情報があると判定された場合、アクセスログ抽象化プログラム336は、S212において取得されたサービス情報から、S215およびS216の処理が実行されていないサービス情報を一つ選択する(S214)。以降の説明では、S214において選択されたサービス情報をSRV1と呼ぶ。
S214の後、アクセスログ抽象化プログラム336は、列1801が示すサービスIDがSRV1の列1801が示すサービスIDと一致し、列1802が示す構成要素がILOG1の列1607が示す監視対象と一致するサービス情報を、データベース4のサービス情報1800において特定する(S215)。すなわち、S215においてアクセスログ抽象化プログラム336は、INC2が示す監視対象が提供するサービスのうち、ILOG1が示す監視対象が提供するサービスと一致するサービスを特定する。
S215の後、アクセスログ抽象化プログラム336は、S215の結果、サービス情報1800においてサービス情報が特定されるか否かを判定する(S216)。S215の結果、サービス情報1800においてサービス情報が特定されない場合、アクセスログ抽象化プログラム336は、ILOG1が示す監視対象を含むサービス情報をさらに検索するため、S213を実行する。
S215の結果、サービス情報1800においてサービス情報が特定された場合、INC2の列1404が示す監視対象とILOG1の列1607が示す監視対象とは、同じサービスを提供する。そして、INC2の列1404が示す監視対象とILOG1の列1607が示す監視対象とが同じサービスを提供する場合、アクセスログ抽象化プログラム336は、ILOG1に対応する抽象アクセスログの列1904を、S216において特定されたサービス情報を示す文字列に更新する(S217)。
具体的には、S211において既にILOG1に対応する抽象アクセスログがメモリ33に生成されている場合、S217においてアクセスログ抽象化プログラム336は、メモリ33に格納される抽象アクセスログの列1904に、S216において特定されたサービス情報を示す文字列を追加する。すなわち、アクセスログ抽象化プログラム336は、INC2が示す監視対象とILOG1が示す監視対象との依存関係を示す文字列に、S216において特定されたサービス情報を示す文字列を追加する。これによって、ILOG1が示す監視対象IDが、INC2が示す監視対象とILOG1が示す監視対象との依存関係、および、INC2が示す監視対象とILOG1が示す監視対象との両方が提供するサービス情報によって、抽象化される。
また、S211が実行されていない場合、S217においてアクセスログ抽象化プログラム336は、ILOG1の列1607に含まれる値を、S216において特定されたサービス情報を示す文字列に更新することによって、ILOG1に対応する抽象アクセスログを生成する。
例えば、INC2が図8に示す行1422であり、ILOG1が図10に示す行1618である場合、アクセスログ抽象化プログラム336は、S215によって、図12に示す行1814を特定する。このとき、アクセスログ抽象化プログラム336は、ILOG1の列1607の「host33」の値を、「インシデント発生元に並列するWebサーバ」の文字列によって更新する。アクセスログ抽象化プログラム336は、これによって、ILOG1の列1607の値を抽象化した抽象アクセスログを生成する。
S217の後、アクセスログ抽象化プログラム336は、ILOG1が示す監視対象を含むサービス情報をさらに検索するため、S213を実行する。
なお、図13に示す列1904は人が意味を認識できる文章によって抽象化された文字列を含むが、本実施形態の抽象アクセスログ1900の列1904は、S211およびS217において追加される文字列を、例えばカンマによって区切ることによって保持してもよい。
図15Aおよび図15Bに示す処理のとおり、本実施形態のアクセスログ抽象化プログラム336は、INC2が示す監視対象とILOG1が示す監視対象との依存関係を示す文字列、または、INC2が示す監視対象とILOG1が示す監視対象との両方が提供するサービスを示す文字列を用いて、ILOG1の監視対象IDを抽象化することによって、アクセスログを複数の規則によって抽象化する。このように、複数の規則によって監視対象IDを抽象化することによって、アクセスログ抽象化プログラム336は、後述する稼働データの推薦処理に利用できる抽象アクセスログを増やすことができ、さらに、推薦処理の精度を上げることができる。
図15Aに示すS206または図15Bに示すS213の後、アクセスログ抽象化プログラム336は、S218およびS219によって、ILOG1の監視項目を抽象化する。アクセスログ抽象化プログラム336は、ILOG1の列1608が示す監視項目と、INC2の列1405が示す監視項目とが一致するか否か判定する(S218)。
S218において、ILOG1の列1608が示す監視項目と、INC2の列1405が示す監視項目とが一致したと判定された場合、アクセスログ抽象化プログラム336は、S218までの処理によってメモリ33に格納されたILOG1に対応するすべての抽象アクセスログの列1905を、「インシデント発生元」の文字列によって更新する(S219)。
例えば、INC2が図8に示す行1421であり、ILOG1が図10に示す行1611である場合、インシデントが発生した監視項目と表示された稼働データの監視項目とが同じである。このため、アクセスログ抽象化プログラム336は、メモリ33に格納されたILOG1に対応する抽象アクセスログの列1905を「インシデント発生元」の文字列に更新する。
S219の後、または、S218においてILOG1の列1608が示す監視項目と、INC2の列1405が示す監視項目とが一致しないと判定された場合、アクセスログ抽象化プログラム336は、図15Cに示すS220を実行する。なお、S218においてILOG1の列1608が示す監視項目と、INC2の列1405が示す監視項目とが一致しないと判定された場合、アクセスログ抽象化プログラム336は、メモリ33に格納されたILOG1に対応する抽象アクセスログの列1905を更新しない。すなわち、ILOG1の列1608に格納されていた値を、抽象アクセスログの列1905の値に決定する。
また、アクセスログ抽象化プログラム336は、S218においてILOG1の列1608が示す監視項目と、INC2の列1405が示す監視項目とが一致しないと判定された場合、ILOG1の列1608が示す監視項目を、あらかじめ定められた規則に従って抽象化してもよい。例えば、アクセスログ抽象化プログラム336は、ILOG1の列1608が「OSのCPU使用率」を示す場合、あらかじめ定められた規則に従って、「OSの性能値」を示す文字列によって列1608を更新してもよい。また、列1608が「WebアプリケーションAのログ」を示す場合、「Webアプリケーションのログ」を示す文字列によって列1608を更新してもよい。
このように、所定の規則に従って文字列を更新し、インシデント付きアクセスログ1600が示す監視項目の抽象度を高める場合、運用管理者へ推薦される稼働データの精度は下がる。しかし、抽象度を高めることによって、抽象アクセスログを大きく分類することが可能になり、どのような稼働データが表示されることが多いかを示す傾向を、後述する推薦処理において取得することができるというメリットがある。このため、前述の規則に従った抽象化は、データベース4のインシデント付きアクセスログ1600に格納される行が少ない場合において有効である。
S219またはS218の後、アクセスログ抽象化プログラム336は、図15CのS220を実行する。S220においてアクセスログ抽象化プログラム336は、ILOG1の列1609が示す表示期間を抽象化する。アクセスログ抽象化プログラム336は、メモリ33のILOG1に対応するすべての抽象アクセスログの列1906の値を、ILOG1の列1609が示す表示期間とINC2の列1407が示す発生日時との相対的な関係を示す文字列に更新する。
例えば、INC2が図8に示す行1421であり、ILOG1が図10に示す行1611である場合、アクセスログ抽象化プログラム336は、INC2の列1407が示すインシデントの発生日時と、ILOG1の列1609が示す稼働データの表示期間とが同じ日であるため、メモリ33のILOG1に対応する抽象アクセスログの列1906を「インシデント発生日」の文字列に更新する。
S220の後、アクセスログ抽象化プログラム336は、ILOG1の絞り込み条件を抽象化する。まず、アクセスログ抽象化プログラム336は、あらかじめ定められたアラート文字列のテンプレート、または、形態素解析エンジンを用いることによって、INC2の列1406が示すインシデントの内容から、特徴語(以下、キーワード)を取得する(S221)。
S221の後、アクセスログ抽象化プログラム336は、S221において取得されたキーワードのうち、S224の処理が実行されていないキーワードがあるか否かを判定する(S222)。
S222において、S224の処理が実行されていないキーワードがあると判定された場合、アクセスログ抽象化プログラム336は、S221において取得されたキーワードから、S224の処理が実行されていないキーワードを一つ選択する(S223)。以降の説明では、この選択されたキーワードをKEY1と呼ぶ。
S223の後、アクセスログ抽象化プログラム336は、ILOG1の列1610が示す絞り込み条件にKEY1が含まれているか否かを判定する(S224)。列1610が示す絞り込み条件にKEY1が含まれている場合、アクセスログ抽象化プログラム336は、メモリ33に格納されたすべての抽象アクセスログの列1907に含まれるKEY1を、「インシデント中のキーワード」を示す文字列によって更新する(S225)。
例えば、INC2が図8に示す行1423であり、ILOG1が図10に示す行1621である場合、INC2の列1406が示すインシデントの内容から取得されるキーワード(KEY1)は「upload data error」である。そして、ILOG1の列1610が示す絞り込み条件は、「"upload data error"で検索」であり、KEY1を含む。このため、S225においてアクセスログ抽象化プログラム336は、ILOG1に対応する抽象アクセスログの列1907の値を、図13の行1920の列1907のように、「インシデント中のキーワードで検索」に更新する。
S225の後、アクセスログ抽象化プログラム336は、INC2のインシデントの内容に含まれるキーワードをさらに検証するため、S222を実行する。
S222において、S224の処理が実行されていないキーワードがない場合、アクセスログ抽象化プログラム336は、メモリ33に格納されたILOG1に対応するすべての抽象アクセスログを、データベース4の抽象アクセスログ1900に追加する(S226)。そして、アクセスログ抽象化プログラム336は、メモリ33に格納されたすべての抽象アクセスログを削除し、次のインシデント付きアクセスログを処理するため、図15Aに示すS202を実行する。
稼働データ表示プログラム332は、図15A〜図15Cに示す処理によって生成された抽象アクセスログ1900を用いて、運用管理者に稼働データを推薦する。以下に、推薦処理の一例を示す。
図16は、本発明の第1の実施形態の稼働データ表示プログラム332による稼働データの推薦処理を示すフローチャートである。
運用管理者から稼働データを出力する要求(表示要求)を受けた場合、稼働データ表示プログラム332は、図16に示す稼働データを推薦する処理を実行する。
まず、稼働データ表示プログラム332は、運用管理者から受信した稼働データの表示要求を示すアクセスログを、データベース4のアクセスログ1300に格納する(S301)。S301の後、稼働データ表示プログラム332は、運用管理者による表示要求にインシデントIDが含まれるか否かを判定する(S302)。
本実施形態において、運用管理者が稼働データの表示要求を管理者端末20に入力する際、運用管理者が情報を取得したいインシデントのインシデントIDを認識していた場合、運用管理者は稼働データの表示要求と、インシデントIDとを管理者端末20に入力する。
S302において稼働データの表示要求にインシデントIDが含まれると判定された場合、稼働データ表示プログラム332は、S306を実行する。一方、S302において稼働データの表示要求にインシデントIDが含まれないと判定された場合、稼働データ表示プログラム332は、S301においてアクセスログ1300に格納したアクセスログ、すなわち、運用管理者による表示要求を示すアクセスログを取得する。そして取得されたアクセスログに関連した未解決のインシデントを特定する(S303)。
S303において、稼働データ表示プログラム332は、関連インシデント発見プログラム335による図14Aに示すS106と、図14Bに示すS108〜S113と同じ処理を行う。具体的には、S303において稼働データ表示プログラム332は、S303において取得されたアクセスログのアクセス時刻(列1303)、監視対象ID(列1307)、監視項目ID(1308)、および、運用管理者ID(列1305)に基づいて、アクセスログの関連するインシデント情報を特定する。なお、稼働データ表示プログラム332は、S303においてS107を行わない。
ただし、稼働データ表示プログラム332は、S303においてS113を実行した場合、インシデント付きアクセスログを生成する代わりに、図16に示すS304を実行する。S303の後、取得されたアクセスログに関連した未解決のインシデントが特定されたか否かを判定する(S304)。
S304において、取得されたアクセスログに関連した未解決のインシデントが特定されない場合、稼働データ表示プログラム332は、稼働データの表示要求によって要求された稼働データのみを管理者端末20の画面に表示し、処理を終了する(S305)。
なお、S306以降の処理において、稼働データの表示要求に含まれるインシデントIDが示すインシデント情報1400の行、または、S303において特定されたインシデントを示すインシデント情報1400の行を、INC3と呼ぶ。また、S304において、複数のインシデント情報がアクセスログに関連付けられた場合、稼働データ表示プログラム332は、S304において特定された各インシデント情報に、S306以降の処理を実行してもよい。
S304において、取得されたアクセスログに関連した未解決のインシデントが特定された場合、稼働データ表示プログラム332は、INC3が示す情報をデータベース4のインシデント情報1400から取得する(S306)。S306の後、稼働データ表示プログラム332は、INC3に類似する過去のインシデント情報をデータベース4のインシデント情報1400から取得する(S307)。
S307において稼働データ表示プログラム332は、INC3に類似する過去のインシデント情報を取得するために、INC3の列1402〜列1406と、インシデント情報1400の各インシデント情報の列1402〜列1406との少なくとも一つを比較する。以下において、INC3の列1403が示すインシデントの種類と、各インシデント情報の列1403が示すインシデントの種類とのみを比較することによって、稼働データ表示プログラム332は、INC3に類似する過去のインシデント情報を取得する。
例えば、図8に示す行1424がINC3である場合、行1424の列1403は「CPU負荷」を示し、行1421および行1422の列1403も「CPU負荷」を示す。このため、INC3に類似する過去のインシデント情報は行1421および行1422である。
なお、稼働データ表示プログラム332は、推薦処理の精度を高めるため、列1402〜列1406のうち、より多くの情報を比較することによって、類似するインシデント情報を取得してもよい。また、稼働データ表示プログラム332は、比較の結果類似していると判定されたインシデント情報のうち、類似性の高い上位数件のみを過去のインシデント情報として取得してもよい。
S307の後、稼働データ表示プログラム332は、S307においてINC3に類似する過去のインシデントをデータベース4のインシデント情報1400から取得できたか否かを判定する(S308)。S308において、INC3に類似する過去のインシデント情報が取得できないと判定された場合、稼働データ表示プログラム332は、S305を実行する。
S308において、INC3に類似する過去のインシデント情報が取得できたと判定された場合、稼働データ表示プログラム332は、S307において取得されたINC3に類似する過去のインシデント情報に対応する抽象アクセスログを、データベース4の抽象アクセスログ1900から取得する(S309)。具体的には、稼働データ表示プログラム332は、S307において取得されたインシデント情報のインシデントID(列1401)を、列1903に含む抽象アクセスログ1900の行を、抽象アクセスログとして取得する。
S309の後、稼働データ表示プログラム332は、INC3、S309において取得された抽象アクセスログ、依存関係データ1700、および、サービス情報1800に基づいて、画面上の表示を変更するためのデータを生成する(S310)。以下では、この画面上の表示を変更するためのデータをアクセスパターンと呼ぶ。S310における処理は、後述する。
S310の後、稼働データ表示プログラム332は、S310において生成されたアクセスパターンに基づいて、管理者端末20の画面の表示を変更する(S311)。S311の後、稼働データ表示プログラム332は、図16に示す処理を終了する。
以下では、S310におけるアクセスパターンを生成する処理の詳細を説明する。
稼働データ表示プログラム332は、アクセスパターンを段階的に生成する。最初の段階において、稼働データ表示プログラム332はS309において取得された各抽象アクセスログに対する重要度を算出する。そして二番目の段階において、稼働データ表示プログラム332は、算出された重要度によって重み付き抽象アクセスログに基づいて、アクセスパターンを生成する。
図17は、本発明の第1の実施形態の重み付き抽象アクセスログ2000を示す説明図である。
重み付き抽象アクセスログ2000は、列2001〜列2005を含む。図17に示す重み付き抽象アクセスログ2000は、行2011〜行2016を含む。
列2001〜列2004は、抽象アクセスログ1900の列1904〜列1907に対応する。列2005は、抽象化されたアクセスログの重要度を示す。
重み付き抽象アクセスログ2000は、列2001〜列2004に格納される値の組合せが、一意になるように生成される。例えば、列1904〜列1907に含まれる値が同じ組合せである二つの抽象アクセスログが抽象アクセスログ1900に格納されていた場合、列1904〜列1907に含まれる値が同じ組合せである二つの抽象アクセスログは、一つの重み付き抽象アクセスログに変換される。
そして、稼働データ表示プログラム332は、二つの抽象アクセスログによって一つの重み付き抽象アクセスログを生成するために用いられた抽象アクセスログの数に従って、列2005が示す重要度を算出する。すなわち、インシデントが発生した場合に高い頻度で行われるアクセスには、高い重要度が算出される。また、インシデントを解決するために重要な役割を果たすアクセスを示す抽象アクセスログには、高い重要度が算出される。このため、列2005が示す重要度が高い行ほど、稼働データの推薦に使われやすくなる。
図18は、本発明の第1の実施形態のアクセスパターン2100を示す説明図である。
アクセスパターン2100は、列2101〜列2105を含む。図18に示すアクセスパターン2100は、行2111〜行2117を含む。
列2101〜列2105は、重み付き抽象アクセスログ2000の列2001〜列2005に対応する。ただし、アクセスパターン2100の列2101〜2104は、重み付き抽象アクセスログ2000の列2001〜列2005に格納された値を、具体化した値を含む。アクセスパターン2100は、重み付き抽象アクセスログ2000と依存関係データ1700とサービス情報1800とに基づいて、稼働データ表示プログラム332によって生成される。
重み付き抽象アクセスログ2000の行の数と、アクセスパターン2100の行の数とは、必ずしも一致しない。依存関係データ1700とサービス情報1800との内容に従って、一つの重み付き抽象アクセスログから二つ以上のアクセスパターンが生成される場合があり、一つの重み付き抽象アクセスログからアクセスパターンが一つも生成されない場合があるためである。
本実施形態のアクセスパターン2100は、運用管理者に推薦する稼働データの条件を示す。稼働データ表示プログラム332は、アクセスパターン2100を参照し、運用管理者に稼働データを推薦するためのデータを生成する。
図19Aは、本発明の第1の実施形態の稼働データ表示プログラム332が重み付き抽象アクセスログ2000を生成する処理を示すフローチャートである。
図19Bは、本発明の第1の実施形態の稼働データ表示プログラム332がアクセスパターン2100を生成する処理を示すフローチャートである。
図19Aおよび図19Bに示す処理は、図16に示すS310の処理である。図19Aに示すS401〜S408は、重み付き抽象アクセスログ2000を生成する処理であり、図19Bに示すS409〜S418は、重み付き抽象アクセスログ2000を具体化することによって、アクセスパターン2100を生成する処理である。
稼働データ表示プログラム332は、S309において取得された抽象アクセスログ、すなわち、INC3に類似したインシデント情報によって生成された抽象アクセスログから、列1904が示す監視対象ID、列1905が示す監視項目ID、列1906が示す表示期間、および、列1907が示す絞り込み条件の、一意な組合せをすべて抽出する(S401)。そして、抽出された組合せを列2001〜列2004に格納することによって、稼働データ表示プログラム332は、重み付き抽象アクセスログの列2001〜列2004を、メモリ33に生成する。
S401の後、稼働データ表示プログラム332は、S401において抽出された組合せのうち、S404およびS405の処理が実行されていない組合せがあるか否かを判定する(S402)。S402において、S404およびS405の処理が実行されていない組合せがないと判定された場合、稼働データ表示プログラム332は、図19Aおよび図19Bに示す処理を終了する。
S402において、S404およびS405の処理が実行されていない組合せがあると判定された場合、稼働データ表示プログラム332は、S401において抽出された組合せのなかから一つの組合せを選択する(S403)。以降の説明では、S403において選択された組合せをCOMB1と呼ぶ。
S403の処理において組合せを選択することによって、稼働データ表示プログラム332は、S405以降の処理によって抽象アクセスログごとに算出された重みの総和を算出することによって、組合せの重要度を算出することができる。
S403の後、稼働データ表示プログラム332は、S309において取得された抽象アクセスログのなかから、列1904〜列1906に格納される組合せがCOMB1と一致する抽象アクセスログをすべて選択する(S404)。これは、COMB1ごとの重要度を、後述の処理によって算出するためである。
S404の後、稼働データ表示プログラム332は、S404において選択された抽象アクセスログのうち、S407およびS408に示す処理が実行されていない抽象アクセスログがあるか否かを判定する(S405)。S405において、S407およびS408に示す処理が実行されていない抽象アクセスログがないと判定された場合、稼働データ表示プログラム332は、図19Bに示すS409を実行する。
S405において、S407およびS408に示す処理が実行されていない抽象アクセスログがあると判定された場合、稼働データ表示プログラム332は、S404において選択され、かつ、S407およびS408に示す処理が実行されていない抽象アクセスログのなかから一つを選択する(S406)。以降の説明では、S406において選択された抽象アクセスログをALOG1と呼ぶ。
S406の後、稼働データ表示プログラム332は、ALOG1の列1902が示すアクセスログ(以下、LOG2)および列1903が示すインシデント情報(以下、INC4)をデータベース4のアクセスログ1300およびインシデント情報1400から取得する(S407)。S407の後、LOG2およびINC4からALOG1の重みを算出し、算出された重みをCOMB1の重要度に加算する(S408)。
S408においてALOG1の重みを算出する方法には、例えば、以下の第1〜第9の方法が用いられる。また、ALOG1の重みは、以下の第1〜第9の方法の任意の組合せによって算出されてもよい。
ALOG1の重みを算出する第1〜第9の方法において行われる判定は、LOG2が示すアクセスが、INC4が示すインシデントの解決のために行われたアクセスであるか否かを判定するために行われる。このため、LOG2が示すアクセスが、INC4が示すインシデントの解決のために行われたアクセスであると判定された場合、ALOG1が示す抽象的な稼働データは、障害等の対応のために表示される稼働データを示すため、稼働データ表示プログラム332は、ALOG1の重みを大きくする。
ALOG1の重みを算出する第1の方法は、稼働データ表示プログラム332が、LOG2の列1305が示す運用管理者が、INC4の列1408が示す対応者と一致するか否かを判定する方法である。そして、稼働データ表示プログラム332が、LOG2の列1305が示す運用管理者が、INC4の列1408が示す対応者と一致する場合、ALOG1の重みを大きくする方法である。
ALOG1の重みを算出する第2の方法は、稼働データ表示プログラム332が、LOG2の列1305が示す運用管理者が、INC4の列1404が示す監視対象および列1405が示す監視項目の担当者であるか否かを、担当者情報1500に基づいて判定する方法である。そして、稼働データ表示プログラム332が、LOG2の列1305が示す運用管理者が、INC4の列1404が示す監視対象および列1405が示す監視項目の担当者である場合、ALOG1の重みを大きくする方法である。
ALOG1の重みを算出する第3の方法は、稼働データ表示プログラム332が、LOG2の列1303が示すアクセス時刻が、INC4の列1407が示す発生日時に近いか否かを判定する方法である。そして、稼働データ表示プログラム332が、LOG2の列1303が示すアクセス時刻が、INC4の列1407が示す発生日時に近い場合、ALOG1の重みを大きくする方法である。
ALOG1の重みを算出する第4の方法は、稼働データ表示プログラム332が、LOG2の列1303が示すアクセス時刻が、INC4の列1410が示す解決日時に近いか否かを判定する方法である。そして、稼働データ表示プログラム332が、LOG2の列1303が示すアクセス時刻が、INC4の列1410が示す解決日時に近い場合、ALOG1の重みを大きくする方法である。
ALOG1の重みを算出する第5の方法は、稼働データ表示プログラム332が、INC4の列1409が解決済みを示すか否かを判定し、INC4の列1409が解決済みを示す場合、ALOG1の重みを大きくする方法である。
ALOG1の重みを算出する第6の方法は、稼働データ表示プログラム332が、LOG2の列1307が示す監視対象および列1308が示す監視項目が、INC4の列1404が示す監視対象および列1405が示す監視項目に一致するか否かを判定する方法である。そして、稼働データ表示プログラム332が、LOG2の列1307が示す監視対象および列1308が示す監視項目が、INC4の列1404が示す監視対象および列1405が示す監視項目に一致する場合、ALOG1の重みを大きくする方法である。
ALOG1の重みを算出する第7の方法は、稼働データ表示プログラム332が、LOG2の列1307が示す監視対象および列1308が示す監視項目が、INC4の列1412が示す原因の監視対象および列1413が示す原因の監視項目に一致するか否かを判定する方法である。そして、稼働データ表示プログラム332が、LOG2の列1307が示す監視対象および列1308が示す監視項目が、INC4の列1412が示す原因の監視対象および列1413が示す原因の監視項目に一致する場合、ALOG1の重みを大きくする方法である。
ALOG1の重みを算出する第8の方法は、稼働データ表示プログラム332が、前述のALOG1の重みを算出する第1〜第7の方法のいずれかの方法によってINC4が示すインシデントの解決のために行われたアクセスであると判定されたアクセスログのセッションID(列1306に対応)と、LOG2の列1306が示すセッションIDとが同じである場合、ALOG1の重みを大きくする方法である。
ALOG1の重みを算出する第9の方法は、稼働データ表示プログラム332が、INC4の列1402が示すグループが、LOG2の列1304が示すグループと一致するか否かを判定し、INC4の列1402が示すグループが、LOG2の列1304が示すグループと一致する場合、ALOG1の重みを大きくする方法である。
前述の第1〜第9の方法を用いてALOG1の重み付けを行うことによって、過去のインシデントの解決につながったアクセスログから作られた抽象アクセスログは、インシデントの解決につながらないアクセスログから作られた抽象アクセスログよりも、大きい重要度を割り当てられる。従って、稼働データ表示プログラム332は、大きい重要度が割り当てられる抽象アクセスログを稼働データの推薦に用いることによって、インシデントの解決につながる稼働データを、より精度よく推薦することができる。
一般的に、運用管理者が属するグループ12においてサービスが長期間運用されている場合、抽象アクセスログの列1902が示すアクセスログの列1304が示すグループ12と、列1903が示すインシデントが発生した監視対象が含まれるグループ12とが同じである抽象アクセスログを、稼働データの推薦に優先的に用いることによって、稼働データ表示プログラム332は、推薦の制度を向上させることができる。これは、各グループ12固有のインシデントが発生している可能性があるためである。このため、第9の方法が用いられる。
S408において稼働データ表示プログラム332は、前述の第1〜第9の方法によって算出されたALOG1の重みを、COMB1の重要度に加算する。
なお、稼働データ表示プログラム332は、抽象アクセスログ(COMB1)の重要度を、抽象アクセスログの元になったアクセスログ(ALOG1)の数に従って算出してもよい。例えば、ALOG1として図13の行1911〜行1918がS406〜S408の処理を実行された場合、重み付き抽象アクセスログ2000の行2011および行2012の重要度は2であり、行2013〜行2018の重要度は1である(重要度の平均値は1.33、標準偏差は0.52)。
これは、例えば、行2011が示す組合せを含む抽象アクセスログは、図13において行1911および行1915の二つであり、行2012が示す組合せを含む抽象アクセスログは、図13において行1914および行1917の二つであるためである。
しかし、前述のように、抽象アクセスログの重要度を、抽象アクセスログの元になったアクセスログの数に従って算出した場合、重要度の最大値と最小値との差が小さいため、運用管理者は稼働データを確認する順番を判断しづらい。この場合、稼働データ表示プログラム332は、抽象アクセスログの元になったアクセスログの数に従って重要度を算出する方法と、前述の第1〜第9の方法のいずれかとを用いることによって、重要度の最大値と最小値との差を大きくし、運用管理者へ推薦する強さを変化させることができる。
具体的には、稼働データ表示プログラム332は、抽象アクセスログの元になったアクセスログの数に従って重要度を算出する方法に加え、さらに、第1の方法を用いてもよい。すなわち、LOG2の列1305が示す運用管理者が、INC4の列1408が示す対応者と一致する場合、重要度に2を加算し、一致しない場合、重要度に1を加算してもよい。これによって、例えば、図17に示すように、行2011の重要度は3と算出され、行2013の重要度は2と算出される(重要度の平均値は2、標準偏差は0.89)。
これは、行1911〜行1914の抽象アクセスログの元になったアクセスログ(行1311〜行1314に対応)は、インシデントIDが1であるインシデント情報(行1421)の対応者(列1408に対応)によるアクセスを示すためである。また、行1915〜1918の元になったアクセスログ(行1317〜行1320に対応)は、インシデントIDが2であるインシデント情報(行1422に対応)の対応者(列1408に対応)によるアクセスを示さないためである。
以上によって、稼働データ表示プログラム332は、S408の処理を実行する。そして、図19Bに示す処理によって、稼働データ表示プログラム332は、図19Aの処理によって生成された重み付き抽象アクセスログ(COMB1)に基づいてアクセスパターン2100を生成する。
S405において、S404において選択された組合せのすべてにS406〜S408の処理が実行されたと判定された場合、図19Bに示す処理が実行される。稼働データ表示プログラム332は、S409〜S414の処理によって、COMB1の列2001が示す監視対象IDを、監視対象を示す具体的な値に変換する。
まず、稼働データ表示プログラム332は、COMB1の列2001が示す監視対象IDが「インシデント発生元」を示すか否かを判定する(S409)。すなわち、稼働データ表示プログラム332は、抽象化された監視対象IDの文字列を、運用管理者が情報を表示したいインシデントのインシデント情報(INC3)を用いて、具体化された監視対象IDに変換する。
S409において、COMB1の列2001が示す監視対象IDが「インシデント発生元」を示すと判定された場合、稼働データ表示プログラム332は、COMB1の列2001に格納された値を、INC3の列1404が示す監視対象IDに変換する(S410)。S410の後、稼働データ表示プログラム332は、S415を実行する。
S409において、COMB1の列2001が示す監視対象IDが「インシデント発生元」を示さないと判定された場合、稼働データ表示プログラム332は、COMB1の列2001が示す監視対象が、インシデント発生元の監視対象(INC3の列1404)と依存関係にあるか否かを、依存関係データ1700を用いて判定する(S411)。
S411において、COMB1の列2001が示す監視対象がインシデント発生元の監視対象と依存関係にあると判定された場合、稼働データ表示プログラム332は、COMB1の列2001に格納された値を、INC3のインシデント発生元と依存関係にある監視対象の監視対象IDに変換する(S412)。S412の後、稼働データ表示プログラム332は、S415を実行する。
S412において稼働データ表示プログラム332は、COMB1の列2001に格納された値を、依存関係データ1700を用いて変換する。なお、COMB1の列2001が示す監視対象と依存関係にある監視対象が複数ある場合、稼働データ表示プログラム332は、複数のアクセスパターンを生成してもよい。
S411において、COMB1の列2001が示す監視対象がインシデント発生元の監視対象と依存関係にないと判定された場合、稼働データ表示プログラム332は、COMB1の列2001が示す監視対象IDが、インシデント発生元と同じサービスを提供するか否かを、サービス情報1800を用いて判定する(S413)。
S413において、COMB1の列2001が示す監視対象IDがインシデント発生元と同じサービスを提供すると判定された場合、稼働データ表示プログラム332は、COMB1の列2001に格納された値を、INC3の列1404が示すインシデント発生元と同じサービスを提供する監視対象の監視対象IDに変換する(S414)。S414の後、稼働データ表示プログラム332は、S415を実行する。
S414において稼働データ表示プログラム332は、COMB1の列2001に格納された値を、サービス情報1800を用いて変換する。なお、COMB1の列2001が示す監視対象と同じサービスを提供する監視対象が複数ある場合、稼働データ表示プログラム332は、複数のアクセスパターンを生成してもよい。
例えば、図17の行2015の監視対象IDは「インシデント発生元に並列するWebサーバ」であるため、稼働データ表示プログラム332は、行2015にS413およびS414の処理を実行する。そして、INC3のインシデント発生元の監視対象(列1404)である「host50」と同じサービスを提供するWebサーバは、サービス情報1800の行1818が示す「host51」および行1819が示す「host52」の二つである。このため、稼働データ表示プログラム332は、S414において、二つのアクセスパターン(図18の行2115および行2116)を生成してもよい。
S413において、COMB1の列2001が示す監視対象IDがインシデント発生元の監視対象と同じサービスを提供しないと判定された場合、S410、S412、または、S414の後、稼働データ表示プログラム332は、COMB1の列2002が示す監視項目IDを変換する。稼働データ表示プログラム332は、COMB1の列2002に格納された値が「インシデント発生元」であるか否かを判定する(S415)。
S415において、COMB1の列2002に格納された値が「インシデント発生元」であると判定された場合、稼働データ表示プログラム332は、COMB1の列2002に格納された値を、INC3の列1405の監視項目IDに変換する(S416)。
S415において、COMB1の列2002に格納された値が「インシデント発生元」でないと判定された場合、または、S416の後、稼働データ表示プログラム332は、COMB1の列2003が示す表示期間を、INC3の列1407が示す発生日時に基づいて更新する(S417)。
S417の後、稼働データ表示プログラム332は、COMB1の列2004が示す絞り込み条件を、INC3の列1406が示すインシデントの内容に含まれるキーワードに基づいて更新する(S418)。
S418の後、稼働データ表示プログラム332は、図19Aに示すS402を実行する。以上が、図16に示すS310においてアクセスパターン2100を生成する処理の詳細である。
稼働データ表示プログラム332は、図16のS311において、生成されたアクセスパターン2100の列2105が示す重要度の高い順に、列2101〜列2104に該当する稼働データを表示してもよい。また、図16のS311において、列2105が示す重要度が所定の値より高いアクセスパターンを選択し、選択されたアクセスパターンの列2101〜列2104に該当する稼働データを表示してもよい。
図16、図19Aおよび図19Bにおいて、稼働データ表示プログラム332は、運用管理者が情報を表示したいインシデントと類似するインシデントのインシデント情報を、過去に蓄積されたインシデント情報1400から取得する。そして、稼働データ表示プログラム332は、取得されたインシデント情報から生成された抽象アクセスログを用いて、運用管理者に推薦すべき稼働データを示すアクセスパターンを生成する。これによって、稼働データ表示プログラム332は、過去のインシデントの解決に直接つながるアクセスを用いることができ、推薦機能の精度を上げることができる。
図20Aは、本発明の第1の実施形態の運用管理者に推薦する稼働データを表示するための画面2300を示す説明図である。
図20Aは、運用管理者が閲覧すべき稼働データを、運用管理者に推薦するための画面2300を示す。画面2300は、二つのペイン(ペイン2301、および、ペイン2302)を含み、左のペイン2301には、稼働データを選択するための稼働データへのリンクが表示され、右のペイン2302には、選択された稼働データが表示される。
図20Aは、ペイン2301に既に表示されていた稼働データへのリンクのうち、図19Aおよび図19Bの処理によって生成されたアクセスパターン2100に相当するリンクを、稼働データ表示プログラム332が強調表示した場合の例である。稼働データ表示プログラム332は、S311において、稼働データへのリンクを太字によって表示することによって稼働データへのリンクを強調表示してもよい。また、アクセスパターン2100の列2105が示す重要度が高い順に、星印を多く表示することによって、稼働データへのリンクを強調表示してもよい。
稼働データ表示プログラム332が図20Aに示す画面を表示した場合、稼働データ表示プログラム332は、運用管理者が見慣れた画面を大きく変更しない。このため、運用管理者は図20Aに示す画面から、確認すべき稼働データを直感的に理解しやすいという効果がある。
図20Bは、本発明の第1の実施形態のアクセスパターン2100に基づいて運用管理者に推薦する稼働データのみを表示するための画面2310を示す説明図である。
図20Bは、運用管理者が閲覧すべき稼働データへのリンクのみを表示する画面2310を示す。画面2310は、二つのペイン(ペイン2311、および、ペイン2312)を含み、左のペイン2311には、稼働データを選択するためのリンクが表示され、右のペイン2312には、選択された稼働データが表示される。
図20Bは、稼働データ表示プログラム332が、図16のS311において、アクセスパターン2100が示す稼働データの条件に対応する稼働データへのリンクのみをペイン2311に表示した場合の例を示す。稼働データ表示プログラム332は、アクセスパターン2100の列2105が示す重要度の降順に、稼働データへのリンクを表示することによって、稼働データへのリンクを強調表示してもよい。
稼働データ表示プログラム332が画面2310を表示する場合、確認すべき稼働データへのリンクを表示するために、運用管理者が画面を編集する手間がかからない。
前述のように、稼働データ表示プログラム332は、新たに発生したインシデントのインシデント情報1400、監視対象同士の関係性を示すデータ(依存関係データ1700およびサービス情報1800)、および、アクセスログ抽象化プログラム336によって生成された抽象アクセスログ1900に基づいて、運用管理者が閲覧すべき稼働データを推薦することができる。
さらに、稼働データ表示プログラム332は、各抽象アクセスログに割り当てられた重要度(重み付き抽象アクセスログ2000)に基づいて、インシデントの解決に特に役立つ稼働データを、他の稼働データよりも強調して表示することができる。これによって、運用管理者は、新たに発生したインシデントの解決に役立つ稼働データを迅速に閲覧できる。これは、運用管理者がインシデントを解決するまでの時間を短縮し、さらに、サービス停止時間の短縮という効果がある。
また、本実施形態の重み付き抽象アクセスログ2000には、監視業務を示す一般的な文字列が含まれており、企業秘密が含まれない。このため、サービス管理サーバ3は、重み付き抽象アクセスログ2000を、異なる企業または組織間、さらに、異なるコンピュータシステム間において共有することができる。
例えば、前述の実施形態によれば、運用管理者は、グループDにおいて発生したインシデント(図8の行1424)を解決するために、グループAおよびグループBにおいて過去に発生したインシデント(図8の行1421および行1422)に関する抽象アクセスログを用いることができる。すなわち、本発明のサービス管理サーバ3は、アクセスログ1300にデータが蓄積されていない新規のコンピュータシステムまたはグループにおいても、他のコンピュータシステムにおいて生成された重み付き抽象アクセスログ2000を用いて、運用管理者へ稼働データを推薦することができ、さらに、運用管理者がインシデントの原因を分析する時間を短縮できるという効果がある。
(第2の実施形態)
以下、図面を用いて第2の実施形態を説明する。第2の実施形態のサービス管理サーバ3は、アクセスログの抽象化に加えて、さらに、インシデント情報を抽象化する。第2の実施形態のコンピュータシステムは、図1に示す第1の実施形態のコンピュータシステムと同様である。ただし、メモリ33が保持するプログラム、および、データベース4に格納されるデータは、第1の実施形態のプログラムおよびデータと一部異なる。
図21は、本発明の第2の実施形態のサービス管理サーバ3の物理的な構成とサービス管理サーバ3が保持する情報とを示すブロック図である。
第2の実施形態のサービス管理サーバ3は、第1の実施形態のサービス管理サーバ3と同じく、インタフェース(I/F)31、プロセッサ32、および、メモリ33を備える。第2の実施形態のメモリ33は、第1の実施形態のメモリ33が保持するプログラムと、インシデント情報抽象化プログラム337と、を保持する。
インシデント情報抽象化プログラム337は、データベース4に格納された各種データを用いて、抽象インシデント情報を生成するプログラムである。インシデント情報抽象化プログラム337は、インシデント情報1400が更新された時点で実行されるか、または、定期的なバッチ処理によって実行される。
なお、第2の実施形態のサービス管理サーバ3は、図21に示すプログラムによって各機能を提供するが、第1の実施形態におけるプログラムと同じく、各プログラムの機能は、一つのプログラムによって実装されてもよい。また、図21に示す各プログラムを処理ごとに分割することによって、一つのプログラムを複数のプログラムによって実装してもよい。
また、図21に示す各プログラムの機能は、第1の実施形態と同じく、プロセッサを備えるLSI素子等の処理部によってサービス管理サーバ3に実装されてもよい。また、図21に示す各プログラムは、プログラム配布サーバ、または、計算機読み取り可能な非一時的記憶媒体によってサービス管理サーバ3にインストールすることができ、また、サービス管理サーバ3が備える不揮発性記憶デバイス(図示なし)に格納することができる。
図22は、本発明の第2の実施形態のデータベース4に格納されるデータを示す説明図である。
第2の実施形態のデータベース4は、第1の実施形態のデータベース4に格納されるデータと、抽象インシデント情報2200とを格納する。
抽象インシデント情報2200は、インシデント情報抽象化プログラム337によって、インシデント情報1400が抽象化された結果のデータである。この抽象インシデント情報2200は、稼働データを推薦するため、または、推薦の根拠を運用管理者に示すために用いられる。
抽象インシデント情報2200は、テーブルに格納されるが、各データの内容を識別できれば、いかなる方法によってデータベース4に格納されてもよい。
図23は、本発明の第2の実施形態の抽象インシデント情報2200を示す説明図である。
抽象インシデント情報2200は、列2201〜列2205を含む。図23に示す抽象インシデント情報2200は、行2211〜行2217、および、行2221〜行2228を含む。
列2201は、本実施形態のコンピュータシステムにおいて抽象インシデント情報を一意に識別するための識別子(抽象インシデントID)を示す。列2202は、抽象インシデント情報を生成するためにもとになったインシデント情報のインシデントIDを示す。
列2203は、インシデント情報1400の列1404に対応し、列2204は、インシデント情報1400の列1405に対応し、列2205は、インシデント情報1400の列1406に対応する。列2203〜列2205は、列1404〜列1406に含まれる値、または、列1404〜列1406に含まれる値を抽象化した値を含む。
インシデント情報抽象化プログラム337によってインシデント情報1400が抽象化された結果、図23に示す行2211〜行2213のように、一つのインシデント情報(インシデントIDが1)から、二つ以上の抽象インシデント情報が生成される場合がある。また、図23に示す行2212のように、二つ以上のインシデント情報(インシデントIDが1および3)から一つの抽象インシデント情報が生成される場合もある。
図24Aは、本発明の第2の実施形態の抽象インシデント情報を生成する処理のうち、監視対象ID、監視項目ID、および、インシデントの内容を抽象化する処理を示すフローチャートである。
図24Bは、本発明の第2の実施形態の抽象インシデント情報を生成する処理のうち、抽出化されたインシデント情報を抽象インシデント情報2200に格納する処理を示すフローチャートである。
図24Aおよび図24Bは、インシデント情報抽象化プログラム337が、インシデント情報1400から抽象インシデント情報2200を生成する処理を示す。
インシデント情報抽象化プログラム337は、データベース4のインシデント情報1400からすべてのインシデント情報を取得する(S501)。インシデント情報抽象化プログラム337は、インシデント情報1400が更新された際に、図24Aに示す処理を開始してもよいし、定期的または指定された時刻に、図24Aに示す処理を開始してもよい。
S501の後、インシデント情報抽象化プログラム337は、S501において取得されたインシデント情報のうち、S504およびS505の処理が実行されていないインシデント情報があるか否かを判定する(S502)。S502において、S504およびS505の処理を実行されていないインシデント情報がないと判定された場合、インシデント情報抽象化プログラム337は、図24Aおよび図24Bの処理を終了する。
S502において、S504およびS505の処理を実行されていないインシデント情報があると判定された場合、インシデント情報抽象化プログラム337は、S504およびS505の処理を実行されていないインシデント情報を一つ選択する(S503)。以降の説明では、S503において選択されたインシデント情報をINC5と呼ぶ。
S504〜S512において、インシデント情報抽象化プログラム337は、INC5の列1405が示す監視対象、INC5の列1406が示す監視項目、および、INC5の列1407が示すインシデントの内容を抽象化した結果を、メモリ33に格納する。S503の後、インシデント情報抽象化プログラム337は、INC5の列1405が示す監視対象IDを、メモリ33に保持された監視対象リストに追加する(S504)。
例えば、INC5が行1421である場合、インシデント情報抽象化プログラム337は、列1405が示す「host1」を監視対象リストに追加する。これによって、図23に示す行2211の列2203に対応する値が監視対象リストに追加される。
なお、第2の実施形態において、インシデント情報抽象化プログラム337は、メモリ33に、監視対象リスト、監視項目リストおよび内容リストを保持する。監視対象リストは、抽象化された文字列によって、インシデントが発生した監視対象を保持するリストである。監視項目リストは、抽象化された文字列によって、インシデントが発生した監視項目を保持するリストである。内容リストは、抽象化された文字列によって、インシデントの内容を保持するリストである。
S504の後、インシデント情報抽象化プログラム337は、INC5の列1405が示す監視対象IDを、依存元(列1701)または依存先(列1702)に含む行を、依存関係データ1700から抽出できるか否かを判定する(S505)。
S505において、INC5の列1405が示す監視対象IDを、依存元(列1701)または依存先(列1702)に含む行を、依存関係データ1700から抽出できた場合、インシデント情報抽象化プログラム337は、S505において抽出された依存関係データ1700の行に基づいて、抽象化された監視対象IDを生成する。そして、生成された監視対象IDを、メモリ33の監視対象リストに追加する(S506)。S506の後、インシデント情報抽象化プログラム337は、S507を実行する。
例えば、INC5が図8に示す行1421である場合、インシデント情報抽象化プログラム337は、図11に示す行1711および行1713に基づいて、「switch1に依存する監視対象」、および、「host3に依存する監視対象」を示す文字列を、メモリ33の監視対象リストにそれぞれ追加する。これによって、図23に示す行2212および行2213の列2203に対応する値が監視対象リストに追加される。
S505において、INC5の列1405が示す監視対象を依存元または依存先に含む行が依存関係データ1700にないと判定された場合、または、S506の後、インシデント情報抽象化プログラム337は、INC5の列1405が示す監視対象IDを、構成要素(列1802)に含む行を、サービス情報1800から抽出できるか否かを判定する(S507)。
S507において、INC5の列1405が示す監視対象を構成要素(列1802)に含む行をサービス情報1800から抽出できた場合、インシデント情報抽象化プログラム337は、S507において抽出されたサービス情報1800の行に基づいて、抽象化された監視対象IDを生成する。そして、生成された監視対象IDを、メモリ33の監視対象リストに追加する(S508)。S508の後、インシデント情報抽象化プログラム337は、S509を実行する。
例えば、INC5が図8に示す行1421である場合、インシデント情報抽象化プログラム337は、図12に示す行1811に基づいて、「Webサーバ」、および、「サービスservice−AのWebサーバ」をメモリ33の監視対象リストに追加する。これによって、図23の行2214および行2215の列2203に対応する値が監視対象リストに追加する。
ここで、行2214の列2203に対応する値「Webサーバ」は、サービス情報の種類(列1803)のみを用いて抽象化された監視対象IDを示し、行2215の列2203に対応する値「サービスservice−AのWebサーバ」は、サービス情報のサービスID(列1801)と種類(列1803)とを用いて抽象化された監視対象IDを示す。種類のみを用いて抽象化された監視対象の方がより抽象度が高いため、多数のインシデント情報に関連付けられやすい。
S507において、INC5の列1405が示す監視対象を構成要素(列1802)に含む行をサービス情報1800から抽出できないと判定された場合、または、S508の後、インシデント情報抽象化プログラム337は、INC5の列1405が示す監視項目IDを、メモリ33に保持された監視項目リストに追加する(S509)。
S509の後、インシデント情報抽象化プログラム337は、INC5の列1406が示す監視項目を抽象化した文字列を、メモリ33に保持される監視項目リストに追加する(S510)。インシデント情報抽象化プログラム337は、S510において、事前に定められた規則に基づいて監視項目IDを抽象化する。これは、第1の実施形態において、アクセスログの列1308の監視項目IDを抽象化した処理(S218およびS219)と同じである。
S510の後、インシデント情報抽象化プログラム337は、INC5の列1406に含まれる値(インシデントの内容)を、メモリ33に保持された内容リストに追加する(S511)。S511の後、インシデント情報抽象化プログラム337は、INC5の列1406が示すインシデントの内容を抽象化した文字列を、メモリ33に保持された内容リストに追加する(S512)。
S512における抽象化処理の詳細を以下に示す。
インシデント情報抽象化プログラム337は、S512において、アラート文字列のテンプレート、または、形態素解析エンジンを用いることによって、INC5の列1406が示すインシデントの内容から、特徴語を取得する。そして、インシデント情報抽象化プログラム337は、INC5の列1406に含まれる前述の特徴語を削除するか、または、INC5の列1406に含まれる前述の特徴語を一般的な表現(「エラーメッセージ」など)に置換する。
例えば、INC5が図8に示す行1423である場合、インシデント情報抽象化プログラム337は、列1406が示す「エラー"upload data error"発生」をメモリ33に保持された内容リストに追加する。また、インシデント情報抽象化プログラム337は、列1406が示す「エラー"upload data error"発生」を、「エラー"エラーメッセージ"発生」に置換し、置換された「エラー"エラーメッセージ"発生」を、メモリ33に保持された内容リストに追加する。「エラー"upload data error"発生」の文字列よりも「エラー"エラーメッセージ"発生」の方が、監視業務を表現する言葉としてより抽象度が高いため、多数のインシデント情報に関連付けられやすい。
以上が、メモリ33に監視対象リスト、監視項目リストおよび内容リストを生成する処理の概要である。S512の後、インシデント情報抽象化プログラム337は、図24BのS513を実行する。
図24Aに示すS512の後、インシデント情報抽象化プログラム337は、メモリ33の監視対象リスト、監視項目リストおよび内容リストに基づいて、監視対象と監視項目とインシデントの内容との一意な組合せを抽出する(S513)。そして、インシデント情報抽象化プログラム337は、S513において抽出された組合せのうち、S516およびS517の処理が実行されていない組合せがあるか否かを判定する(S514)。
S514において、S513において抽出された組合せのうち、S516およびS517の処理が実行されていない組合せがないと判定された場合、インシデント情報抽象化プログラム337は、新たなインシデント情報を抽象化するため、図24Aに示すS502を実行する。
S514において、S513において抽出された組合せのうち、S516およびS517の処理が実行されていない組合せがあると判定された場合、インシデント情報抽象化プログラム337は、S513において抽出され、S516およびS517の処理が実行されていない組合せを一つ選択する(S515)。以降の説明では、この選択された組合せをCOMB2と呼ぶ。
S515の後、インシデント情報抽象化プログラム337は、COMB2と同じ監視対象ID、監視項目ID、および、インシデントの内容を含む抽象インシデント情報を、データベース4の抽象インシデント情報2200において検索する(S516)。
S516の後、インシデント情報抽象化プログラム337は、S516における検索の結果、COMB2と同じ監視対象ID、監視項目ID、および、インシデントの内容を含む行が、抽象インシデント情報2200から抽出されるか否かを判定する(S517)。COMB2と同じ監視対象ID、監視項目ID、および、インシデントの内容を含む行が、抽象インシデント情報2200から抽出された場合、S516において抽出された行の列2202に、INC5のインシデントIDを追加する(S518)。
S517において、COMB2と同じ監視対象ID、監視項目ID、および、インシデントの内容を含む抽象インシデント情報を、抽象インシデント情報2200から抽出できないと判定された場合、インシデント情報抽象化プログラム337は、COMB2に基づいて新しい抽象インシデント情報2200の行を生成する。そして、インシデント情報抽象化プログラム337は、生成された行をデータベース4の抽象インシデント情報2200に格納する(S519)。S519において、生成された行のインシデントID(列2202)には、INC5のインシデントIDが格納される。
S518の後、または、S519の後、インシデント情報抽象化プログラム337は、他の組合せを抽象インシデント情報2200に格納するため、S514を実行する。
図24Bに示す処理によって、インシデント情報抽象化プログラム337は、過去に生成された抽象インシデント情報2200に、新たに追加された抽象インシデント情報を追加できる。また、抽象インシデント情報が生成される元となったインシデント情報を示す値が、抽象インシデント情報2200に格納される。
図25は、本発明の第2の実施形態の稼働データ表示プログラム332が、運用管理者から稼働データの表示要求を受けた際に、稼働データを推薦する処理を示すフローチャートである。
図25のS601〜S606は、第1の実施形態における図16のS301〜S306と同じ処理である。S607以降は、第1の実施形態と異なる処理である。S601〜S606の処理によって、運用管理者が表示した稼働データに関連するインシンデント情報が、INC3としてインシデント情報1400から取得される。
S606の後、稼働データ表示プログラム332は、INC3に類似し、かつ、アクセスされた実績が多い抽象インシデント情報をデータベース4の抽象インシデント情報2200から取得する(S607)。ここで、INC3が抽象化されることによって生成された抽象インシデント情報と、INC3とは、本実施形態において類似する。このため、稼働データ表示プログラム332は、INC3に類似する抽象インシデント情報を取得するため、S607において、INC3の列1401が示すインシデントIDを列2202に含む抽象インシデント情報を、抽象インシデント情報2200から取得する。
さらに、S607において稼働データ表示プログラム332は、以下に示す第1〜第11の評価値を算出することによって、INC3に類似する抽象インシデント情報にアクセスされた実績を定量化する。そして、定量化された結果アクセスされた実績が多く、かつ、INC3に類似する抽象インシデント情報を抽象インシデント情報2200から取得する。
第1の評価値は、INC3に類似する抽象インシデント情報の元になったインシデント情報に関連付けられた抽象アクセスログの件数である。すなわち、抽象インシデント情報2200の列2202のインシデントIDを、抽象アクセスログ1900の列1903に含む抽象アクセスログ1900の行の数である。
第2の評価値は、INC3に類似する抽象インシデント情報の元になったインシデント情報のうち、解決済みのインシデント情報に関連付けられた抽象アクセスログの件数のみをC1倍した値(C1は事前に設定された数値)である。すなわち、抽象インシデント情報2200の列2202の値であり、かつ、インシデント情報1400の列1409に「解決」が格納される行の列1401の値であるインシデントIDを、抽象アクセスログ1900の列1903に含む抽象アクセスログ1900の行の数をC1倍した数である。
第3の評価値は、INC3に類似する抽象インシデント情報の元になったインシデント情報のうち、INC3の列1402が示すグループ12と同じグループ12において発生したインシデント情報に関連付けられた抽象アクセスログの件数のみをC2倍した値(C2は事前に設定された数値)である。すなわち、抽象インシデント情報2200の列2202のインシデントIDのうち、列1402の値が同じインシデント情報を示すインシデントIDを、抽象アクセスログ1900の列1903に含む抽象アクセスログ1900の行の数をC2倍した数である。
第4の評価値は、INC3に類似する抽象インシデント情報の元になったインシデント情報のうち、INC3の列1404が示す監視対象と同じ監視対象において発生したインシデント情報に関連付けられた抽象アクセスログの件数のみをC3倍した値(C3は事前に設定された数値)である。すなわち、抽象インシデント情報2200の列2202のインシデントIDのうち、列1404の値が同じインシデント情報を示すインシデントIDを、抽象アクセスログ1900の列1903に含む抽象アクセスログ1900の行の数をC3倍した数である。
第5の評価値は、INC3に類似する抽象インシデント情報の元になったインシデント情報のうち、INC3の列1405が示す監視項目と同じ監視項目において発生したインシデント情報に関連付けられた抽象アクセスログの件数のみC4倍した値(C4は事前に設定された数値)である。すなわち、抽象インシデント情報2200の列2202のインシデントIDのうち、列1405の値が同じインシデント情報を示すインシデントIDを、抽象アクセスログ1900の列1903に含む抽象アクセスログ1900の行の数をC4倍した数である。
第6の評価値は、INC3に類似する抽象インシデント情報の元になったインシデント情報のうち、INC3の列1406が示すインシデントの内容と同じインシデントの内容のインシデント情報に関連付けられた抽象アクセスログの件数のみをC5倍した値(C5は事前に設定された数値)である。すなわち、抽象インシデント情報2200の列2202のインシデントIDのうち、列1406の値が同じインシデント情報を示すインシデントIDを、抽象アクセスログ1900の列1903に含む抽象アクセスログ1900の行の数をC5倍した数である。
第7の評価値は、INC3に類似する抽象インシデント情報の元になったインシデント情報の件数である。すなわち、抽象インシデント情報2200の列2202のインシデントIDの数である。
第8の評価値は、INC3に類似する抽象インシデント情報の元になったインシデント情報のうち、INC3の列1402が示すグループ12と同じグループ12において発生したインシデント情報の件数のみをC6倍した値(C6は事前に設定された数値)である。すなわち、抽象インシデント情報2200の列2202のインシデントIDのうち、列1402の値が同じインシデント情報を示すインシデントIDの数をC6倍した数である。
第9の評価値は、INC3に類似する抽象インシデント情報の元になったインシデント情報のうち、INC3の列1404が示す監視対象と同じ監視対象において発生したインシデント情報の件数のみをC7倍した値(C7は事前に設定された数値)である。すなわち、抽象インシデント情報2200の列2202のインシデントIDのうち、列1404の値が同じインシデント情報を示すインシデントIDの数をC7倍した数である。
第10の評価値は、INC3に類似する抽象インシデント情報の元になったインシデント情報のうち、INC3の列1405が示す監視項目と同じ監視項目において発生したインシデント情報の件数のみをC8倍した値(C8は事前に設定された数値)である。すなわち、抽象インシデント情報2200の列2202のインシデントIDのうち、列1405の値が同じインシデント情報を示すインシデントIDの数をC8倍した数である。
第11の評価値は、INC3に類似する抽象インシデント情報の元になったインシデント情報のうち、INC3の列1406が示すインシデントの内容と同じインシデントの内容のインシデント情報の件数のみC9倍した値(C9は事前に設定された数値)である。すなわち、抽象インシデント情報2200の列2202のインシデントIDのうち、列1406の値が同じインシデント情報を示すインシデントIDの数をC9倍した数である。
以上の評価値を算出し、アクセスされた実績を定量化することによって、INC3が示すインシデントと全く同じインシデントが過去に複数回発生している場合、稼働データ表示プログラム332は、S607において、抽象度の低い抽象インシデント情報、すなわち、より具体的な抽象インシデント情報を取得できる。例えば、稼働データ表示プログラム332は、図23に示す行2211のような、列2203が具体的な監視対象IDの「host1」を示す、抽象度の低い抽象インシデント情報を取得できる。
一方、INC3が示すインシデントと全く同じインシデントが過去に発生していても、INC3が示すインシデントと類似するインシデントが過去に多数発生していた場合、稼働データ表示プログラム332は、S607において、評価値の多さを評価するため、よりアクセスが多い抽象インシデント情報が取得される。例えば、稼働データ表示プログラム332は、図23に示す行2214のような、列2203が抽象的な監視対象IDの「Webサーバ」を示す、抽象度の高い抽象インシデント情報を取得する。
S607の後、稼働データ表示プログラム332は、S607の処理によって、抽象インシデント情報を抽象インシデント情報2200から取得できたか否かを判定する(S608)。S607の処理によって、抽象インシデント情報を抽象インシデント情報2200から取得できない場合、稼働データ表示プログラム332は、運用管理者によって表示を要求された稼働データのみを画面に表示し、処理を終了する(S605)。
S608において、S607の処理によって、抽象インシデント情報を抽象インシデント情報2200から取得できたと判定された場合、稼働データ表示プログラム332は、S607において取得された抽象インシデント情報に対応する抽象アクセスログを、データベース4の抽象アクセスログ1900から取得する(S609)。具体的には、S607において取得された抽象インシデント情報の、列2202と同じ値を列1903に含む抽象アクセスログの行を取得する。
S609の後、稼働データ表示プログラム332は、INC3、S609において取得された抽象アクセスログ、依存関係データ1700、および、サービス情報1800に基づいてアクセスパターンを生成する(S610)。S610の処理は、第1の実施形態の図19Aおよび図19Bと同じである。
S610の後、稼働データ表示プログラム332は、S610において生成されたアクセスパターンと、S607において取得された抽象インシデントとに基づいて、管理者端末20の画面の表示を変更する(S611)。
以上が、稼働データ表示プログラム332の処理の概要である。
なお、第1の実施形態における稼働データ表示プログラム332は、運用管理者から情報を表示するインシデントの指示があった場合に、重み付き抽象アクセスログ2000を生成した。これは、運用管理者からアクセスされるまで、推薦に使われる抽象アクセスログの集合(S309において取得される抽象アクセスログ)が定まらないためである。
しかし、第2の実施形態において、インシデント情報抽象化プログラム337は、稼働データを推薦するため、抽象インシデント情報2200を生成する。従って、稼働データ表示プログラム332は、各抽象インシデント情報に関連する抽象アクセスログに基づいて、抽象インシデント情報ごとの重み付き抽象アクセスログ2000を、運用管理者がS602を行うより前に生成することができる(S405〜S408の計算に相当)。これによって、稼働データ表示プログラム332によるS610(図19Aおよび図19Bの処理を含む)およびS611の処理時間を短縮することができる。
また、S602より前に重み付き抽象アクセスログ2000を生成することによって、重み付き抽象アクセスログ2000の重要度(列2005)の分布を、事前に算出できる。抽象インシデント情報ごとの重み付き抽象アクセスログの重要度を事前に算出できる結果、例えば、ある抽象インシデント情報に関する抽象アクセスログの重要度の分布が均等な場合、運用管理者またはサービス管理サーバ3は、抽象インシデント情報が示すインシデントを解決するために必要な稼働データを、現在までに収集したアクセスログからは定められないことを判断できる。
また、例えば、ある抽象インシデント情報に関連した重み付き抽象アクセスログの重要度の標準偏差がM1(M1は事前に設定された数値)より小さい場合、アクセスログ抽象化プログラム336がその抽象アクセスログを削除することによって、不要な重み付き抽象アクセスログを削除することができる。すなわち、不要な抽象インシデント情報を削除することができる。これによって、不要な重み付き抽象アクセスログによってアクセスパターンが生成されないため、稼働データ表示プログラム332が運用管理者により精度の高い稼働データを推薦できる。
また、アクセスログ抽象化プログラム336が、ある抽象インシデント情報に関係した重み付き抽象アクセスログの重要度の標準偏差が大きい上位M2(M2は事前に設定された数値)件の抽象インシデント情報を残し、それ以外の抽象インシデント情報を削除してもよい。これによって、稼働データ表示プログラム332が、運用管理者により精度の高い稼働データを推薦できる。
このようにサービス管理サーバ3が、重要度が推薦に適さない分布を持つ抽象インシデント情報を事前に削除することで、実用的な推薦を行えない抽象インシデント情報を事前に除外できるという効果がある。なお、標準偏差以外の方法を用いて分布の均等さを判断してもよい。
図26は、本発明の第2の実施形態の運用管理者に推薦する稼働データを表示するための画面2400を示す説明図である。
図26は、運用管理者が閲覧すべき稼働データを、運用管理者に推薦するための画面2400を示す。画面2400は、ペイン2401、ペイン2402、および、ペイン2403の三つのペインを含む。
ペイン2401は、稼働データを選択するためのリンクを表示する。ペイン2403は、ペイン2401において選択された稼働データを表示する。ペイン2402は、稼働データの推薦に用いられた抽象インシデント情報を表示する。
例えば、図23に示す行2214の抽象インシデント情報が図25に示すS607において取得された場合、稼働データ表示プログラム332は、図25に示すS611において、図26に示すペイン2402のように推薦に使われた抽象インシデント情報を運用管理者に表示する。ペイン2402によって、運用管理者は、サービス管理サーバ3による稼働データの推薦が、どのようなインシデントの例に基づく推薦であるかを理解できる。ペイン2402を表示する機能は、運用管理者が、推薦された稼働データに疑問を感じた際に、感じた疑問を解決するために役立つ。
図26に示す画面2400のペイン2402において、稼働データ表示プログラム332は、抽象化された監視対象ID、抽象化された監視項目ID、および、抽象化されたインシデントの内容を表示する。
しかし、インシデント情報抽象化プログラム337によってインシデント情報の列1412が示す原因の監視対象ID、または、列1413が示す原因の監視項目IDが抽象化された場合、稼働データ表示プログラム332は、抽象化された原因の監視対象ID、または、原因の監視項目IDを、ペイン2402に表示してもよい。これによって、稼働データ表示プログラム332は、抽象化された原因の監視対象ID、または、抽象化された原因の監視項目IDに関する稼働データを優先的に確認するための手がかりを、運用管理者に提供することができる。その結果、インシデントの解決にかかる時間を短縮できる。
また、稼働データ表示プログラム332によって画面2400に表示された推薦が役に立たなかった場合、運用管理者は、別の抽象インシデント情報を使った推薦を、稼働データ表示プログラム332に指示してもよい。具体的には、稼働データ表示プログラム332は、運用管理者にペイン2402に表示されたボタン2404を操作させることによって、運用管理者に「役に立たない」抽象インシデント情報を入力させる。
そして、稼働データ表示プログラム332は、入力された「役に立たない」抽象インシデント情報に基づいて、図25に示す処理を再実行する。具体的には、稼働データ表示プログラム332は、S607において抽象インシデント情報を取得する際、運用管理者に「役に立たない」と入力された抽象インシデント情報を取得しない。
前述のとおり、第2の実施形態の稼働データ表示プログラム332は、第1の実施形態と同じく稼働データを推薦する。さらに、第2の実施形態の稼働データ表示プログラム332は、その推薦の根拠となった過去のインシデント情報を運用管理者に提示することができる。
また、インシデント情報1400には各グループ12の企業秘密が含まれるため、第1の実施形態において、稼働データ表示プログラム332は、類似するインシデント情報を画面2300に表示できなかった。例えば、稼働データ表示プログラム332は、グループIDが「D」であるグループ12に属する運用管理者に、図8に示す行1421および行1422のインシデント情報を表示することはできない。
しかし、第2の実施形態によれば、稼働データ表示プログラム332は、例えば、図23の行2214のような、抽象インシデント情報を表示することができる。これによって、運用管理者は、稼働データ表示プログラム332によって行われる稼働データの推薦が役立たないと感じた場合、類似する抽象インシデント情報を変更することによって、他の稼働データを推薦されることができる。これは、運用管理者がインシデントを解決するまでの時間の短縮、および、サービス停止時間の短縮という効果がある。
また、第2の実施形態によれば、稼働データ表示プログラム332は、抽象インシデント情報ごとに抽象アクセスログの重要度を事前に算出することによって、稼働データの推薦を第1の実施形態よりも高速に行うことができる。加えて、抽象アクセスログの重要度の標準偏差が小さい抽象インシデント情報を事前に除外することによって、運用管理者が稼働データを選択する助けにならないようなアクセスパターンを除外することができる。これによって、運用管理者がインシデントを解決するまでの時間の短縮、さらに、サービス停止時間の短縮という効果がある。
本実施形態によれば、サービス管理サーバ3は、事前に運用管理者が手順書を生成していないインシデントが発生した場合も、過去のインシデントに関する抽象アクセスログを用いることによって、運用管理者が優先的に閲覧すべき稼働データを、運用管理者に推薦できる。これによって、運用管理者がインシデントの原因分析を行う時間を短縮できる。
また、抽象アクセスログには企業秘密が含まれないため、異なる企業や組織間、さらに異なるコンピュータシステム間でも共有できる。従って、本発明のサービス管理サーバは、監視作業が過去に行われていない新規サービスにおいても、運用管理者がインシデントの原因分析を行う時間を短縮できる。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。
複数の機器を監視する監視業務において、運用管理者が用いるサーバに適用できる。

Claims (15)

  1. 複数の機器と接続され、前記各機器の状態を示す稼働データを収集する管理サーバであって、
    前記稼働データは、前記各機器の状態を示す値、前記稼働データが生成された時刻、前記稼働データが状態を示す機器に割り当てられた監視対象ID、および、前記状態を示す値の意味を示す監視項目IDを含み、
    前記管理サーバは、
    プロセッサ、メモリ、および、インタフェースを備え、
    前記インタフェースを介して前記稼働データを出力する要求が入力された場合、前記稼働データの出力が要求された時刻と、前記出力が要求された稼働データに含まれる前記監視対象IDと、前記出力が要求された稼働データに含まれる前記監視項目IDと、の少なくとも一つを含むアクセスログを、前記メモリに格納し、
    前記各機器において発生した障害または障害の予兆を示すインシデントが発生した場合、前記インシデントが発生した時刻と、前記インシデントが発生した機器に割り当てられた監視対象IDと、前記インシデントが発生した監視項目IDと、の少なくとも一つを含むインシデント情報を、前記メモリに格納し、
    前記アクセスログに前記インシデント情報を関連付け、
    前記アクセスログに関連付けられたインシデント情報と前記アクセスログとに従って、前記アクセスログに含まれる情報を、所定の規則によって抽象化された文字列に更新し、
    前記抽象化された文字列に更新された前記情報を含む、抽象アクセスログを生成し、
    前記インタフェースを介して第1のインシデント情報を示す値が入力された場合、前記第1のインシデント情報に基づいて、前記生成された抽象アクセスログから少なくとも一つの第1の抽象アクセスログを特定し、
    前記第1の抽象アクセスログと前記第1のインシデント情報とに基づいて、出力すべき前記稼働データが生成された時刻と、前記出力すべき稼働データに含まれる監視対象IDと、前記出力すべき稼働データに含まれる監視項目IDとの、少なくとも一つの情報を含む前記出力すべき稼働データの条件を特定し、
    前記特定された稼働データの条件を出力することを特徴とする管理サーバ。
  2. 請求項1に記載された管理サーバであって、
    前記インタフェースを介して前記第1のインシデント情報を示す値が入力された場合、前記メモリに格納されたインシデント情報から、前記第1のインシデント情報と類似する第2のインシデント情報を特定し、
    前記第2のインシデント情報が関連付けられた少なくとも一つの第1のアクセスログを前記メモリに格納されたアクセスログから特定し、
    前記第1のアクセスログと前記第2のインシデント情報とに従って生成された前記抽象アクセスログを、前記第1の抽象アクセスログとして特定することを特徴とする管理サーバ。
  3. 請求項2に記載された管理サーバであって、
    前記第1のアクセスログと前記第2のインシデント情報とに基づいて、前記第2のインシデント情報が示すインシデントを解決するための作業における第1の重要度であって、前記第1のアクセスログが示すアクセスの第1の重要度を、前記少なくとも一つの第1の抽象アクセスログに対応して算出し、
    前記第1の抽象アクセスログと前記第1のインシデント情報とに基づいて特定された前記稼働データの条件を、前記第1の重要度が高い順に強調されるように出力することを特徴とする管理サーバ。
  4. 請求項3に記載された管理サーバであって、
    前記各機器は、少なくとも一つのグループに分類され、
    前記アクセスログは、前記グループを示すグループIDを含み、
    前記インシデント情報は、前記インシデントが発生した機器が分類される前記グループを示すグループIDを含み、
    前記第2のインシデント情報に含まれるグループIDと、前記第1のアクセスログに含まれるグループIDとが一致する場合、所定の値を前記第1の重要度に加算することによって、前記第1の重要度を算出することを特徴とする管理サーバ。
  5. 請求項1に記載された管理サーバであって、
    インシデントによって影響を受ける機器と当該インシデントが発生した機器との関係を示す依存関係データを定義し、
    前記インシデント情報に含まれる監視対象IDが示す機器と、前記アクセスログに含まれる監視対象IDが示す機器とが、前記依存関係データに定義される関係か否かを判定し、
    前記判定の結果、前記インシデント情報に含まれる監視対象IDが示す機器と、前記アクセスログに含まれる監視対象IDが示す機器とが、前記依存関係データに定義される関係である場合、前記アクセスログに含まれる監視対象IDを、前記定義された関係を示す文字列に更新することによって、前記抽象アクセスログを生成することを特徴とする管理サーバ。
  6. 請求項1に記載された管理サーバであって、
    前記機器が提供するサービスを示すサービス情報を定義し、
    前記インシデント情報の監視対象IDが示す機器が提供するサービスのうち、前記アクセスログの監視対象IDが示す機器が提供するサービスと一致するサービスが、前記サービス情報に定義されているか否かを判定し、
    前記判定の結果、前記インシデント情報の監視対象IDが示す機器が提供する前記サービスのうち、前記アクセスログの監視対象IDが示す機器が提供するサービスと一致する前記サービスが、前記サービス情報に定義されている場合、前記アクセスログに含まれる監視対象IDを、前記定義されたサービスを示す文字列に更新することによって、前記抽象アクセスログを生成することを特徴とする管理サーバ。
  7. 請求項1に記載された管理サーバであって、
    前記アクセスログは、前記稼働データの出力を要求した要求元を示す要求元IDを含み、
    前記インシデント情報は、前記インシデントが解決された時刻を含み、
    前記管理サーバは、
    前記要求元IDと、前記要求元が監視業務を担当する機器を示す前記監視対象IDと、前記要求元が監視業務を担当する監視項目を示す監視項目IDとを含む担当者情報を保持し、
    前記インシデント情報が示すインシデントが発生してから前記インシデントが解決するまでに要求された前記稼働データの出力を前記アクセスログが示すか、前記インシデント情報に含まれる監視対象IDおよび監視項目IDが前記アクセスログに含まれる要求元IDが監視業務を担当する監視対象および監視項目を示すか、または、前記インシデント情報に含まれる監視対象IDと前記アクセスログに含まれる監視対象IDとが一致するか否かを、前記アクセスログと前記インシデント情報と前記担当者情報とに基づいて判定することによって、前記アクセスログと前記インシデント情報とが関連するかを判定し、
    前記判定の結果、前記アクセスログと前記インシデント情報とが関連する場合、前記アクセスログに前記インシデント情報を関連付けることを特徴とする管理サーバ。
  8. 請求項1に記載された管理サーバであって、
    前記抽象アクセスログは、前記抽象化された文字列によって更新された前記アクセスログに関連付けられた前記インシデント情報を示すインシデントIDを含み、
    前記管理サーバは、
    前記インタフェースを介して第1のインシデント情報が前記メモリに格納された場合、前記第1のインシデント情報に含まれる情報を、所定の規則によって抽象化された少なくとも一つの文字列に更新し、
    前記抽象化された文字列に更新された情報と、前記第1のインシデント情報を示すインシデントIDとを含む、少なくとも一つの第1の抽象インシデント情報を生成し、
    前記インタフェースを介して第1のインシデント情報を示す値が入力された場合、前記第1の抽象インシデント情報を特定し、
    前記特定された第1の抽象インシデント情報に含まれるインシデントIDを含む少なくとも一つの第2の抽象アクセスログを、前記第1の抽象アクセスログとして特定することを特徴とする管理サーバ。
  9. 請求項8に記載された管理サーバであって、
    前記管理サーバは、
    前記第2の抽象アクセスログと、前記第1の抽象インシデント情報とに基づいて、前記第1の抽象インシデント情報が示すインシデントを解決するための作業における第2の重要度であって、前記第2の抽象アクセスログが示すアクセスの第2の重要度を、前記第1の抽象インシデント情報ごとに算出し、
    前記第1の抽象インシデント情報における前記第2の抽象アクセスログの前記第2の重要度の分布が、所定の値より小さい前記第1の抽象インシデント情報を削除することを特徴とする管理サーバ。
  10. 複数の機器に接続され、前記各機器の状態を示す稼働データを収集する管理サーバと、を備える管理システムであって、
    前記稼働データは、前記各機器の状態を示す値、前記稼働データが生成された時刻、前記稼働データが状態を示す機器に割り当てられた監視対象ID、および、前記状態を示す値の意味を示す監視項目IDを含み、
    前記管理サーバは、
    プロセッサ、メモリ、および、インタフェースを備え、
    前記インタフェースを介して前記稼働データを出力する要求が入力された場合、前記稼働データの出力が要求された時刻と、前記出力が要求された稼働データに含まれる前記監視対象IDと、前記出力が要求された稼働データに含まれる前記監視項目IDと、の少なくとも一つを含むアクセスログを、前記メモリに格納し、
    前記各機器において発生した障害または障害の予兆を示すインシデントが発生した場合、前記インシデントが発生した時刻と、前記インシデントが発生した機器に割り当てられた監視対象IDと、前記インシデントが発生した監視項目IDと、の少なくとも一つを含むインシデント情報を、前記メモリに格納し、
    前記アクセスログに前記インシデント情報を関連付け、
    前記アクセスログに関連付けられたインシデント情報と前記アクセスログとに従って、前記アクセスログに含まれる情報を、所定の規則によって抽象化された文字列に更新し、
    前記抽象化された文字列に更新された前記情報を含む、抽象アクセスログを生成し、
    前記インタフェースを介して第1のインシデント情報を示す値が入力された場合、前記第1のインシデント情報に基づいて、前記生成された抽象アクセスログから少なくとも一つの第1の抽象アクセスログを特定し、
    前記第1の抽象アクセスログと前記第1のインシデント情報とに基づいて、出力すべき前記稼働データが生成された時刻と、前記出力すべき稼働データに含まれる監視対象IDと、前記出力すべき稼働データに含まれる監視項目IDとの、少なくとも一つの情報を含む前記出力すべき稼働データの条件を特定し、
    前記特定された稼働データの条件を出力することを特徴とする管理システム。
  11. 請求項10に記載された管理システムであって、
    前記インタフェースを介して前記第1のインシデント情報を示す値が入力された場合、前記メモリに格納されたインシデント情報から、前記第1のインシデント情報と類似する第2のインシデント情報を特定し、
    前記第2のインシデント情報が関連付けられた少なくとも一つの第1のアクセスログを前記メモリに格納されたアクセスログから特定し、
    前記第1のアクセスログと前記第2のインシデント情報とに従って生成された前記抽象アクセスログを、前記第1の抽象アクセスログとして特定することを特徴とする管理システム。
  12. 請求項10に記載された管理システムであって、
    前記抽象アクセスログは、前記抽象化された文字列によって更新された前記アクセスログに関連付けられた前記インシデント情報を示すインシデントIDを含み、
    前記管理システムは、
    前記インタフェースを介して第1のインシデント情報が前記メモリに格納された場合、前記第1のインシデント情報に含まれる情報を、所定の規則によって抽象化された少なくとも一つの文字列に更新し、
    前記抽象化された文字列に更新された情報と、前記第1のインシデント情報を示すインシデントIDとを含む、少なくとも一つの第1の抽象インシデント情報を生成し、
    前記インタフェースを介して第1のインシデント情報を示す値が入力された場合、前記第1の抽象インシデント情報を特定し、
    前記特定された第1の抽象インシデント情報に含まれるインシデントIDを含む少なくとも一つの第2の抽象アクセスログを、前記第1の抽象アクセスログとして特定することを特徴とする管理システム。
  13. 複数の機器に接続され、前記各機器の状態を示す稼働データを収集する管理サーバによる管理方法であって、
    前記稼働データは、前記各機器の状態を示す値、前記稼働データが生成された時刻、前記稼働データが状態を示す機器に割り当てられた監視対象ID、および、前記状態を示す値の意味を示す監視項目IDを含み、
    前記管理サーバは、プロセッサ、メモリ、および、インタフェースを備え、
    前記プロセッサが、前記インタフェースを介して前記稼働データを出力する要求が入力された場合、前記稼働データの出力が要求された時刻と、前記出力が要求された稼働データに含まれる前記監視対象IDと、前記出力が要求された稼働データに含まれる前記監視項目IDと、の少なくとも一つを含むアクセスログを、前記メモリに格納し、
    前記プロセッサが、前記各機器において発生した障害または障害の予兆を示すインシデントが発生した場合、前記インシデントが発生した時刻と、前記インシデントが発生した機器に割り当てられた監視対象IDと、前記インシデントが発生した監視項目IDと、の少なくとも一つを含むインシデント情報を、前記メモリに格納し、
    前記プロセッサが、前記アクセスログに前記インシデント情報を関連付け、
    前記プロセッサが、前記アクセスログに関連付けられたインシデント情報と前記アクセスログとに従って、前記アクセスログに含まれる情報を、所定の規則によって抽象化された文字列に更新し、
    前記プロセッサが、前記抽象化された文字列に更新された前記情報を含む、抽象アクセスログを生成し、
    前記プロセッサが、前記インタフェースを介して第1のインシデント情報を示す値が入力された場合、前記第1のインシデント情報に基づいて、前記生成された抽象アクセスログから少なくとも一つの第1の抽象アクセスログを特定し、
    前記プロセッサが、前記第1の抽象アクセスログと前記第1のインシデント情報とに基づいて、出力すべき前記稼働データが生成された時刻と、前記出力すべき稼働データに含まれる監視対象IDと、前記出力すべき稼働データに含まれる監視項目IDとの、少なくとも一つの情報を含む前記出力すべき稼働データの条件を特定し、
    前記プロセッサが、前記特定された稼働データの条件を出力することを特徴とする管理方法。
  14. 請求項13に記載された管理方法であって、
    前記プロセッサが、前記インタフェースを介して前記第1のインシデント情報を示す値が入力された場合、前記メモリに格納されたインシデント情報から、前記第1のインシデント情報と類似する第2のインシデント情報を特定し、
    前記プロセッサが、前記第2のインシデント情報が関連付けられた少なくとも一つの第1のアクセスログを前記メモリに格納されたアクセスログから特定し、
    前記プロセッサが、前記第1のアクセスログと前記第2のインシデント情報とに従って生成された前記抽象アクセスログを、前記第1の抽象アクセスログとして特定することを特徴とする管理方法。
  15. 請求項13に記載された管理方法であって、
    前記抽象アクセスログは、前記抽象化された文字列によって更新された前記アクセスログに関連付けられた前記インシデント情報を示すインシデントIDを含み、
    前記管理方法は、
    前記プロセッサが、前記インタフェースを介して第1のインシデント情報が前記メモリに格納された場合、前記第1のインシデント情報に含まれる情報を、所定の規則によって抽象化された少なくとも一つの文字列に更新し、
    前記プロセッサが、前記抽象化された文字列に更新された情報と、前記第1のインシデント情報を示すインシデントIDとを含む、少なくとも一つの第1の抽象インシデント情報を生成し、
    前記プロセッサが、前記インタフェースを介して第1のインシデント情報を示す値が入力された場合、前記第1の抽象インシデント情報を特定し、
    前記プロセッサが、前記特定された第1の抽象インシデント情報に含まれるインシデントIDを含む少なくとも一つの第2の抽象アクセスログを、前記第1の抽象アクセスログとして特定することを特徴とする管理方法。
JP2013551056A 2011-12-26 2011-12-26 管理サーバ、管理システム、および、管理方法 Active JP5624683B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013551056A JP5624683B2 (ja) 2011-12-26 2011-12-26 管理サーバ、管理システム、および、管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013551056A JP5624683B2 (ja) 2011-12-26 2011-12-26 管理サーバ、管理システム、および、管理方法

Publications (2)

Publication Number Publication Date
JP5624683B2 true JP5624683B2 (ja) 2014-11-12
JPWO2013098915A1 JPWO2013098915A1 (ja) 2015-04-30

Family

ID=51942764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013551056A Active JP5624683B2 (ja) 2011-12-26 2011-12-26 管理サーバ、管理システム、および、管理方法

Country Status (1)

Country Link
JP (1) JP5624683B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0973315A (ja) * 1995-09-07 1997-03-18 Mitsubishi Electric Corp 設備故障診断装置
JP2008310582A (ja) * 2007-06-14 2008-12-25 Hitachi Ltd 保守作業支援装置とシステム並びに保守作業支援方法
JP2009193207A (ja) * 2008-02-13 2009-08-27 Nec Corp 情報採取手順管理システム
JP2009238010A (ja) * 2008-03-27 2009-10-15 Fujitsu Ltd Itシステムのトラブル対処装置、トラブル対処方法およびそのためのプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0973315A (ja) * 1995-09-07 1997-03-18 Mitsubishi Electric Corp 設備故障診断装置
JP2008310582A (ja) * 2007-06-14 2008-12-25 Hitachi Ltd 保守作業支援装置とシステム並びに保守作業支援方法
JP2009193207A (ja) * 2008-02-13 2009-08-27 Nec Corp 情報採取手順管理システム
JP2009238010A (ja) * 2008-03-27 2009-10-15 Fujitsu Ltd Itシステムのトラブル対処装置、トラブル対処方法およびそのためのプログラム

Also Published As

Publication number Publication date
JPWO2013098915A1 (ja) 2015-04-30

Similar Documents

Publication Publication Date Title
WO2013098915A1 (ja) 管理サーバ、管理システム、および、管理方法
US11366686B1 (en) Managing user data in a multitenant deployment
US10942946B2 (en) Automatic triage model execution in machine data driven monitoring automation apparatus
US11061918B2 (en) Locating and categorizing data using inverted indexes
US11829236B2 (en) Monitoring statuses of monitoring modules of a distributed computing system
US20180081935A1 (en) Data Visualization in a Dashboard Display Using Panel Templates
US20180349482A1 (en) Automatic triage model execution in machine data driven monitoring automation apparatus with visualization
US11403333B2 (en) User interface search tool for identifying and summarizing data
WO2013186870A1 (ja) サービス監視システム、及び、サービス監視方法
US20190095599A1 (en) Customizing a user behavior analytics deployment
US11106713B2 (en) Sampling data using inverted indexes in response to grouping selection
JP2012003497A (ja) 障害原因推定装置、障害原因推定プログラム及び障害原因推定方法
JP2020021214A (ja) データ管理装置、データ管理方法及びデータ管理プログラム
JP6482984B2 (ja) クラウド管理方法及びクラウド管理システム
JP6565628B2 (ja) 検索プログラム、検索装置および検索方法
JP6002849B2 (ja) 監視装置、監視方法、および記録媒体
US20160080305A1 (en) Identifying log messages
JP5624683B2 (ja) 管理サーバ、管理システム、および、管理方法
US11831521B1 (en) Entity lifecycle management in service monitoring system
JP2021093115A (ja) 局所的ホットスポットを処理する方法、装置、電子デバイス及び記憶媒体
JP6926646B2 (ja) 事業者間一括サービス管理装置および事業者間一括サービス管理方法
EP3798950A1 (en) Management and aggregation of ticket data from multiple sources
EP3798955A1 (en) Management of tickets and resolution processes for an industrial automation environment
US11755453B1 (en) Performing iterative entity discovery and instrumentation
US11641310B1 (en) Entity lifecycle management in service monitoring system

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140926

R150 Certificate of patent or registration of utility model

Ref document number: 5624683

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150