JP2016015111A - 評価プログラム、評価方法、および評価装置 - Google Patents

評価プログラム、評価方法、および評価装置 Download PDF

Info

Publication number
JP2016015111A
JP2016015111A JP2014206195A JP2014206195A JP2016015111A JP 2016015111 A JP2016015111 A JP 2016015111A JP 2014206195 A JP2014206195 A JP 2014206195A JP 2014206195 A JP2014206195 A JP 2014206195A JP 2016015111 A JP2016015111 A JP 2016015111A
Authority
JP
Japan
Prior art keywords
countermeasure
maturity
systems
usefulness
evaluation
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.)
Granted
Application number
JP2014206195A
Other languages
English (en)
Other versions
JP6387777B2 (ja
Inventor
裕司 溝渕
Yuji Mizobuchi
裕司 溝渕
高山 訓治
Kuniharu Takayama
訓治 高山
聡 宗像
Satoshi Munakata
聡 宗像
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014206195A priority Critical patent/JP6387777B2/ja
Priority to US14/737,914 priority patent/US9740550B2/en
Publication of JP2016015111A publication Critical patent/JP2016015111A/ja
Application granted granted Critical
Publication of JP6387777B2 publication Critical patent/JP6387777B2/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2257Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems
    • 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
    • G06F11/3452Performance evaluation by statistical analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】過去に実施された対処への評価の信頼性を向上させる。
【解決手段】算出手段11は、複数のシステムそれぞれについての非機能要件に関する値に基づいて、複数のシステムそれぞれで各々の対処を実施したときの、当該対処を実施したシステムが安定運用できている度合いを示す成熟度を算出する。評価手段12は、複数のシステム1a,1b,1cそれぞれで実施された各々の対処について、特定のシステムと当該対処が実施されたシステムとの構成の類似度、当該対処の実施時期、当該対処による効果、および実施時期における成熟度に基づき、特定のシステム2に対する有用度を評価する。
【選択図】図1

Description

本発明は、評価プログラム、評価方法、および評価装置に関する。
マシンリソースを必要なときに必要なだけ調達することができるクラウドコンピューティングが知られている。クラウドコンピューティングでは、リソースを複数人で共有することが行われる。
また、クラウドコンピューティングでは、テナント(例えば、クラウドユーザごとなどに設けられるシステム)ごとに、個別に自動運用をする運用形態を採ることができる。例えば、予め各種の対処方法が作成され、作成された対処方法を用いて、システムが自動運用される。ここで、対処方法とは、例えば自動運用するための各種のルールであり、どのような障害やエラー発生などの現象(イベント)に対して、どのように対処を行うかを記述したものである。
なお、障害などへの対処結果を活用する技術として、例えば、トラブル処置の効果を評価値として算出するとともに、類似装置間での共有参照を可能とする技術がある。
また、障害対処ルールの適用評価値を算出し、算出した適用評価値と自己の障害復旧装置の適用基準値を比較することで、有効なルールを取捨選択する技術がある。
さらに、自律運用管理に向けたポリシリファイン手法として、ポリシとシステム構成の相関を管理するデータモデルを用いたシステム構成の類似性判定によって、流用可能なポリシか否かを判定する技術がある。
障害などの対処の結果を活用する場合、システムに障害があるのかどうかを正しく判断することも重要である。そこで、例えば将来の障害検出における判断基準を付与するときのシステム管理者にとっての負担を軽減する技術が考えられている。また原因の特定方法が必ずしも明らかではない種々の異常を予知することのできる異常状態検知装置も考えられている。
特開2010−211597号公報 特開2006−53728号公報 特開2013−229064号公報 特開2013−011987号公報
大野允裕、加藤清志、平池龍一、「自律運用管理に向けた障害対処ポリシの適用制御/流用手法」、電子情報通信学会技術研究報告、2005年07月29日、第105巻、第227号、p.13-18
特定のシステム用の対処方法を作成する際には、他の多くのシステムに実際に実施した対処を参考にして作成するのが効率的である。その場合、過去に多数行われた対処それぞれについて、特定のシステムに対して有用であるかどうかを適切に評価することで、特定のシステムに有用な対処方法を作成することができる。
過去に行われた対処の評価基準の1つとして、どのようなタイミングで実施された対処なのかに関する基準を用いることができる。例えば、システムの運用開始(リリース)直後は重大な障害に対する有用な対処を実施することが多く、また直近に実施された対処は、最新の技術を用いた有用な対処であることが多い。そこで、対処を実施した時期と、運用開始時期または現在との差が小さいほど、その対処の有用性を示す値(有用度)を高くすることで、評価の信頼性を向上させることができる。
ここで、システムに実施した対処の実施時期の違いに応じて、有用度にどの程度の差を設けるかについて、いずれのシステムに実施した対処であっても一律に決めておくこともできる。しかし、そのように一律に決めておくことが不適切な場合がある。
例えば、十分な開発・テスト期間を取って運用開始されたシステムと、短期間で開発・テストを行って運用開始されたシステムとでは、システムの運用を開始してから安定運用に入るまでの期間(成熟する速度)が異なる。そのため、システムの運用開始から所定期間経過後に実施した対処に関し、そのシステムが高速に成熟していれば、安定運用後の実施となるが、そのシステムが時間をかけて成熟していれば、安定運用前の実施となるような場合がある。安定運用前の対処と安定運用後の対処とでは、その対処の重要性も異なっており、それらの対処に対して有用度を同じに評価したのでは、評価の信頼性が損なわれてしまう。
1つの側面では、本発明は、過去に実施された対処への評価の信頼性を向上させることを目的とする。
1つの案では、複数のシステムにおいて実施された対処の、特定のシステムに対する有用度を評価する評価プログラムが提供される。この評価プログラムに基づいてコンピュータは、まず複数のシステムそれぞれについての非機能要件に関する値に基づいて、複数のシステムそれぞれで各々の対処を実施したときの、その対処を実施したシステムが安定運用できている度合いを示す成熟度を算出する。次にコンピュータは、複数のシステムそれぞれで実施された各々の対処について、特定のシステムとその対処が実施されたシステムとの構成の類似度、その対処の実施時期、その対処による効果、および実施時期における成熟度に基づき、特定のシステムに対する有用度を評価する。
1案によれば、過去に実施された対処への評価の信頼性が向上する。
第1の実施の形態に係る装置の機能構成例を示す図である。 第2の実施の形態のシステム構成例を示す図である。 第2の実施の形態に用いるサーバのハードウェアの一構成例を示す図である。 対処グラフの一例を示す図である。 開発手法によるシステムの成熟度の違いを示す図である。 成熟度の違いによる処理の実施時期とタイミング評価値との関係の変化を示す図である。 第2の実施の形態を実現するための機能を示すブロック図である。 対処履歴DBのデータ構造の一例を示す図である。 システム構成情報記憶部のデータ構造の一例を示す図である。 対処方法記憶部のデータ構造の一例を示す図である。 障害履歴記憶部のデータ構造の一例を示す図である。 対処方法の作成手順を示すフローチャートである。 成熟度関数算出処理の手順の一例を示すフローチャートである。 有用度算出処理の手順の一例を示すフローチャートである。 採用適否判定処理の手順の一例を示すフローチャートである。 システムの追加例を示す図である。 対象システムの構成情報の登録例を示す図である。 標本とするシステムの抽出例を示す図である。 累積障害度数分布の一例を示す図である。 成熟度関数の生成例を示す図である。 タイミング評価値の計算例を示す図である。 効果の有無の取得例を示す図である。 対処グラフの作成例を示す図である。 運用開始からの経過時間に応じた成熟度の計算例を示す図である。 スケールアウトの例を示す図である。 システムが安定しているかどうかの第1の判定手法を示す図である。 システムが安定しているかどうかの第2の判定手法を示す図である。 第2の判定方法における各サーバの安定・不安定の判断例を示す図である。 状態ベクトルの例を示す図である。 システムの安定・不安定の判断例を示す図である。 システムが安定しているかどうかの第3の判定手法を示す図である。 第3の実施の形態のサーバの機能を示すブロック図である。 監視履歴記憶部のデータ構造の一例を示す図である。 成熟度関数生成処理の手順の一例を示すフローチャートである。 安定期間長の算出例を示す図である。 安定期間長と成熟度との関係を示す図である。 日ごとの成熟度の算出例を示す図である。 成熟度の変化例を示す図である。 第3の実施の形態におけるタイミング評価値の計算例を示す図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず、第1の実施の形態について説明する。第1の実施の形態は、対処を実施したシステムの成熟度を加味して、その対処を他のシステムに実施することの有用度を算出することで、有用度の信頼性を向上させるものである。
図1は、第1の実施の形態に係る装置の機能構成例を示す図である。評価装置10は、既存システム群1に含まれるシステム1a,1b,1cに実施した対処が、別のシステム2に有用かどうかを示す有用度を算出することで、その対処が有用かどうかを評価する。評価装置10は、算出手段11、および評価手段12を有する。
算出手段11は、複数のシステム1a,1b,1cそれぞれについての非機能要件に関する値に基づいて、複数のシステム1a,1b,1cそれぞれで各々の対処を実施したときの、対処を実施したシステムが安定運用できている度合いを示す成熟度を算出する。非機能要件は、システムに求められる機能面以外の要件である。例えば非機能要件には、信頼性、効率性などに関する要件が含まれる。非機能要件に関する値には、例えば障害の発生状況に関する値や、システムの負荷に関する値が含まれる。また運用中のシステムを監視し、非機能要件に関する値として、システムの動作状態を示す値を取得してもよい。
算出手段11は、例えば、生成手段11aと成熟度算出手段11bとを含む。
生成手段11aは、複数のシステム1a,1b,1cそれぞれについて、システムの稼働開始からの障害の累積発生状況に基づいて、システムの運用期間と、システムの成熟度との関係を示す関係情報を生成する。例えば生成手段11aは、システムの運用期間が長いほど成熟度が高くなるような関係情報を生成する。
関係情報は、関数式で表すことができる。その場合、生成手段11aは、システムの障害発生状況の時間変化に基づいて、システムの運用期間の長さに応じた成熟度合い(成熟速度)を示す成熟度係数を求め、定数として成熟度係数を設定した関数式を生成する。成熟度係数としては、例えば、システムに対する障害発生数の累積値を所定間隔で求め、運用期間の長さに応じた該累積値の増加度合いを示す値が用いられる。
例えば生成手段11aは、既存システム群1に含まれるシステム1a,1b,1cそれぞれの障害発生状況を示す障害件数情報3を参照する。障害件数情報3には、システムの運用期間ごとに、それまでにシステムで発生した障害の件数(累積障害件数)が設定されている。生成手段11aは、障害件数情報3に基づいて、システムが安定運用に入った時期(十分に成熟した時期)を判断する。例えば累積障害件数がほとんど増加しなくなれば、成熟したものと判断できる。図1の例では、運用期間が25日で成熟したものとする。生成手段11aは、成熟したときの累積障害件数を、所定の成熟度に決定し、その運用期間と累積障害件数との関係を例えば一次関数で表す。関係情報を一次関数で表す場合、生成手段11aは、障害件数情報3に基づいて、1次関数の傾きなどの係数を、成熟度係数として求めることになる。
成熟度算出手段11bは、複数のシステム1a,1b,1cそれぞれで実施された各々の対処について、その対処を実施したシステムについて求められた関係情報に基づいて、その対処を実施したときのシステムの運用期間に対応する成熟度を算出する。例えば生成手段11aにおいて、運用期間と成熟度との関係を示す関数式が生成された場合、成熟度算出手段11bは、その関数式に運用期間を代入することで成熟度を得る。
運用期間は、例えば、対処を実施したシステム1aの稼働開始日時と、その対処に関する対処履歴4に含まれる対処日時とに基づいて算出できる。すなわち成熟度算出手段11bは、対処日時から稼働開始日時を減算した値を、運用期間とする。なお対処履歴には、対処日時以外に、対処したシステムの識別子、対処の識別子、対処の結果などが含まれる。対処の結果には、例えば対処の効果があった場合「1」が設定され、対処の効果がなかった場合「0」が設定される。
評価手段12は、特定のシステム2と、対処が実施されたシステム1aとの構成の類似度、その対処の実施時期、その対処による効果、およびシステム1aのその対処の実施時期における成熟度を用いて、システム2に対する有用度を算出する。評価手段12は、対処が有用かどうかを、算出した有用度により評価することもできる。例えば評価手段12は、対処の時期が運用開始時または現在のいずれかに近いほど、有用度を高く評価する。その際、評価手段12は、対処が実施されたシステムの成熟度が高いほど、対処の時期が運用開始時または現在のいずれかへの近さによる有用度の差を大きくする。
例えば評価手段12は、成熟度と対処の実施時期とを変数とする式を用いて、タイミング評価値を計算する。このタイミング評価値を求める式では、成熟度が低ければ、対処の実施時期に関し、全期間を通じてタイミング評価値が高い値となる。またタイミング評価値を求める式では、成熟度が高ければ、対処の実施時期が運用開始直後と直近の期間だけ、タイミング評価値は高い値となり、対処の実施時期がその他の期間であれば、タイミング評価値は低い値となる。
評価手段12は、このようにして求めたタイミング評価値を用いて、有用度を計算する。例えば評価手段12は、対処を実施したシステム1aと、その対処の実施の検討対象であるシステム2との構成の類似度を算出する。そして評価手段12は、類似度とタイミング評価値と対処の結果とを乗算した値を、有用度とする。評価手段12は、対処に対して求めた有用度を、例えば所定の閾値と比較し、その対処が有用かどうかを判定する。
このような評価装置10は、例えば既存システム群1のいずれかのシステムで発生した障害に対して実施された対処が、新たに作成するシステム2で有用かどうかの評価指示に応じて、評価を開始する。評価が開始されると、まず生成手段11aにより、各システム1a,1b,1cそれぞれに関して、運用期間と成熟度との関係を示す関係情報が生成される。次に成熟度算出手段11bにより、各システム1a,1b,1cそれぞれに対して実施された対処ごとに、その対処を実施したときの、対処を実施したシステムの成熟度が算出される。そして評価手段12により、システムの成熟度を加味した各対処の有用度が算出され、その有用度に応じて、その対処がシステム2に対して有用かどうかが評価される。
このような評価装置10によれば、処理の有用度の計算に、その処理を実施したときのシステムの成熟度が反映されているため、有用度を用いた評価の信頼性が向上する。
例えば、システムの成熟度が低いほど全体を通じて高く評価することで、運用開始からの経過時間が短い、もしくは、利用実績の少ないシステムほど、開発から稼働後を通じて実施された対処が総じて重要になるように評価することができる。また成熟度が高いほど運用開始直後および直近の対処を高く評価し、その他のタイミングでの対処の評価を下げることで、より重要な評価のみを抽出できる。例えば安定運用されているシステムであっても、運用開始直後は重大な障害が発生しやすいため、その時期に実施した対処は重要であると考えられる。また安定運用されているシステムにおいて直近に実施された対処は、重大な脆弱性の解消のような重要な対処が含まれるものと考えられる。
他方、安定運用されているシステムの運用開始直後でも直近でもない期間に行われた対処は、その後の別の対処で不要となっている場合が多々あるため、重要度は高くない。例えばあるバージョンのソフトウェアの不具合に対する対処が過去に行われていても、そのソフトウェアのバージョンアップが行われた場合、バージョンアップ前の対処は不要となる。
またシステムの過去の障害の発生状況から、運用期間と成熟度との関係情報を作成するため、システムごとの開発・運用期間の違いを考慮した、適切な成熟度が算出可能である。
なお図1に示す例では、非機能要件に関する値として累積障害件数を用い、累積障害件数に基づいて成熟度を算出しているが、非機能要件に関する値として、システムを監視することで取得した、システムの動作状態を示す値を用いることもできる。システムの動作状態を示す値としては、CPU使用率、メモリ使用率、エラーログの数、バグ修正数などである。
算出手段11は、システムの動作状態を示す値に基づいて、例えば、単位期間(例えば1日)ごとの当該システムの動作の安定性を判定する。そして算出手段11は、対処の実施時までの所定期間内の各単位期間のシステムの安定性に基づいて、システムの成熟度を算出する。このように対処の実施時までの所定期間内の単位期間ごとのシステムの安定性に基づいて成熟度を算出することで、システムの運用期間と成熟度との相関関係が低い場合であっても、正しい成熟度を算出することができる。
なお、生成手段11a、成熟度算出手段11b、および評価手段12は、例えば評価装置10が有するプロセッサにより実現することができる。また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、クラウドコンピューティングシステム(以下、クラウドシステム)において構築したテナントごとのシステムに対して実施した対処から、新たに作成するシステムに有用な対処を抽出するものである。
図2は、第2の実施の形態のシステム構成例を示す図である。ネットワーク20を介して、サーバ100、データベース(DB)サーバ200、クラウドシステム300、および端末装置400が接続されている。サーバ100は、クラウドシステム300内で構築されたシステムに対して実施した対処について、新たに導入するシステムへの有用度を評価する。DBサーバ200は、クラウドシステム300内で構築されたシステムに対して実施した対処の履歴(対処履歴)を記憶、および管理する。
クラウドシステム300は、内部に、複数のテナントそれぞれに対応するシステムを構築する。テナントごとのシステムを構築するため、クラウドシステム300は、テナント用運用管理サーバ310、複数のアプリケーションサーバ320、およびDBサーバ330を有している。
テナント用運用管理サーバ310は、例えばクラウドシステム300を利用するユーザごとの既存システムの運用形態(テナント情報)、運用状況、運用履歴などを管理する。テナント用運用管理サーバ310は、端末装置400などから新システムの配備依頼を受け取ると新システムの構成を決定することもできる。アプリケーションサーバ320は、例えば端末装置400からの要求に応じて、所定のアプリケーションソフトウェアを用いて対応する処理を実行する。DBサーバ330は、クラウドシステム300上で実行された実行履歴や入力データ、処理実行結果などの各種データを記憶する。
端末装置400は、システム全体又は各テナントなどを管理する管理者が使用するコンピュータである。端末装置400は、例えばブラウザ機能やコマンドラインなどを用いて、サーバ100やクラウドシステム300に新システムの構成情報を送信し、新システムに対する運用対処方法の作成を行わせる。端末装置400としては、タブレット端末、スマートフォンなどの情報通信端末を用いることもできる。
次にサーバ100のハードウェア構成について説明する。
図3は、第2の実施の形態に用いるサーバのハードウェアの一構成例を示す図である。サーバ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)などの電子回路で実現してもよい。
メモリ102は、サーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、サーバ100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお図3には、代表としてサーバ100のハードウェア構成例を示したが、DBサーバ200、テナント用運用管理サーバ310、アプリケーションサーバ320、DBサーバ330、および端末装置400も、サーバ100と同様のハードウェアで実現できる。また、第1の実施の形態に示した評価装置10も、図3に示したサーバ100と同様のハードウェアにより実現することができる。
サーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。サーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、サーバ100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またサーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
このような構成のシステムにおいて、クラウドシステム300内にテナントごとのシステムが稼働する。クラウドシステム300内に構築されたテナントごとのシステムは、可能な限り自動運用される。システムの自動運用を実現するために、障害発生時の対処方法が、予め用意される。対処方法を用意しておくことで、システムの自動運用を促進することができる。対処方法は、例えば対処グラフで表すことができる。
図4は、対処グラフの一例を示す図である。対処グラフ31,32,33,・・・は、例えばアプリケーションサーバで実行されるアプリケーションソフトウェアごとに生成される。
対処グラフ31,32,33,・・・は、ノード(矩形または円形の図形)とエッジ(ノード間を接続する矢印)で構成される。円形で示したノードが開始ノードである。開始ノードからは、障害を示すノードが接続されている。障害のノードの先には、障害発生時のシステムの状況を示すノードがエッジで接続されている。そして、最後尾には、障害発生時の対処を示すノードが接続されている。対処を示すノードには、アクションノードと質問ノードとがある。アクションノードは、障害を除去するための対処を直接的に示している。質問ノードは、障害の原因を追及するための、管理者への確認事項が示されている。
クラウドシステム300内のシステムの運用中に障害が発生すると、例えばテナント用運用管理サーバ310が、障害が発生したアプリケーション用の対処グラフを参照し、そのとき観測されているイベントに従って、開始ノードからノードを辿っていく。そしてテナント用運用管理サーバ310は、終端のノードに示された対処を実行する。図5の例であれば、アプリケーションサーバ320のレスポンス悪化を検知した場合、テナント用運用管理サーバ310は、ロードバランサの設定を確認するメッセージを、システム管理者宛てに送信する。またDBサーバ330のレスポンス悪化を検知した場合であって、誤ったSQL(Structured Query Language)の存在を確認した場合、テナント用運用管理サーバ310は、SQLの変更処理を行う。
クラウドシステム300内で運用しているシステムは、運用方式に影響するような構成変更が行われることがある。またクラウドシステム300内に、新規のテナント用に、新たなシステムを構築する場合もある。このような場合、新たなシステムに適合した対処方法を作成することになる。
新たなシステムの対処方法を作成する場合、既存の対処グラフに含まれる対処方法を流用することで、対処グラフの作成が容易となる。既存の対処方法を流用する場合、新たなシステムでは無用な対処方法まで流用すると、まったく使われないか、もしくは使われる頻度が極めて低い対処までも含まれてしまう。例えば、代替案のある時代遅れとなった対処方法や、長期間に渡って安定稼働しているシステムにおける過去の対処方法は、今後まったく使われないか、使われたとしても極めて希である。このような不要な対処方法が対処グラフに含まれていると、障害に応じた対処方法を探索する際に、誤った結果を導き出す要因となってしまう。
そこで、既存の対処方法に示されている対処のうち、新たなシステムに対しても有効に利用できる対処のみを含む対処グラフを作成することが重要となる。例えば、既存のシステムに対して過去に実施された対処の新たなシステムに対する有用度を求め、その有用度の高い対処を採用することが考えられる。有用度の算出には、例えば以下のような評価基準が用いられる。
・評価基準1:対処が実施されたシステムが新規に運用方式を作成するシステムに類似するほど、その対処の有用度を高くする。
・評価基準2:対処が実施されたタイミングが直近もしくはシステムのリリース直後であるほど、その対処の有用度を高くする。
・評価基準3:実施した結果、効果があった(問題が解決した)対処ほど有用度を高くする。
このような評価基準を用いれば、ある程度有用な対処に絞り込むことができる。ただし上記の評価基準だけでは十分とは言えない。すなわち、上記の評価基準では、システムの成熟度に関わらずリリース直後と直近の対処の重みづけ度合いが一定であり、システムの成熟度に応じた評価がなされず、有用度の高い対処を漏らしてしまう。ここでシステムの成熟度とは、システムがバグを出しやすいかどうかなどの、システムの安定性を意味する。例えばシステムがリリースされた直後であったり、安定しないアプリケーションを動かしていたりする場合、そのシステムは成熟度が低い。また実績のある動作環境のシステムであり、リリースされて十分な時間が経過している場合、そのシステムは成熟度が高い。
一般にシステムリリース後もバグ修正などによる改善が行われるため、開発から稼働後も時間経過に応じて成熟度が高まる。例えば、ソフトウェアの信頼性評価モデルとして、成長曲線というものがある。具体的には、コンペルツ曲線やロジスティック曲線などが使われている。このような成長曲線と同様に、成熟度も高まると考えられる。
このような成熟度を利用すれば、対処の有用性の評価の信頼性をさらに向上させることができる。例えば成熟度が低いシステムで起きた対処は総じて有用度を高くし、成熟度が高いシステムで起きた対処はリリース直後と直近の対処のみの有用度を高くすることが考えられる。すなわち、成熟度が低い段階では、どの対処も重要であるため、上記の評価基準1,2を採用しないか、その評価基準の重要度を下げることで、有用な対処が漏れるのを防ぐことができる。
ところが、システムの特性に応じて成熟する速度は変わってくる。
図5は、開発手法によるシステムの成熟度の違いを示す図である。図5の上段には、ウォーターフォール・モデルと呼ばれるソフトウェアの開発手法で開発したシステムの開発スケジュールを示している。また下段には、DevOpsと呼ばれるソフトウェアの開発手法で開発したシステムの開発スケジュールを示している。DevOpsは、開発(Development)と運用(Operations)を連携させた、システムのリリース形態である。
従来のシステム開発は、ウォーターフォール型開発が主流である。この開発手法では、開発初期で要件が確定するため、スケジュールの変動要因は小さい。例えば、図5に示すように、商習慣によって4半期、半期、通年で予算確定し、予め想定された開発期間を守るように開発が進められる。そのため、システムの成熟過程をシステムの特性によらず見積り可能であり、システムの成熟速度を固定して、成熟度を判断することが可能である。
他方、クラウドを使ったシステムの開発では、DevOps型の開発スタイルを採用する企業が増えている。DevOps型の開発では、突発的で開発期間がまちまちな開発案件が発生する。例えば、図5の例では、成熟期間が「案件1」では半期であるのに対し、「案件2」はおよそ四半期である。そのため、開発期間が異なれば、システムの成熟速度も異なる。しかも「案件2」をリリース後、しばらくしてから、「案件3」の機能が「案件2」に追加されている。このような複雑な開発過程を辿ったシステムは、「案件1」と成熟の速度も異なってくる。例えば、「案件1」と同様の基準で「案件2」の成熟度を判断し、その成熟度に基づいて対処を評価すると、対処全体を実際より高く評価してしまう可能性がある。すなわち「案件2」は、成熟度が高いにも拘わらず、成熟度が低いと判断されるおそれがある。その結果、成熟後に実施された対処のうち、対処が実施されたタイミングが直近もしくはシステムのリリース直後の何れでもない対処についてまで、新たに作成する対処方法に含める対象として採用されてしまう。
クラウドシステムが一般化した現在では、システムごとに適切な成熟度の判定基準を設けることが重要となる。そこで、第2の実施の形態では、システムごとに成熟度の進み方を個別に解析して、成熟度の算出式を生成する。これにより、対処を実施した時点でのシステムの成熟度を適切に判断し、有用性の評価の信頼性を向上させる。
例えば、有用度の評価基準として、成熟度を用いた以下の基準を追加する。
<成熟度利用評価基準1>
システムの成熟度が低いほど、対処の実施時期に関する全期間を通じて、対処の有用度を高く評価する。これにより、リリースからの経過時間が短い、もしくは、利用実績の少ないシステムほど、運用期間全体を通し、実施された対処が総じて重要になる。
<成熟度利用評価基準2>
成熟度が高いほど、運用開始直後および直近の対処を高く評価し、その他のタイミングでの対処の評価を低くする。これにより、運用開始からの十分に経過時間が経つ、もしくは利用実績が多いシステムほど、運用開始直後と直近の対処が重要になり、それ以外の対処は不要と判定される。
なお、第2の実施の形態では、システムは過去の実績から、システムの特性ごとに成熟度係数を算出し、それに応じた成熟度を用いる。
次に、成熟度を加味した有用度の算出方法について説明する。ある対処について、過去にN個のシステム(Nは1以上の整数)に対して実施されているとき、その対処の有用度(Usefulness)は、以下の式で算出することができる。
Figure 2016015111
ここでSimilarity(S0,Sn)は、対処方法の作成対象となるシステム(S0)と、n番目(nは1以上N以下の整数)のシステム(Sn)との間の構成の類似度である。システム間の類似度は、例えば、コサイン関数ベース(Cosine-based similarity)、相関関係ベース(Correlation-based similarity)、または調整コサインベース(Adjusted cosine-based similarity)などの方法で計算することができる。
Timing(t)は、対処の実施時期に関する評価値(タイミング評価値)である。tは、対処を実施した時期を示す実数である(0≦t≦1)。運用開始時を示すtの値は「0」であり、現在を示すtの値は「1」である。Resultは、対処による効果の有無を示す値である。効果があればResultは「1」となり、効果が無ければResultは「0」となる。
タイミング評価値は、例えば以下の式で算出することができる。
Figure 2016015111
式(2)の右辺の括弧内の左側の項は、直近の対処ほど重要と評価する式である。また括弧内の右側の項は、システムの運用開始直後の対処ほど重要と評価する式である。Mは、対処を実施したシステムの実施時期の成熟度である。成熟度Mは、例えば以下の式で表される。
M=c×t0+b ・・・(3)
c,bは、成熟度係数である。成熟度係数は、過去の障害履歴から時間経過に伴う累積障害件数の推移に基づいて、成熟度の変化特性が、累積障害件数の変化特性に一致するように調整する定数である。t0は、システムの運用開始から対処実施時期までの経過時間である(例えば経過日数)。対処を実施したシステムの成熟度Mの値が大きいほど、そのシステムの成熟が進んでおり、安定運用されていることを意味する。
式(2)によりタイミング評価値を計算することで、対処を実施したときのシステムの成熟度に応じた適切なタイミング評価値が得られる。
図6は、成熟度の違いによる処理の実施時期とタイミング評価値との関係の変化を示す図である。図6の例では、横軸にt、縦軸にタイミング評価値(Timing(t))を取ったグラフが示されている。そのグラフには、成熟度が異なる複数のタイミング評価値についての処理の実施時期との関係が示されている。
図6に示すように、式(2)を用いてタイミング評価値を算出することで、成熟度Mが大きいほど、運用開始直後または直近に実施された対処が際立って重要と評価される。一方、未熟な(成熟度Mが低い)システムでは、成熟したシステムと比べ、対処の実施時期の違いに応じたタイミング評価値の差が少ない。そして、未熟なシステムでは、対処の実施時期全体を通して、タイミング評価値が高くなる。
これは、未成熟なシステムでは、システムの運用開始から直近まで無視できる対処がほとんどないことを意味する。逆に、成熟したシステムは、成熟までの過程で実施された処理は、対処方法の作成の際に考慮に入れなくてもよいことを意味している。
なお、タイミング評価値の計算式は、式(3)以外の式であってもよい。例えば式(3)は一次関数の式であるが、以下のような指数関数の式でタイミング評価値を計算することもできる。
M=K/(1+be-ct) ・・・(4)
Kは、最大成熟度を示す実数である(K>0)。eは自然対数の底(ネイピア数)である。指数関数を用いることで、例えば、運用開始直後には成熟度が急速に高まり、運用を継続するうちに、成熟度の上昇率が徐々に緩やかになる様子を、的確に表すことができる。
以下、第2の実施の形態における各装置の機能について説明する。
図7は、第2の実施の形態を実現するための機能を示すブロック図である。DBサーバ200は、対処履歴DB210を有している。対処履歴DB210には、クラウドシステム300内に構築されたいずれかのシステムで発生した障害に対する対処の履歴が格納されている。
サーバ100は、システム構成情報記憶部110、対処方法記憶部120、障害履歴記憶部130、標本抽出部140、成熟度関数生成部150、有用度決定部160、採用適否判定部170、および対処方法作成部180を有する。
システム構成情報記憶部110は、クラウドシステム300内に構築されたシステムそれぞれの構成を示す構成情報を記憶する。構成情報には、例えば、システムに含まれるサーバの種類が示されている。また構成情報には、そのシステムで処理しているリクエストの量などの運用状況を含めることもできる。
対処方法記憶部120は、クラウドシステム300内に構築したシステムの障害に対する対処方法の一覧を記憶する。対処方法には、例えば対処を実施するかどうかの判断基準についても示されている。
障害履歴記憶部130は、クラウドシステム300内に構築されたシステムにおいて発生した障害の履歴情報(障害履歴)を記憶する。障害履歴には、例えば発生した障害に対して対処した日時が含まれる。
標本抽出部140は、DBサーバ200に保持されている対処履歴の中から、作成する対処方法に流用する対処履歴を抽出する。例えば標本抽出部140は、無作為に対処履歴を抽出する。また標本抽出部140は、クラウドシステム300内に構築されたシステムの一部のシステムを標本として抽出し、そのシステムに関する対処履歴を抽出するようにしてもよい。例えば標本抽出部140は、対処方法の作成対象となっているシステムの間で構成が類似するシステムに対して実施された対処履歴を抽出する。標本抽出部140は、標本として抽出したシステムの識別情報(テナントID)と、そのシステムの対処履歴とを、有用度決定部160に送信する。また標本抽出部140は、標本として抽出したシステムの識別情報(テナントID)を、成熟度関数生成部150に送信する。
成熟度関数生成部150は、標本とするシステムの障害履歴に基づいて、成熟度を算出するための関数式(成熟度関数)を、システムごとに生成する。成熟度関数は、例えばシステムの運用期間を変数とした関数である。
成熟度関数生成部150は、例えばシステムにおける障害発生件数の累積値(累積障害発生件数)の推移に基づいて、そのシステムの成熟の速度を示すパラメータ(成熟度係数)を算出し、そのパラメータを定数として含む関数式を生成する。成熟度関数生成部150は、生成した成熟度関数を、有用度決定部160に送信する。
有用度決定部160は、標本抽出部140が抽出した対処履歴に示される対処の有用度を決定する。有用度決定部160は、有用度の決定の際には、システム構成情報記憶部110を参照し、対処フラグの作成対象であるシステムの構成と、対処を実施したシステムの構成との類似度を算出し、その類似度を考慮に入れる。また有用度決定部160は、有用度の決定の際には、対処を実施したシステムの成熟度を考慮に入れる。成熟度は、成熟度関数生成部150により生成された成熟度関数によって算出できる。有用度決定部160は、決定した有用度を採用適否判定部170に送信する。
採用適否判定部170は、各対処の有用度に基づいて、作成する対処方法の流用元として採用するかどうかを決定する。例えば採用適否判定部170は、有用度が所定の閾値以上の対処を採用する。採用適否判定部170は、採用すると判定した対処に関する情報を、対処方法作成部180に送信する。
対処方法作成部180は、採用すると判定された対処に関する情報を用いて、新たな対処方法を作成する。対処方法は、例えば対処グラフで表される。例えば対処方法作成部180は、因果関係にある事象(障害などのイベント、または観測されるシステムの状態)を示すノード同士をエッジで接続する。また対処方法作成部180は、対処のノードとその対処に直接的に因果関係がある事象のノードとをエッジで接続することで、対処グラフを生成する。対処方法作成部180は、作成した対処方法を、例えば端末装置400に送信する。
このような構成により、過去に実施された対処を適切に評価し、有用な対処を行うための対処方法を生成することができる。
なお、図7に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。図7に示す成熟度関数生成部150は、図1に示した第1の実施の形態の生成手段11aの一例である。図7に示す有用度決定部160は、図1に示した第1の実施の形態の成熟度算出手段11bの一例である。図7に示す採用適否判定部170は、図1に示した第1の実施の形態の評価手段12の一例である。また、図7に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
次に、対処の評価および対処方法の作成に使用する情報について具体的に説明する。
図8は、対処履歴DBのデータ構造の一例を示す図である。対処履歴DB210には、例えば対処履歴管理テーブル211が格納されている。対処履歴管理テーブル211には、クラウドシステム300内に構築されたシステムに対して実施された対処ごとのレコードが、対処履歴として登録されている。対処履歴管理テーブル211には、テナントID、対処実績、対処、対処日、および対処結果の欄が設けられている。
テナントIDの欄には、システムに一意に設定されたテナントの識別子(テナントID)が設定される。テナントIDは、システムの識別子でもある。対処実績の欄には、対処履歴の識別番号が設定される。対処の欄には、テナントIDで示されるシステムに対して実施した対処の識別子が設定される。対処日の欄には、対処を行った期日が設定される。対処結果の欄には、対処の結果、目的が達成できたか否かを示すフラグが設定される。図8の例では、目的が達成できた場合、対処結果の欄に丸印が設定される。また目的が達成できなかった場合、対処結果の欄にバツ印が設定される。なお対処の目的とは、例えば対処を実施する原因となった障害を取り除くか、その障害による悪影響を緩和することである。
図9は、システム構成情報記憶部のデータ構造の一例を示す図である。システム構成情報記憶部110には、例えば構成管理テーブル111が格納されている。構成管理テーブル111には、テナントに対応するシステムの構成や運用状況が格納されている。構成管理テーブル111には、テナントID、システム作成日時、システム構成、アクセスパターン(平均リクエスト数)、およびアクセスパターン(リクエスト数の分散)の欄が設けられている。
テナントIDの欄には、クラウドシステム300内に構成されたシステムに対応するテナントのテナントIDが設定される。システム作成日時の欄には、システムが作成された日時が設定される。
システム構成の欄には、システムに含まれる機能が設定される。図9の例では、ロードバランサ(LB)、アプリケーションサーバ(AP1,AP2,AP3)、データベースサーバ(DB)、およびキャッシュサーバ(Cache)それぞれの有無が、システム構成の欄に設定されている。対応する機能がある場合「1」が設定され、対応する機能がなければ「0」が設定される。
アクセスパターン(平均リクエスト数)の欄には、システムへの外部からの単位時間当たりの平均リクエスト数が設定される。図9の例では、平均リクエスト数の多さが「小」、「中」、「大」の3段階に分けられている。単位時間当たりの平均リクエスト数が「150」未満のシステムは、平均リクエスト数「小」に分類される。単位時間当たりの平均リクエスト数が「150」以上「300」未満のシステムは、平均リクエスト数「中」に分類される。単位時間当たりの平均リクエスト数が「300」以上のシステムは、平均リクエスト数「大」に分類される。
アクセスパターン(リクエスト数の分散)の欄には、システムへの外部からのリクエスト数の分散の度合いが設定される。図9の例では、リクエスト数の分散の度合いが「小」、「中」、「大」の3段階に分けられている。リクエスト数の分散の値が第1の閾値未満のシステムは、リクエスト数の分散「小」に分類される。リクエスト数の分散の値が第1の閾値以上第2の閾値(第1の閾値<第2の閾値)未満のシステムは、リクエスト数の分散「中」に分類される。リクエスト数が第2の閾値以上のシステムは、リクエスト数の分散「大」に分類される。
図10は、対処方法記憶部のデータ構造の一例を示す図である。対処方法記憶部120には、対処方法一覧121が格納されている。対処方法一覧121には、実施可能な対処方法に関する情報が設定されている。対処方法一覧121は、例えば、既存のシステム用に作成されている対処グラフ41,42,43,・・・に基づいて作成することができる。
対処方法一覧121には、対処ID、対処、および複数の監視項目の欄が設けられている。対処IDの欄には、対処の識別子(対処ID)が設定される。対処の欄には、対処内容が設定される。複数の監視項目の欄には、その対処を実施する場合の判断基準とするための監視項目が設定される。対処方法一覧121の各レコードは、運用しているシステムが、監視項目の欄に示されている現象(イベント)が発生した場合に、対処の欄に示されている対処を実施することを示している。
例えば対処グラフ41には、「クラウド管理者へ問い合わせる」という対処を実施するための対処方法と、「Cache化」という対処を実施するための対処方法との、2つの対処方法が含まれている。そこで対処グラフ41に基づいて、2つの対処方法それぞれを示すレコードが対処方法一覧121に設定されている。
図11は、障害履歴記憶部のデータ構造の一例を示す図である。障害履歴記憶部130には、障害履歴管理テーブル131が格納されている。障害履歴管理テーブル131には、テナントID、障害実績、および対処日の欄が設けられている。テナントIDの欄には、クラウドシステム300内に構築されたシステムに対応するテナントのテナントIDが設定される。障害実績の欄には、発生した障害の識別情報が設定される。対処日の欄には、障害に対して対処した期日が設定される。
以上のような情報を用いて、サーバ100により、クラウドシステム300内の任意のシステムに対応する対処方法が作成される。例えば、クラウドシステム300内に新たなシステムを追加する際に、そのシステムに対応する対処方法が作成される。
以下、対処方法の作成手順について説明する。
図12は、対処方法の作成手順を示すフローチャートである。
[ステップS101]サーバ100は、例えば端末装置400から、対処方法作成の対象となるシステム(対象システム)の構成情報を受け付ける。後述する図16の例であれば、システム350の構成情報が、端末装置400から入力される。
[ステップS102]サーバ100の標本抽出部140は、システム構成情報記憶部110に構成情報が登録されたシステムの中から、標本とするシステムを抽出する。抽出されるシステムは、例えばクラウドシステム300で管理されている既存システムのすべてでもよく、所定の条件に当てはまるシステムでもよい。例えば標本抽出部140は、クラウドシステム300に既に構築されているシステムと対象システムとの類似度を計算し、対象システムとの類似度が所定値以上のシステムを抽出する。また標本抽出部140は、所定期間内に新規に追加されたり、構成が変更されたりしたシステムを、標本として抽出してもよい。
[ステップS103]標本抽出部140は、標本として抽出したシステムそれぞれで実施された対処履歴を、DBサーバ200の対処履歴DB210から抽出する。標本抽出部140は、例えば、標本として抽出したシステムそれぞれのテナントIDと対処履歴とを、有用度決定部160に送信する。また標本抽出部140は、例えば、標本として抽出したシステムそれぞれのテナントIDとを、成熟度関数生成部150に送信する。
[ステップS104]成熟度関数生成部150は、標本のシステムの対処履歴に基づいて、成熟度関数を生成する。例えば成熟度関数生成部150は、システムが成熟する速度などの特性を示す成熟度係数を算出する。そして成熟度関数生成部150は、算出した成熟度係数を定数として含めた関数式を、成熟度関数として生成する。成熟度関数生成部150は、生成した成熟度関数を有用度決定部160に送信する。成熟度関数生成処理の詳細は後述する(図13参照)。
[ステップS105]有用度決定部160は、標本のシステムの対処履歴に示される対処それぞれについて、対象システムに対する有用度を算出する。有用度算出の際には、標本のシステムと対象システムとの構成情報や、標本のシステムの成熟度関数などが用いられる。有用度決定部160は、各対処の有用度を採用適否判定部170に送信する。有用度算出処理の詳細は後述する(図14参照)。
[ステップS106]採用適否判定部170は、各対処について、対処方法作成時の流用元として採用することについての適否を判定する。例えば採用適否判定部170は、有用度が所定値以上の対処を採用する。採用適否判定部170は、採用する対処を対処方法作成部180に通知する。採用適否判定処理の詳細は後述する(図15参照)。
[ステップS107]対処方法作成部180は、採用する対処の対処方法に基づいて、対象システムの運用管理に用いる対処方法を示す対処グラフを作成する。
図13は、成熟度関数算出処理の手順の一例を示すフローチャートである。
[ステップS111]成熟度関数生成部150は、標本として抽出されたシステムのうち、未選択のシステムの1つを選択する。標本のシステムは、例えば対象システムと構成が類似するシステムである。
[ステップS112]成熟度関数生成部150は、選択したシステムの過去の障害履歴を障害履歴記憶部130から収集する。
[ステップS113]成熟度関数生成部150は、収集した障害履歴から、累積障害度数分布を求める。累積障害度数分布は、標本のシステムの運用開始からの障害発生件数の累積値を、所定期間単位で集計したものである(図19参照)。
[ステップS114]成熟度関数生成部150は、累積障害度数分布に基づいて成熟度係数を算出する。例えば成熟度関数生成部150は、障害発生件数の累積値の単位期間当たりの増加量を、成熟度係数とする。
[ステップS115]成熟度関数生成部150は、一次関数、指数関数などの所定の形式の関数式の定数に成熟度係数を設定して、成熟度関数を生成する(図20参照)。
[ステップS116]成熟度関数生成部150は、標本として抽出されたシステムすべてについて、成熟度関数を生成したか否かを判断する。すべてのシステムの成熟度関数が生成済みの場合、成熟度関数生成処理が終了する。成熟度関数を生成していないシステムがある場合、処理がステップS111に進められる。
このような手順で、標本として抽出されたシステムそれぞれの成熟度関数が生成される。生成された成熟度関数を用いて、各システムで対処が実施されたときのそのシステムの成熟度が算出できる。そして成熟度を用いて、対処ごとの有用度が算出される。
図14は、有用度算出処理の手順の一例を示すフローチャートである。
[ステップS121]有用度決定部160は、標本として抽出された複数の対処履歴のいずれかに示される対処のうち、未選択の対処を1つ選択する。
[ステップS122]有用度決定部160は、標本として抽出された複数の対処履歴の中から、選択した対処を実施した対処履歴のうちの未選択の対処履歴の1つを選択する。
[ステップS123]有用度決定部160は、選択した対処履歴において対処を行ったシステムと、対象システムとの間の構成の類似度を算出する。
[ステップS124]有用度決定部160は、選択した対処履歴に示されている対処が実施されたタイミングを評価する。タイミングの評価には、選択した対処履歴に示されている対処が実施されたときの、実施されたシステムの成熟度が用いられる。例えば有用度決定部160は、対処の実施時期を示す値t、または運用開始からの経過時間t0を、対処を実施したシステムの成熟度関数(式(3)または式(4))に代入して、そのときの成熟度を算出する。そして有用度決定部160は、算出した成熟度と、対処の実施時期を示す値tとをタイミング評価値の計算式(式(2))に代入し、タイミング評価値を算出する。
[ステップS125]有用度決定部160は、選択した対処履歴に示される対処の効果の有無を取得する。有効な対処であれば「1」が取得され、効果のない対処であれば「0」が取得される。
[ステップS126]有用度決定部160は、ステップS123で算出した類似度、ステップS124で算出したタイミング評価値、およびステップS125で取得した効果の有無を乗算し、乗算結果を、選択した対処の有用度の値に加算する。
[ステップS127]有用度決定部160は、選択した対処に関する対処履歴のうち、未選択の対処履歴があるか否かを判断する。未選択の対処履歴があれば、処理がステップS122に進められる。すべての対処履歴に応じた値を計算し、有用度に加算済みであれば、現在選択している対処に関する有用度の計算が終了し、処理がステップS128に進められる。
[ステップS128]有用度決定部160は、未評価の対処があるか否かを判断する。標本として抽出された複数の対処履歴のいずれかに示される対処すべてについて有用度の計算が完了していれば、有用度算出処理が終了する。未評価の対処があれば、処理がステップS121に進められる。なお有用度決定部160は、有用度算出処理の終了時に、対処ごとの有用度を採用適否判定部170に送信する。
このような手順で、各対処の有用度が算出される。そして算出された有用度に基づいて、各対処の採用適否が判断される。
図15は、採用適否判定処理の手順の一例を示すフローチャートである。
[ステップS131]採用適否判定部170は、採用適否の判定に用いる閾値を計算する。例えば採用適否判定部170は、各対処の有用度の平均値を閾値とする。
[ステップS132]採用適否判定部170は、各対処の有用度と閾値とを比較し、その対処の採用の適否を判定する。例えば採用適否判定部170は、対処の有用度が閾値以上であれば、その対処を採用するものと判定する。
このようにして採用する対処が確定すると、採用する対処についての対処方法に基づいて、対象システム用の対処方法が作成される。
以下、具体例を用いて、対処方法の作成例を説明する。例えば、新たに追加するテナント用のシステムの構成情報がサーバ100に入力されたとき、図12に示した対処方法作成処理が開始される。
図16は、システムの追加例を示す図である。クラウドシステム300には、テナントごとのシステム301,302,303,・・・が設けられている。これらのシステム301,302,303,・・・は、テナントの意向に合わせた構成となっている。例えばシステム301は、ロードバランサ(LB)、アプリケーション(AP)サーバ、データベース(DB)サーバ、それぞれ1台ずつで構成されている。システム302は、システム301と同様の構成に対して、アプリケーション(AP)サーバとキャッシュ(Cache)とが追加されている。システム303は、システム301と同様の構成に対して、アプリケーション(AP)サーバが追加されている。
このようなクラウドシステム300内のテナントごとのシステム301,302,303,・・・を構成する各サーバは、物理マシンまたは仮想マシンである。例えばクラウドシステム300内に多数の仮想マシンを立ち上げることで、テナントの要求に合わせた構成のシステムを容易に構築可能となる。
ここで、クラウドシステム300内に新テナント用のシステム350を新たに追加構築する場合を考える。例えば、管理者の操作に応じた端末装置400からクラウドシステム300への指示に従って、クラウドシステム300内に新たなシステムが追加される。
このときサーバ100は、新たに追加されるシステム350を自動運用するために、システム350用の対処方法を作成する。なお、図16の例では、システム301,302,303の各機器構成が示されているが、システム数や機器構成などについては、これに限定されるものではない。また、各システムに関する情報は、例えばDBサーバ330に記憶され、テナント用運用管理サーバ310により管理される。
対象システムの構成情報は、サーバ100にも入力される(ステップS101)。対象システムの構成情報が入力された場合、入力された構成情報は、例えば標本抽出部140によってシステム構成情報記憶部110に登録される。
図17は、対象システムの構成情報の登録例を示す図である。例えば図16に示すような新テナント用のシステム350に関する構成情報に関するレコードが、構成管理テーブル111に追加登録される。
対象システムの構成情報が入力されると、標本とするシステムの抽出が行われる(ステップS102)。
図18は、標本とするシステムの抽出例を示す図である。図18の例では、対象システム(テナントID:新テナント)との間で構成が類似するシステムを、標本として抽出している。類似性の判断方法は、有用度の計算に用いる類似度「Similarity(S0,Sn)」を用いることができる。また、類似度の計算には、システム構成の類似性に限らず、アクセスパターンの類似性も考慮に入れることができる。
類似度の計算をコサイン関数ベースで計算した場合、「新テナント」と「テナント1」それぞれのシステム間の類似度は以下の通りとなる。
Figure 2016015111
また、「新テナント」と「テナント2」それぞれのシステム間の類似度は以下の通りとなる。
Figure 2016015111
式(5)、式(6)におけるαは、比較対象のシステムの構成情報を示すベクトル間の角度である。この角度αが小さいほど類似度が大きくなる。構成情報を示すベクトルは、システム構成やアクセスパターンの欄に設定されている各値を要素としたものである。図18の例では、「テナント1」のシステムの類似度と「テナント2」の類似度とが所定値以上となり、「テナント1」と「テナント2」とのシステムが標本として抽出されている。
標本とするシステムが抽出されると、対処履歴DB210からそれらのシステムの対処履歴が抽出され(ステップS103)、システムごとの成熟度関数が生成される(ステップS104)。成熟度関数を生成する場合、まず障害履歴に基づいて、累積障害度数分布が生成される。
図19は、累積障害度数分布の一例を示す図である。図19には、「テナント1」の累積障害度数分布を示している。例えば障害履歴に示される各障害の対処日から、運用開始から障害の発生までの経過日数と、そのときまでの障害発件数の累積値(累積件数)との関係が集計される。その集計結果に基づいて、累積障害度数分布51が生成される。累積障害度数分布51は、例えば横軸に経過日数、縦軸に障害発生件数の累積値を採ったグラフで表される。そして、累積障害度数分布51に基づいて、成熟度関数が求められる。
成熟度関数を生成する際には、まず累積件数に対応する成熟度が求められる。このとき、システムの障害発生状況が所定の条件を満たしたときの成熟度を所定の値とする。例えば1日当たりの障害発生件数が所定値以下となったときの成熟度を「1」とする。また障害が検出されない期間が所定の期間以上となったときの成熟度を「1」とすることもできる。また、システムの管理者が、システムがある程度成熟した時期を指定し、指定された時期の成熟度を所定の値(例えば「1」)としてもよい。
そして、システムの障害発生状況が所定の条件を満たしたときの累積件数に対する、経過日数ごとの累積件数の割合により、累積件数に応じた成熟度が算出される。図19の例では、経過日数「25日」のときに成熟度が「1」となっており、そのときの累積件数は「11件」である。経過日数「1日」のときの累積件数は「3件」であるため、そのときの成熟度は「1×3/11=0.272727」となる。同様に他の経過日数に関しても、累積件数に応じた成熟度が算出される。
そして、累積障害度数分布51における累積件数を成熟度に変換して、線形近似を行うことで、成熟度関数を生成できる。
図20は、成熟度関数の生成例を示す図である。累積障害度数分布51を示すグラフの縦軸を成熟度とし、経過日数ごとの累積件数を成熟度に変換したグラフが生成される。このグラフの経過日数ごとの成熟度を示す近似曲線が求められる。例えば式(3)に示した式がモデル関数とされ、最小二乗法により、残差の二乗和が最小となるような成熟度係数c、bが算出される。図20の例では、c=0.0032、b=0.2となったものとする。この場合、成熟度関数は「M=0.0032t0+0.2」となる。
システムごとの成熟度関数が生成されると、各システムに対して実施された対処の有用度が算出される(ステップS105)。有用度の算出では、対象システムと、対処が実施されたシステムとの類似度が計算される。なお標本とするシステムの抽出に類似度を用いていれば、そのとき計算した類似度(図18参照)を用いることができる。
また有用度の計算では、対処履歴ごとにタイミング評価値が計算される。例として対処「Op1」を実施した対処履歴のタイミング評価値を計算する場合を想定する。
図21は、タイミング評価値の計算例を示す図である。対処履歴管理テーブル211を参照すると、対処「Op1」が実施された対処履歴は「Tenant1_Record1」、「Tenant2_Record1」、「Tenant3_Record1」、「Tenant4_Record1」、「Tenant5_Record1」である。ただし、標本として抽出されていないシステムの対処履歴は、有用度算出に用いられない。そこで2つの対処履歴「Tenant1_Record1」、「Tenant2_Record1」に基づいて、対処「Op1」の有用度が算出される。対処「Op1」の有用度の算出に当たり、対処履歴「Tenant1_Record1」、「Tenant2_Record1」それぞれのタイミング評価値が計算される。
まず対処履歴「Tenant1_Record1」のタイミング評価値の計算例について説明する。対処履歴「Tenant1_Record1」の場合、「テナント1」のシステムの運用開始日から対処を実施した日までの経過期間が12箇月である。また「テナント1」のシステムは現在(2012/02/01)まで、16箇月運用している。従って、対処履歴「Tenant1_Record1」の対処の実施時期は「t=12/16」となる。そしてt0を日単位で表すものとし、1箇月を30日と換算すると、運用開始から実施までの経過期間は「t0=12×30」となる。これらの値を、成熟度Mを算出する式(3)と、タイミング評価値を算出する式(2)とに代入することで、以下のようにしてタイミング評価値が得られる。
Figure 2016015111
次に対処履歴「Tenant2_Record1」のタイミング評価値の計算例について説明する。なお「テナント2」のシステムの成熟度関数は、「テナント1」のシステムと同様に「M=0.0032t0+0.2」であるものとする。
対処履歴「Tenant2_Record1」の場合、「テナント2」のシステムの運用開始日から対処を実施した日までの経過期間が10箇月である。また「テナント2」のシステムは現在(2012/02/01)まで、14箇月運用している。従って、対処履歴「Tenant2_Record1」の対処の実施時期は「t=10/14」となる。そして、1箇月を30日と換算すると、運用開始から実施までの経過期間は「t0=10×30」となる。これらの値を、成熟度Mを算出する式(3)と、タイミング評価値を算出する式(2)とに代入することで、以下のようにしてタイミング評価値が得られる。
Figure 2016015111
また対処履歴ごとに、その対処による効果の有無が取得される。
図22は、効果の有無の取得例を示す図である。対処履歴管理テーブル211には、対処履歴「Tenant1_Record1」、「Tenant2_Record1」それぞれに関して、どちらも効果があったことが示されている。効果があった場合「Result=1」と設定される。効果がなかった場合であれば、「Result=0」となる。
以上のようにして対処履歴「Tenant1_Record1」、「Tenant2_Record1」それぞれに関して、類似度(Similarity(S0,Sn))、タイミング評価値(Timing(t))および効果の有無が得られる。得られた値を用いて式(1)を計算することで、対処「Op1」の有用度が得られる。計算結果は、以下の通りである。
Figure 2016015111
このようにして得られた有用度を、所定の閾値と比較することで、対処「Op1」を、対処方法作成時の流用元として採用するか否かが判定される。閾値は、管理者が予め設定した値でもよく、計算によって求めた値でもよい。例えば、対処ごとに算出した有用度の平均値を閾値とすることができる。
採用する対処が決定すると、それらの対処に関する対処方法に基づいて、対象システム用の対処方法が作成される。対処方法は、例えば対処グラフで表される。
図23は、対処グラフの作成例を示す図である。例えば対処方法一覧121から、採用すると判定された対処の対処方法が抽出される。図23の例では、対処「Op1」と「Op2」とが採用すると判定された場合を想定している。抽出された対処方法それぞれに基づいて、対処グラフ61,62が生成される。そして生成された対処グラフ61,62の共通のノードを共有させることで、複数の対処グラフ61,62がマージ(統合)される。マージされた対処グラフにスタートノードが追加され、対象システム用の対処グラフ63となる。
以上のように成熟度を加味して有用度を評価することで、有用度の評価の信頼性が向上する。そして、信頼性の高い評価結果に基づいて対処方法を作成することにより、精度の高い対処方法を作成可能になる。
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、システムの運用開始からの経過時間ではなく、所定期間内にシステムが実際に安定運用している度合いに応じて成熟度を計算するものである。
すなわち第3の実施の形態では、システムの運用開始からの経過時間に基づいて、そのシステムの成熟度が計算される。そして例えば、システムの変更があれば、運用開始からの経過時間がリセットされ、成熟度も0にリセットされる。
図24は、運用開始からの経過時間に応じた成熟度の計算例を示す図である。図24の例では、経過時間とともに成熟度が単調増加している。すなわち運用開始からの経過時間が長いほど、システムの安定性が増すものと推定されている。経過時間が短ければ、成熟度は低く、タイミングの評価値(Timing(t))において、対処の実施時期によらず高い評価値となる。他方、経過時間が長ければ、成熟度が高く、タイミングの評価値(Timing(t))において、運用開始直後と、直近との評価値が際立って高く評価されるようになる。そして、システムの変更により、成熟度がリセットされる。
しかしシステムの変更の中には、システムの安定性に影響を与えないものもある。例えば、非機能要件を変更しても、システムの安定性は維持されることが多い。非機能要件とは、システムに求められる要件のうち、性能、信頼性、拡張性、運用性、セキュリティなどに関する要件である。非機能要件は、システムの機能は変更されない。コンピュータのシステム上、機能の変更がなければ、新たなプログラムの追加もなく、システムを不安定化させる要因は少ない。例えばシステムをスケールアウトする場合を考える。
図25は、スケールアウトの例を示す図である。テナントの変更前のシステム304は、キャッシュなしのWeb3階層システムであり、アプリケーションサーバが2台含まれている。変更後のシステム305には、アプリケーションサーバが1台追加されている。
このようなスケールアウトは負荷の分散が目的であり、スケールアウト後はシステムが安定化する。システムの安定化を図るような変更が行われたときに成熟度が「0」にリセットされると、その後に算出される成熟度が不正確となる。このように、非機能要件の変更があったときにまで成熟度をリセットすると、システムの成熟度の正確性が損なわれてしまう。その結果、そのシステムに対して行われた対処の有用度の判定の正確性も悪化する。
そこで、第3の実施の形態では、過去の一定期間内に安定して稼働した期間に応じて、システムの成熟度を評価する。例えば、過去の一定期間のうちの多くの期間において安定して稼働したシステムについては、成熟度が高いと判断される。他方、過去の一定期間のうち、安定して稼働した期間が少ないシステムについては、成熟度が低いと判断される。
システムが安定して動作しているかどうかの判断手法としては、以下の3つの手法が考えられる。
第1の判定方法は、外部から観察された状態に基づいて判定する方法である。例えばシステムで提供されるサービスが、予め定めたサービスレベルに達しているかどうかに基づいて安定しているかどうかを判断することができる。サービスのレベルは、例えばリクエストに対するレスポンスタイムで図ることができる。
第2の判定方法は、システム内部で観測できる状態が、超不安定状態との差異がどの程度であるかにより判定する方法である。例えばシステム内の複数のサーバそれぞれについて、通常時の動作状態を求めておき、通常時と異なる動作状態になったサーバについて不安定状態とする。そしてシステム内のすべてのサーバが不安定であるとき、そのシステムが超不安定状態であると定義し、システムの状態と超不安定状態との差異がどの程度かにより、システムが安定運用されているかどうかが判定される。
第3の判定方法は、システムの内部観測および外部観測の結果を組み合わせて判定する手法である。例えば過去の内部観測および外部観測の実績から、安定状態が学習され、観測結果が学習した安定状態に属するかどうかにより、システムが安定しているかどうかが判定される。
以下3つの手法それぞれについて詳細に説明する。
図26は、システムが安定しているかどうかの第1の判定手法を示す図である。例えばサーバ100aが、システム304の構成を変更する前に、システム304に対してリクエストを送信し、そのリクエストに対するレスポンスタイムを計測する。またサーバ100aは、変更後のシステム305に対してもリクエストを送信し、そのリクエストに対するレスポンスタイムを計測する。サーバ100aは、レスポンスタイムが所定時間を超えた場合、そのシステムは不安定であると判断する。
なおレスポンスタイムは、外部から観測できる観測ポイントの一例である。第1の手法では、観測ポイントの値に応じて安定・不安定を識別するための境界値ε0が予め設定される。時刻tの時点での観測状態をc(例えばレスポンスタイム)としたとき、時刻tでのシステムの安定性Stは、以下の式で判定できる。
Figure 2016015111
式(10)によれば、システムが安定している時には、安定性Stの判定結果が「1」となる。システムが不安定であれば、安定性Stの判定結果が「−1」となる。
次に、システムが安定しているかどうかの第2の判定手法について説明する。
図27は、システムが安定しているかどうかの第2の判定手法を示す図である。例えばサーバ100aは、各システム304,305に含まれるサーバから、CPUの状態を示す情報を取得する。例えばCPU使用率が取得される。そしてサーバ100aは、CPU使用率に基づいて、各サーバが安定しているか不安定かを判断する。
またサーバ100aは、各システム304,305を複数の階層に分け、各階層を監視区分とし、各階層内の各サーバを監視対象とする。そしてサーバ100aは、変更前後のシステム304,305の階層ごとに、安定性を示す状態ベクトルを生成する。各ベクトルは、対応する階層の属するサーバそれぞれの状態を示す値を要素として含む。例えばシステム304のロードバランサは1台であるため、ロードバランサの層の状態ベクトル(LB状態ベクトル)には、1つの要素が含まれる。またシステム304のアプリケーションサーバは2台あるため、アプリケーション層の状態ベクトル(AP状態ベクトル)には、2つの要素が含まれる。システム304のDBサーバは1台であるため、DB層の状態ベクトル(DB状態ベクトル)には、1つの要素が含まれる。変更後のシステム305では、アプリケーションサーバが追加されているため、AP状態ベクトルには3つの要素が含まれる。
さらにサーバ100aは、階層ごとに超不安定状態を示すベクトルを定義する。そしてサーバ100aは、階層ごとに、状態ベクトルと超不安定状態を示すベクトルとの差を計算することで、システムの状態の超不安定状態との差異を、ベクトルが配置された空間における距離で表す。例えばロードバランサの状態の超不安定状態からの距離D0、アプリケーションサーバの状態の超不安定状態からの距離D1、DBサーバの状態の超不安定状態からの距離D2が算出される。これらの距離に基づいて、システム全体の安定・不安定が判断される。
第2の判定手法における各サーバが安定か不安定かの判断は、例えば正常時の実績との差を用いて行われる。
図28は、第2の判定方法における各サーバの安定・不安定の判断例を示す図である。サーバ100aは、例えば監視対象のサーバの動作が正常であるときのそのサーバのCPU使用率を一定期間観測する。そして正常時に観測されるCPU使用率の範囲を判断する。例えば図28の例では、正常時のCPU使用率は、0%〜30%である。
次にサーバ100aは、運用時のサーバのCPU使用率を観測し、所定期間内に観測されたCPU使用率の範囲を判断する。図28の例では、「区間1」の期間には、CPU使用率が40%に達しているときがある。そのため、「区間1」においてサーバが不安定であると判断される。また「区間2」では、CPU使用率は0%〜30%の範囲内に収まっている。そのため、「区間2」ではサーバは安定していると判断される。
各サーバの安定・不安定が判断されると、階層ごとに、その階層に属するサーバの状態ベクトルが生成される。
図29は、状態ベクトルの例を示す図である。図29の例では、「要素A」、「要素B」、「要素C」の3つの要素を含む状態ベクトルFasisが生成されている。「要素A」、「要素B」、「要素C」は、それぞれサーバに対応し、対応するサーバが安定か不安定かを示す。例えばサーバが安定していれば、対応する要素の値は「1」となる。またサーバが不安定であれば、対応する要素の値は「0」となる。
図29に示すような、各要素を軸とする直交座標系において、超安定点を示す超安定ベクトルFtobeと超不安定点を示す超不安定ベクトルFnot#tobeとが定義される。ここで超不安定点を原点(0,0,0)にすると、超不安定ベクトルFnot#tobeは0ベクトルとなる。また安定ベクトルFtobeの各要素の値は(1,1,1)となる。このとき、要素ごとのサーバの観測により得られた観測点への状態ベクトルFasisの長さを、超安定ベクトルFtobeの長さで除算した結果が、距離Dとなる。距離Dは、以下の式で表される。
Figure 2016015111
システムの階層ごとの距離(D0,D1,D2)が求まると、境界値ε1とすべての距離の積を比較して、システム全体として安定しているか不安定なのかが判断される。例えば時刻tの時点でのシステムの安定性Stは、以下の式で表される。
Figure 2016015111
このように監視区分(階層)ごとの距離の積によって安定・不安定を判断することで、すべての監視区分のうち1カ所でも超不安定点に一致する(距離が0)監視区分があれば、判定された安定性Stは「0」となり、不安定と判断される。
図30は、システムの安定・不安定の判断例を示す図である。図30の例では、ロードバランサのCPU使用率は安定している。また2台あるアプリケーションサーバのうち、1台はCPU使用率が安定しているが、他の1台はCPU使用率が不安定である。さらにDBサーバのCPU使用率は安定している。
このシステム304の状態を抽出すると、ロードバランサの層の状態ベクトルは、(1)となる(1次元のベクトル)。アプリケーションサーバの層の状態ベクトルは、(1,0)となる(2次元のベクトル)。DBサーバの層の状態ベクトルは、(1)となる(1次元のベクトル)。
各状態ベクトルに基づいて、監視区分ごとの超不安定状態からの距離が算出される。ロードバランサの距離D0は、「1」である。アプリケーションサーバの距離D1は「1/21/2」である。DBサーバの距離D2は「1」である。
監視区分ごとの距離の積は「1/21/2」となる。ここで閾値が3/4であるとすると、距離の積は閾値より小さくなる。すなわちシステム304は不安定であると判断される。
次に、システムが安定しているかどうかの第3の判定手法について詳細に説明する。
図31は、システムが安定しているかどうかの第3の判定手法を示す図である。第3の手法では、サーバ100aは、内部および外部で観測された状態を用いて、過去の実績から安定状態と不安定状態とを学習する。この学習により、安定・不安定を判断するためのモデルが構築される。そして構築されたモデルを用いて、その後に観測された状態が安定状態なのか、不安定状態なのかが判断される。
図31の例では、システムの内部状態と外部状態とを1時間ごとに観測している。内部状態としては、アプリケーションサーバとDBサーバとのCPU使用率が観測されている。外部状態としては、例えばリクエストに対するレスポンスタイムが観測され、レスポンスタイムが所定値を超えるかどうかにより、安定か不安定かが判断されている。そして、サーバ100aは、外部観察で安定と判断したときの内部状態と、外部観察で不安定と判断したときの内部状態とを区別して、履歴ごとの内部状態をグラフ71にプロットする。そしてグラフ71中で、安定のときの内部状態が集まった領域と、不安定のときの内部状態が集まった領域との境界となる線の式「y=φ・x+a」が、判定用のモデルとして求められる。xは、アプリケーションサーバのCPU使用率、yはDBサーバのCPU使用率である。φとaは、定数である。
運用時のシステムから観測された内部状態が、モデルに示された線の上か下かにより、その時点でのシステムの安定性が判定できる。図31のグラフ71に示した例であれば、観測された内部状態が線の下になれば安定であり、上になれば不安定である。運用中に加速されたアプリケーションサーバのCPU使用率をx0とし、DBサーバのCPU使用率をy0とすると、判定された安定性Stは以下の式で表される。
Figure 2016015111
このように内部状態と外部状態とを組み合わせて、システムが安定しているか不安定なのかを判断できる。
以上のような第1〜第3のいずれかの手法で、個別の時点でのシステムの安定性を判定し、システムに対する対処の実施前の所定期間の判定結果を総合的に判断して、対処時点でのシステムの成熟度を求めることができる。例えばサーバ100aは、過去の一定の期間(T0からTn)において成熟化した期間の長さ(安定期間長p)が次の式で求められる。
Figure 2016015111
以下、システムが安定しているかどうかを第2の判定手法で判断する場合を例に採って、第3の実施の形態について詳細に説明する。なお第3の実施の形態におけるシステム構成は、図2に示した第2の実施の形態のシステムと同様である。ただし第2の実施の形態のサーバ100に代えて、第3の実施の形態を実現するサーバ100aが用いられる。第3の実施の形態のサーバ100aは、図3に示した第2の実施の形態のサーバ100のハードウェア構成と同様のハードウェア構成で実現できる。
図32は、第3の実施の形態のサーバの機能を示すブロック図である。図32において、図7に示した第2の実施の形態のサーバ100内の要素と同じ機能の要素には、同じ符号を付し、説明を省略する。
サーバ100aは、第2の実施の形態と異なる機能を有する要素として、監視部151、監視履歴記憶部190、成熟度関数生成部152、および有用度決定部161を有する。
監視部151は、クラウドシステム内の各テナントのシステムに属するサーバの動作状態を監視する。例えば監視部151は、アプリケーションサーバ320やDBサーバ330のCPU使用率を、各サーバから定期的に取得する。
監視履歴記憶部190は、監視部151による監視履歴を記憶する。例えば、メモリ102やHDD103の記憶領域の一部が、監視履歴記憶部190として使用される。
成熟度関数生成部152は、前述の第2の判定手法によりシステムが安定しているかどうかを判断して、所定期間(例えば1日)ごとに、その期間における安定期間長pを、式(14)により求める。そして、成熟度関数生成部152は、成熟度期間長pを用い、所定期間(例えば1日)ごとに、その期間内に実施された対処に適用する成熟度関数を生成する。
有用度決定部161は、第2の実施の形態の有用度決定部160と同様の処理を行う。ただし第3の実施の形態における有用度決定部161は、対処の有用度の計算の際に、その対処の実施時を含む期間に対応する成熟度関数が用いられる。
図33は、監視履歴記憶部のデータ構造の一例を示す図である。監視履歴記憶部190には、内部状態管理テーブル191が格納されている。内部状態管理テーブル191には、テナントID、装置、およびCPU使用率の欄が設けられている。テナントIDの欄には、監視する対象のシステムの識別情報(テナントID)が設定される。装置の欄には、対応するシステムに含まれる装置の名称が設定される。CPU使用率の欄には、対応する装置から所定間隔で計測されたCPU使用率が設定される。
以上のようなシステムにより第3の実施の形態が実現される。第3の実施の形態では、成熟度関数生成処理が、第2の実施の形態と異なる。
図34は、成熟度関数生成処理の手順の一例を示すフローチャートである。
[ステップS211]成熟度関数生成部152は、標本として抽出されたシステムのうち、未選択のシステムの1つを選択する。標本のシステムは、例えば対象システムと構成が類似するシステムである。なお標本として抽出されるのは、例えば状態を監視可能なすべてのシステムである。またSimilarityの値が閾値を超えているシステムを標本とすることもできる。またSimilarityの値が閾値を超えていることに加え、構成変更の変遷も似ているシステムを標本としてもよい。
[ステップS212]成熟度関数生成部152は、選択したシステムの過去の監視履歴を監視履歴記憶部190から収集する。
[ステップS213]成熟度関数生成部152は、収集した監視履歴に基づいて、選択したシステムの監視区分ごとの状態の超不安定状態からの距離を計算する。そして成熟度関数生成部152は、監視区分ごとの距離の積を、単位期間(例えば日)ごとに計算する。
[ステップS214]成熟度関数生成部152は、日ごとの距離の積に基づいて、選択したシステムが安定か不安定かを、日ごとに判断する。例えば成熟度関数生成部152は、日ごとの積が閾値より大きければ安定状態、閾値以下であれば不安定状態と判断する。
[ステップS215]成熟度関数生成部152は、日ごとの安定・不安定の判断結果に基づいて、日ごとの安定期間長pを算出する。例えば成熟度関数生成部152は、ある日を特定し、その日から過去数日間の安定性の判断結果(安定状態「1」または不安定状態「0」を合計し、合計した結果を特定した日の安定期間長pとする。
[ステップS216]成熟度関数生成部152は、日ごとの安定期間長pに基づいて、日ごとの成熟度関数を生成する。例えば成熟度関数生成部152には、安定期間長pの値を変数の1つに含む関数式が予め用意されている。そして成熟度関数生成部152は、予め用意された関数式の安定期間長pとしてステップS215で得られた日ごとの値を代入することで、日ごとの成熟度関数を生成する。
[ステップS217]成熟度関数生成部152は、標本として抽出されたシステムすべてについて、成熟度関数を生成したか否かを判断する。すべてのシステムの成熟度関数が生成済みの場合、成熟度関数生成処理が終了する。成熟度関数を生成していないシステムがある場合、処理がステップS211に進められる。
このように、第3の実施の形態では、距離の積、安定・不安定の判断、安定期間長の算出が日付ごとに行われ、日付ごとに、その日に実施された対象の有用度の計算に用いる成熟度関数が生成される。以下、図35から図38を参照し、日ごとの成熟度関数を生成する過程について、具体的に説明する。
図35は、安定期間長の算出例を示す図である。図35の例では、観測項目ごとの距離の積(ΠDn)が、1日ごとに算出されている。日ごとに、距離の積が閾値ε0以上であれば、その日のシステムは安定であると判断される。また距離の積が閾値ε0未満であれば、その日のシステムは不安定であると判断される。図35の例では、閾値ε0を「3/4」としている。システムが安定の場合システムの安定性は「1」であり、システムが不安定の場合、システムの安定性は「−1」である。なお図35の例では、12月9日にシステムに機能的な変更が加えられ、安定性を含む成熟度に関する情報がリセットされている。
図35の例において、12月5日(12/5)における安定期間長pを求める場合を考える。この例では、過去の5日間の安定度に基づいて安定期間長pを算出するものとする。すなわち12月1日から12月5までの安定性Stの合計値「−1」が、12月5日の安定期間長pとなる。
安定期間長pを用いて、例えば次の式で成熟度Mが求められる。
Figure 2016015111
式(15)のKは最大成熟度であり、cは成熟化係数である。なお式(15)が、第3の実施の形態における成熟度関数である。
図36は、安定期間長と成熟度との関係を示す図である。図36の上段に、安定期間長と成熟度との関係を示すグラフを示し、下段に、所定の成熟度のときのタイミング評価値のグラフを示している。図36の例では、最大成熟度Kを「16」としている。この場合、安定期間長が例えば「−1」であれば、成熟度Mは、ほぼ「4」となる。成熟度Mが決まれば、前述の式(2)により、対処時点でのタイミング評価値(Timing(t))が定まる。
このような安定期間長pと成熟度Mとは、所定の期間ごと(例えば1日ごと)に求められる。
図37は、日ごとの成熟度の算出例を示す図である。日ごとの安定性に基づいて、日ごとの安定期間長pが求められ、式(15)に基づいて日ごとの成熟度Mが求められる。例えば12月1日から12月5日までの期間の安定性に基づいて算出すると、12月5日の安定期間長pは「−1」となり、成熟度Mは「4.30」となる。また例えば12月2日から12月6日までの期間の安定性に基づいて算出すると、12月6日の安定期間長pは「−3」となり、成熟度Mは「0.76」となる。日付ごとに、その日から過去5日間の安定性に基づいて、成熟度が求められる。
このようにして成熟度を算出することで、成熟度は、安定度の変化に応じて増減する。すなわち成熟度は、単調増加ではなくなる。
図38は、成熟度の変化例を示す図である。図38の例では、ある月の1日の成熟度が「4」であっても、翌日(2日)の成熟度は「1」に下がっている。その後、成熟度がさらに下がるが、4日に成熟度が「1」に戻っている。その翌日(5日)には、成熟度が「4」まで回復している。この場合、その月の1日と5日とに実施した対処のタイミング評価値を計算する際の成熟度は「4」であり、その月の2日と4日とに実施した対処のタイミング評価値を計算する際の成熟度は「1」である。
このように、日付ごとに、その日に実施された対処の有用度の計算に適用する成熟度関数が生成される。対処を評価する際には、その対処を実施した日の成熟度関数を用いて、成熟度が計算される。そして、計算された成熟度を用いて、タイミング評価値が計算される。
図39は、第3の実施の形態におけるタイミング評価値の計算例を示す図である。図39は、図21に示した例と同様に、対処「Op1」の有用度の算出に当たり、対処履歴「Tenant1_Record1」、「Tenant2_Record1」それぞれのタイミング評価値が計算される場合を想定している。
まず対処履歴「Tenant1_Record1」のタイミング評価値の計算例について説明する。対処履歴「Tenant1_Record1」の場合、「テナント1」のシステムの運用開始日から対処を実施した日までの経過期間が12箇月である。また「テナント1」のシステムは現在(2012/02/01)まで、16箇月運用している。従って、対処履歴「Tenant1_Record1」の対処の実施時期は「t=12/16」となる。この対処の対処日「2011/10/05」における成熟度は「4.30」であるものとする。これらの値を、タイミング評価値を算出する式(2)に代入することで、以下のようにしてタイミング評価値が得られる。
Figure 2016015111
次に対処履歴「Tenant2_Record1」のタイミング評価値の計算例について説明する。対処履歴「Tenant2_Record1」の場合、「テナント2」のシステムの運用開始日から対処を実施した日までの経過期間が12箇月である。また「テナント2」のシステムは現在(2012/02/01)まで、14箇月運用している。従って、対処履歴「Tenant2_Record1」の対処の実施時期は「t=12/14」となる。この対処の対処日「2011/12/10」における成熟度は「11.7」であるものとする。これらの値を、タイミング評価値を算出する式(2)に代入することで、以下のようにしてタイミング評価値が得られる。
Figure 2016015111
タイミング評価値が計算されると、第2の実施の形態と同様に、式(1)に基づいて対処の有用度が算出される。そして有用度が所定値以上の対処の履歴に基づいて、新たに作成したシステム用の対処グラフが生成される(図23参照)。
このように第3の実施の形態では、システムの実際の運用状態の監視結果に基づいて、システムの成熟度を計算するようにしたため、成熟度の正確性が向上する。対処を実施した時点でのシステムの成熟度が正確に求まれば、その対処の有用度の正確性も向上する。その結果、より適切な対処グラフを生成できるようになる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 既存システム群
1a,1b,1c,2 システム
3 障害件数情報
4 対処履歴
10 評価装置
11 算出手段
11a 生成手段
11b 成熟度算出手段
12 評価手段

Claims (11)

  1. 複数のシステムにおいて実施された対処の、特定のシステムに対する有用度を評価する評価プログラムであって、
    コンピュータに、
    前記複数のシステムそれぞれについての非機能要件に関する値に基づいて、前記複数のシステムそれぞれで各々の対処の実施時期における、当該対処を実施したシステムが安定運用できている度合いを示す成熟度を算出し、
    前記複数のシステムそれぞれで実施された前記各々の対処について、前記特定のシステムと当該対処が実施されたシステムとの構成の類似度、当該対処の実施時期、当該対処による効果、および前記実施時期における前記成熟度に基づき、前記特定のシステムに対する有用度を評価する、
    処理を実行させる評価プログラム。
  2. 前記成熟度の算出では、前記複数のシステムそれぞれについての前記非機能要件に関する値に基づいて、当該システムの運用期間と、当該システムの前記成熟度との関係を示す関係情報を生成し、
    前記複数のシステムそれぞれで実施された前記各々の対処について、前記関係情報に基づいて、当該対処を実施したときの当該システムの運用期間に対応する前記成熟度を算出する、
    請求項1記載の評価プログラム。
  3. 有用度の評価では、前記複数のシステムそれぞれで実施された前記各々の対処について、当該対処の実施時期が運用開始時または現在のいずれかに近いほど、有用度を高く評価し、当該対処が実施されたシステムの前記成熟度が高いほど、当該対処の実施時期の運用開始時または現在のいずれかへの近さの差に応じた有用度の差を大きくすることを特徴とする請求項1または2記載の評価プログラム。
  4. 前記成熟度の算出では、システムの運用期間が長いほど前記成熟度を高くすることを特徴とする請求項1乃至3のいずれかに記載の評価プログラム。
  5. 前記非機能要件に関する値は、システムの稼働開始からの障害の累積発生状況を示す値である請求項1乃至4のいずれかに記載の評価プログラム。
  6. 前記成熟度の算出では、システムの障害発生状況の時間変化に基づいて、当該システムの運用期間の長さに応じた成熟度合いを示す成熟度係数を求め、定数として前記成熟度係数を設定した関数式を生成し、前記関数式に基づいて、前記複数のシステムそれぞれで実施された各々の対処について、当該対処を実施したときの当該システムの運用期間に対応する前記成熟度を算出する請求項5記載の評価プログラム。
  7. 前記成熟度の算出では、システムに対する障害発生の累積件数の時間変化を求め、運用期間の長さに応じた当該累積件数の増加度合いを、前記成熟度係数とすることを特徴とする請求項6記載の評価プログラム。
  8. 前記成熟度の算出では、評価対象の対処を実施したシステムの前記非機能要件に関する値に基づいて、単位期間ごとの当該システムの動作の安定性を判定し、当該対処の実施時までの所定期間内の各単位期間の当該システムの安定性に基づいて、当該対処の前記成熟度を算出する請求項1乃至3のいずれかに記載の評価プログラム。
  9. 前記非機能要件に関する値は、前記複数のシステムを監視することで得られた、前記複数のシステムそれぞれの動作状態を示す値である請求項1乃至4のいずれかまたは請求項8に記載の評価プログラム。
  10. 複数のシステムにおいて実施された対処の、特定のシステムに対する有用度を評価する評価方法であって、
    コンピュータが、
    前記複数のシステムそれぞれについての非機能要件に関する値に基づいて、前記複数のシステムそれぞれで各々の対処の実施時期における、当該対処を実施したシステムが安定運用できている度合いを示す成熟度を算出し、
    前記複数のシステムそれぞれで実施された前記各々の対処について、前記特定のシステムと当該対処が実施されたシステムとの構成の類似度、当該対処の実施時期、当該対処による効果、および前記実施時期における前記成熟度に基づき、前記特定のシステムに対する有用度を評価する、
    評価方法。
  11. 複数のシステムにおいて実施された対処の、特定のシステムに対する有用度を評価する評価装置であって、
    前記複数のシステムそれぞれについての非機能要件に関する値に基づいて、前記複数のシステムそれぞれで各々の対処の実施時期における、当該対処を実施したシステムが安定運用できている度合いを示す成熟度を算出する算出手段と、
    前記複数のシステムそれぞれで実施された前記各々の対処について、前記特定のシステムと当該対処が実施されたシステムとの構成の類似度、当該対処の実施時期、当該対処による効果、および前記実施時期における前記成熟度に基づき、前記特定のシステムに対する有用度を評価する評価手段と、
    を有する評価装置。
JP2014206195A 2014-06-13 2014-10-07 評価プログラム、評価方法、および評価装置 Active JP6387777B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014206195A JP6387777B2 (ja) 2014-06-13 2014-10-07 評価プログラム、評価方法、および評価装置
US14/737,914 US9740550B2 (en) 2014-06-13 2015-06-12 Evaluation method and evaluation apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014122314 2014-06-13
JP2014122314 2014-06-13
JP2014206195A JP6387777B2 (ja) 2014-06-13 2014-10-07 評価プログラム、評価方法、および評価装置

Publications (2)

Publication Number Publication Date
JP2016015111A true JP2016015111A (ja) 2016-01-28
JP6387777B2 JP6387777B2 (ja) 2018-09-12

Family

ID=54836227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014206195A Active JP6387777B2 (ja) 2014-06-13 2014-10-07 評価プログラム、評価方法、および評価装置

Country Status (2)

Country Link
US (1) US9740550B2 (ja)
JP (1) JP6387777B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017199118A (ja) * 2016-04-26 2017-11-02 三菱電機株式会社 静観候補特定装置、静観候補特定方法及び静観候補特定プログラム
WO2018174163A1 (ja) 2017-03-23 2018-09-27 日本電気株式会社 開発運用支援システム、開発管理サーバ、運用管理サーバ、それらの方法及びプログラムを格納した非一時的なコンピュータ可読媒体
JP2018156348A (ja) * 2017-03-17 2018-10-04 株式会社リコー 障害監視装置、障害監視システムおよびプログラム
JP2020030447A (ja) * 2018-08-20 2020-02-27 Zホールディングス株式会社 サーバ、システム、クライアント装置、ログ情報記憶方法、クライアント情報送信方法及びプログラム
JP2021015321A (ja) * 2019-07-10 2021-02-12 三菱電機株式会社 手順特定装置、計算モデル生成装置、手順特定方法、手順特定プログラム、計算モデル生成方法、計算モデル生成プログラム、学習データ生成装置及び計算プログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016063424A (ja) * 2014-09-18 2016-04-25 株式会社東芝 情報処理装置、通信装置、端末、通信処理方法およびコンピュータプログラム
WO2017026002A1 (ja) * 2015-08-07 2017-02-16 株式会社日立製作所 監視装置、監視方法、および監視プログラム
US10033647B2 (en) * 2015-10-13 2018-07-24 Oracle International Corporation System and method for efficient network isolation and load balancing in a multi-tenant cluster environment
US10599509B2 (en) * 2015-12-21 2020-03-24 Hitachi, Ltd. Management system and management method for computer system
US10055263B2 (en) * 2016-04-01 2018-08-21 Ebay Inc. Optimization of parallel processing using waterfall representations
JP6803788B2 (ja) * 2017-03-29 2020-12-23 三菱重工業株式会社 情報処理装置、情報処理方法およびプログラム
EP3401849A1 (de) * 2017-05-09 2018-11-14 dSPACE digital signal processing and control engineering GmbH Produktreifebestimmung eines technischen systems
US10782949B2 (en) * 2018-01-08 2020-09-22 International Business Machines Corporation Risk aware application placement modeling and optimization in high turnover DevOps environments
US11892924B2 (en) * 2020-03-20 2024-02-06 UncommonX Inc. Generation of an issue detection evaluation regarding a system aspect of a system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165853A (ja) * 1991-07-08 1993-07-02 Hitachi Ltd 品質情報診断解析方法
JP2001109736A (ja) * 1999-10-13 2001-04-20 Honda Motor Co Ltd 市場品質監視システム
WO2008012903A1 (fr) * 2006-07-27 2008-01-31 Fujitsu Limited Programme de gestion de système, dispositif de gestion de gestion de système, et procédé de gestion de système
WO2009122525A1 (ja) * 2008-03-31 2009-10-08 富士通株式会社 トラブル対処システム、方法およびそのためのプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4378864B2 (ja) 2000-01-31 2009-12-09 三菱電機株式会社 複合装置、複合装置の運転方法
JP4350394B2 (ja) 2003-03-04 2009-10-21 マイクロストーン株式会社 変形性膝関節症の判定装置
JP2006053728A (ja) 2004-08-11 2006-02-23 Nec Corp 障害対処ルール伝播方法、障害復旧装置およびプログラム
JP4764353B2 (ja) 2007-01-09 2011-08-31 株式会社東芝 設備更新計画支援システム
JP2010211597A (ja) 2009-03-11 2010-09-24 Canon Inc トラブル履歴管理システム
JP5244686B2 (ja) 2009-04-24 2013-07-24 株式会社東芝 監視装置およびサーバー
JPWO2011046228A1 (ja) 2009-10-15 2013-03-07 日本電気株式会社 システム運用管理装置、システム運用管理方法、及びプログラム記憶媒体
JP5519436B2 (ja) 2010-07-16 2014-06-11 キヤノン電子株式会社 システム安定度を分析する情報分析装置、情報分析方法、情報分析システムおよびプログラム
US8429455B2 (en) * 2010-07-16 2013-04-23 Hitachi, Ltd. Computer system management method and management system
WO2012127588A1 (ja) * 2011-03-18 2012-09-27 富士通株式会社 対処支援プログラム、対処支援装置および対処支援方法
JP2013011987A (ja) 2011-06-28 2013-01-17 Toshiba Corp 異常状態検知装置及び異常状態検知方法
KR101953558B1 (ko) * 2012-10-23 2019-03-04 한국전자통신연구원 스마트 기기 결함 관리 장치 및 방법
EP2940585A4 (en) 2012-12-28 2016-01-06 Fujitsu Ltd PROGRAM FOR CREATING A RESPONSE PROCESS, METHOD FOR CREATING A RESPONSE PROCESS AND INFORMATION PROCESSING DEVICE

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165853A (ja) * 1991-07-08 1993-07-02 Hitachi Ltd 品質情報診断解析方法
JP2001109736A (ja) * 1999-10-13 2001-04-20 Honda Motor Co Ltd 市場品質監視システム
WO2008012903A1 (fr) * 2006-07-27 2008-01-31 Fujitsu Limited Programme de gestion de système, dispositif de gestion de gestion de système, et procédé de gestion de système
WO2009122525A1 (ja) * 2008-03-31 2009-10-08 富士通株式会社 トラブル対処システム、方法およびそのためのプログラム
US20110016355A1 (en) * 2008-03-31 2011-01-20 Fujitsu Limited System, method and computer readable storage medium for troubleshooting

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017199118A (ja) * 2016-04-26 2017-11-02 三菱電機株式会社 静観候補特定装置、静観候補特定方法及び静観候補特定プログラム
WO2017187651A1 (ja) * 2016-04-26 2017-11-02 三菱電機株式会社 静観候補特定装置、静観候補特定方法及び静観候補特定プログラム
JP2018156348A (ja) * 2017-03-17 2018-10-04 株式会社リコー 障害監視装置、障害監視システムおよびプログラム
WO2018174163A1 (ja) 2017-03-23 2018-09-27 日本電気株式会社 開発運用支援システム、開発管理サーバ、運用管理サーバ、それらの方法及びプログラムを格納した非一時的なコンピュータ可読媒体
CN110447011A (zh) * 2017-03-23 2019-11-12 日本电气株式会社 开发操作支持系统、开发管理服务器、操作管理服务器及其方法以及存储有其程序的非暂时性计算机可读介质
US11184229B2 (en) 2017-03-23 2021-11-23 Nec Corporation Development operation support system, development management server, operation management server, method thereof, and non-transitory computer readable medium storing program thereof
CN110447011B (zh) * 2017-03-23 2023-02-17 日本电气株式会社 开发操作支持系统、开发管理服务器、操作管理服务器及其方法以及存储有其程序的非暂时性计算机可读介质
JP2020030447A (ja) * 2018-08-20 2020-02-27 Zホールディングス株式会社 サーバ、システム、クライアント装置、ログ情報記憶方法、クライアント情報送信方法及びプログラム
JP2021015321A (ja) * 2019-07-10 2021-02-12 三菱電機株式会社 手順特定装置、計算モデル生成装置、手順特定方法、手順特定プログラム、計算モデル生成方法、計算モデル生成プログラム、学習データ生成装置及び計算プログラム

Also Published As

Publication number Publication date
US9740550B2 (en) 2017-08-22
US20150363249A1 (en) 2015-12-17
JP6387777B2 (ja) 2018-09-12

Similar Documents

Publication Publication Date Title
JP6387777B2 (ja) 評価プログラム、評価方法、および評価装置
US9424157B2 (en) Early detection of failing computers
US9710322B2 (en) Component dependency mapping service
US11061756B2 (en) Enabling symptom verification
US9563849B2 (en) Behavioral rules discovery for intelligent computing environment administration
US20110320394A1 (en) Creation and Revision of Network Object Graph Topology for a Network Performance Management System
US10949765B2 (en) Automated inference of evidence from log information
US9959197B2 (en) Automated bug detection with virtual machine forking
JP6447348B2 (ja) ダンプデータ管理プログラム、ダンプデータ管理方法、およびダンプデータ管理装置
US9785421B1 (en) External dependency attribution
US9503341B2 (en) Dynamic discovery of applications, external dependencies, and relationships
JPWO2013088565A1 (ja) 検知装置、検知プログラムおよび検知方法
Shihab et al. Prioritizing the creation of unit tests in legacy software systems
JP6119767B2 (ja) 対処方法作成プログラム、対処方法作成方法、及び情報処理装置
US20140280860A1 (en) Method and system for signal categorization for monitoring and detecting health changes in a database system
US20130318499A1 (en) Test script generation
JP2017049639A (ja) 評価プログラム、手順書評価方法、および評価装置
US10776240B2 (en) Non-intrusive performance monitor and service engine
US10255128B2 (en) Root cause candidate determination in multiple process systems
US20230021858A1 (en) Method and system for improved sentiment analysis
JP2008191813A (ja) ファイル重要度判定装置、ファイル重要度判定方法およびファイル重要度判定プログラム
US9800588B1 (en) Automated analysis pipeline determination in a malware analysis environment
JP6508202B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
US10489272B2 (en) Automatic instrumentation of code
Shetty Minimizing Blast Radius of Chaos Engineering Experiments via Steady-State Metrics Forecasting

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180704

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: 20180717

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180730

R150 Certificate of patent or registration of utility model

Ref document number: 6387777

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150