IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-184059推定装置、推定方法、および推定プログラム
<>
  • 特開-推定装置、推定方法、および推定プログラム 図1
  • 特開-推定装置、推定方法、および推定プログラム 図2
  • 特開-推定装置、推定方法、および推定プログラム 図3
  • 特開-推定装置、推定方法、および推定プログラム 図4
  • 特開-推定装置、推定方法、および推定プログラム 図5
  • 特開-推定装置、推定方法、および推定プログラム 図6
  • 特開-推定装置、推定方法、および推定プログラム 図7
  • 特開-推定装置、推定方法、および推定プログラム 図8
  • 特開-推定装置、推定方法、および推定プログラム 図9
  • 特開-推定装置、推定方法、および推定プログラム 図10
  • 特開-推定装置、推定方法、および推定プログラム 図11
  • 特開-推定装置、推定方法、および推定プログラム 図12
  • 特開-推定装置、推定方法、および推定プログラム 図13
  • 特開-推定装置、推定方法、および推定プログラム 図14
  • 特開-推定装置、推定方法、および推定プログラム 図15
  • 特開-推定装置、推定方法、および推定プログラム 図16
  • 特開-推定装置、推定方法、および推定プログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023184059
(43)【公開日】2023-12-28
(54)【発明の名称】推定装置、推定方法、および推定プログラム
(51)【国際特許分類】
   G06F 11/07 20060101AFI20231221BHJP
