(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023170715
(43)【公開日】2023-12-01
(54)【発明の名称】システム分析装置及びシステム分析方法
(51)【国際特許分類】
G06Q 10/00 20230101AFI20231124BHJP
G06Q 90/00 20060101ALI20231124BHJP
G06Q 50/10 20120101ALI20231124BHJP
【FI】
G06Q10/00
G06Q90/00
G06Q50/10
【審査請求】有
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022082667
(22)【出願日】2022-05-19
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】手塚 聖貴
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA20
5L049CC20
5L049DD01
(57)【要約】
【課題】稼働データの異常の発生要因を特定可能なレポートを自動で作成できるシステム分析装置及びシステム分析方法を提供する。
【解決手段】システム分析装置は、事象判定モデルを使用して、分析対象期間の分析対象システムの稼働データから分析対象期間の事象発生パラメータの時系列データを取得し、稼働データ及び事象発生パラメータの時系列データを分析する。システム分析装置は、稼働データの特異点に関する情報を含む特異点データ、及び、事象発生パラメータの時系列データの異常特異点に関する情報を含む事象特異点データを取得する。システム分析装置は、特異点データ及び事象特異点データに基づいて、異常の発生要因を示す情報を含むレポートを自動作成する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
分析対象システムから稼働データを取得し前記稼働データを分析する情報処理装置を備えたシステム分析装置であって、
前記情報処理装置は、
前記稼働データから事象毎に、前記稼働データを入力すると前記事象の発生する可能性の程度を示すパラメータである事象発生パラメータを出力する事象判定モデルが格納された記憶装置を含み、
前記情報処理装置は、
複数の前記事象判定モデルのそれぞれを使用して、分析対象期間の複数の前記稼働データを含む稼働データ群から前記分析対象期間の事象発生パラメータの時系列データを取得し、
前記稼働データ群及び前記事象発生パラメータの時系列データを分析することにより、
前記分析対象期間中に前記稼働データに発生した異常を示す特異点に関する情報を含む特異点データと、
前記分析対象期間中に前記事象発生パラメータの時系列データに発生した、前記事象が発生していること又は将来的に前記事象が発生する可能性があることを示す事象特異点に関する情報を含む事象特異点データと、
を取得し、
前記特異点データ及び前記事象特異点データに基づいて、前記稼働データに発生した前記異常を示す情報、及び、前記異常の要因を示す情報を含むレポートを自動作成する、
ように構成された、
システム分析装置。
【請求項2】
請求項1に記載のシステム分析装置であって、
前記情報処理装置は、
前記異常の要因を示す情報として、発生している前記事象、将来的に発生する前記事象を示す情報及び発生した可能性のある事象の少なくとも一つを前記レポートに含める、
ように構成された、
システム分析装置。
【請求項3】
請求項1に記載のシステム分析装置であって、
前記情報処理装置は、
前記異常を示す情報として、前記稼働データの過去の傾向からの逸脱又は過去の傾向からの将来的な逸脱の発生を示す情報を前記レポートに含める、
ように構成された、
システム分析装置。
【請求項4】
請求項3に記載のシステム分析装置において、
前記事象は、前記分析対象システムにおいて生じる事象、前記分析対象システムが提供するサービスにおいて生じる事象及び前記分析対象システムが提供するサービスに関連する事象の少なくとも一つである、
システム分析装置。
【請求項5】
請求項1に記載のシステム分析装置において、
前記情報処理装置は、
前記分析対象システムから前記稼働データ及び前記事象の発生情報を収集し、収集した前記稼働データ及び前記事象の発生情報を用いて、前記事象判定モデルを生成し、前記記憶装置に格納する、
ように構成された、
システム分析装置。
【請求項6】
請求項5に記載のシステム分析装置において、
前記情報処理装置は、
前記事象毎に前記事象判定モデルを生成するように構成され、
前記情報処理装置は、
前記稼働データを分析することにより、前記特異点データを取得し、
一つの前記事象について前記事象判定モデルを作成するときに、前記一つの事象についての事象の発生情報に基づいて、前記一つの事象の発生期間を特定し、
特定した前記一つの事象の前記発生期間に前記特異点が存在している特定の稼働データ種の前記稼働データを、前記一つの事象についての前記事象判定モデルを作成するときに用いる事象発生時の教師データとし、
前記一つの事象が発生していない期間の前記特定の稼働データ種の前記稼働データを、前記一つの事象についての前記事象判定モデルを作成するときに用いる事象非発生時の教師データとして、
前記事象発生時の教師データ及び前記事象非発生時の教師データを用いて、前記一つの事象についての前記事象判定モデルを生成する、
ように構成された、
システム分析装置。
【請求項7】
請求項6に記載のシステム分析装置において、
前記情報処理装置は、
前記特定の稼働データ種の前記稼働データが属するスケジュールパターンを取得し、
同一スケジュールパターンに属する前記特定の稼働データ種の稼働データを、前記事象発生時の教師データ及び前記事象非発生時の教師データとして用いる、
ように構成された、
システム分析装置。
【請求項8】
請求項1に記載のシステム分析装置において、
前記異常の要因を示す情報を含む異常コメントを生成するためのコメントテンプレートが格納された記憶装置を備え、
前記情報処理装置は、
前記特異点データ及び前記事象特異点データに基づく情報を、前記コメントテンプレートに適用することによって、前記異常コメントを生成し、前記異常コメントを前記レポートに含める、
ように構成された、
システム分析装置。
【請求項9】
請求項1に記載のシステム分析装置において、
前記情報処理装置は、
前記分析対象期間の前記稼働データ群のうちの前記事象に関係する特定の稼働データに基づいて、前記事象発生パラメータを算出する、
ように構成された、
システム分析装置。
【請求項10】
請求項1に記載のシステム分析装置において、
前記情報処理装置は、
前記分析対象期間の前記稼働データ群から前記事象に関係する特定の稼働データを抽出し、前記事象判定モデルを用いて、抽出した前記特定の稼働データから前記事象発生パラメータを算出する、
ように構成された、
システム分析装置。
【請求項11】
請求項1に記載のシステム分析装置において、
前記情報処理装置は、
前記特異点データとして、特異点が存在している稼働データの種類を示す情報、特異点として検出された稼働データの数値、特異点が検出された日付時刻を示す情報、特異点の種別を示す情報を取得し、
前記事象特異点データとして、事象の種類を示す情報、事象特異点が検出された日付時刻を示す情報、事象特異点の種別を示す情報を取得する、
ように構成された、
システム分析装置。
【請求項12】
分析対象システムから稼働データを取得し前記稼働データを分析する情報処理装置を用いたシステム分析方法であって、
前記情報処理装置は、
前記稼働データから事象毎に、前記稼働データを入力すると前記事象の発生する可能性の程度を示すパラメータである事象発生パラメータを出力する事象判定モデルが格納された記憶装置を含み、
前記情報処理装置によって、
複数の前記事象判定モデルのそれぞれを使用して、分析対象期間の複数の前記稼働データを含む稼働データ群から前記分析対象期間の事象発生パラメータの時系列データを取得し、
前記稼働データ群及び前記事象発生パラメータの時系列データを分析することにより、
前記分析対象期間中に前記稼働データに発生した異常を示す特異点に関する情報を含む特異点データと、
前記分析対象期間中に前記事象発生パラメータの時系列データに発生した、前記事象が発生していること又は将来的に前記事象が発生する可能性があることを示す事象特異点に関する情報を含む事象特異点データと、
を取得し、
前記特異点データ及び前記事象特異点データに基づいて、前記稼働データに発生した前記異常を示す情報、及び、前記異常の要因を示す情報を含むレポートを自動作成する、
システム分析方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システム分析装置及びシステム分析方法に関する。
【背景技術】
【0002】
情報システムでは、規模の拡大化及び複雑化が進み、情報システムについての月次レポート作成の負担が増加している。そこで、情報システムの稼働データを分析し、月次の稼働状況のレポートを自動で作成することが行われている。
【0003】
例えば、現状の機能(以下、「従来技術」と呼ぶ。)では、AIを利用して、傾向監視、閾値監視及び将来予測が行われる。傾向監視は、稼働データが過去の傾向から外れているか否かを監視する。閾値監視は、稼働データが閾値を超えているか否かを監視する。将来予測は、稼働データが将来閾値を超えてしまう可能性を予測する。
【0004】
従来技術は、傾向監視、閾値監視及び将来予測の結果に基づいて、レポートを自動作成する。レポートから、稼働データが過去の傾向から外れている、稼働データが閾値を超えている、稼働データが将来閾値を超えてしまう可能性がある等、稼働データに異常(特異点)が生じている事実を把握することができる。
【0005】
なお、本発明に関連する公知技術(以下、「関連公知技術」と呼ぶ。)として、以下に述べる特許文献1乃至特許文献3が存在する。
【0006】
特許文献1は、AIを利用した機械設備の異常の予兆診断技術を開示する。この異常の予兆診断技術は、異常予兆の診断対象となるセンサデータ(機械設備に設置されたセンサによって取得されたデータ)について、機械設備が正常に稼働しているときに取得したセンサデータを学習データとして用いて事例モデルを作成し、事例モデルが出力する診断対象のセンサデータの乖離度の大きさを示す異常度の大きさを異常の予兆の診断に用いる。
【0007】
特許文献2は、AIを利用しないで、目的変数データ及び説明変数データを含むデータを分析対象として、説明変数データから目的変数データに影響を与えるイベントのパターンを抽出するデータ解析システムを開示する。
【0008】
特許文献3は、ある分析目的についての分析方法に関し、実事象データ及び分析結果データに基づき、分析方法の分析性能を算出するデータ分析システムを開示する。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特許第4832609号公報
【特許文献2】国際公開第2017/168524号
【特許文献3】特開2019-105953号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
レポートから、稼働データに異常(特異点)が生じている事実のみではなく、異常の発生要因が把握可能(特定可能)になれば、レポートの有用性を向上できる。
【0011】
しかし、従来技術は、異常の発生要因を特定することができず、異常の発生要因を特定可能なレポートを自動作成できない。更に、従来技術は、関連公知技術を適用しても、異常の発生要因を特定することができない。
【0012】
例えば、特許文献1の技術は、分析対象データから異常の予兆(異常の事実)を特定する技術であり、異常の発生要因を特定できない。特許文献2の技術は、分析対象のデータの目的変数データに関し、説明変数データから抽出される相関性の高いイベントパターンを特定する技術であり、異常の発生要因を特定できない。特許文献3の技術は、実事象データを用いてデータを分析することにより、分析方法の分析性能を算出する技術であり異常の発生要因を特定することができない。従って、従来技術は、関連公知技術を適用しても、異常の発生要因を特定することができない。
【0013】
よって、従来技術では、ユーザ(例えばレポート管理者)は、異常の発生要因を手動で調査・特定し、レポートに反映する作業を実施する必要があり、この作業に多大な負担がかかっている。
【0014】
本発明は上記課題を解決するためになされた。即ち、本発明の目的の一つは、稼働データの異常の発生要因を特定可能なレポートを自動で作成できるシステム分析装置及びシステム分析方法を提供することにある。
【課題を解決するための手段】
【0015】
上記課題を解決するために、本発明のシステム分析装置は、分析対象システムから稼働データを取得し前記稼働データを分析する情報処理装置を備えたシステム分析装置であって、前記情報処理装置は、前記稼働データから事象毎に、前記稼働データを入力すると前記事象の発生する可能性の程度を示すパラメータである事象発生パラメータを出力する事象判定モデルが格納された記憶装置を含み、前記情報処理装置は、複数の前記事象判定モデルのそれぞれを使用して、分析対象期間の複数の前記稼働データを含む稼働データ群から前記分析対象期間の事象発生パラメータの時系列データを取得し、前記稼働データ群及び前記事象発生パラメータの時系列データを分析することにより、前記分析対象期間中に前記稼働データに発生した異常を示す特異点に関する情報を含む特異点データと、前記分析対象期間中に前記事象発生パラメータの時系列データに発生した、前記事象が発生していること又は将来的に前記事象が発生する可能性があることを示す事象特異点に関する情報を含む事象特異点データと、を取得し、前記特異点データ及び前記事象特異点データに基づいて、前記稼働データに発生した前記異常を示す情報、及び、前記異常の要因を示す情報を含むレポートを自動作成する、ように構成されている。
【0016】
本発明のシステム分析方法は、分析対象システムから稼働データを取得し前記稼働データを分析する情報処理装置を用い、前記情報処理装置は、前記稼働データから事象毎に、前記稼働データを入力すると前記事象の発生する可能性の程度を示すパラメータである事象発生パラメータを出力する事象判定モデルが格納された記憶装置を含み、前記情報処理装置によって、複数の前記事象判定モデルのそれぞれを使用して、分析対象期間の複数の前記稼働データを含む稼働データ群から前記分析対象期間の事象発生パラメータの時系列データを取得し、前記稼働データ群及び前記事象発生パラメータの時系列データを分析することにより、前記分析対象期間中に前記稼働データに発生した異常を示す特異点に関する情報を含む特異点データと、前記分析対象期間中に前記事象発生パラメータの時系列データに発生した、前記事象が発生していること又は将来的に前記事象が発生する可能性があることを示す事象特異点に関する情報を含む事象特異点データと、を取得し、前記特異点データ及び前記事象特異点データに基づいて、前記稼働データに発生した前記異常を示す情報、及び、前記異常の要因を示す情報を含むレポートを自動作成する。
【発明の効果】
【0017】
本発明によれば、稼働データの異常の発生要因を特定可能なレポートを自動で作成できる。
【図面の簡単な説明】
【0018】
【
図1】
図1は本発明の実施形態にかかるシステム分析装置を含むシステムの構成図である。
【
図2】
図2はシステム分析装置の構成例を示す概略構成図である。
【
図3】
図3はシステム稼働情報の一例を説明するための図である。
【
図4】
図4は事象情報の一例を説明するための図である。
【
図5】
図5はコメントテンプレートの一例を説明するための図である。
【
図6A】
図6Aは事象判定モデルの生成の概要を説明するためのブロック図である。
【
図6B】
図6Bは事象発生パラメータの時系列データを示す図である。
【
図7】
図7はレポート作成の概要を説明するためのブロック図である。
【
図8】
図8は事象判定モデル生成処理の処理フローを示すフローチャートである。
【
図9】
図9はレポート作成処理の処理フローを示すフローチャートである。
【
図10】
図10は事象発生パラメータ算出処理の処理フローを示すフローチャートである。
【
図11】
図11は特異点データ算出処理の処理フローを示すフローチャートである。
【発明を実施するための形態】
【0019】
<<実施形態>>
以下、本発明の実施形態について図面を参照しながら説明する。
【0020】
なお、以下の説明では、「テーブル」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されてもよい。更に、識別情報について説明する際、「ID」、「名称」、「識別情報」等の表現を用いるが、これらについてはお互いに置換が可能である。更に、以下の説明では、機能ブロックを主語として処理を説明する場合があるが、処理の主語が、機能ブロックに代えて、CPUとされてもよい。
【0021】
<構成>
図1は本発明の実施形態に係るシステム分析装置100を含むシステムの構成図である。
図1に示すように、システムは、システム分析装置100と、分析対象システム200と、を含む。システム分析装置100と分析対象システム200とは、ネットワークNW1を介して、互いに通信可能に接続されている。分析対象システム200は、図示しないネットワークを介して接続された複数のサーバを含む。分析対象システム200の一例は、電子決済サービスを提供するITシステムである。
【0022】
図2はシステム分析装置100の構成例を示す概略構成図である。
図2に示すように、システム分析装置100は、データの読み出し及び書き込み可能な不揮発性の記憶装置110と、メモリ120(例えば、RAM)と、CPU130と、入出力インタフェース140と、ネットワークインタフェース150と、ディスプレイ160とを含む。CPU130、記憶装置110、メモリ120、入出力インタフェース140、ネットワークインタフェース150及びバス160を含む装置は、便宜上、「情報処理装置」とも称呼される。情報処理装置は、複数の情報処理装置やクラウド上に構築される仮想的な情報処理装置であってもよい。
【0023】
記憶装置110は、プログラム111、第1データベース112、第2データベース116及び第3データベース118を保持(記憶、格納)している。プログラム111は、データ収集部111a、データ加工部111b、事象判定モデル生成部111c、システム稼働分析部111d及びレポート作成部111gを含む。システム稼働分析部111dは、特異点検出部111e及び事象発生パラメータ生成部111fを含む。
【0024】
CPU130は、記憶装置110に格納されたプログラム111をメモリ120にロードする。CPU130は、メモリ120にロードされたプログラム111を実行することによって、データ収集部111a、データ加工部111b、事象判定モデル生成部111c、システム稼働分析部111d及びレポート作成部111gの各種機能を実現する。
【0025】
第1データベース112は、システム稼働情報113、事象情報114及びスケジュールパターン115を含む。
【0026】
第2データベース116は、事象毎に作成された複数の事象判定モデル117を含む。
【0027】
第3データベース118は、テンプレートコメント119を含む。
【0028】
メモリ120には、上述したようにCPU130が実行するプログラム111がロードされ、CPU130がプログラム111を実行する際に使用するデータが一時的に記憶される。
【0029】
入出力インタフェース140は、キーボード及びマウス等の操作デバイス並びにディスプレイ160等を接続するためのインタフェースである。ネットワークインタフェース150は、システム分析装置100をネットワークNW1に接続するためのインタフェースである。なお、ディスプレイ160は、システム分析装置100に含まれていなくてもよい。ディスプレイ160は、便宜上、「表示装置」とも称呼される場合がある。
【0030】
図3は第1データベース112に格納されたシステム稼働情報113の一例を説明するための図である。システム稼働情報113は、分析対象システム200に関する、サーバ、ネットワーク等のインフラのメトリクスデータ、アプリケーションのメトリクスデータ、アプリケーションの性能データ等の稼働データを含む複数の稼働情報113dを含む。
【0031】
稼働情報113dは、互いに対応付けられた情報であるIDと、稼働データIDと、稼働データの種類と、検出期間と、検出期間の稼働データ(稼働データの時系列データ)とを含む。IDは、稼働データの収集対象を識別するための識別情報である。稼働データIDは、稼働データを識別するための識別情報である。稼働データの種類は、稼働データの種類を示す情報(名称)である。検出期間は、稼働情報113dの稼働データの検出期間を示す情報である。稼働データは、検出期間における稼働データの種類が示す稼働データの時系列データである。
【0032】
稼働情報113dに含まれる稼働データの具体例としては、例えば、サーバIDに対応するサーバ(ホストマシン)のCPU使用率、メモリ消費量、ディスク容量、Request per Term、Transaction、Disk I/O等のメトリクスデータの時系列データ等が挙げられる。
【0033】
図4は事象情報114の一例を説明するための図である。事象情報114は、複数の事象データ114dを含む。事象データ114dは、互いに対応付けられた情報である事象IDと、事象の名称と、事象発生時刻(日付時刻)とを含む。事象IDは、事象データを識別するための識別情報である。事象の名称は、事象の種類を示す名称である。事象発生時刻は事象の種類が示す事象が発生している日付時刻(期間)を示す情報である。
【0034】
事象は、「イベント」とも称呼され、システムにおいて生じる事象、システムが提供するサービスにおいて生じる事象、システムが提供するサービスに関連する事象(例えば、サービスの範囲外のサービスに関連する事象)等が含まれる。事象データ114dは、システム分析装置100が備える図示しないプログラムとしての事象管理モジュールにより作成される。事象データ114dは、分析対象システム200が保持する事象に関するスケジュール情報、システム分析装置100に入力される事象に関するスケジュール情報に基づいて作成される。
【0035】
事象の例としては、ニュースリリース、キャンペーン、サービス、イベント、一般的なニュース、関係サービスのトラブル及びダウン情報等が挙げられる。
【0036】
例えば、分析対象システム200が、電子決済サービスを提供するITシステムである場合、事象(イベント)としては、電子決済サービス範囲内のイベント、サービス範囲外のイベント等が挙げられる。電子決済サービスのサービス範囲内のイベントの例としては、例えば、ニュースリリース、Webキャンペーン、店頭キャンペーン、サービス、イベント等が挙げられる。サービス範囲外のイベントの例としては、例えば、電子決済サービスを利用可能なECサイトのダウン及びトラブル、人気商材の発売、ニュースへの掲載、SNSでの広告効果等が挙げられる。
【0037】
スケジュールパターン115としては、平日、週末、混雑時間帯、及び、期末等、分析対象システム200の稼働パターンを意味のある時間で区切ったものである。スケジュールパターン115は、データ収集部111aによって収集されるシステム稼働スケジュール情報及び業務スケジュールに基づいて生成してもよい。スケジュール情報としては、例えば、システム稼働スケジュール情報、業務スケジュール等が挙げられる。システム稼働スケジュールとしては、例えば、分析対象システム200に対するビジネストランザクションやリクエストには、日時的、曜日的及び年次的な周期性があり、それらのスケジュール等が挙げられる。より具体的には、システム稼働スケジュールとしては、例えば、ビジネストランザクションやリクエストが、週末に増加、休日(前)に増加、営業時間に安定、「朝方、昼休憩時、及び夜間に増加」、給料日に増加、及び、毎年特定のイベント日(クリスマス前など)に増加等を示すスゲジュール情報が挙げられる。業務スケジュールとしては、例えば、DBのバックアップなどの定期メンテナンス業務のスケジュール、期首及び期末のスケジュール、セキュリティアップのスケジュール、夜間バッチのスケジュール、予定表情報(例えば、店頭のキャンペーン実施業務のスケジュール、関連サービスのトラブル対応のスケジュール)等が挙げられる。
【0038】
事象判定モデル117は、例えば、ある分析対象期間の稼働データ群を入力として、その分析対象期間の事象が発生する(発生している)可能性の程度を示すパラメータ(以下、「事象発生パラメータ」と称呼される。)の時系列データを出力とする演算モデルである。演算モデルのより具体的な例は、例えば、ある対象期間の稼働データ群を入力すると、その対象期間の事象発生パラメータの時系列データを出力する演算モデル(NN(Neural Network))である。事象判定モデル117は、複数の事象のそれぞれについて作成されている。
【0039】
図5はテンプレートコメント119の一例を説明するための図である。
図5に示すように、テンプレートコメント119は、複数のコメントデータ119dを含む。コメントデータ119dは、コメントIDと、テンプレート文とを含む。コメントIDは、コメントデータ119dを識別するための識別情報である。テンプレート文は、変数(例えば、Xn、Yn、Zn(nは任意の整数)などの変数)を含む定型の文章(コメント)を含む。
【0040】
<システム分析装置100の作動の概要>
システム分析装置100は、分析対象システム200から、分析対象システム200に関するシステム稼働情報113、事象情報114及びスケジュールパターン115(スケジュール情報)を収集し、事象毎の事象判定モデル117を生成する。
【0041】
システム分析装置100は、レポート作成するときの分析対象期間のシステム稼働情報113から抽出した稼働情報113d群の稼働データ群を分析してレポートを作成する。具体的に述べると、事象判定モデル117を用いて、稼働データ群から事象判定モデル117が判定対象としている事象の事象発生パラメータを算出する。
【0042】
システム分析装置100は、事象発生パラメータを分析することにより、事象についての特異点データ(以下、「事象特異点データ」と称呼される。)を算出する。事象特異点データは、事象発生パラメータの時系列データに、事象が発生していること又は将来的に事象発生する可能性(リスク)があることを示す特異なパラメータ値(以下、「事象特異点」と称呼される。)に関する情報を含むデータである。なお、事象特異点データの詳細については、後述する。
【0043】
更に、システム分析装置100は、稼働データ群を分析することにより、稼働データについての特異点データを算出する。なお、特異点データは、分析対象期間の稼働データにおいて、過去の傾向からの逸脱又は将来的なリスク(稼働データの過去の傾向からの将来の逸脱)があることを示す特異なデータ(以下、「特異点」と称呼される。)に関する情報を含む。なお、特異点データの詳細については、後述する。
【0044】
システム分析装置100は、特異点データ及び事象特異点データ、並びに、テンプレートコメント119から抽出した(選択)したコメントデータ119dを用いて、分析結果を示す情報(異常の発生要因を示す情報)を含むレポートを作成する。これにより、システム分析装置100は、稼働データの異常の発生要因を特定可能なレポートを自動で作成できる。
【0045】
(事象判定モデルの生成の概要)
図6Aは事象判定モデル117の生成の概要を説明するためのブロック図である。
図6Aに示すように、データ収集部111aは、逐次、分析対象システム200からシステム稼働情報113及び事象情報114及びスケジュール情報を取得し、システム稼働情報113、事象情報114及びスケジュール情報に基づくスケジュールパターン115を第1データベース112に格納する。
【0046】
データ加工部111bは、第1データベース112からシステム稼働情報113及び事象情報114を取得し、事象判定モデル117の生成に必要なデータである学習用データセットDs1を作成する。
【0047】
学習用データセットDs1は、例えば、以下に述べる情報を含む。
・事象が発生している期間に特異点が発生していた稼働データ(事象発生時の教師データ。)。なお、事象が発生している期間に特異点が発生していた稼働データは、事象に関係している稼働データと考えることができるので、これを事象発生時の教師データとする。
・事象が発生していない期間であって、特異点が発生していなかった期間の事象発生時の教師データの稼働データ種に対応する稼働データ(事象非発生時の教師データ。)。
【0048】
なお、本例では、事象判定モデル117が出力する事象判定パラメータの精度をより向上するために、スケジュールパターン115が同一の稼働データを、事象発生時の教師データ及び事象非発生時の教師データとして用いるが、後述の変形例で説明するように、スケジュールパターン115が同一ではない稼働データを事象発生時の教師データ及び事象非発生時の教師データとして用いてもよい。
【0049】
データ加工部111bは、学習用データセットDs1を、事象判定モデル生成部111cに出力する。事象判定モデル生成部111cは、学習用データセットDs1を用いて、機械学習(例えば、ディープラーニング)を行うことにより、事象毎の事象判定モデル117を作成する。
【0050】
事象判定モデル生成部111cは、作成した事象判定モデル117を第2データベース116に格納する。
【0051】
なお、このような事象判定モデル117は、周知のVQC(Vector Quantization Clustering(ベクトル量子化クラスタリング))を利用して、作成できる。即ち、簡単に説明すると、事象非発生時の稼働データ及び事象発生時の稼働データを教師データとして用いて、機械学習により、事象非発生時の稼働データを含み、事象発生時の稼働データを含まないクラスタ半径r1を持つクラスタを作成し、入力された稼働データをクラスタ領域にプロットした際の、クラスタの中心からの距離r2を計算し出力する事象判定モデル117を作成する。
【0052】
作成された事象判定モデル117は、稼働データ群が入力されると、事象に関係する稼働データに最も近いクラスタを探索し、見つけたクラスタと稼働データとの間の距離(距離r2)を計算する。クラスタとの距離が大きいほど、事象が発生している可能性が高いことを示し、クラスタとの距離が小さいほど、事象が発生している可能性が低いことを示す。事象判定モデル117は、この距離に基づいて計算された事象発生パラメータを出力する。
図6Bは、ある分析対象期間の事象発生パラメータを示すグラフの一例を示す。このグラフでは、横軸が時刻であり、縦軸が事象発生パラメータの大きさを示す。上述したように、事象発生パラメータが大きいほど、事象が発生している可能性が高くなることを示す。
【0053】
(レポート作成の概要)
図7はレポート作成の概要を説明するためのブロック図である。
図7に示すように、システム稼働分析部111dは、分析対象期間のシステム稼働情報113(稼働情報113d群)を取得する。
【0054】
システム稼働分析部111dの特異点検出部111eは、分析対象期間の稼働情報113d群の稼働データを周知のVQCを利用したAI分析処理により分析することによって、特異点データD11を取得する。
【0055】
簡単にその説明を述べると、特異点検出部111eは、事前のAI学習により、正常な稼働データを、類似したデータの集まりであるクラスタに分類する。特異点検出部111eは、分析対象期間の稼働データに最も近いクラスタを探索し、見つけたクラスタと稼働データとの間の距離を計算する。距離が小さいほど正常である可能性が高い(異常である可能性が低い)ことを示し、距離が大きいほど正常である可能性が低い(異常である可能性が高い)ことを示す。特異点検出部111eは、このように計算された距離、その他必要な情報及びアルゴリズムを利用して、特異点データD11を取得する。
【0056】
特異点データD11は、上述したように、分析対象期間の稼働データにおいて、過去の傾向からの逸脱又は将来的なリスク(稼働データの過去の傾向からの将来の逸脱)があることを示す特異点に関する情報を含むデータである。
【0057】
特異点データD11は、例えば、以下に述べる情報を含む。
・特異点が存在している稼働データの種類(種類群)を示す識別情報
・特異点として検出された稼働データの数値
・特異点が検出された時刻(日付時刻)を示す情報
・特異点の種別を示す情報
【0058】
特異点の種別を示す情報は、例えば、以下に述べる情報である。
・過去の傾向と比較して高い(通常時より高い)
・過去の傾向と比較して低い(通常時より低い)
・ユーザが指定した閾値より低い
・ユーザが指定した閾値より低い
・将来数値が上昇して閾値を超えるリスクあり
・将来数値が上昇して閾値を下回るリスクあり
【0059】
特異点検出部111eは、特異点データD11をレポート作成部111gに出力する。
【0060】
事象発生パラメータ生成部111fは、第2データベース116から事象判定モデル117を取得する。事象発生パラメータ生成部111fは、稼働データ群を事象判定モデル117に入力し、事象判定モデル117に事象発生パラメータを出力させることによって、事象毎の分析対象期間の事象発生パラメータの時系列データD12を算出する。即ち、事象発生パラメータ生成部111fは、複数の事象判定モデル117のそれぞれが出力する複数の事象のそれぞれに関する事象発生パラメータの時系列データD12(分析対象期間の事象発生パラメータの時系列データD12)のセットを取得する。
【0061】
更に、事象発生パラメータ生成部111fは、分析対象期間の事象発生パラメータの時系列データD12を分析することにより、事象特異点データD13を取得する。
【0062】
事象特異点データD13は、事象発生パラメータの時系列データD12において、事象が発生していること又は将来的に事象が発生する(可能性がある)ことを示す事象特異点に関する情報を含むデータである。事象特異点データD13は、例えば、以下に述べる情報を含む。
・事象の種類を示す情報
・事象特異点が検出された時刻(日付時刻)を示す情報
・事象特異点の種別を示す情報
【0063】
事象特異点の種別を示す情報は、例えば、以下に述べる情報を含む。
・事象が発生している可能性が高い
・事象が発生している可能性が低い
・事象が将来発生する可能性が高い
・事象が将来発生する可能性が低い
事象発生パラメータ生成部111fは、事象発生パラメータを分析することにより、事象特異点データD13を計算する。
【0064】
簡単にその説明を述べると、事象発生パラメータ生成部111fは、事前のAI学習により、事象非発生時の事象発生パラメータを、類似したデータの集まりであるクラスタに分類する。事象発生パラメータ生成部111fは、分析対象期間の事象発生パラメータに最も近いクラスタを探索し、見つけたクラスタと事象発生パラメータとの間の距離を計算する。距離が小さいほど事象が発生している可能性が低いことを示し、距離が大きいほど事象が発生している可能性が高いことを示す。事象発生パラメータ生成部111fは、このように計算された距離、その他必要な情報及びアルゴリズムを利用して、事象特異点データD13を取得する。事象発生パラメータ生成部111fは、事象特異点データD13をレポート作成部111gに出力する。
【0065】
レポート作成部111gは、特異点データD11及び事象特異点データD13に基づいて、その他適宜必要な情報を用いて、レポートを作成する。
【0066】
ここで、分析対象期間の稼働データに特異点が発生している場合において、同一の分析対象期間の事象発生パラメータに事象特異点が発生している場合、その稼働データの特異点は、その事象特異点が要因として発生したと推定できる。
【0067】
従って、レポート作成部111gは、これを利用して、稼働データの異常の要因を示す情報を含めたレポートを作成する。即ち、レポート作成部111gは、分析対象期間の稼働データに異常(特異点)が発生している場合、同一の分析対象期間の事象特異点の事象特異点データD13に基づいて、特異点の要因を示す情報(例えば、事象の種類を示す情報、事象特異点が検出された時刻(日付時刻)を示す情報、事象特異点の種別を示す情報)を含めたレポートを作成する。
【0068】
具体的に述べると、レポート作成部111gは、第3データベース118からテンプレートコメント119を取得する。レポート作成部111gは、稼働データの特異点に関する情報及びその特異点の要因となる事象特異点に関する情報に基づいて、テンプレートコメント119のコメントデータ119dの中から適切なコメントデータ119dを選択する。
【0069】
例えば、レポート作成部111gは、コメントIDと特異点の要因となる事象特異点に関する情報(例えば、事象の種類を示す情報及び事情の種別を示す情報)と稼働データの特異点に関する情報(例えば、特異点が存在している稼働データの種類(種類群)を示す識別情報及び特異点の種別を示す情報)とが対応付けられた図示されない管理テーブルを有している。レポート作成部111gは、この管理テーブルを参照して、特異点に関する情報及び事象特異点に関する情報に対応するコメントデータ119dを選択する。
【0070】
レポート作成部111gは、稼働データの特異点に関する情報及びその特異点の要因となる事象特異点に関する情報から必要な情報を抽出し、抽出した情報を、選択したコメントデータ119dの変数に代入する。これにより、レポート作成部111gは、稼働データの特異点(異常)の要因を含むコメント文(異常コメント)を作成する。レポート作成部111gは、作成したコメント文、及び、その他レポートの作成に必要な情報を用いて、作成したコメント文(異常コメント)を含めたレポートを作成する。レポート作成部111gは、レポートを出力する。レポートは、例えば、ディスプレイ160に出力され表示される。レポートは、システム分析装置100からネットワークNW1等を介して、図示しない端末に出力され、端末が備えるディスプレイに表示されてもよい。
【0071】
なお、分析対象期間の稼働データに異常(特異点)が発生している場合において、同一の分析対象期間の事象特異点が存在しない場合もある。この場合、レポート作成部111gは、異常の発生要因がわからなかったことを示す情報を含めたレポートを作成してもよい。
【0072】
以上がシステム分析装置100の作動の概要である。
【0073】
<具体的作動>
(事象判定モデル生成処理)
図8は事象判定モデル生成部111cが実行する事象判定モデル生成処理の処理フローを示すフローチャートである。なお、
図8に示すフローチャートは、ある事象Aについての事象判定モデル117を生成する場合の処理フローを示すフローチャートである。事象判定モデル生成部111cは、事象Aについての事象判定モデル117を生成する場合と同様に、事象A以外の他の複数の事象のそれぞれについての事象判定モデル117を生成する。
【0074】
事象判定モデル生成部111cは、
図8のステップ800から処理を開始して以下に述べるステップ805乃至ステップ835の処理を順に実行した後、ステップ895に進んで本処理フローを一旦終了する。
【0075】
ステップ805:事象判定モデル生成部111cは、第1データベース112からある一つの事象Aの事象発生期間を含む事象データ114dを取得する。
【0076】
ステップ810:事象判定モデル生成部111cは、システム稼働分析部111dから以下に述べるデータを取得する。
・事象発生期間内の特異点データ
・事象発生期間のスケジュールパターン(本例では、パターンA)
【0077】
なお、スケジュールパターンは、上述したように、平日、週末、混雑時間帯、期末などの分析対象システム200の稼働パターンを意味のある期間で区切ったものである。本例において、例えば、平日及び週末の何れかと、混雑時間帯及び通常時間帯何れかとの組み合わせである。パターンAは、例えば、平日、且つ、混雑時間帯である。
【0078】
なお、特異点データは、特異点検出部111eが稼働データに対して上述したAI分析処理を行うことにより取得される。
【0079】
ステップ815:事象判定モデル生成部111cは、第1データベース112に格納されているシステム稼働情報113(数ある複数の稼働情報113d群)の中から、事象Aの事象発生期間内に特異点データが発生していた稼働データ種(例えば、メトリクスA)の稼働データを抽出する。事象判定モデル生成部111cは、抽出した稼働データから、事象Aの事象発生期間のメトリクスAの稼働データ(事象発生期間のメトリクスAの時系列データ)を抽出し、抽出した事象発生期間のメトリクスAの時系列データを教師データ(事象発生時の教師データ)とする。なお、教師データとして抽出される稼働データは、複数種の稼働データであってもよい。例えば、仮に事象発生期間内に特異点データが発生していた稼働データが、メトリクスAの稼働データ及びメトリクスBの稼働データである場合、事象発生期間のメトリクスAの稼働データ及び事象発生期間のメトリクスBの稼働データが、事象発生時の教師データとして抽出される。
【0080】
ステップ820:事象判定モデル生成部111cは、システム稼働分析部111dから以下の条件に合致する稼働データを取得する。即ち、事象判定モデル生成部111cは、システム稼働分析部111dから過去に特異点が存在しなかったパターンAの期間の稼働データ群を取得する(抽出する。)。
【0081】
ステップ825:事象判定モデル生成部111cは、ステップ820にて取得した(抽出した)稼働データ群のうち、メトリクスAに該当する稼働データを、教師データ(事象非発生時の教師データ)とする。
【0082】
ステップ830:事象判定モデル生成部111cは、事象発生時の教師データと、事象非発生時の教師データとをAIで分析し、演算モデルが事象発生時に数値が高くなり、事象非発生時に数値が低くでるような事象発生パラメータを出力するように学習を実行する。
【0083】
ステップ835:事象判定モデル生成部111cは、学習の結果得られた演算モデルを、事象Aについての事象判定モデル117として、第2データベース116に格納する。
【0084】
(レポート作成処理)
図9はレポート作成部111gが実行するレポート作成処理の処理フローを示すフローチャートである。レポート作成部111gは、
図9のステップ900から処理を開始し、以下に述べるステップ905乃至ステップ935の処理を順に実行した後、ステップ995に進んで本処理フローを一旦終了する。
【0085】
ステップ905:レポート作成部111gは、第1データベース112から、分析対象期間の稼働情報113d群を収集する。
【0086】
ステップ910:レポート作成部111gは、第2データベース116から、全ての事象判定モデル117を取得する。
【0087】
ステップ915:レポート作成部111gは、事象発生パラメータ生成部111fに
図10のフローチャートにより示される後述の事象発生パラメータ算出処理を実行させることにより、各事象判定モデル117に分析対象期間の稼働情報113d群の稼働データ群を投入し、事象判定モデル117毎に、事象発生パラメータの時系列データを算出する。なお、事象発生パラメータ算出処理の詳細は、後述する。
【0088】
ステップ920:レポート作成部111gは、分析対象期間の稼働データ及びステップ915で算出した事象発生パラメータの時系列データを用いて、システム稼働分析を行うことにより、以下の情報を取得する。
・特異点データ
・事象特異点データ
【0089】
具体的に述べると、レポート作成部111gは、特異点検出部111eに
図11のフローチャートにより示される後述の特異点データ算出処理(特異点分析処理)を実行させることにより、特異点データを算出する。なお、特異点分析処理の詳細は、後述する。
【0090】
更に、レポート作成部111gは、事象発生パラメータの時系列データを分析することにより、事象特異点データを取得する。
【0091】
ステップ925:レポート作成部111gは、特異点データ及び事象特異点データに基づいて、第3データベース118からテンプレートコメント119(コメントデータ119d)を取得する。
【0092】
ステップ930:レポート作成部111gは、上述したように、ステップ920で取得した特異点データ及び事象特異点データをテンプレートコメント(コメントデータ119d)にマッピング(適用する)ことにより、異常コメントを作成する。
【0093】
ステップ935:レポート作成部111gは、分析対象期間の稼働データ、各事象に対する事象発生パラメータ及び異常コメントを集約してレポートを作成する。
【0094】
(事象発生パラメータ算出処理)
図10は事象発生パラメータ生成部111fが実行する上述の事象発生パラメータ算出処理の処理フローを示すフローチャートである。事象発生パラメータ生成部111fは、
図10のステップ1000から処理を開始して、以下に述べるステップ1005乃至ステップ1020の処理を順に実行した後、ステップ1095に進んで本処理フローを一旦終了する。
【0095】
ステップ1005:事象発生パラメータ生成部111fは、稼働情報113d群を取得する。
【0096】
ステップ1010:事象発生パラメータ生成部111fは、図示しない事象判定モデル管理テーブルを参照して、数ある稼働情報113d群の稼働データ群から、事象判定に必要なある事象に関係する稼働データ種の稼働データを抽出する。なお、事象判定モデル管理テーブルには、各事象判定モデルについて、事象判定モデル117を識別するための事象判定モデルIDと、事象の名称と、事情判定に用いる(必要な)稼働データの種類と、が互いに対応づけられて格納されている。
【0097】
ステップ1015:事象発生パラメータ生成部111fは、抽出した稼働データをAIにより分析する。即ち、事象発生パラメータ生成部111fは、抽出した稼働データを事象判定モデルに入力する。
【0098】
ステップ1020:事象発生パラメータ生成部111fは、事象判定モデル117によって、分析対象期間の事象発生パラメータの時系列データを算出する。
【0099】
(特異点データ算出処理)
図11は、特異点検出部111eが実行する上述の特異点データ算出処理の処理フローを示すフローチャートである。特異点検出部111eは、
図11のステップ1100から処理を開始して以下に述べるステップ1105乃至ステップ1115の処理を順に実行した後、ステップ1195に進んで本処理フローを一旦終了する。
【0100】
ステップ1105:特異点検出部111eは、分析対象期間の稼働データ群を取得する。
【0101】
ステップ1110:特異点検出部111eは、AI分析処理を実行することにより、分析対象期間の稼働データ群について、特異点が生じている稼働データが存在するか否かを判定する。即ち、稼働データに、過去の傾向からの逸脱、将来的なリスク(稼働データの過去の傾向からの将来の逸脱)があるかことを示す特異点が生じているか否かを判定する
ステップ1115:特異点検出部111eは、ステップ1110のAI分析処理により、特異点が生じていると判定した場合、特異点データを作成する。
【0102】
図12は、レポート作成部111gによって作成されたレポートRP1をディスプレイ160に表示した画面の一例を示す。
【0103】
画面GM1は、レポートRP1を含む。レポートRP1は、分析結果を示すグラフ1201と、異常コメント1202とを含む。グラフ1201は、AI分析により想定される稼働データの数値範囲(過去の傾向に基づく通常の数値範囲)、異常判定基準となる閾値を示す線と、稼働データの変化を示す線とを含む。異常コメント1202は、ステップ930にて作成した下記の異常コメントである。
・2022年1月29日10時からの1時間。想定を上回るRequest per Termが発生しています。弊社のシステムに関係するキャンペーンの実施が影響している可能性があります。
【0104】
この異常コメント1202は、稼働データの異常を示す情報として、異常が発生した日付時刻及び発生時間を示す情報(2022年1月29日10時からの1時間)、稼働データの過去の傾向からの逸脱を示す情報(想定を上回るRequest per Termが発生しています)を含む。更に、この異常コメント1202は、稼働データに発生した異常の要因を示す情報として、発生している事象を示す情報(弊社のシステムに関係するキャンペーンの実施が影響している可能性があります)を含む。このような異常コメント1202がレポートRP1に含まれることにより、これを見たユーザは、容易に稼働データの異常の要因を把握することができる。
【0105】
なお、異常コメントの他の例としては、以下に説明する異常コメントの他の例が挙げられる。異常コメントの他の例は、稼働データ群を分析することにより取得された特異点データ及び事象特異点データに基づいて、テンプレートコメント119を使用して作成することができる。
【0106】
異常コメントの他の例は、稼働データに発生した異常を示す情報として、稼働データの過去の傾向からの逸脱、稼働データの過去の傾向からの将来の逸脱を示す情報等を含み、稼働データに発生した異常の要因を示す情報として、発生している事象を示す情報、将来的に発生する事象を示す情報、発生した可能性のある事象等を含む。
【0107】
例えば、稼働データの過去の傾向からの逸脱を示す情報及び発生している事象を示す情報を含む異常コメントの例としては、下記が挙げられる。
・2022年8月6日21時からの1時間。想定を下回るDisk I/Oの増加と使用メモリ量の増加とページフォールトが発生しています。物理メモリの増加によるスラッシングが発生している可能性があります。
・2023年10月3日10時からの1時間。想定を上回る弊社WebサイトのRequest per Termが発生しています。弊社のシステムに関係するキャンペーンの実施が影響している可能性があります。
・2024年3月24日13時からの1時間。想定を下回るビジネストランザクションが発生しています。弊社のシステムに関係する事象は見当たりませんでした。関係サービスにトラブルがあった可能性があります。2023年10月5日14時からの1時間、同様の現象が見られました。
・2023年10月5日14時からの1時間。想定を上回るRequest per Termが発生しています。弊社のシステムに関係する事象は見当たりませんでした。第三者機関の広告が影響している可能性があります。
【0108】
例えば、稼働データの過去の傾向からの将来的な逸脱を示す情報及び発生している事象を示す情報を含む異常コメントの例としては、下記が挙げられる。
・2022年8月6日21時に発生した物理メモリの増加によるスラッシングが再発生する可能性が増加傾向にあります。1ヶ月後に発生する可能性があります。
【0109】
例えば、稼働データの過去の傾向からの逸脱を示す情報及び発生した可能性のある事象を示す情報含む異常コメントの例としては、下記が挙げられる。
・2023年10月5日14時からの1時間。想定を下回るビジネストランザクションが発生しています。弊社のシステムに関係する事象は見当たりませんでした。関係サービスにトラブルがあった可能性があります。
・2023年10月5日14時からの1時間。想定を上回るビジネストランザクションが発生しています。弊社のシステムに関係する事象は見当たりませんでした。商品の発売日など、購買意欲を向上させる事象が発生した可能性があります。
【0110】
<効果>
以上説明したように、本発明の実施形態に係るシステム分析装置100は、稼働データの異常の発生要因を特定可能なレポートを自動で作成できる。システム分析装置100は、稼働データを分析することにより、稼働データの異常の特定(検知)のみではなく、異常の要因(原因)までも自動的に特定し、異常の要因を示す情報を含めたレポートを自動で作成できる。
【0111】
更に、システム分析装置100は、異常の発生要因として特定したい事象についての事象判定モデル117を生成しさえすれば、それを利用して異常の発生要因としての事象を特定できる。従って、システム分析装置100は、異常の発生要因として特定したい事象に制限はなく様々な事象を異常の発生要因として特定できるので、質のよいレポートを作成できる。
【0112】
更に、システム分析装置100は、学習により事象判定モデルの精度を向上できるので、精度の高いレポートを作成できる。
【0113】
更に、従来では、稼働データに異常(特異点)が生じていることがわかった場合に、経験者が、特異点が生じている稼働データ及びこれに関連するデータを見て(詳細に分析して)、その原因を特定する必要があり、異常の原因を含めたレポートの作成に、非常に手間がかかってしまっていた。一方、システム分析装置100は、異常の原因までも特定したレポートを自動的に作成できるので、異常の原因を特定したレポート作成について属人性を排除できる。従って、システム分析装置100は、今後人手不足が予想される中、サステナブルなレポート作成手法を提供する価値がある装置として、利用されることができる。
【0114】
<<変形例>>
本発明は上記実施形態に限定されることなく、本発明の範囲内において種々の変形例を採用することができる。
【0115】
例えば、上記実施形態において、稼働データ群から事象判定モデル117が対象とする事象に関係する稼働データを抽出し、事象判定モデル117に入力して、事象発生パラメータを計算するようにしたが、次のように事象発生パラメータが計算されるようにしてもよい。即ち、稼働データ群が事象判定モデル117に入力され、その事象判定モデル117の中で対象とする事象に関係する稼働データが抽出され、抽出された事象に関係する稼働データに基づく事象発生パラメータが計算されるようにしてもよい。
【0116】
例えば、上記実施形態において、スケジュールパターン115が同一ではない稼働データが、事象発生時の教師データ及び事象非発生時の教師データとして使用されてもよい。
【0117】
例えば、上記実施形態において、外部から入力された事象判定モデル117が第2データベース116に格納されるようにしてもよい。
【符号の説明】
【0118】
100…システム分析装置、200…分析対象システム、110…記憶装置、111…プログラム、111a…データ収集部、111b…データ加工部、111c…事象判定モデル生成部、111d…システム稼働分析部、111e…特異点検出部、111f…事象発生パラメータ生成部、111g…レポート作成部、112…第1データベース、113…システム稼働情報、114…事象情報、115…スケジュールパターン、116…第2データベース、117…事象判定モデル、118…第3データベース、119…テンプレートコメント、120…メモリ、130…CPU、140…入出力インタフェース、150…ネットワークインタフェース、160…ディスプレイ