(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023136444
(43)【公開日】2023-09-29
(54)【発明の名称】解析プログラム、解析方法、および情報処理システム
(51)【国際特許分類】
G06F 11/07 20060101AFI20230922BHJP
【FI】
G06F11/07 190
G06F11/07 140A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022042116
(22)【出願日】2022-03-17
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】及川 雄太
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042JJ20
5B042KK15
5B042KK20
5B042MC33
(57)【要約】
【課題】影響範囲に含まれる要素の判定の確度を向上させる。
【解決手段】情報処理システム10は、監視対象システム1における問題の発生を検知すると、複数のソフトウェア要素6~8それぞれについて、問題が発生していない期間と問題が発生している期間との処理の実行状態の乖離度を算出する。また情報処理システム10は、システム構成上の関係に基づいて、複数のソフトウェア要素6~8それぞれについて、問題と関係する度合いを示す関与度を算出する。さらに情報処理システム10は、乖離度と関与度とに基づいて、複数のソフトウェア要素6~8それぞれの単体影響ポイントを算出する。そして情報処理システム10は、第1のソフトウェア要素の単体影響ポイントと、第1のソフトウェア要素による処理を介した通信の通信経路上の第2のソフトウェア要素の単体影響ポイントに基づいて、第1のソフトウェア要素の総合影響ポイントを算出する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
監視対象システムで問題が発生したとき、前記監視対象システムにおいて実行される複数のソフトウェア要素それぞれについて、前記問題が発生していない期間における処理の実行状態を表す第1の測定値と、前記問題が発生している期間における処理の実行状態を表す第2の測定値との乖離度を算出し、
前記問題の発生箇所と前記複数のソフトウェア要素それぞれとのシステム構成上の関係に基づいて、前記複数のソフトウェア要素それぞれについて、前記問題と関係する度合いを示す関与度を算出し、
前記乖離度と前記関与度とに基づいて、前記複数のソフトウェア要素それぞれについて、前記問題から個別に影響を受ける度合いを示す単体影響ポイントを算出し、
第1のソフトウェア要素の単体影響ポイントと、前記第1のソフトウェア要素による処理を介した通信の通信経路上の第2のソフトウェア要素の単体影響ポイントに基づいて、前記第1のソフトウェア要素が前記問題から影響を受ける度合いを示す総合影響ポイントを算出する、
処理をコンピュータに実行させる解析プログラム。
【請求項2】
前記総合影響ポイントを算出する処理では、前記第1のソフトウェア要素を介した処理要求の通信経路における前記処理要求の送信先にあるソフトウェア要素を前記第2のソフトウェア要素とする、
請求項1記載の解析プログラム。
【請求項3】
前記総合影響ポイントを算出する処理では、前記第1のソフトウェア要素の単体影響ポイントと前記第2のソフトウェア要素の単体影響ポイントとの合計を、前記総合影響ポイントとする、
請求項1または2に記載の解析プログラム。
【請求項4】
前記関与度を算出する処理では、前記関与度を算出する対象のソフトウェア要素を実行している仮想的なソフトウェア実行環境のうちの、前記問題の発生箇所であるノード上で動作している前記ソフトウェア実行環境の割合に基づいて、前記対象のソフトウェア要素の前記関与度を算出する、
請求項1から3までのいずれかに記載の解析プログラム。
【請求項5】
前記関与度を算出する処理では、前記問題の発生箇所であるソフトウェア要素の前記関与度を、前記問題の発生箇所となっていないソフトウェア要素の前記関与度より高くする、
請求項1から3までのいずれかに記載の解析プログラム。
【請求項6】
前記関与度を算出する処理では、前記関与度を算出する対象のソフトウェア要素を実行している仮想的なソフトウェア実行環境を管理するための複数の管理単位のうちの、前記問題の発生箇所である管理単位の割合に基づいて、前記対象のソフトウェア要素の前記関与度を算出する、
請求項1から3までのいずれかに記載の解析プログラム。
【請求項7】
前記乖離度を算出する処理では、前記複数のソフトウェア要素それぞれについての通信経路ごとの前記乖離度を算出し、
前記単体影響ポイントを算出する処理では、前記複数のソフトウェア要素それぞれについての通信経路ごとの前記単体影響ポイントを算出し、
前記総合影響ポイントを算出する処理では、前記複数のソフトウェア要素それぞれについての通信経路ごとの前記総合影響ポイントを算出する、
請求項1から6までのいずれかに記載の解析プログラム。
【請求項8】
前記第1のソフトウェア要素の前記総合影響ポイントが所定値以上の場合、前記第1のソフトウェア要素が前記問題の影響範囲内にあると判定する、
処理を前記コンピュータにさらに実行させる請求項1から7までのいずれかに記載の解析プログラム。
【請求項9】
監視対象システムで問題が発生したとき、前記監視対象システムにおいて実行される複数のソフトウェア要素それぞれについて、前記問題が発生していない期間における処理の実行状態を表す第1の測定値と、前記問題が発生している期間における処理の実行状態を表す第2の測定値との乖離度を算出し、
前記問題の発生箇所と前記複数のソフトウェア要素それぞれとのシステム構成上の関係に基づいて、前記複数のソフトウェア要素それぞれについて、前記問題と関係する度合いを示す関与度を算出し、
前記乖離度と前記関与度とに基づいて、前記複数のソフトウェア要素それぞれについて、前記問題から個別に影響を受ける度合いを示す単体影響ポイントを算出し、
第1のソフトウェア要素の単体影響ポイントと、前記第1のソフトウェア要素による処理を介した通信の通信経路上の第2のソフトウェア要素の単体影響ポイントに基づいて、前記第1のソフトウェア要素が前記問題から影響を受ける度合いを示す総合影響ポイントを算出する、
処理をコンピュータが実行する解析方法。
【請求項10】
監視対象システムで問題が発生したとき、前記監視対象システムにおいて実行される複数のソフトウェア要素それぞれについて、前記問題が発生していない期間における処理の実行状態を表す第1の測定値と、前記問題が発生している期間における処理の実行状態を表す第2の測定値との乖離度を算出し、前記問題の発生箇所と前記複数のソフトウェア要素それぞれとのシステム構成上の関係に基づいて、前記複数のソフトウェア要素それぞれについて、前記問題と関係する度合いを示す関与度を算出し、前記乖離度と前記関与度とに基づいて、前記複数のソフトウェア要素それぞれについて、前記問題から個別に影響を受ける度合いを示す単体影響ポイントを算出し、第1のソフトウェア要素の単体影響ポイントと、前記第1のソフトウェア要素による処理を介した通信の通信経路上の第2のソフトウェア要素の単体影響ポイントに基づいて、前記第1のソフトウェア要素が前記問題から影響を受ける度合いを示す総合影響ポイントを算出する処理部、
を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、解析プログラム、解析方法、および情報処理システムに関する。
【背景技術】
【0002】
コンピュータシステムに何か問題が発生した場合に、そのシステムを継続して稼働させるために、発生した問題により生じる影響の及ぶ範囲を正確に把握することが望まれている。他方、ソフトウェアの仮想的な実行環境であるコンテナを活用したシステムでは、その特性からシステム構成が複雑になりやすい。しかもコンテナの配置など構成が頻繁に変化する。そのため、問題により生じる影響の範囲を正確に把握することの困難性が増している。
【0003】
システムの問題の影響の把握に関連する技術としては、例えば、全ての障害伝搬経路を予め計算することが不要で、障害原因の自動的な絞り込みが可能である障害原因の推論方法が提案されている。また、ネットワークの構成を変更する際に、影響を受け得る端末の評価を適切に実行することができるネットワーク管理装置も提案されている。さらに、広い範囲に渡って迅速かつ客観的な評価を実現するネットワークセキュリティに関する被害評価システムも提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-005138号公報
【特許文献2】特開2021-072548号公報
【特許文献3】特開2002-328893号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来手法では、例えば問題発生時のシステムの構成情報と通信経路情報から、問題発生箇所に関連する範囲が割り出され、該当範囲が影響範囲とされる。この場合、例えばノード(ハードウェアまたはVM(Virtual Machine))で発生した問題の影響は、そのノードで動作するすべてのコンテナ、およびそのコンテナで実行されるソフトウェア(SW)要素に及ぶものと判断される。
【0006】
また、例えば、問題の影響を受けるSW要素に対して処理要求を送信するSW要素にも、問題の影響が波及するものと判断される。このように、システム構成情報と通信経路情報だけで影響範囲を割り出すと、影響範囲が広くなりすぎ、影響範囲に含まれている要素が本当に影響を受けるか否かの確度が低下してしまう。すなわち、実際には影響がないか、あるいは影響が軽微であり即時対応が不要な要素まで影響範囲に含まれる可能性がある。その結果、発生した問題に対して迅速に対応するべきSW要素への対処が遅れてしまう。
【0007】
1つの側面では、本件は、影響範囲に含まれるソフトウェア要素の判定の確度を向上させることを目的とする。
【課題を解決するための手段】
【0008】
1つの案では、以下の処理をコンピュータに実行させる解析プログラムが提供される。
コンピュータは、監視対象システムで問題が発生したとき、監視対象システムにおいて実行される複数のソフトウェア要素それぞれについて、問題が発生していない期間における処理の実行状態を表す第1の測定値と、問題が発生している期間における処理の実行状態を表す第2の測定値との乖離度を算出する。コンピュータは、問題の発生箇所と複数のソフトウェア要素それぞれとのシステム構成上の関係に基づいて、複数のソフトウェア要素それぞれについて、問題と関係する度合いを示す関与度を算出する。コンピュータは、乖離度と関与度とに基づいて、複数のソフトウェア要素それぞれについて、問題から個別に影響を受ける度合いを示す単体影響ポイントを算出する。そしてコンピュータは、第1のソフトウェア要素の単体影響ポイントと、第1のソフトウェア要素による処理を介した通信の通信経路上の第2のソフトウェア要素の単体影響ポイントに基づいて、第1のソフトウェア要素が問題から影響を受ける度合いを示す総合影響ポイントを算出する。
【発明の効果】
【0009】
1態様によれば、影響範囲に含まれるソフトウェア要素の判定の確度が向上する。
【図面の簡単な説明】
【0010】
【
図1】第1の実施の形態に係る解析方法の一例を示す図である。
【
図2】第2の実施の形態のシステム構成の一例を示す図である。
【
図3】解析装置のハードウェアの一例を示す図である。
【
図4】解析装置が有する機能の一例を示すブロック図である。
【
図5】問題の影響範囲を解析するために受け渡される情報の一例を示す図である。
【
図7】レイヤを跨がった要素間の関係の一例を示す図である。
【
図10】運用管理システムの構成の一例を示す図である。
【
図11】縦の構成関係による候補要素特定の一例を示す図である。
【
図12】横の構成関係による候補要素特定の一例を示す図である。
【
図14】影響ポイント算出処理の手順の一例を示すフローチャートである。
【
図15】乖離度算出処理の手順の一例を示すフローチャートである。
【
図16】平常時統計指標テーブルの一例を示す図である。
【
図17】関与度算出処理の手順の一例を示すフローチャートである。
【
図18】単体影響ポイント算出処理の手順の一例を示すフローチャートである。
【
図19】総合影響ポイント算出処理の手順の一例を示すフローチャートである。
【
図20】影響箇所の候補要素の特定結果の一例を示す図である。
【
図23】単体影響ポイントの算出結果の一例を示す図である。
【
図24】総合影響ポイントの算出結果の一例を示す図である。
【
図26】問題発生箇所がワークロードの場合の関与度の算出結果の一例を示す図である。
【
図27】問題発生箇所がPodの場合の関与度の算出結果の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
第1の実施の形態は、影響範囲に含まれるソフトウェア(SW)要素の判定の確度を向上させるための、監視対象のシステムの運用状態の解析方法である。
【0012】
図1は、第1の実施の形態に係る解析方法の一例を示す図である。
図1には、第1の実施の形態に係る解析方法を実現するための情報処理システム10を示している。情報処理システム10は、例えば所定の解析プログラムを実行することにより、第1の実施の形態に係る解析方法を実施することができる。
【0013】
情報処理システム10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理システム10が有するメモリまたはストレージ装置である。処理部12は、例えば情報処理システム10が有するプロセッサまたは演算回路である。情報処理システム10は、例えば監視対象システム1を監視するコンピュータと、監視結果に基づいて発生した問題の影響範囲を解析するコンピュータとで構成される。なお情報処理システム10は、監視対象システム1の監視と監視結果に基づく問題の影響範囲の解析とを行う1台のコンピュータであってもよい。
【0014】
情報処理システム10は、監視対象システム1に問題が発生した場合に、その問題の影響範囲を解析する。監視対象システム1は、例えば複数のノード1a,1bを含んでいる。ノード1a,1bそれぞれは、例えばコンピュータ(物理マシン)または仮想マシンである。複数のノード1a,1bでは、サービスを提供するための複数のSW要素6~8が動作している。SW要素6~8は、例えばワークロードと呼ばれるアプリケーションソフトウェア(以下、アプリと呼ぶ)である。SW要素6~8は、例えばアプリの仮想的な実行環境であるコンテナで実行される。同じノードで実現されている1または複数のコンテナは、例えばPodと呼ばれる管理単位(コンテナの集合体)で管理される。
【0015】
例えばSW要素6は、複数のPod6a,6bそれぞれのコンテナで実行されている。SW要素7は、複数のPod7a,7bそれぞれのコンテナで実行されている。SW要素8は、複数のPod8a,8bそれぞれのコンテナで実行されている。
【0016】
情報処理システム10の記憶部11は、解析に用いる情報を記憶する。例えば記憶部11には、平常時メトリック2、問題発生時メトリック3、構成情報4、および通信経路情報5を記憶する。
【0017】
平常時メトリック2は、監視対象システム1が平常動作をしている間に測定された、処理の実行状態を表す所定の指標の値(第1の測定値)である。例えば平常時メトリック2には、平常時の処理実行時間の測定結果が示される。
【0018】
問題発生時メトリック3は、監視対象システム1に問題が発生している間に測定された、処理の実行状態を表す所定の指標の値(第2の測定値)である。例えば問題発生時メトリック3には、問題が発生している間の処理実行時間の測定結果が示される。
【0019】
構成情報4は、監視対象システム1で実現されているアプリの実行環境の階層構造が示されている。例えば構成情報4には、最下層のノードの情報、ノードの上位層である実行リソース(コンテナとPodを含む)の情報、実行リソースの上位層であるSW要素6~8の情報が含まれる。さらに構成情報4には、ノード、実行リソースおよびSW要素6~8間の関係が示されている。すなわち構成情報4には、SW要素6~8を実行しているコンテナがどのPodに含まれるのか、そのコンテナがどのノード上で動作しているのかを示す情報が示されている。このような構成情報4に示される構成関係は、階層を跨がった縦の構成関係と呼ぶことができる。
【0020】
通信経路情報5は、SW要素6~8における処理要求の通信経路を示す情報である。
図1の例では、SW要素6から送信された処理要求はSW要素7で受信される。SW要素7では、受信した処理要求に応じた処理を実行すると共に、SW要素8に処理要求を送信する。SW要素8は、SW要素7からの処理要求に応じた処理を行う。SW要素8は、処理結果をSW要素7に送信する。SW要素7は、SW要素8から取得した処理結果を用いてSW要素6からの処理要求に応じた処理を完了させ、処理結果をSW要素6に送信する。SW要素6は、SW要素7からの処理結果を用いて自己の処理を完了させる。この場合、SW要素6の通信先がSW要素7、SW要素7の通信先がSW要素8の一連の通信経路となる。SW要素6が通信経路の始端であり、SW要素8が通信経路の終端である。このような通信経路情報5に示される関係は、SW要素6~8間の横の構成関係と呼ぶことができる。
【0021】
処理部12は、監視対象システム1における問題の発生を検知する。例えば処理部12は、監視対象システム1の動作を監視して、例えばメトリックの異常値の検知などにより、問題発生を検知することもできる。
【0022】
処理部12は、監視対象システム1における問題の発生を検知すると、複数のSW要素6~8それぞれについて、処理の実行状態を表す所定の指標に関する第1の測定値と第2の測定値との乖離度を算出する。第1の測定値は、平常時メトリック2に示される、問題が発生していない期間における値である。第2の測定値は、問題発生時メトリック3に示される、問題が発生している期間における値である。処理部12は、例えば問題検知時点で問題発生時メトリック3が取得できていない場合、監視対象システム1から問題発生時メトリック3を取得して、乖離度を算出する。
【0023】
さらに処理部12は、問題の発生箇所と複数のSW要素6~8それぞれとのシステム構成上の関係に基づいて、複数のSW要素6~8それぞれについて、問題と関係する度合いを示す関与度を算出する。例えばいずれかのノード(以下、第1のノードとする)で問題が発生した場合、処理部12は、第1のノード上で動作しているSW要素の関与度を、その第1のノード上で動作していないSW要素の関与度よりも高く設定する。なお1つのSW要素は複数の仮想的な実行環境(例えばコンテナ)で実行されている場合がある。その場合、処理部12は、例えば関与度を算出する対象のソフトウェア要素を実行している仮想的なソフトウェア実行環境のうちの、問題の発生箇所であるノード上で動作しているソフトウェア実行環境の割合に基づいて、対象のソフトウェア要素の関与度を算出する。なお、特定のSW要素を実行するコンテナがPod単位で管理されている場合、処理部12は、問題が発生したノード上で動作しているPodの割合によって、問題の発生箇所であるノード上で動作しているコンテナの割合を把握することができる。
【0024】
複数のSW要素6~8それぞれの乖離度と関与度との算出が終了すると、処理部12は、乖離度と関与度とに基づいて、複数のSW要素6~8それぞれについて、問題から個別に影響を受ける度合いを示す単体影響ポイントを算出する。例えば処理部12は、複数のSW要素6~8それぞれについての乖離度と関与度との乗算結果を、該当するSW要素の単体影響ポイントとする。
【0025】
さらに処理部12は、SW要素6~8間の相互の影響を加味し、複数のSW要素6~8それぞれについて、問題から受ける総合的な影響の度合いを示す総合影響ポイントを算出する。ここで、総合影響ポイントの算出対象を第1のSW要素とする。このとき処理部12は、第1のSW要素の単体影響ポイントと、第1のSW要素を介した通信の通信経路上の第2のSW要素の単体影響ポイントに基づいて、第1のSW要素が問題から影響を受ける度合いを示す総合影響ポイントを算出する。通信経路は、通信経路情報5に基づいて判断することができる。例えば処理部12は、第1のSW要素を介した処理要求の通信経路における処理要求の送信先にあるSW要素を第2のSW要素とする。そして処理部12は、例えば第1のSW要素の単体影響ポイントと第2のSW要素の単体影響ポイントとの合計を、総合影響ポイントとする。
【0026】
そして処理部12は、第1のSW要素の総合影響ポイントが所定値以上の場合、第1のSW要素が発生した問題の影響範囲内にあると判定する。総合影響ポイントは、平常時メトリック2と問題発生時メトリック3との乖離度と、構成情報4に示された縦の構成関係に基づく関与度と、通信経路情報5に示された横の構成関係とを用いた、信頼性の高い値となっている。そのためを総合影響ポイントにより各SW要素が問題の影響範囲か否かを判断することで、確度の高い判断結果を得ることができる。
【0027】
すなわち、縦の構成関係により、問題により生じる構成上の影響の範囲を得ることができ、横の構成関係により、発生した問題がシステム上の別の要素に実際に与える影響の範囲と度合いを得ることができる。その結果、実際に生じている影響の大きさに基づいた優先度の高い影響範囲を詳細に把握できるようになり、復旧・対処時間の短縮が可能となる。
【0028】
例えば
図1の例ではノード1bで問題が発生している。このときSW要素6の乖離度が「1」、SW要素7の乖離度が「10」、SW要素8の乖離度が「6」であるものとする。またSW要素6は、ノード1aで動作するPod6a,6bで実行されており、関与度は「0」である。SW要素7は、ノード1bで動作するPod7a,7bで実行されており、関与度は「1」である。SW要素8は、ノード1aで動作するPod8aとノード1bで動作するPod8bで実行されており、関与度は「0.5」である。
【0029】
単体影響ポイントを「乖離度×関与度」とすると、SW要素6の単体影響ポイントは「0」となる。SW要素7の単体影響ポイントは「10」となる。SW要素8の単体影響ポイントは「3」となる。
【0030】
そして複数のSW要素6~8それぞれの総合影響ポイントを、通信先(通信経路の終端まで)の単体影響ポイント(SW要素自身の単体影響ポイントを含む)の和とする。するとSW要素6の総合影響ポイントは「13」となる。SW要素7の総合影響ポイントは「13」となる。SW要素8の総合影響ポイントは「3」となる。ここで影響範囲内にあると判断するための総合影響ポイントの閾値を「10」とすると、SW要素6とSW要素7とが問題の影響を受ける影響要素と判断される。
【0031】
図1の例の場合、SW要素7については、そのSW要素7を実行している複数のPod7a,7bが共に問題発生箇所のノード1bで動作しており、影響を受ける可能性が高い。すなわちSW要素7が影響要素であるとの判断結果の確度は高い。またSW要素6は、SW要素7に対して処理要求を送信する。すると問題の影響を受けてSW要素7での処理が遅延すれば、その遅延の影響がSW要素6に及ぶ。そのため、SW要素7が影響要素であるとの判断結果の確度は高い。
【0032】
他方、SW要素8については、そのSW要素8を実行している2つのPod8a,8bのち、一方は問題が発生したノード1bで動作しているものの、他方は別のノード1aで動作している。Pod8a,8bが冗長構成となっている場合、Pod8bによるSW要素8の実行による処理が遅延しても、他方のPod8aによるSW要素8の実行により、全体としての処理遅延は微小ですむ可能性がある。またSW要素8は、通信経路の終端であり、他のSW要素に処理要求を送信し、処理結果を待つこともない。そのため発生した問題のSW要素8への影響は軽微である可能性が高く、SW要素8を影響範囲外とする判断結果の確度は高い。
【0033】
なお
図1の例では、ノード1bで問題が発生した場合の例を示しているが、問題発生箇所がいずれかのSWの場合もあり得る。その場合、関与度の算出処理が、ノード1bで問題が発生した場合と異なる。処理部12は、いずれかのSW要素で問題が発生した場合、問題の発生箇所となっているSW要素の関与度を、問題の発生箇所となっていないSW要素の関与度より高くする。例えば処理部12は、問題の発生箇所のSW要素の関与度を「1」、それ以外のSW要素の関与度を「0」とする。これにより、SW要素に問題が発生した場合にも、問題の影響範囲を高い確度で判断することができる。
【0034】
また、問題発生箇所がいずれかのPod(コンテナの管理単位)の場合もあり得る。その場合、関与度の算出処理が、ノード1bで問題が発生した場合と異なる。例えば処理部12は、関与度を算出する対象のソフトウェア要素を実行している仮想的なソフトウェア実行環境を管理する複数の管理単位のうちの、問題の発生箇所である管理単位の割合に基づいて、対象のソフトウェア要素の関与度を算出する。これにより、Podに問題が発生した場合にも、問題の影響範囲を高い確度で判断することができる。
【0035】
図1の例では、1つの通信経路しか示していないが、監視対象システム1には、通信経路の異なる様々な通信が行われる。その場合、処理部12は、例えば複数のSW要素6~8それぞれについて通信経路ごとに総合影響ポイントを算出してもよい。例えば処理部12は、複数のSW要素6~8それぞれについての通信経路ごとの乖離度を算出する。また処理部12は、複数のSW要素それぞれについての通信経路ごとの単体影響ポイントを算出する。そして処理部12は、複数のSW要素それぞれについての通信経路ごとの総合影響ポイントを算出する。
【0036】
このように通信経路ごとの総合影響ポイントを算出することで、監視対象システム1内に多数の通信経路が存在する場合であっても、問題の影響範囲を高い確度で判断することができる。
【0037】
〔第2の実施の形態〕
第2の実施の形態は、コンテナを用いてサービスを運用する運用システムで発生した問題を監視装置で検知し、検知された問題の影響範囲を解析装置で解析するコンピュータシステムである。
【0038】
図2は、第2の実施の形態のシステム構成の一例を示す図である。運用システム30には、複数のノード31~33が含まれている。複数のノード31~33それぞれは、コンテナを用いてユーザへのサービスを提供するコンピュータまたはVMである。複数のノード31~33は、ネットワーク20に接続されている。ネットワーク20には、さらに監視装置41、解析装置100、および運用端末42が接続されている。
【0039】
監視装置41は、運用システム30内の複数のノード31~33それぞれの動作状況を監視するコンピュータである。監視装置41は、いずれかのノード、ノード内のコンテナ、またはアプリで問題が発生した場合、その問題の発生を検知する。例えば監視装置41は、処理に要する時間が所定の基準値以上となった場合、問題が発生したと判断する。
【0040】
解析装置100は、発生した問題の影響の範囲を解析するコンピュータである。解析装置100は、監視装置41から問題発生箇所などの情報を取得し、取得した情報に基づいて問題の影響範囲を解析する。
【0041】
運用端末42は、運用システム30の運用者が使用するコンピュータである。運用者は、問題が発生した場合に、運用端末42を利用してその問題の影響範囲を確認することができる。
【0042】
図3は、解析装置のハードウェアの一例を示す図である。解析装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
【0043】
メモリ102は、解析装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
【0044】
バス109に接続されている周辺機器としては、ストレージ装置103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
【0045】
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、解析装置100の補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0046】
GPU104は画像処理を行う演算装置であり、グラフィックコントローラとも呼ばれる。GPU104には、モニタ21が接続されている。GPU104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
【0047】
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0048】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取り、または光ディスク24へのデータの書き込みを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
【0049】
機器接続インタフェース107は、解析装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
【0050】
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。ネットワークインタフェース108は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。またネットワークインタフェース108は、基地局やアクセスポイントなどの無線通信装置に電波によって通信接続される無線通信インタフェースであってもよい。
【0051】
解析装置100は、以上のようなハードウェアによって実現することができる。複数のノード31~33、監視装置41、および運用端末42も、解析装置100と同様のハードウェアで実現することができる。また、第1の実施の形態に示した情報処理システム10も、解析装置100と同様のハードウェアにより実現することができる。
【0052】
解析装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。解析装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、解析装置100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また解析装置100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0053】
解析装置100は、システムの構成情報と通信経路情報に加え、Kubernetes(登録商標)のワークロードごとの平常時と問題発生時とのメトリックの乖離度を用いて、問題の影響範囲を高い確度で特定する。ワークロードは、コンテナ内で実行されるアプリである。コンテナでワークロードを実行することにより、そのワークロードに応じたサービスが提供される。ワークロードは、第1の実施の形態に示したSW要素の一例である。
【0054】
ここで、平常時と問題発生時とのメトリックの乖離度を用いて問題の影響範囲を特定することの有用性について説明する。メトリックの乖離度を用いない場合、システムの構成情報と通信経路情報から問題の影響範囲を判断することとなる。その場合、例えば問題の発生箇所(ノード、ワークロード、またはPod)から、システムの構成上の下位構造から上位構造を辿ったときに到達するワークロードが影響範囲に含められる。また影響範囲内のワークロードを通信の要求先するワークロードも影響範囲に含められる。
【0055】
このようにシステムの構成情報と通信経路情報のみから問題の影響範囲を特定する場合のように、通信経路を辿って到達するすべてのワークロードを影響範囲に含めると、影響範囲が膨大になる可能性がある。影響範囲が膨大になると、問題の対処に時間がかかる。しかも影響を受けるワークロードに対して処理要求を送信している他のワークロードであっても、問題の影響をほとんど受けない場合がある。例えば通信およびアプリが冗長化されており、1つの通信経路上で問題が発生しても、冗長構成の他の通信経路を用いて、問題の影響を受けずに処理を継続できる可能性がある。このように、システムの構成情報と通信経路情報のみから問題の影響範囲を特定すると、影響範囲内とされたワークロードが問題の影響を受ける確度が低くなる。
【0056】
そこで第2の実施の形態に係るシステムの解析装置100では、平常時と問題発生時とのメトリックの乖離度を用いて、影響範囲内とされたワークロードが問題の影響を受ける確度を向上させる。すなわち平常時と問題発生時とのメトリックの乖離度が大きいワークロードは、発生した問題の影響を大きく受けているものと考えられる。また問題が発生したノード上で動作しているワークロードは、その問題に関与しており、問題の影響を受けているものと考えられる。そこで解析装置100は、問題への関与度と乖離度とに基づいて、影響の度合いを影響ポイントで表し、影響ポイントが所定値以上のワークロードを影響範囲に含めることとする。これにより高い確度で問題の影響を受けているワークロードのみを含む影響範囲を、運用者に提示することができる。
【0057】
図4は、解析装置が有する機能の一例を示すブロック図である。解析装置100は、構成情報取得部110、候補要素特定部120、および影響ポイント算出部130を有する。
【0058】
構成情報取得部110は、運用システム30からシステムの構成情報と通信経路情報とを取得する。構成情報取得部110は、取得した構成情報と通信経路情報とを、候補要素特定部120と影響ポイント算出部130に送信する。
【0059】
候補要素特定部120は、発生した問題から影響を受ける可能性のある候補要素を特定する。例えば候補要素特定部120は、問題が発生した箇所からシステムの構成情報を上位に辿り、到達可能なワークロードを候補要素とする。さらに候補要素特定部120は、候補要素となったワークロードを通る通信経路を処理要求の送信元方向に辿り、到達可能なワークロードを候補要素に加える。候補要素特定部120は、特定した候補要素を影響ポイント算出部130に通知する。
【0060】
影響ポイント算出部130は、監視装置41から候補要素それぞれについての平常時メトリックと問題発生時メトリックとを取得する。そして影響ポイント算出部130は、候補要素ごとに、平常時メトリックと問題発生時メトリックの乖離度を算出する。また影響ポイント算出部130は、システムの構成情報に示される問題発生箇所と候補要素との関係に基づいて、候補要素それぞれの問題に対する関与度を算出する。そして影響ポイント算出部130は、候補要素それぞれについて、その候補要素、および候補要素と同じ通信経路上の他の候補要素についての乖離度と関与度とに基づいて、影響ポイントを算出する。影響ポイント算出部130は、影響ポイントが所定の閾値以上の候補要素を、問題の影響が及ぶ影響要素(影響範囲内の要素)と判定する。影響ポイント算出部130は、影響範囲内の要素を示す情報を運用端末42に送信する。
【0061】
なお、構成情報取得部110、候補要素特定部120、および影響ポイント算出部130の機能は、例えば、その機能に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【0062】
図5は、問題の影響範囲を解析するために受け渡される情報の一例を示す図である。例えば解析装置100の構成情報取得部110は、運用システム30から構成情報51と通信経路情報52を取得する。構成情報取得部110は、取得した構成情報51と通信経路情報52を、候補要素特定部120と影響ポイント算出部130とに送信する。
【0063】
監視装置41は、運用システム30の問題を検知した場合に、問題が発生した要素を示す問題箇所情報53を候補要素特定部120に通知する。また監視装置41は、平常時メトリック54と問題発生時メトリック55とを影響ポイント算出部130に送信する。候補要素特定部120は、構成情報51、通信経路情報52、および問題箇所情報53に基づいて特定した候補要素を示す候補要素情報56を影響ポイント算出部130に送信する。
【0064】
影響ポイント算出部130は、取得した各情報に基づいて、候補要素ごとかつ通信経路ごとの総合影響ポイント57を算出する。そして影響ポイント算出部130は、総合影響ポイント57と問題の影響範囲を示す影響範囲情報58とを運用端末42に送信する。
【0065】
図6は、構成情報の一例を示す図である。構成情報51には、ノード31~33ごとのノード情報61a,61b,・・・、ノード31~33内のコンテナごとのコンテナ情報62a,62b,・・・、コンテナ内のPodごとのPod情報63a,63b,・・・、Podで実行されるワークロードごとのサービス情報64a,64b,・・・が含まれる。
【0066】
ノード情報61a,61b,・・・には、対応するノードの名前(name)、ステータス(status)、役割(role)などの情報が含まれる。コンテナ情報62a,62b,・・・には、対応するコンテナの名前(name)、ステータス(status)、そのコンテナを実行しているノード(ホスト)の名前(host)などが含まれる。Pod情報63a,63b,・・・には、対応するPodの名前(name)、ステータス(status)、そのPodを有しているコンテナの名前(container)などが含まれる。サービス情報64a,64b,・・・には、対応するサービスの名前(name)、ステータス(status)、そのサービスを提供しているワークロードを実行している1以上のPodの名前(Pods)、そのサービスの提供に用いるソフトウェアコンポーネントの名前(component)などが含まれる。
【0067】
構成情報51に基づいて、運用システム30内の各要素のレイヤを跨がった関係(縦の構成関係)を把握することができる。レイヤは、例えばノード、実行リソース、サービスに分けることができる。
【0068】
図7は、レイヤを跨がった要素間の関係の一例を示す図である。ノード、実行リソース、サービスに階層を分けた場合、ノードレイヤはノード情報61で示され、実行リソースレイヤはコンテナ情報62とPod情報63とで示され、サービスレイヤはサービス情報64で示される。
【0069】
ここで、あるサービスのサービス情報64に設定されているPodの名前(name)により、そのサービスを提供するための1または複数のワークロードそれぞれが実行されているPodが特定できる。またPod情報63に設定されているコンテナの名前(container)により、そのPodを有しているコンテナが特定できる。コンテナ情報62に設定されているノード(ホスト)の名前(host)により、そのコンテナを実行しているノードが特定できる。
【0070】
このように構成情報51に基づいてレイヤを跨がった要素間の関係を把握することが可能となる。また同じレイヤに属する要素間の関係は、通信経路情報52に基づいて把握することが可能である。
【0071】
図8は、通信経路情報の一例を示す図である。通信経路情報52には、例えばPod間の通信ごとに、通信元(From)、通信先(To)、経路が設定されている。通信元(From)は、処理要求を送信したPodを示す情報である。通信先(To)は、処理要求を受信したPodを示す情報である。経路は、処理要求の送信に使用された通信経路を示す情報である。例えば通信経路「/app/A/C」は、「Pod A」から「Pod C」へのアプリ間の通信経路を示している。
【0072】
図8の例では、通信経路情報52の1行目のデータと2行目のデータとは、通信元と通信先との組が同じであるが、異なる通信経路を用いた通信である。また通信経路情報52の1行目のデータと3行目のデータとは、通信元と通信先との組は異なるが、同じ通信経路を用いた通信である。1行目のデータと3行目のデータとにより、通信経路「/app/A/C」は、「Pod A」→「Pod B」→「Pod C」の通信経路であることが分かる。
【0073】
このような通信経路情報52から把握できる構成関係を横の構成関係と呼ぶこととする。横の構成関係によって、Pod間の関係が明確となる。
図9は、横の構成関係の一例を示す図である。
図9には、4つのサービスそれぞれに対応するワークロード71~74が示されている。ワークロード71は、サービス「Service 1」を提供するアプリである。ワークロード71は、ノード「Node X」上で動作するPod「Pod A」で実行されるアプリと、ノード「Node Y」上で動作するPod「Pod B」で実行されるアプリとを含む。
【0074】
ワークロード72は、サービス「Service 2」を提供するアプリである。ワークロード72は、ノード「Node X」上で動作するPod「Pod C」で実行されるアプリと、ノード「Node Z」上で動作するPod「Pod D」で実行されるアプリとを含む。
【0075】
ワークロード73は、サービス「Service 3」を提供するアプリである。ワークロード73は、ノード「Node X」上で動作するPod「Pod E」で実行されるアプリと、ノード「Node Z」上で動作するPod「Pod F」で実行されるアプリとを含む。
【0076】
ワークロード74は、サービス「Service 4」を提供するアプリである。ワークロード74は、ノード「Node Y」上で動作するPod「Pod G」で実行されるアプリと、ノード「Node Z」上で動作するPod「Pod H」で実行されるアプリとを含む。
【0077】
例えば通信経路情報52において、通信元「Pod A」、通信先「Pod E」の通信が登録されている場合、ワークロード71内の「Pod A」から「Pod E」への通信が行われていることが把握できる。同様にして、通信経路情報52に設定されているPod間の通信に従って、各ワークロード内のPod間の通信を把握することができる。このような各ワークロード内のPod間の通信の関係が、横の構成関係である。
【0078】
解析装置100では、構成情報51に示される縦の構成関係と通信経路情報52に示される横の構成関係とを組み合わせることで、問題発生時にその問題の影響伝播が可能な範囲を把握することができる。
【0079】
図10は、運用管理システムの構成の一例を示す図である。複数のサービス91~98が、それぞれに対応するワークロード81~88によって提供されている。なお
図10において、各サービスのサービス名が、そのサービスに対応するワークロードの上に記載されている。
【0080】
ワークロード81はPod81a,81bで実行されている。ワークロード82はPod82a,82bで実行されている。ワークロード83はPod83a,83bで実行されている。ワークロード84はPod84a,84bで実行されている。ワークロード85はPod85a,85bで実行されている。ワークロード86はPod86a,86bで実行されている。ワークロード87はPod87a,87bで実行されている。ワークロード88はPod88a,88bで実行されている。
【0081】
各Pod81a~88a,81b~88bは、複数のノード31~33のいずれかで動作している。ノードとPodとの縦の構成関係は、レイヤ間を跨ぐエッジ(線)で表されている。例えばノード32で動作しているのは、5つのPod83b,85a,85b,87b,88bである。なお
図10では、ノード32以外のノードとPodとの縦の構成関係を示すエッジは省略されている。
【0082】
また
図10の例では、通信経路情報52に示されるPod間の通信は、該当Podで実行されているワークロード間の通信として把握されている。通信によって把握される横の構成関係は、処理要求を送信する通信元から処理要求を受信する通信先へのエッジ(矢印)で表されている。線種が同じエッジを繋げた通信経路が1つの通信経路を構成する。
【0083】
図10の例では3つの通信経路が示されている。1つ目の通信経路は、ワークロード87からワークロード86へ処理要求を送信する通信経路である。1つ目の通信経路は一点破線のエッジで示されている。2つ目の通信経路は、ワークロード81から、ワークロード82とワークロード86とを経由して、ワークロード88へ処理要求を送信する通信経路である。2つ目の通信経路は破線のエッジで示されている。3つ目の通信経路は、ワークロード83から、ワークロード84とワークロード85とワークロード86とを経由して、ワークロード88へ処理要求を送信する通信経路である。3つ目の通信経路は実線のエッジで示されている。以下の説明では、1つ目の通信経路を「経路1」、2つ目の通信経路を「経路2」、3つ目の通信経路を「経路3」とする。
【0084】
このような構成の運用システム30において問題が発生したものとする。すると監視装置41により問題の発生が検知され、監視装置41から解析装置100へ、問題箇所を示す情報が送られる。解析装置100では、候補要素特定部120が、構成情報51と通信経路情報52とに基づいて運用システム30の構成を把握する。そして候補要素特定部120は、検知された問題箇所との間で縦の構成関係または横の構成関係を辿ることで到達可能な要素を、問題の影響を受ける可能性のある候補要素とする。
【0085】
図11は、縦の構成関係による候補要素特定の一例を示す図である。
図11の例では、問題発生箇所はノード32である。この場合、候補要素特定部120は、ノード32から縦の構成関係を示すエッジを辿り、到達可能な5つのPod83b,85a,85b,87b,88bを検出する。そして候補要素特定部120は、検出したPod83b,85a,85b,87b,88bのいずれかで実行されているワークロード83,85,87,88を、影響箇所となる可能性がある候補要素として特定する。
図11では、候補要素となったワークロード83,85,87,88はハッチングが施されている。
【0086】
縦の構成関係を辿って候補要素を特定後、候補要素特定部120は横の構成関係を辿って到達可能なワークロードを候補要素として特定する。
図12は、横の構成関係による候補要素特定の一例を示す図である。候補要素特定部120は、例えば横の構成関係で示される3つの通信経路それぞれについて、候補要素から通信元の方向へ通信経路を辿り、経路上のワークロードを候補要素に加える。例えば候補要素として特定されたワークロード88から、2つ目の通信経路(破線のエッジ)を通信元方向に辿ると、ワークロード81,82,86に到達する。そこでこれらのワークロード81,82,86が候補要素に加えられる。またワークロード88から、3つ目の通信経路(実線のエッジ)を通信元方向に辿ると、ワークロード83~86に到達する。これらのワークロード83~86のうち、まだ候補要素となっていないワークロード84が候補要素に加えられる。
【0087】
このようにして、構成関係を辿ることで、すべてのワークロード81~88が候補要素として特定される。これらのワークロード81~88すべてを影響箇所としてしまうと影響範囲が広すぎ、影響範囲内のワークロード81~88についての問題の影響を受ける確度が低くなってしまう。そこで影響ポイント算出部130が、平常時と問題発生時とのメトリックの乖離度を用いて、影響ポイント算出処理を行う。
【0088】
図13は、平常時メトリックの一例を示す図である。影響ポイント算出部130は、監視装置41から、候補要素(ワークロード)それぞれの通信経路ごとの平常時メトリック54a,54b,・・・を取得する。例えば1つの平常時メトリック54aには、要素名「App A」のワークロードにおける通信経路「/app/A」を介した複数の処理要求それぞれの処理実行時間が設定されている。平常時メトリック54aを参照すれば、対応する候補要素の通信経路ごとの処理実行時間の平均値、または標準偏差などの統計量を求めることができる。
【0089】
なお平常時メトリック54a,54b,・・・は、問題の検知前の所定の期間、監視装置41が観測した情報である。監視装置41は、問題発生後は、平常時メトリック54a,54b,・・・とは区別して、観測した処理実行時間を問題発生時メトリック55として記録する。そして監視装置41は、平常時メトリック54a,54b,・・・と同様に、候補要素それぞれの通信経路ごとの問題発生時メトリック55を解析装置100に送信する。問題発生時メトリック55に含まれる情報は、
図13に示した平常時メトリック54a,54b,・・・と同種の情報である。
【0090】
図14は、影響ポイント算出処理の手順の一例を示すフローチャートである。以下、
図14に示す処理をステップ番号に沿って説明する。
[ステップS101]影響ポイント算出部130は、候補要素それぞれの通信経路ごとのメトリックの乖離度算出処理を行う。乖離度算出処理の詳細は後述する(
図15参照)。
【0091】
[ステップS102]影響ポイント算出部130は、システムの構成情報51に基づいて、候補要素それぞれについての関与度算出処理を行う。関与度算出処理の詳細は後述する(
図17参照)。
【0092】
[ステップS103]影響ポイント算出部130は、単体影響ポイント算出処理を行う。単体影響ポイント算出処理によって候補要素ごとの単体影響ポイントが得られる。単体影響ポイントは、候補要素それぞれについての乖離度と関与度とから算出される値である。各候補要素の単体影響ポイントには、その候補要素と横の構成関係を有する他の候補要素の乖離度または関与度は加味されない。単体影響ポイント算出処理の詳細は後述する(
図18参照)。
【0093】
[ステップS104]影響ポイント算出部130は、総合影響ポイント算出処理を行う。総合影響ポイントは、横の構成関係を有する他の候補要素の単体影響ポイントを考慮した値である。総合影響ポイント算出処理の詳細は後述する(
図19参照)。
【0094】
[ステップS105]影響ポイント算出部130は、総合影響ポイントが閾値以上の候補要素を影響要素に決定する。そして影響ポイント算出部130は、影響要素の集合を影響範囲とする。
【0095】
[ステップS106]影響ポイント算出部130は、各候補要素の総合影響ポイントと影響範囲とを示す情報を、運用端末42に送信する。
このようにして候補要素それぞれの総合影響ポイントに応じて決定された影響範囲が運用者に通知される。以下、
図15~
図19を参照して、ステップS101~S104の各処理の詳細について説明する。
【0096】
図15は、乖離度算出処理の手順の一例を示すフローチャートである。以下、
図15に示す処理をステップ番号に沿って説明する。
[ステップS111]影響ポイント算出部130は、監視装置41から、候補要素それぞれの平常時メトリック54を取得する。
【0097】
[ステップS112]影響ポイント算出部130は、平常時メトリック54を解析して、平常時統計指標テーブルを作成する。平常時統計指標テーブルは、候補要素それぞれについての通信経路ごとの統計情報を纏めたデータテーブルである。
【0098】
図16は、平常時統計指標テーブルの一例を示す図である。平常時統計指標テーブル131には、要素、経路、メトリック、平均値、標準偏差、周期開始、および周期終了の欄が設けられている。要素の欄には、候補要素の要素名が設定される。経路の欄には、経路上に候補要素が含む通信経路を示す情報が設定される。メトリックの欄には、候補要素と通信経路との組に対応して取得されたメトリックの種別を示す情報が設定される。平均値の欄には、候補要素と通信経路との組におけるメトリックの値の平均値が設定される。標準偏差の欄には、候補要素と通信経路との組におけるメトリックの値の標準偏差が設定される。周期開始の欄には、メトリックを観測した期間の開始時刻が設定される。周期終了の欄には、メトリックを観測した期間の終了時刻が設定される。
【0099】
なお平常時のメトリックの標準偏差σは、以下の式(1)で求めることができる。
【0100】
【数1】
式(1)において、nはサンプル数である。x
iは平常時に収集したメトリックのi番目の実測データである(iは1以上n以下の整数)。μはメトリックの平均値である。
【0101】
以下、
図15の説明に戻る。
[ステップS113]影響ポイント算出部130は、候補要素特定部120で特定された影響箇所の候補要素のうち、未選択の候補要素を1つ選択する。
【0102】
[ステップS114]影響ポイント算出部130は、選択した候補要素についての経路ごとの問題発生時メトリックを、監視装置41から取得する。
[ステップS115]影響ポイント算出部130は、選択した候補要素についての経路ごとの乖離度を算出する。例えば影響ポイント算出部130は、平常時のメトリックの平均と標準偏差とを用いて、以下の式(2)により標準化した乖離度Zを求める。
【0103】
【数2】
式(2)において、Xは問題発生時のメトリックの実測データである。問題発生時のメトリックの実測データを複数取得できている場合、例えばそれらの実測データの平均をXとしてもよい。式(2)では、問題発生時のメトリックXと平常時のメトリックの平均値μとの差を、平常時のメトリックの標準偏差σで除算した値の絶対値が、乖離度Zとなる。この場合、問題発生時のメトリックXと平常時のメトリックの平均値μとの差が標準偏差σと等しい場合に乖離度Zが1となるように標準化(正規化と呼ぶこともできる)されている。
【0104】
標準化した乖離度Zを算出することで、複数のメトリックを合わせて乖離度を求めることも容易となる。例えば影響ポイント算出部130は、複数のメトリックを用いる場合、個々のメトリックの標準化された乖離度の平均を、選択した候補要素の該当経路の乖離度とすることができる。また影響ポイント算出部130は、複数のメトリックそれぞれの標準化された乖離度のうちの最大値を、選択した候補要素の該当経路の乖離度としてもよい。
【0105】
なお平常時のメトリックの統計指標(平均値、標準偏差)が時間帯ごとに集計されている場合、問題が発生した時刻を含む時間帯の平常時のメトリックの統計指標に基づいて乖離度を算出してもよい。例えば影響ポイント算出部130は、問題の発生時刻が「12:00」であれば、周期開始「10:00」、周期終了「22:00」(10時から22時が測定期間)における平常時のメトリックとの乖離度を算出する。
【0106】
[ステップS116]影響ポイント算出部130は、選択した候補要素と経路との組に対応付けて、算出した乖離度をメモリ102などに記録する。
[ステップS117]影響ポイント算出部130は、未選択の候補要素があるか否かを判断する。影響ポイント算出部130は、未選択の候補要素があれば処理をステップS113に進める。また影響ポイント算出部130は、すべての候補要素が選択済みであれば、乖離度算出処理を終了する。
【0107】
このようにして、候補要素それぞれについて経路ごとの乖離度が求められる。次に関与度算出処理について詳細に説明する。
図17は、関与度算出処理の手順の一例を示すフローチャートである。以下、
図17に示す処理をステップ番号に沿って説明する。
【0108】
[ステップS121]影響ポイント算出部130は、影響箇所の候補要素のうちの未選択の候補要素を1つ選択する。
[ステップS122]影響ポイント算出部130は、問題発生箇所(影響範囲の起点)がノードか否かを判断する。影響ポイント算出部130は、起点がノードであれば処理をステップS123に進める。また影響ポイント算出部130は、起点がノードでなければ処理をステップS124に進める。
【0109】
[ステップS123]影響ポイント算出部130は、選択した候補要素(ワークロード)内のPodのうち、起点のノードに直接の関係(縦の構成関係)を有するPodの割合を、その候補要素の関与度とする。その後、影響ポイント算出部130は処理をステップS127に進める。
【0110】
[ステップS124]影響ポイント算出部130は、影響範囲の起点がワークロードか否かを判断する。影響ポイント算出部130は、起点がワークロードであれば処理をステップS125に進める。また影響ポイント算出部130は、起点がワークロードでなければ処理をステップS126に進める。
【0111】
[ステップS125]影響ポイント算出部130は、選択した候補要素が起点であれば、その候補要素の関与度を「1」とする。また影響ポイント算出部130は、選択した候補要素が起点でなければ関与度を「0」とする。その後、影響ポイント算出部130は処理をステップS127に進める。
【0112】
[ステップS126]影響ポイント算出部130は、選択した候補要素内のPodのうち、問題が発生しているPodの割合を、その候補要素の関与度とする。
[ステップS127]影響ポイント算出部130は、選択した候補要素に対応付けて、算出した関与度をメモリ102などに記録する。
【0113】
[ステップS128]影響ポイント算出部130は、未選択の候補要素があるか否かを判断する。影響ポイント算出部130は、未選択の候補要素があれば処理をステップS121に進める。また影響ポイント算出部130は、すべての候補要素が選択済みであれば関与度算出処理を終了する。
【0114】
このようにして、各候補要素の関与度が算出される。そして乖離度と関与度とに基づいて、候補要素それぞれの経路ごとの単体影響ポイントが計算される。
図18は、単体影響ポイント算出処理の手順の一例を示すフローチャートである。以下、
図18に示す処理をステップ番号に沿って説明する。
【0115】
[ステップS131]影響ポイント算出部130は、影響箇所の候補要素のうちの未選択の候補要素を1つ選択する。
[ステップS132]影響ポイント算出部130は、選択した候補要素についての通信経路ごとの乖離度と、その候補要素の関与度とを取得する。
【0116】
[ステップS133]影響ポイント算出部130は、選択した候補要素の通信経路ごとの単体影響ポイントを算出する。単体影響ポイントは、例えば「乖離度×関与度」である。
【0117】
[ステップS134]影響ポイント算出部130は、候補要素と通信経路との組に対応付けて、算出した単体影響ポイントをメモリ102などに記録する。
[ステップS135]影響ポイント算出部130は、未選択の候補要素があるか否かを判断する。影響ポイント算出部130は、未選択の候補要素があれば処理をステップS131に進める。また影響ポイント算出部130は、すべての候補要素が選択済みであれば単体影響ポイント算出処理を終了する。
【0118】
このようにして、候補要素それぞれの経路ごとの単体影響ポイントが算出される。その後、算出された単体影響ポイントを用いて総合影響ポイントが算出される。
図19は、総合影響ポイント算出処理の手順の一例を示すフローチャートである。以下、
図19に示す処理をステップ番号に沿って説明する。
【0119】
[ステップS141]影響ポイント算出部130は、影響箇所の候補要素のうちの未選択の候補要素を1つ選択する。
[ステップS142]影響ポイント算出部130は、選択した候補要素を通る通信経路それぞれについて、選択した候補要素から終端までの各候補要素の単体影響ポイントを取得する。
【0120】
[ステップS143]影響ポイント算出部130は、選択した候補要素の通信経路ごとの総合影響ポイントを算出する。例えば影響ポイント算出部130は、通信経路ごとに、選択した候補要素から通信経路の終端までの各候補要素の単体影響ポイントを合計し、合計値を総合影響ポイントとする。
【0121】
[ステップS144]影響ポイント算出部130は、候補要素と通信経路との組に対応付けて、算出した総合影響ポイントをメモリ102などに記録する。
[ステップS145]影響ポイント算出部130は、未選択の候補要素があるか否かを判断する。影響ポイント算出部130は、未選択の候補要素があれば処理をステップS141に進める。また影響ポイント算出部130は、すべての候補要素が選択済みであれば総合影響ポイント算出処理を終了する。
【0122】
このようにして算出された総合影響ポイントが所定値以上の候補要素は、影響要素として影響範囲に含められる。以下、
図20~
図24を参照して、影響範囲の決定例を具体的に説明する。
【0123】
図20は、影響箇所の候補要素の特定結果の一例を示す図である。
図20には、ノード32で問題が発生した場合の例が示されている。ノード32から縦の構成関係と横の構成関係とを辿ると、すべてのワークロード81~88に到達する。そのためすべてのワークロード81~88が候補要素として特定される。なお横の構成関係を示す通信経路は3つである。1つ目の通信経路「経路1」は、ワークロード87が通信元であり、ワークロード86が通信先である。2つ目の通信経路「経路2」は、ワークロード81が最初の通信元であり、ワークロード82とワークロード86とを経由して、ワークロード88を終端とする通信経路である。3つ目の通信経路「経路3」は、ワークロード83が最初の通信元であり、ワークロード84とワークロード85とワークロード86とを経由して、ワークロード88を終端とする通信経路である。
【0124】
この場合、ワークロード86は3つの通信経路内にある。またワークロード88は2つの通信経路内にある。なおワークロード86の通信経路「経路1」については、その通信経路を介して他の要素(ノードまたはワークロードなど)からを受けているわけではないので、総合影響ポイントの計算対象から除外される。候補要素が特定されると、候補要素それぞれについて、通信経路ごとの乖離度が算出される。
【0125】
図21は、乖離度の算出結果の一例を示す図である。
図21の例では、ワークロード81の通信経路「経路2」についての乖離度は「1」である。ワークロード82の通信経路「経路2」についての乖離度は「1」である。ワークロード83の通信経路「経路3」についての乖離度は「3」である。ワークロード84の通信経路「経路3」についての乖離度は「1」である。ワークロード85の通信経路「経路3」についての乖離度は「10」である。ワークロード86の通信経路「経路2」についての乖離度は「1」である。ワークロード86の通信経路「経路3」についての乖離度は「2」である。ワークロード87の通信経路「経路1」についての乖離度は「8」である。ワークロード88の通信経路「経路2」についての乖離度は「4」である。ワークロード88の通信経路「経路3」についての乖離度は「6」である。
【0126】
乖離度が求まると、候補要素ごとの関与度が算出される。
図22は、関与度の算出結果の一例を示す図である。
図22の例では、問題発生箇所がノード32であり、影響範囲の起点はノード32である。ワークロード81内のPodは起点と縦の構成関係を有していないため、ワークロード81の関与度は「0」である。ワークロード82内のPodも起点と縦の構成関係を有していないため、ワークロード82の関与度も「0」である。ワークロード83内の2つのPodのうちの1つが起点と縦の構成関係を有しているため、ワークロード83の関与度は「0.5」である。ワークロード84内のPodは起点と縦の構成関係を有していないため、ワークロード84の関与度は「0」である。ワークロード85内の2つのPodの両方が起点と縦の構成関係を有しているため、ワークロード85の関与度は「1」である。ワークロード86内のPodは起点と縦の構成関係を有していないため、ワークロード86の関与度は「0」である。ワークロード87内の2つのPodのうちの1つが起点と縦の構成関係を有しているため、ワークロード87の関与度は「0.5」である。ワークロード88内の2つのPodのうちの1つが起点と縦の構成関係を有しているため、ワークロード88の関与度も「0.5」である。
【0127】
乖離度と関与度とが算出されると、次に単体影響ポイントが算出される。
図23は、単体影響ポイントの算出結果の一例を示す図である。ワークロード81は、乖離度が「1」、関与度が「0」であるため、単体影響ポイントは「0」(1×0)である。ワークロード82は、乖離度が「1」、関与度が「0」であるため、単体影響ポイントは「0」(1×0)である。ワークロード83は、乖離度が「3」、関与度が「0.5」であるため、単体影響ポイントは「1.5」(3×0.5)である。ワークロード84は、乖離度が「1」、関与度が「0」であるため、単体影響ポイントは「0」(1×0)である。ワークロード85は、乖離度が「10」、関与度が「1」であるため、単体影響ポイントは「10」(10×1)である。ワークロード86の通信経路「経路2」は、乖離度が「1」、関与度が「0」であるため、通信経路「経路2」の単体影響ポイントは「0」(1×0)である。ワークロード86の通信経路「経路3」は、乖離度が「2」、関与度が「0」であるため、通信経路「経路3」の単体影響ポイントは「0」(2×0)である。ワークロード87は、乖離度が「8」、関与度が「0.5」であるため、単体影響ポイントは「4」(8×0.5)である。ワークロード88の通信経路「経路2」は、乖離度が「4」、関与度が「0.5」であるため、通信経路「経路2」の単体影響ポイントは「2」(4×0.5)である。ワークロード88の通信経路「経路3」は、乖離度が「6」、関与度が「0.5」であるため、通信経路「経路3」の単体影響ポイントは「3」(6×0.5)である。
【0128】
このようにして算出された単体影響ポイントに基づいて総合影響ポイントが算出される。
図24は、総合影響ポイントの算出結果の一例を示す図である。ワークロード81の単体影響ポイントは「0」であり、ワークロード81の通信先から通信経路「経路2」の終端までの単体影響ポイントの合計は「2」である。従ってワークロード81の総合影響ポイントは「2」(0+2)となる。
【0129】
ワークロード82の単体影響ポイントは「0」であり、ワークロード82の通信先から通信経路「経路2」の終端までの単体影響ポイントの合計は「2」である。従ってワークロード82の総合影響ポイントは「2」(0+2)となる。
【0130】
ワークロード83の単体影響ポイントは「1.5」であり、ワークロード83の通信先から通信経路「経路3」の終端までの単体影響ポイントの合計は「13」である。従ってワークロード83の総合影響ポイントは「14.5」(1.5+13)となる。
【0131】
ワークロード84の単体影響ポイントは「0」であり、ワークロード84の通信先から通信経路「経路3」の終端までの単体影響ポイントの合計は「13」である。従ってワークロード84の総合影響ポイントは「13」(0+13)となる。
【0132】
ワークロード85の単体影響ポイントは「10」であり、ワークロード85の通信先から通信経路「経路3」の終端までの単体影響ポイントの合計は「3」である。従ってワークロード85の総合影響ポイントは「13」(10+3)となる。
【0133】
ワークロード86の通信経路「経路2」の単体影響ポイントは「0」であり、ワークロード86の通信先から通信経路「経路2」の終端までの単体影響ポイントの合計は「2」である。従ってワークロード86の通信経路「経路2」の総合影響ポイントは「2」(0+2)となる。ワークロード86の通信経路「経路3」の単体影響ポイントは「0」であり、ワークロード86の通信先から通信経路「経路3」の終端までの単体影響ポイントの合計は「3」である。従ってワークロード86の通信経路「経路3」の総合影響ポイントは「3」(0+3)となる。
【0134】
ワークロード87は、自身の単体影響ポイントが「4」であり、通信経路「1」の通信先のワークロード86は通信経路「1」について総合影響ポイントの計算対象ではない。従って、ワークロード87の総合影響ポイントは、単体影響ポイントと同じ「4」となる。
【0135】
ワークロード88の通信経路「経路2」は、自身の単体影響ポイントが「2」であり、通信経路「2」の通信先は存在しない。従って、ワークロード88の通信経路「経路2」の総合影響ポイントは、単体影響ポイントと同じ「2」となる。ワークロード88の通信経路「経路3」は、自身の単体影響ポイントが「3」であり、通信経路「3」の通信先は存在しない。従って、ワークロード88の通信経路「経路3」の総合影響ポイントは、単体影響ポイントと同じ「3」となる。
【0136】
このようにして算出された総合影響ポイントが所定の閾値以上のワークロードが、問題の影響を受ける影響要素であると判断される。例えば閾値が「10」の場合、3つのワークロード83,84,85が影響要素となる。これらのワークロード83,84,85を含む範囲が、問題の影響範囲である。影響ポイント算出部130は、影響範囲を示す情報と、各ワークロードの総合影響ポイントを運用端末42に送信する。影響範囲と総合影響ポイントとを受信した運用端末42には、例えば問題の影響範囲を示す影響範囲表示画面が表示される。
【0137】
図25は、影響範囲画面の一例を示す図である。影響範囲表示画面200には、サービス表示部210、実行リソース表示部220、ノード表示部230、アラート表示部240、影響範囲表示部250、および問題経路表示部260が含まれる。
【0138】
サービス表示部210には、運用システム30で提供されているサービス間の関係が示されている。サービス表示部210における影響範囲内のワークロードに対応するサービスは、強調表示されている。実行リソース表示部220には、ワークロードと、ワークロード間の関係が示されている。実行リソース表示部220における影響範囲内のワークロードは強調表示されている。ノード表示部230には、運用システム30内のノードが表示されている。
【0139】
実行リソース表示部220またはノード表示部230内の問題発生箇所となるワークロードまたはノードには、問題発生箇所を示すマーク231が表示されている。
図25の例では、「Node Y」が問題発生箇所であり、この「Node Y」を示すオブジェクトの上にマーク231が表示されている。
【0140】
アラート表示部240には、問題発生箇所を示す情報が表示される。影響範囲表示部250には、影響範囲に含まれるワークロードを示す情報が表示される。影響範囲表示部250における各ワークロードには、そのワークロードの総合影響ポイントが付与されている。問題経路表示部260には、影響範囲に含まれるワークロードにおいて所定の閾値以上の総合影響ポイントとなった通信経路を示す情報が表示される。
【0141】
運用者は、影響範囲表示画面200を参照することで、問題発生箇所と問題の影響範囲とを把握することができる。また例えば運用者がマウスカーソルなどを用いて影響要素であるワークロードを選択すると、該当ワークロードが受けている影響内容を示す影響詳細画面221が、例えばポップアップで表示される。影響詳細画面221には、例えば選択されたワークロードの総合影響ポイント、平常時と問題発生時とのメトリックの違いなどが表示される。例えば問題発生時に平常時よりもメトリックの値が上昇するのか、あるいは低下するのかが、メトリックごとに影響詳細画面221に表示される。また問題発生時と平常時とのメトリックの値の差を影響詳細画面221に表示することもできる。
【0142】
なお
図20~
図25に示した例は問題発生箇所がノードの場合であるが、問題発生箇所がロードワークまたはPodの場合もある。問題発生箇所がロードワークまたはPodの場合は、関与度の決定の仕方が、問題発生箇所がノードの場合と異なる。
【0143】
図26は、問題発生箇所がワークロードの場合の関与度の算出結果の一例を示す図である。
図26の例では、ワークロード85とワークロード88が問題発生箇所である。この場合、ワークロード88が通信経路「経路2」と通信経路「経路3」との終端であるため、その2つの通信経路上のワークロード81~86,88は影響範囲の候補要素となり、関与度が計算される。他方、通信経路「経路1」上には問題発生箇所がないため、その通信経路のみに関係するワークロード87は候補要素に含められない。候補要素となったワークロード81~86,88のうち問題発生箇所であるワークロード85とワークロード88との関与度は「1」である。それ以外のワークロード81~84,86の関与度は「0」である。
【0144】
図27は、問題発生箇所がPodの場合の関与度の算出結果の一例を示す図である。
図27の例では、ワークロード85内の2つのPod85a,85bとワークロード88内の1つのPod88aが問題発生箇所である。この場合も
図26に示した例と同様に、ワークロード81~86,88は影響範囲の候補要素となり、ワークロード87は候補要素に含められない。ワークロード85は、有するPod85a,85bのうちの問題発生箇所の割合は「2/2」であり、関与度は「1」である。ワークロード88は、有するPod88a,88bのうちの問題発生箇所の割合は「1/2」であり、関与度は「0.5」である。候補要素であるそれ以外のワークロード81~84,86の関与度は「0」である。
【0145】
図26、
図27に示したように、ワークロード全体に問題が発生している場合には、そのワークロードの関与度が「1」となるが、ワークロード内のPodに問題がある場合には、そのワークロード内の問題があるPodの割合が関与度となる。これにより、問題が発生したPodを含む割合が多いワークロードほど関与度を大きくすることができ、そのワークロードが関係する通信経路上のワークロードが問題から受ける影響の度合いを正しく計算することができる。
【0146】
〔その他の実施の形態〕
第2の実施の形態では、監視装置41と解析装置100とを別の装置として説明したが、これらの装置を1つの装置で実現することもできる。
【0147】
また第2の実施の形態では、メトリックが処理実行時間の場合の例を示したが、乖離度の算出に利用可能なメトリックは処理実行時間には限定されない。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0148】
1 監視対象システム
1a,1b ノード
2 平常時メトリック
3 問題発生時メトリック
4 構成情報
5 通信経路情報
6~8 SW要素
6a,6b,7a,7b,8a,8b Pod
10 情報処理システム
11 記憶部
12 処理部