【FI】
G06F11/07 190
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022097970
(22)【出願日】2022-06-17
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】上野 里奈
(72)【発明者】
【氏名】井出 貴也
(72)【発明者】
【氏名】爲重 貴志
(72)【発明者】
【氏名】増田 峰義
(72)【発明者】
【氏名】バックフース ヤナ
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA12
5B042JJ29
5B042KK15
5B042MA08
5B042MA11
5B042MA14
5B042MC15
5B042NN11
(57)【要約】
【課題】障害推定モデルの監視対象への適用性を検証すること。
【解決手段】推定装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、前記プロセッサは、監視対象から得られた第1監視データと、前記第1監視データに対する第1障害検出結果と、を取得する取得処理と、前記監視対象の障害を推定する障害推定モデルに前記第1監視データを入力することにより第1障害推定結果を算出する推定処理と、前記第1障害推定結果と前記第1障害検出結果とに基づいて、前記障害推定モデルが前記監視対象に適用可能かを示す指標値を算出する算出処理と、を実行する。
【選択図】図5
【特許請求の範囲】
【請求項1】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する推定装置であって、
前記プロセッサは、
監視対象から得られた第1監視データと、前記第1監視データに対する第1障害検出結果と、を取得する取得処理と、
前記監視対象の障害を推定する障害推定モデルに前記第1監視データを入力することにより第1障害推定結果を算出する推定処理と、
前記第1障害推定結果と前記第1障害検出結果とに基づいて、前記障害推定モデルが前記監視対象に適用可能かを示す指標値を算出する算出処理と、
を実行することを特徴とする推定装置。
【請求項2】
請求項1に記載の推定装置であって、
前記指標値は、前記第1障害推定結果と前記第1障害検出結果との一致度に関する指標値である、
ことを特徴とする推定装置。
【請求項3】
請求項1に記載の推定装置であって、
前記算出処理では、前記プロセッサは、前記第1障害検出結果における障害の種類ごとに、前記指標値を算出する、
ことを特徴とする推定装置。
【請求項4】
請求項1に記載の推定装置であって、
前記プロセッサは、
前記指標値がしきい値以上であるか否かを判定する判定処理と、
前記判定処理によって前記指標値がしきい値以上でないと判定された場合、前記障害推定モデルを追加学習する追加学習処理と、
を実行することを特徴とする推定装置。
【請求項5】
請求項4に記載の推定装置であって、
前記取得処理では、前記プロセッサは、前記指標値が前記しきい値以上ではない障害の種類について、前記監視対象から得られた第2監視データと、前記第2監視データに対する第2障害検出結果と、を取得し、
前記追加学習処理では、前記プロセッサは、前記第2監視データおよび前記第2障害検出結果を前記障害推定モデルに入力することにより、前記障害推定モデルを追加学習する、
ことを特徴とする推定装置。
【請求項6】
請求項1に記載の推定装置であって、
前記プロセッサは、
前記第1障害検出結果の障害の種類ごとに前記第1障害検出結果の優先順位を決定する決定処理を実行し、
前記推定処理では、前記プロセッサは、前記決定処理によって決定された優先順位に従って、前記第1障害推定結果を算出する、
ことを特徴とする推定装置。
【請求項7】
請求項6に記載の推定装置であって、
前記決定処理では、前記プロセッサは、前記障害の種類にポイントを付与し、前記ポイントに基づいて、前記第1障害検出結果の優先順位を決定する、
ことを特徴とする推定装置。
【請求項8】
請求項7に記載の推定装置であって、
前記決定処理では、前記プロセッサは、前記監視対象が実行する処理の実体の変更箇所が前記第1障害検出結果の発生場所である前記障害の種類に前記ポイントを付与する、
ことを特徴とする推定装置。
【請求項9】
請求項7に記載の推定装置であって、
前記プロセッサは、
前記障害の種類ごとの前記指標値がしきい値よりも小さかった前記監視対象の数に基づいて、前記障害の種類にポイントを付与する、
ことを特徴とする推定装置。
【請求項10】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する推定装置が実行する推定方法であって、
前記プロセッサは、
監視対象から得られた第1監視データと、前記第1監視データに対する第1障害検出結果と、を取得する取得処理と、
前記監視対象の障害を推定する障害推定モデルに前記第1監視データを入力することにより第1障害推定結果を算出する推定処理と、
前記第1障害推定結果と前記第1障害検出結果とに基づいて、前記障害推定モデルが前記監視対象に適用可能かを示す指標値を算出する算出処理と、
を実行することを特徴とする推定方法。
【請求項11】
プロセッサに、
監視対象から得られた第1監視データと、前記第1監視データに対する第1障害検出結果と、を取得する取得処理と、
前記監視対象の障害を推定する障害推定モデルに前記第1監視データを入力することにより第1障害推定結果を算出する推定処理と、
前記第1障害推定結果と前記第1障害検出結果とに基づいて、前記障害推定モデルが前記監視対象に適用可能かを示す指標値を算出する算出処理と、
を実行させることを特徴とする推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、障害に関する情報を推定する推定装置、推定方法、および推定プログラムに関する。
【背景技術】
【0002】
下記特許文献1は、障害要因を推定する障害要因推定装置を開示する。この障害要因推定装置は、障害要因を人工的に対象システムへ入力することで対象システムに障害を発生させる障害要因挿入部と、障害が発生している状態の対象システムにおいて観測されるデータを取得する前処理部と、障害要因とデータとの関係性を分類器に学習させる分類器学習部と、を有する。障害要因推定部は、運用中の対象システムの障害時に得られる観測データ(障害データ)を入力として、学習済みの分類器を用いて障害要因を推定する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-128538号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した特許文献1では、分類器が対象システムに適用可能かを示す指標値を算出する点については、考慮されていない。
【0005】
本発明は、障害推定モデルの監視対象への適用性を検証することを目的とする。
【課題を解決するための手段】
【0006】
本願において開示される発明の一側面となる推定装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する推定装置であって、前記プロセッサは、監視対象から得られた第1監視データと、前記第1監視データに対する第1障害検出結果と、を取得する取得処理と、前記監視対象の障害を推定する障害推定モデルに前記第1監視データを入力することにより第1障害推定結果を算出する推定処理と、前記第1障害推定結果と前記第1障害検出結果とに基づいて、前記障害推定モデルが前記監視対象に適用可能かを示す指標値を算出する算出処理と、を実行することを特徴とする。
【発明の効果】
【0007】
本発明の代表的な実施の形態によれば、障害推定モデルの監視対象への適用性を検証することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0008】
図1図1は、実施例1にかかる推定システムのシステム構成例を示す説明図である。
図2図2は、コンピュータのハードウェア構成例を示すブロック図である。
図3図3は、推定システムによる障害テストシーケンス例を示すシーケンス図である。
図4図4は、障害マップDBの一例を示す説明図である。
図5図5は、推定装置の処理手順例を示すフローチャートである。
図6図6は、図5に示した障害推定モデルの適用性検証処理(ステップS501)の詳細な処理手順例を示すフローチャートである。
図7図7は、適用率リストの一例を示す説明図である。
図8図8は、図5に示した障害推定モデルの追加学習処理(ステップS503)の詳細な処理手順例を示すフローチャートである。
図9図9は、障害推定モデルの追加学習処理(ステップS503)における選択障害IDの学習データセットの取得例を示すシーケンス図である。
図10図10は、推定装置の表示画面例を示す説明図である。
図11図11は、実施例2にかかる推定システムのシステム構成例を示す説明図である。
図12図12は、データストアの一例を示す説明図である。
図13図13は、障害テスト履歴DBの一例を示す説明図である。
図14図14は、実施例2にかかる障害推定モデルの適用性検証処理(ステップS501)の詳細な処理手順例を示すフローチャートである。
図15図15は、図14に示した優先順位決定処理(ステップS1400)の詳細な処理手順例を示すフローチャートである。
図16図16は、図15に示した差分によるポイント付与処理(ステップS1501)の詳細な処理手順例を示すフローチャートである。
図17図17は、図15に示した障害テスト履歴によるポイント付与処理(ステップS1502)の詳細な処理手順例を示すフローチャートである。
【発明を実施するための形態】
【実施例0009】
<システム構成例>
図1は、実施例1にかかる推定システムのシステム構成例を示す説明図である。推定システム100は、監視対象T1~Tn(nは1以上の整数)と、障害テスト装置101と、監視装置102と、推定装置103と、を有する。監視対象Ti、障害テスト装置101、監視装置102、および推定装置103は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワーク110を介して通信可能に接続される。障害テスト装置101、監視装置102、および推定装置103の少なくとも2つは、1台のコンピュータで実現してもよい。
【0010】
監視対象Ti(iは1≦i≦nを満たす整数)は、監視対象によって障害の有無を監視されるコンピュータである。監視対象Tiは、1以上のマイクロサービスMi1、Mi2、Mi3、…(これらを区別しない場合は、マイクロサービスMiと表記する。)を有する。マイクロサービスMiは、監視対象Tiが実行するソフトウェアであり、1以上のインスタンスで構成される。障害テスト装置101は、障害の有無をテストするコンピュータである。監視装置102は、監視対象Tiを監視するコンピュータである。推定装置103は、監視対象Tiの障害を推定するコンピュータである。推定装置103は、障害マップDB130を有する。障害マップDB130は、監視対象Tiごとの障害マップを記憶するデータベースである。障害マップDB130は、ネットワーク110を介して推定装置103からアクセス可能な他のコンピュータに存在してもよい。
【0011】
<コンピュータのハードウェア構成例>
図2は、コンピュータのハードウェア構成例を示すブロック図である。コンピュータ200は、プロセッサ201と、記憶デバイス202と、入力デバイス203と、出力デバイス204と、通信インターフェース(通信IF)205と、を有する。プロセッサ201、記憶デバイス202、入力デバイス203、出力デバイス204、および通信IF205は、バス206により接続される。プロセッサ201は、コンピュータ200を制御する。記憶デバイス202は、プロセッサ201の作業エリアとなる。また、記憶デバイス202は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス202としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス203は、データを入力する。入力デバイス203としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナ、マイク、センサがある。出力デバイス204は、データを出力する。出力デバイス204としては、たとえば、ディスプレイ、プリンタ、スピーカがある。通信IF205は、ネットワーク110と接続し、データを送受信する。
【0012】
<障害テストシーケンス例>
図3は、推定システム100による障害テストシーケンス例を示すシーケンス図である。障害テスト装置101は、障害テストコード301および障害推定モデル302を推定装置103に送信する(ステップS301)。障害テストコード301は、監視データが入力されると障害の有無を検出する関数の集合である。監視データとは、監視対象の挙動を示すデータであり、たとえば、監視対象Ti内のマイクロサービスMiのインスタンスごとのCPU使用率、メモリ使用量、ディスクIOPS(Input/Output Per Second)、受信リクエスト数、アラート数などがある。障害推定モデル302は、障害を推定する学習モデルであり、具体的には、たとえば、決定木やランダムフォレスト、ニューラルネットワークにより構成される。障害推定モデル302は、監視対象Tiごとに存在する。
【0013】
監視対象Tiは、CPU使用率やメモリ使用量といった監視データ(ここでは、事前監視データと称す)を監視装置102に送信する(ステップS302)。監視装置102は、監視対象Tiからの事前監視データを推定装置103に送信する(ステップS303)。
【0014】
推定装置103は、第1障害要因データを生成する(ステップS304)。第1障害要因データとは、監視対象Tiに意図的に障害を発生させるための設定データである。具体的には、たとえば、推定装置103は、事前監視データを障害テストコード301に入力して関数ごとに障害の有無を検出する。そして、推定装置103は、各関数により障害の発生の有無を判定し、障害が発生した場合、特定の事前監視データの値を障害を誘発する値に設定することで、第1障害要因データを生成する。第1障害要因データを生成する際には、障害を再現するためにユーザが作成したスクリプトが用いられてもよく、既存の負荷試験ツール、障害要因挿入ツールが用いられてもよい。
【0015】
推定装置103は、第1障害要因データを監視対象Tiに送信する(ステップS305)。監視対象Tiは、第1障害要因データを取り込んでマイクロサービスMiの処理を実行し、その時の監視データ(第1監視データ)を監視装置102に送信する(ステップS306)。
【0016】
監視装置102は、第1監視データを用いて、障害が監視対象Tiのいずれかのインスタンスで発生したか否か、発生したとすればどのインスタンスでどのような種類の障害が発生したかを検出し、検出した場合は第1障害検出結果を出力する(ステップS307)。監視装置102は、指定期間内で検出された第1障害検出結果および第1監視データを推定装置103に送信する(ステップS308)。
【0017】
推定装置103は、第1監視データを加工する(ステップS309)。具体的には、たとえば、推定装置103は、第1監視データを統計処理(たとえば、平均化)することで特徴量を抽出する。統計処理で得た特徴量には、たとえば、インスタンスごとの平均CPU使用率、平均メモリ使用量、平均ディスクIOPS、分間受信リクエスト数、分間アラート数がある。推定装置103は、第1障害検出結果および加工済み第1監視データを第1学習データセットとして障害マップDB130に登録する(ステップS310)。つぎに、障害マップDB130について説明する。
【0018】
<障害マップDB130>
図4は、障害マップDB130の一例を示す説明図である。障害マップDB130は、監視対象T1~Tnの障害マップテーブル400-1~400-nを有する。障害マップテーブル400-iは、ある指定期間における障害検出結果401と加工済み監視データ402とを有する。障害検出結果401および加工済み監視データ402は、ステップS310において、登録される。
【0019】
障害検出結果401は、障害ID411と、障害412と、発生場所413と、を含む。障害ID411は、障害を一意に特定する識別情報である。障害412は、障害ID411で特定される障害の種類を示す。発生場所413は、障害412が発生したインスタンスである。
【0020】
加工済み監視データ402は、監視データ(図3の例では、第1監視データ)の各特徴量を加工した加工済み特徴量の集合である。具体的には、たとえば、加工済み監視データ402は、ある指定期間における平均CPU使用率421、平均メモリ使用量422、平均ディスクIOPS413、分間受信リクエスト数424、分間アラート数425を含む。
【0021】
図4に示した障害マップテーブル400-iでは、ある指定期間における障害検出結果401と加工済み監視データ402と示したが、複数の指定期間分の障害検出結果401と加工済み監視データ402とを保持していてもよい。
【0022】
<推定装置103の処理手順例>
図5は、推定装置103の処理手順例を示すフローチャートである。推定装置103は、障害推定モデル302の適用性検証処理を実行する(ステップS501)。障害推定モデル302の適用性検証処理(ステップS501)の詳細については、図6で後述するが、障害推定モデル302の適用性検証処理(ステップS501)により障害ID411ごとの適用率が算出される。
【0023】
つぎに、推定装置103は、すべての障害ID411の適用率がしきい値以上であるか否かを判断する(ステップS502)。すべての障害ID411の適用率がしきい値以上でない場合(ステップS503:No)、障害推定モデル302の追加学習処理を実行し(ステップS503)、ステップS501に戻る。ステップS501では、障害推定モデル302の追加学習処理(ステップS503)後の障害推定モデル302を用いて、障害推定モデル302の適用性検証処理(ステップS501)が再実行される。
【0024】
すべての障害ID411の適用率がしきい値以上である場合(ステップS502:Yes)、推定装置103は、一連の処理を終了する。
【0025】
<障害推定モデル302の適用性検証処理(ステップS501)>
図6は、図5に示した障害推定モデル302の適用性検証処理(ステップS501)の詳細な処理手順例を示すフローチャートである。障害推定モデル302の適用性検証処理(ステップS501)は、監視対象Tiごとに実行される。
【0026】
推定装置103は、障害マップテーブル400-iに未選択の障害ID411があるか否かを判断する(ステップS601)。未選択の障害ID411がある場合(ステップS601:Yes)、推定装置103は、未選択の障害ID411を1つ選択する(ステップS602)。
【0027】
推定装置103は、選択障害ID411の未選択エントリがあるか否かを判断する(ステップS603)。未選択エントリがある場合(ステップS603:Yes)、推定装置103は、選択障害ID411の未選択エントリを1つ選択する(ステップS604)。そして、推定装置103は、選択障害ID411の選択エントリの加工済み監視データ402を障害推定モデル302に入力して、選択エントリの障害推定結果を出力する(ステップS)。そして、ステップS603に戻る。
【0028】
未選択エントリがない場合(ステップS603:No)、推定装置103は、選択障害ID411の適用率を算出して(ステップS606)、ステップS601に戻る。未選択障害ID411がない場合(ステップS601:No)、推定装置103は、障害推定モデル302の適用性検証処理(ステップS501)を終了して、ステップS502に移行する。
【0029】
ここで、適用率の算出(ステップS606)について説明する。適用率とは、監視対象Tiの障害推定モデル302が監視対象Tiにどの程度適用可能かを示す指標である。具体的には、たとえば、適用率は、監視対象Tiについて、選択障害ID411の障害検出結果401と、選択障害ID411の加工済み監視データ402を障害推定モデル302に入力した結果得られる障害推定結果と、が一致したか否かを示す指標値である。たとえば、適用率の分母が、その障害ID411のエントリ数であり、適用率の分子が、その障害ID411のエントリ数のうち障害推定結果がその障害ID411と一致したエントリ数である。
【0030】
たとえば、選択障害ID411が「1」(Server down)であるとする。また、そのエントリ数が10(すなわち、加工済み監視データ402が10個)であるとする。この10個の加工済み監視データ402の各々を障害推定モデル302に入力した結果、障害ID411が「1」である障害推定結果が6個出力されたとする。この場合、適用率は、6/10となる。
【0031】
図7は、適用率リスト700の一例を示す説明図である。適用率リスト700は、障害ID411ごとの適用率701の一覧データである。たとえば、ステップS502のしきい値が0.5である場合、図7では、すべての障害ID411の適用率701が0.5以上ではないため、障害推定モデル302の追加学習処理(ステップS503)が実行される。
【0032】
<障害推定モデル302の追加学習処理(ステップS503)>
図8は、図5に示した障害推定モデル302の追加学習処理(ステップS503)の詳細な処理手順例を示すフローチャートである。ステップS502:Noのあと、推定装置103は、追加学習対象の未選択障害ID411があるか否かを判断する(ステップS801)。追加学習対象の障害ID411とは、適用率701がしきい値以上でない障害ID411である。
【0033】
追加学習対象の未選択障害ID411がある場合(ステップS801:Yes)、推定装置103は、追加学習対象の障害ID411を1つ選択する(ステップS802)。推定装置103は、選択障害ID411の学習データセット(障害検出結果401および加工済み監視データ402)を取得する(ステップS803)。選択障害ID411の学習データセットの取得(ステップS803)の詳細については、図9で後述する。
【0034】
推定装置103は、障害推定モデル302を選択障害ID411の学習データセットで追加学習を実行し、障害推定モデル302を更新する(ステップS804)。そして、ステップS801に戻る。追加学習対象の未選択障害ID411がない場合(ステップS801:No)、推定装置103は、障害推定モデル302の追加学習処理(ステップS503)を終了して、ステップS501に移行する。
【0035】
図9は、障害推定モデル302の追加学習処理(ステップS503)における選択障害ID411の学習データセットの取得例を示すシーケンス図である。推定装置103は、第1障害要因データと同様な方法で、第2障害要因データを生成する(ステップS904)。第2障害要因データとは、監視対象Tiに意図的に障害を発生させるための設定データである。具体的には、たとえば、推定装置103は、事前監視データ(第1監視データでもよい)を追加学習対象の障害ID411に関する障害テストコード301に入力して監視対象Tiでのその障害412の発生の有無を検出する。そして、推定装置103は、障害412の発生の有無により、特定の事前監視データ(第1監視データでもよい)の値を障害を誘発する値に設定することで、第2障害要因データを生成する。
【0036】
推定装置103は、第2障害要因データを監視対象Tiに送信する(ステップS905)。監視対象Tiは、第2障害要因データを取り込んでマイクロサービスMiの処理を実行し、その時の監視データ(第2監視データ)を監視装置102に送信する(ステップS906)。
【0037】
監視装置102は、第2監視データを用いて、障害が監視対象Tiのいずれかのインスタンスで発生したか否か、発生したとすればどのインスタンスでどのような種類の障害が発生したかを検出し、検出した場合は第2障害検出結果を出力する(ステップS907)。監視装置102は、指定期間内で検出された第2障害検出結果および第2監視データを推定装置103に送信する(ステップS908)。
【0038】
推定装置103は、第2監視データを加工する(ステップS909)。具体的には、たとえば、推定装置103は、第2監視データを統計処理(たとえば、平均化)により特徴量を抽出する。推定装置103は、第2障害検出結果および加工済み第2監視データを第2学習データセットとして障害マップDB130の障害検出結果401および加工済み監視データ402に登録する(ステップS910)。
【0039】
図8のステップS803では、推定装置103は、ステップS910で登録された第2学習データセットを取得することになる。
【0040】
<表示画面>
図10は、推定装置103の表示画面例を示す説明図である。表示画面1000は、障害推定結果1001と、監視領域1002と、を表示する。障害推定結果1001は、障害ID411と障害412と発生場所413と適用率701とを関連付けた情報である。監視領域1002は、監視装置からアラートが上がった日付時刻の監視データを表示する領域である。
【0041】
このように、実施例1によれば、障害推定モデル302の監視対象Tiへの適用性を検証することができる。具体的には、たとえば、監視対象Tiの障害推定モデル302がどの障害412に適用可能であるかを特定することができる。また、適用可能でない障害412について障害推定モデル302を追加学習することで、どの障害412にも適用可能な障害推定モデル302に更新することができる。したがって、監視対象Tiに対する障害推定精度の向上を図ることができる。
【実施例0042】
つぎに、実施例2について説明する。実施例2では、障害推定モデル302の適用性検証処理(ステップS501)において、障害412に適用性検証の優先順位を設定する例である。実施例2では、実施例1を中心に説明するため、実施例1と同一構成には同一符号を付し、その説明を省略する。
【0043】
<システム構成例>
図11は、実施例2にかかる推定システム100のシステム構成例を示す説明図である。実施例2では、推定装置103は、データストア1101と障害テスト履歴DB1102とを有する。
【0044】
図12は、データストア1101の一例を示す説明図である。データストア1101は、監視対象ID1201と監視対象構成情報1202とを有する。監視対象ID1201は、監視対象Tiを一意に特定する識別情報である。監視対象構成情報1202は、マイクロサービスID1203とマイクロサービス構成情報1204とを有する。マイクロサービスID1203は、マイクロサービスMiを一意に特定する識別情報である。マイクロサービス構成情報1204は、インスタンスID1205と、カスタマイズ前構成ファイル1206と、カスタマイズ後構成ファイル1207と、差分情報1208と、を有する。
【0045】
インスタンスID1205は、インスタンスを一意に特定する識別情報である。カスタマイズ前構成ファイル1206は、インスタンスID1205で特定されるインスタンスのカスタマイズ前の構成ファイルである。カスタマイズ後構成ファイル1207は、インスタンスID1205で特定されるインスタンスのカスタマイズ後の構成ファイルである。差分情報1208は、カスタマイズ前構成ファイル1206とカスタマイズ後構成ファイル1207との差分を示す情報である。インスタンスの構成ファイルのカスタマイズや差分情報1208の取得は、監視対象Tiで行われ、監視対象Tiからデータストア1101に反映される。
【0046】
図13は、障害テスト履歴DB1102の一例を示す説明図である。障害テスト履歴DB1102は、障害ID411と、適用性検証失敗監視対象数1300と、を有する。適用性検証失敗監視対象数1300は、障害ID411で特定される障害412について、障害推定モデル302の適用性検証処理(ステップS501)で失敗した監視対象Tiの数である。ここで、障害推定モデル302の適用性検証処理(ステップS501)の失敗とは、適用率701がしきい値よりも小さいことを示す。適用性検証失敗監視対象数1300は、障害推定モデル302の適用性検証処理(ステップS501)の実行により更新される。
【0047】
図14は、実施例2にかかる障害推定モデル302の適用性検証処理(ステップS501)の詳細な処理手順例を示すフローチャートである。推定装置103は、ステップS601の実行に先立って、監視対象Tiごとに優先順位決定処理を実行する(ステップS1400)。優先順位決定処理(ステップS1400)は、障害ID411に優先順位を付与する処理であり、図15で後述する。
【0048】
また、未選択の障害ID411がある場合(ステップS601:Yes)、推定装置103は、優先順位が高い未選択障害ID411を1つ選択し(ステップS1402)、ステップS603に移行する。
【0049】
図15は、図14に示した優先順位決定処理(ステップS1400)の詳細な処理手順例を示すフローチャートである。推定装置103は、差分によるポイント付与処理(ステップS1501)を実行し、障害テスト履歴によるポイント付与処理を実行し(ステップS1502)、障害ID411ごとにポイントを合算する(ステップS1503)。障害推定モデル302による推定精度が低いほどポイントが高くなり、ポイントが高いほど優先順位が高くなる。
【0050】
図16は、図15に示した差分によるポイント付与処理(ステップS1501)の詳細な処理手順例を示すフローチャートである。推定装置103は、監視対象ID1201の監視対象構成情報1202を取得する(ステップS1601)。推定装置103は、選択監視対象構成情報1202について、未選択マイクロサービスID1203があるか否かを判断する(ステップS1602)。未選択マイクロサービスID1203がある場合(ステップS1602:Yes)、推定装置103は、選択監視対象構成情報1202の未選択のマイクロサービス構成情報1204を1つ選択する(ステップS1603)。
【0051】
推定装置103は、選択マイクロサービス構成情報1204に未選択のインスタンスID1205があるか否かを判断する(ステップS1604)。未選択のインスタンスID1205がある場合(ステップS1604:Yes)、推定装置103は、選択マイクロサービス構成情報1204の未選択のインスタンスID1205を1つ選択する(ステップS1605)。
【0052】
推定装置103は、選択インスタンスID1205について差分情報1208があるか否かを判断する(ステップS1606)。差分情報1208がない場合(ステップS1606:No)、ステップS1604に戻る。一方、差分情報1208がある場合(ステップS1606:Yes)、選択インスタンスID1205のインスタンスが発生場所413となる障害ID411を障害マップDB130から検出する(ステップS1607)。推定装置103は、検出障害ID411に1ポイント付与する(ステップS1608)。そして、ステップS1604に戻る。
【0053】
ステップS1604において、未選択のインスタンスID1205がない場合(ステップS1604:No)、ステップS1602に戻る。ステップS1602において、未選択マイクロサービスID1203がない場合(ステップS1602:No)、推定装置103は、差分によるポイント付与処理(ステップS1501)を終了し、ステップS1502に移行する。このように、差分があるインスタンスが発生場所413となる障害ID411ほど、ポイント数が大きくなり、適用性検証の優先順位が高くなる。
【0054】
図17は、図15に示した障害テスト履歴によるポイント付与処理(ステップS1502)の詳細な処理手順例を示すフローチャートである。推定装置103は、障害テスト履歴DB1102を読み込む(ステップS1701)。推定装置103は、適用性検証失敗監視対象数1300に応じて障害ID411にポイント付与する(ステップS1702)。具体的には、たとえば、推定装置103は、適用性検証失敗監視対象数1300が大きいほど障害推定モデル302の推定精度が低いため、付与するポイント数が大きくなり、適用性検証の優先順位が高くなる。
【0055】
このように、優先順位の高い障害412、すなわち、障害推定モデル302の推定精度が低い障害412から順次適用性検証を実行することができる。
【0056】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【0057】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0058】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
【0059】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【0060】
100 推定システム
101 障害テスト装置
102 監視装置
103 推定装置
201 プロセッサ
202 記憶デバイス
301 障害テストコード
302 障害推定モデル
401 障害検出結果
402 監視データ
412 障害
413 発生場所
700 適用率リスト
701 適用率
130 障害マップDB
Ti 監視対象
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17