JP2021182313A - Detection method, and detection program - Google Patents
Detection method, and detection program Download PDFInfo
- Publication number
- JP2021182313A JP2021182313A JP2020088060A JP2020088060A JP2021182313A JP 2021182313 A JP2021182313 A JP 2021182313A JP 2020088060 A JP2020088060 A JP 2020088060A JP 2020088060 A JP2020088060 A JP 2020088060A JP 2021182313 A JP2021182313 A JP 2021182313A
- Authority
- JP
- Japan
- Prior art keywords
- time
- detection device
- data
- change
- index value
- 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.)
- Pending
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Description
本発明は、検出方法、および検出プログラムに関する。 The present invention relates to a detection method and a detection program.
従来、サーバなどの機器を使用して実行される複数の業務処理のそれぞれの業務処理で、機器のリソースをどの程度使用していたのかを分析することが望まれる場合がある。例えば、ユーザが予想した今後の業務量に合わせて、それぞれの業務処理で、機器のリソースを今後どの程度使用するのかをシミュレートする場合の基準として、それぞれの業務処理で、機器のリソースを過去どの程度使用していたのかを分析することが望まれる。 Conventionally, it may be desired to analyze how much the resources of a device are used in each business process of a plurality of business processes executed by using a device such as a server. For example, in each business process, the device resource is used in the past as a standard for simulating how much the device resource will be used in each business process according to the future business volume predicted by the user. It is desirable to analyze how much it has been used.
先行技術としては、例えば、仮想マシンが割り当てられる複数の物理マシン全体の物理リソース量の総和を目的関数として最小化する最適化問題の解を演算し、配置構成を導出するものがある。また、例えば、複数の業務の負荷の変動方向を符号化し、符号積を算出し、符号積に対してカイ2乗検定を行って負荷の変動方向に相関関係があるか否かを判定する技術がある。 Prior art, for example, calculates a solution of an optimization problem that minimizes the sum of the physical resources of a plurality of physical machines to which a virtual machine is assigned as an objective function, and derives an arrangement configuration. Further, for example, a technique for encoding the fluctuation direction of the load of a plurality of tasks, calculating the code product, and performing a chi-square test on the code product to determine whether or not there is a correlation in the fluctuation direction of the load. There is.
しかしながら、従来技術では、業務処理単位で、機器のリソースを過去どの程度使用していたのかを分析することは難しい。例えば、1つの機器を使用して複数の業務処理が実行される場合、1つの機器のリソースの使用状況を表す指標値の中で、それぞれの業務処理に対応する成分値は一体化している。このため、業務処理単位で、1つの機器のリソースの使用状況を表す指標値を分析することはできない。 However, with the prior art, it is difficult to analyze how much equipment resources have been used in the past for each business processing unit. For example, when a plurality of business processes are executed using one device, the component values corresponding to each business process are integrated in the index value indicating the resource usage status of one device. Therefore, it is not possible to analyze the index value indicating the resource usage status of one device in the business processing unit.
1つの側面では、本発明は、業務処理単位でリソースの使用状況を把握し易くすることを目的とする。 In one aspect, it is an object of the present invention to make it easy to grasp the resource usage status in each business processing unit.
1つの実施態様によれば、ある期間におけるリソースの使用状況を表す指標値の時間変化を示すデータを取得し、取得した前記データに基づいて、所定の条件を満たす前記指標値の変化時点を検出し、検出した前記変化時点に基づいて、前記期間のうち、前記指標値の変化傾向の類似性を解析する対象とする複数の時間帯を設定する検出方法、および検出プログラムが提案される。 According to one embodiment, data indicating a time change of an index value indicating a resource usage status in a certain period is acquired, and based on the acquired data, a change time point of the index value satisfying a predetermined condition is detected. Then, a detection method and a detection program for setting a plurality of time zones for analyzing the similarity of the change tendency of the index value in the period based on the detected change time point are proposed.
一態様によれば、業務処理単位でリソースの使用状況を把握し易くすることが可能になる。 According to one aspect, it becomes possible to easily grasp the resource usage status in each business processing unit.
以下に、図面を参照して、本発明にかかる検出方法、および検出プログラムの実施の形態を詳細に説明する。 Hereinafter, the detection method according to the present invention and the embodiment of the detection program will be described in detail with reference to the drawings.
(実施の形態にかかる検出方法の一実施例)
図1は、実施の形態にかかる検出方法の一実施例を示す説明図である。検出装置100は、業務処理システムに含まれる1以上の機器を用いて実行される業務処理単位で、それぞれの機器のリソースに関する情報を出力することができるコンピュータである。
(Example of detection method according to the embodiment)
FIG. 1 is an explanatory diagram showing an embodiment of a detection method according to an embodiment. The
ここで、業務処理システムは、例えば、ICT(Information and Communication Technology)システムである。機器は、例えば、ICT機器である。機器は、例えば、サーバなどである。リソースは、例えば、インフラストラクチャーを形成する資源である。リソースは、例えば、CPU、メモリ、および、通信帯域などである。業務処理は、例えば、1以上の機器において1以上のプロセスを実行することによって実現される一連の処理である。 Here, the business processing system is, for example, an ICT (Information and Communication Technology) system. The device is, for example, an ICT device. The device is, for example, a server. A resource is, for example, a resource that forms an infrastructure. The resources are, for example, a CPU, a memory, a communication band, and the like. The business process is, for example, a series of processes realized by executing one or more processes on one or more devices.
ICTシステムの管理者は、ICTシステムにおいて、複数の業務処理の実行時におけるリソースの使用状況についてのシミュレーションを実施しようと考えることがある。 The administrator of the ICT system may want to perform a simulation of resource usage at the time of executing a plurality of business processes in the ICT system.
管理者は、例えば、将来、業務処理の業務量が増加した際に必要となる機器の台数などを見積もるために、シミュレーションを実施しようと考えることがある。また、管理者は、例えば、将来、業務処理の業務量が増加した際に業務処理の性能向上のボトルネックとなるリソースを特定するために、シミュレーションを実施しようと考えることがある。 The manager may consider performing a simulation, for example, in order to estimate the number of devices required when the business volume of business processing increases in the future. In addition, the administrator may consider performing a simulation, for example, in order to identify a resource that becomes a bottleneck for improving the performance of the business process when the business volume of the business process increases in the future.
また、管理者は、例えば、突発的に業務量が増加した場合について、実機検証が困難な状況であれば、シミュレーションを実施しようと考えることがある。また、管理者は、想定する運用時のリソースの使用状況の時間変化のパターン以外に、発生し得るリソースの使用状況の時間変化のパターンを分析するために、シミュレーションを実施しようと考えることがある。 In addition, the manager may consider performing a simulation, for example, when the amount of work suddenly increases and it is difficult to verify the actual machine. In addition, the administrator may want to perform a simulation to analyze the pattern of time change of resource usage that may occur in addition to the pattern of time change of resource usage during the assumed operation. ..
このため、シミュレーションの基準として、それぞれの業務処理で、機器のリソースをどの程度使用するのかを特定することが望まれる。 Therefore, as a criterion for simulation, it is desirable to specify how much equipment resources are used in each business process.
ここで、仮に、それぞれの業務処理の単独実行時のリソースの使用状況を表す指標値を計測し、それぞれの業務処理で、リソースをどの程度使用するのかを特定することができれば、シミュレーションを実施することができる。 Here, if it is possible to measure the index value indicating the resource usage status at the time of independent execution of each business process and specify how much the resource is used in each business process, a simulation is performed. be able to.
しかしながら、それぞれの業務処理の単独実行時のリソースの実際の使用状況を表す指標値を計測し、それぞれの業務処理で、リソースをどの程度使用するのかを特定することは難しい。 However, it is difficult to measure the index value indicating the actual usage status of the resource at the time of independent execution of each business process, and to specify how much the resource is used in each business process.
例えば、実際の業務処理システムでは、複数の業務処理が同時に実行される傾向があり、1つの機器を使用して複数の業務処理が実行される場合もあり得る。具体的には、1つの機器で、複数の業務処理からデータベースに対するクエリを受け付けるプロセスが実行される場合が考えられる。この場合、1つの機器のリソースの使用状況を表す指標値の中で、それぞれの業務処理に対応する成分値は一体化しているため、それぞれの業務処理の単独実行時のリソースの使用状況を表す指標値を計測することはできない。 For example, in an actual business processing system, a plurality of business processes tend to be executed at the same time, and a plurality of business processes may be executed using one device. Specifically, it is conceivable that one device may execute a process of accepting queries to the database from a plurality of business processes. In this case, since the component values corresponding to each business process are integrated in the index value indicating the resource usage status of one device, the resource usage status at the time of independent execution of each business process is represented. It is not possible to measure the index value.
これに対し、例えば、機器のリソースの使用状況を表す指標値の時間変化を示す時系列データに対して成分分解を実施する手法が考えられる。具体的には、成分分解により、時系列データを、時系列データを形成する要素である1以上の成分データに分解することにより、業務処理単位で、リソースをどの程度使用するのかを特定しようと試みる。 On the other hand, for example, a method of performing component decomposition on time-series data indicating a time change of an index value indicating the usage status of the resource of the device can be considered. Specifically, by decomposing the time-series data into one or more component data that are the elements that form the time-series data by component decomposition, we try to specify how much resources are used in each business processing unit. Try.
この手法では、分解された成分データを参照しても、業務処理単位で、リソースをどの程度使用するのかを特定することが難しい場合がある。 In this method, it may be difficult to specify how much resources are used in each business processing unit even if the decomposed component data is referred to.
例えば、機器のリソースごとの1以上の成分データの中から、1つの業務処理に対応する成分データの組み合わせを特定することができず、業務処理単位で、リソースをどの程度使用するのかを特定することができない。具体的には、異なるリソースに関する時系列データは異なる基準で分割されるため、リソース間での成分データの対応関係が不明であり、異なるリソースの成分データの組み合わせを、1つの業務処理に対応付けることができない。また、例えば、業務処理間でリソースの使用傾向が類似すると、リソースに関する時系列データから分割される成分データの中で、複数の業務処理に関するデータが一体化してしまうことがある。 For example, it is not possible to specify a combination of component data corresponding to one business process from one or more component data for each device resource, and it is possible to specify how much resources are used in each business process. Can't. Specifically, since the time series data related to different resources are divided according to different criteria, the correspondence relationship of the component data between the resources is unknown, and the combination of the component data of different resources is associated with one business process. I can't. Further, for example, if the resource usage tendency is similar between business processes, data related to a plurality of business processes may be integrated in the component data divided from the time series data related to the resources.
これに対し、業務処理の性質を利用して、機器のリソースの使用状況を表す指標値のうち、業務処理の数分の成分値を特定する手法が考えられる。この手法は、例えば、機器のリソースの使用状況を表す指標値の時系列における変化傾向に基づいて、機器のリソースの使用状況を表す指標値全体を、複数の成分値に分割することになる。業務処理の性質としては、例えば、業務処理の業務量が、日、週、または、月などの一定時間間隔で周期的な変化傾向を示すという第1の性質と、それぞれの業務処理の業務量に基づき、それぞれのリソースの使用状況が決定されるという第2の性質とが考えられる。 On the other hand, it is conceivable to use the nature of business processing to specify the component values for the number of business processing among the index values indicating the usage status of the resource of the device. In this method, for example, the entire index value representing the resource usage status of the device is divided into a plurality of component values based on the change tendency of the index value representing the resource usage status of the device in time series. The nature of business processing is, for example, the first property that the business volume of business processing shows a periodic change tendency at regular time intervals such as day, week, or month, and the business volume of each business processing. The second property is that the usage status of each resource is determined based on the above.
この手法は、業務処理が不定期に実施される環境に適用することが難しいという問題がある。例えば、この手法は、業務処理が不定期に実施されるため、業務処理の業務量が、日、週、または、月などの一定時間間隔で周期的な変化傾向を示すという第1の性質が現れにくい環境に適用することが難しい。 This method has a problem that it is difficult to apply it to an environment in which business processing is performed irregularly. For example, in this method, since the business process is performed irregularly, the first property is that the business volume of the business process shows a periodic change tendency at regular time intervals such as day, week, or month. Difficult to apply to environments that are difficult to appear.
これに対し、日、週、および、月などではない時間領域を、分解単位となるスコープに採用し、スコープを微小幅ずつ移動させながら、機器のリソースの使用状況を表す指標値の時間変化を示す時系列データを分析する手法が考えられる。この手法は、2以上の時点のそれぞれのスコープにおける、機器のリソースの使用状況を表す指標値の変化傾向の類似性を利用して、業務処理単位で、リソースをどの程度使用するのかを特定しようと試みる。 On the other hand, a time domain that is not a day, week, or month is adopted as the scope that is the decomposition unit, and while moving the scope by a small width, the time change of the index value that indicates the resource usage status of the equipment is changed. A method for analyzing the time-series data shown can be considered. In this method, let's specify how much resources are used in each business processing unit by using the similarity of the change tendency of the index value indicating the usage status of the resource of the device in each scope of two or more time points. Attempt.
この手法では、スコープを移動させる幅を小さくするほど、処理量の増大化を招いてしまう。一方で、スコープを移動させる幅を大きくするほど、機器のリソースの使用状況を表す指標値の時間変化を示す時系列データを分析する精度の低下を招いてしまい、業務処理単位で、リソースをどの程度使用するのかを特定することが難しくなる。 In this method, the smaller the width of moving the scope, the larger the amount of processing. On the other hand, as the width to move the scope is increased, the accuracy of analyzing the time-series data indicating the time-dependent change of the index value indicating the usage status of the resource of the device is lowered, and the resource is selected in the business processing unit. It becomes difficult to specify how much to use.
そこで、本実施の形態では、業務処理単位で、それぞれの機器のリソースに関する情報を出力することにより、管理者が、業務処理単位で、それぞれの機器のリソースの使用状況を把握し易くすることができる検出方法について説明する。 Therefore, in the present embodiment, by outputting information about the resources of each device in the business processing unit, it is possible for the administrator to easily grasp the usage status of the resources of each device in the business processing unit. The detection method that can be performed will be described.
図1の例では、(1−1)検出装置100は、ある期間におけるリソースの使用状況を表す指標値の時間変化を示すデータを取得する。データは、例えば、時点ごとに、当該時点におけるリソースの使用状況を表す指標値を対応付けた時系列データである。図1のグラフ101は、リソースの使用状況を表す指標値の時間変化をグラフ化したものである。
In the example of FIG. 1, (1-1) the
(1−2)検出装置100は、取得したデータに基づいて、所定の条件を満たす指標値の変化時点を検出する。変化時点を検出する手法については、例えば、特許文献(国際公開第2016/111240号)などを参照することができる。所定の条件は、例えば、指標値が一定以上増加することである。検出装置100は、例えば、取得したデータに基づいて、指標値が一定以上増加した変化時点110,120を検出する。
(1-2) The
(1−3)検出装置100は、検出した変化時点に基づいて、ある期間のうち、指標値の変化傾向の類似性を解析する対象とする複数の時間帯を設定する。時間帯は、解析する対象のスコープとして設定される。検出装置100は、例えば、解析する対象として、ある期間のうち、変化時点110を始点とする時間帯111と、変化時点120を始点とする時間帯121とを設定する。
(1-3) The
(1−4)検出装置100は、取得したデータのうち、設定した複数の時間帯のそれぞれにおける指標値の時間変化を示す部分データを抽出する。検出装置100は、例えば、取得したデータのうち、変化時点110を始点とする時間帯111における指標値の時間変化を示す部分データと、変化時点120を始点とする時間帯121における指標値の時間変化を示す部分データとを抽出する。
(1-4) The
(1−5)検出装置100は、抽出した部分データに基づいて、解析処理を実施する。解析処理は、設定した複数の時間帯における指標値の変化傾向の類似性を解析する一連の処理である。解析処理は、複数の時間帯における指標値の変化傾向の類似性を解析することにより、複数の時間帯に共通して現れる、業務処理単位のリソースの使用状況を表す成分値の変化傾向を特定する一連の処理である。検出装置100は、解析処理により、複数の時間帯に共通して現れる、業務処理単位のリソースの使用状況を表す成分値の時間変化を示すデータを取得する。解析処理の具体例については、例えば、図16〜図26を用いて後述する。
(1-5) The
(1−6)検出装置100は、解析処理の実施結果を出力する。検出装置100は、例えば、複数の時間帯に共通して現れる、業務処理単位のリソースの使用状況を表す成分値の時間変化を示すデータを出力する。検出装置100は、具体的には、業務処理単位のリソースの使用状況を表す成分値の時間変化をグラフ化して出力する。
(1-6) The
これにより、検出装置100は、業務処理単位で、それぞれの機器のリソースの使用状況に関する情報を出力することができる。このため、検出装置100は、管理者が、業務処理単位で、それぞれの機器のリソースの使用状況を把握し易くすることができる。そして、検出装置100は、管理者が、将来、業務処理の業務量が増加した際に必要となる機器の台数などを見積もるためなどに、シミュレーションを実施可能にすることができる。
As a result, the
検出装置100は、業務処理の単独実行時のリソースの実際の使用状況を表す指標値を計測することが難しい環境に適用することができ、当該環境においても、管理者が、業務処理単位で、それぞれの機器のリソースの使用状況を把握し易くすることができる。検出装置100は、業務処理が不定期に実施される環境に適用することができ、当該環境においても、管理者が、業務処理単位で、それぞれの機器のリソースの使用状況を把握し易くすることができる。
The
検出装置100は、スコープとする時間帯の数の増大化を抑制することができる。このため、検出装置100は、スコープとなる時間領域を微小幅ずつ移動させながら、機器のリソースの使用状況を表す指標値の時間変化を示す時系列データを分析する手法に比べて、処理量の増大化を抑制することができる。また、検出装置100は、機器のリソースの使用状況を表す指標値の時間変化を示すデータを分析する精度の低下を抑制することができる。
The
ここでは、検出装置100が、解析処理を実施する場合について説明したが、これに限らない。例えば、検出装置100が、解析する対象のスコープとして複数の時間帯を設定し、他のコンピュータが、設定された複数の時間帯に基づいて、解析処理を実施する場合があってもよい。また、例えば、管理者が、設定された複数の時間帯に基づいて、解析処理を実施する場合があってもよい。
Here, the case where the
(業務処理システム200の一例)
次に、図2を用いて、図1に示した検出装置100を適用した、業務処理システム200の一例について説明する。
(Example of business processing system 200)
Next, an example of the
図2は、業務処理システム200の一例を示す説明図である。図2において、業務処理システム200は、検出装置100と、1以上の業務処理装置201と、1以上の管理者側装置202とを含む。
FIG. 2 is an explanatory diagram showing an example of the
業務処理システム200において、検出装置100と業務処理装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、および、インターネットなどである。また、業務処理システム200において、検出装置100と管理者側装置202とは、有線または無線のネットワーク210を介して接続される。
In the
検出装置100は、業務処理システム200に含まれる1以上の機器の1以上のリソースを用いて実行される業務処理単位で、それぞれの機器のリソースの使用状況に関する情報を出力する。検出装置100は、例えば、業務処理単位で、それぞれの機器のリソースの使用状況を表す成分値の時間変化を示す時系列データを出力する。出力先は、例えば、管理者側装置202である。
The
検出装置100は、具体的には、図4〜図11に後述する各種テーブルを有する。検出装置100は、具体的には、業務処理装置201と通信し、全体の稼働データを取得する。検出装置100は、より具体的には、所定のタイミングで、業務処理装置201が有するリソースの使用状況を表す指標値を収集し、収集した指標値を纏めた全体の稼働データを生成する。指標値は、例えば、リソースの負荷量である。指標値は、例えば、リソースの使用量である。全体の稼働データは、例えば、図4に後述する稼働テーブル400を用いて記憶される。
Specifically, the
検出装置100は、具体的には、業務処理装置201と通信し、業務処理で発生したイベントの内容および発生時点を記録したログデータを取得してもよい。検出装置100は、より具体的には、所定のタイミングで、業務処理装置201で発生したイベントの内容および発生時点を収集し、収集したイベントの内容および発生時点を纏めたログデータを生成する。ログデータは、例えば、図10に後述するログテーブル1000を用いて記憶される。
Specifically, the
検出装置100は、具体的には、全体の稼働データに基づいて、解析する対象のスコープとする複数の時間帯を設定する。スコープは、例えば、所定の長さの時間帯である。検出装置100は、より具体的には、全体の稼働データに基づいて、指標値の変化時点を検出し、変化時点に基づいて、解析する対象のスコープとする複数の時間帯を設定する。検出装置100は、具体的には、全体の稼働データと、ログデータとに基づいて、解析する対象のスコープとする複数の時間帯を設定してもよい。
Specifically, the
検出装置100は、具体的には、全体の稼働データを、スコープ単位に分割する。1スコープごとに分割されたスコープ単位稼働データは、具体的には、図5に後述するスコープ単位テーブル500を用いて記憶される。検出装置100は、具体的には、1スコープごとに分割されたスコープ単位稼働データをベクトル化し、1スコープごとのベクトルを生成する。各スコープのベクトルは、具体的には、図6に後述するベクトルテーブル600を用いて記憶される。
Specifically, the
検出装置100は、具体的には、各スコープのベクトルを列として含む稼働データ行列を生成する。検出装置100は、具体的には、基底数に基づいて、生成した稼働データ行列に対して非負値行列因子分解を実施し、基底行列および重み行列を生成する。基底行列は、具体的には、図7に後述する成分テーブル700を用いて記憶される。重み行列は、具体的には、図8に後述する重みテーブル800を用いて記憶される。重み行列を形成する重み係数は、業務処理の業務量を示す指標値に対応する。非負値行列因子分解については、例えば、下記非特許文献1を参照することができる。
Specifically, the
非特許文献1 : Hoyer, Patrik O. “Non−negative matrix factorization with sparseness constraints.” Journal of machine learning research 5.Nov (2004): 1457−1469.
Non-Patent Document 1: Hoyer, Patrik O. et al. "Non-negate machine learning factorints." Journal of
検出装置100は、具体的には、基底行列に含まれる、業務処理単位に対応する基底ベクトルに含まれる業務処理単位での1以上の成分値を、リソースごとに分離する。分離した結果は、具体的には、図9に後述する分離結果テーブル900を用いて記憶される。検出装置100は、重み行列に含まれる、業務処理単位に対応する重みベクトルに基づいて、業務処理単位でのリソースごとの使用状況の長期的な変化傾向を解析してもよい。
Specifically, the
検出装置100は、業務処理単位で、リソースごとに1以上の成分値を分離した結果と、リソースごとの使用状況の長期的な変化傾向を解析した結果とを対応付けて出力する。出力先は、例えば、管理者側装置202である。検出装置100は、例えば、サーバ、または、PC(Personal Computer)などである。
The
業務処理装置201は、業務処理を実行し、サービスを実現するためのコンピュータである。例えば、業務処理装置201を集めたサービス実行基盤220により、サービスを形成する業務処理が分担されることにより、サービスが実現される。サービスは、1つの業務処理のみにより形成されていてもよい。業務処理は、例えば、プロセスである。業務処理装置201は、例えば、サービスを形成する1以上のプロセスのいずれかを実行する。また、業務処理装置201は、1以上のリソースを有し、それぞれのリソースの使用状況を表す指標値を定期的に計測して記憶し、検出装置100に送信する。業務処理装置201は、例えば、サーバ、または、PCなどである。
The
管理者側装置202は、業務処理システム200の管理者によって用いられるコンピュータである。管理者側装置202は、業務処理単位で、それぞれの機器のリソースの使用状況に関する情報を、検出装置100から受信する。管理者側装置202は、受信した情報を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、外部装置への送信、または、記憶領域への記憶などである。管理者側装置202は、例えば、PC、タブレット端末、または、スマートフォンなどである。
The administrator-
ここでは、業務処理システム200が、検出装置100を1つ含む場合について説明したが、これに限らない。例えば、業務処理システム200が、検出装置100を複数含む場合があってもよい。そして、複数の検出装置100が協働して、上述した各種処理を実現する場合があってもよい。
Here, the case where the
また、ここでは、検出装置100が、業務処理装置201とは異なる装置である場合について説明したが、これに限らない。例えば、検出装置100が、いずれかの業務処理装置201と一体である場合があってもよい。また、ここでは、検出装置100が、管理者側装置202とは異なる装置である場合について説明したが、これに限らない。例えば、検出装置100が、管理者側装置202と一体である場合があってもよい。
Further, although the case where the
(検出装置100のハードウェア構成例)
次に、図3を用いて、検出装置100のハードウェア構成例について説明する。
(Hardware configuration example of detection device 100)
Next, a hardware configuration example of the
図3は、検出装置100のハードウェア構成例を示すブロック図である。図3において、検出装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
FIG. 3 is a block diagram showing a hardware configuration example of the
ここで、CPU301は、検出装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることにより、コーディングされている処理をCPU301に実行させる。
Here, the
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
The network I /
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、検出装置100から着脱可能であってもよい。
The recording medium I /
検出装置100は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、検出装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、検出装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
The
(稼働テーブル400の記憶内容)
次に、図4を用いて、稼働テーブル400の記憶内容の一例について説明する。稼働テーブル400は、例えば、図3に示した検出装置100のメモリ302や記録媒体305などの記憶領域により実現される。
(Memory contents of the operation table 400)
Next, an example of the stored contents of the operation table 400 will be described with reference to FIG. The operation table 400 is realized, for example, by a storage area such as a
図4は、稼働テーブル400の記憶内容の一例を示す説明図である。図4に示すように、稼働テーブル400は、サーバ名と、日付時刻と、1以上のリソースとのフィールドを有する。稼働テーブル400は、各フィールドに情報を設定することにより、レコード400−aが記憶される。aは、任意の整数である。 FIG. 4 is an explanatory diagram showing an example of the stored contents of the operation table 400. As shown in FIG. 4, the operation table 400 has fields for a server name, a date and time, and one or more resources. Records 400-a are stored in the operation table 400 by setting information in each field. a is an arbitrary integer.
サーバ名のフィールドには、業務処理装置201を識別する識別情報としてサーバ名が設定される。日付時刻のフィールドには、業務処理装置201でリソースの使用状況を表す指標値が計測された日付と時刻との組み合わせが設定される。リソースのフィールドには、リソースの使用状況を表す指標値が設定される。指標値は、例えば、リソースの負荷量である。指標値は、例えば、リソースの使用量である。
In the server name field, the server name is set as the identification information for identifying the
リソースのフィールドは、例えば、CPU使用率[%]のフィールドと、ディスクIO(Input/Output)[IOPS(Input/Output Per Second)]のフィールドとなどである。CPU使用率[%]のフィールドには、業務処理装置201でのCPUの使用状況を表す指標値であるCPU使用率[%]が設定される。ディスクIO[IOPS]のフィールドには、業務処理装置201での記録媒体の使用状況を表す指標値であるディスクIO[IOPS]が設定される。リソースのフィールドは、例えば、メモリ使用率[%]のフィールドなどであってもよい。
The resource fields include, for example, a CPU usage rate [%] field and a disk IO (Input / Output) [IOPS (Input / Output Per Second)] field. In the field of the CPU usage rate [%], the CPU usage rate [%], which is an index value indicating the usage status of the CPU in the
(スコープ単位テーブル500の記憶内容)
次に、図5を用いて、スコープ単位テーブル500の記憶内容の一例について説明する。スコープ単位テーブル500は、例えば、図3に示した検出装置100のメモリ302や記録媒体305などの記憶領域により実現される。
(Stored contents of scope unit table 500)
Next, an example of the stored contents of the scope unit table 500 will be described with reference to FIG. The scope unit table 500 is realized, for example, by a storage area such as a
図5は、スコープ単位テーブル500の記憶内容の一例を示す説明図である。図5に示すように、スコープ単位テーブル500は、サーバ名と、日付時刻と、1以上のリソースとのフィールドを有する。スコープ単位テーブル500は、各フィールドに情報を設定することにより、レコード500−bが記憶される。bは、任意の整数である。 FIG. 5 is an explanatory diagram showing an example of the stored contents of the scope unit table 500. As shown in FIG. 5, the scope unit table 500 has fields for a server name, a date and time, and one or more resources. Records 500-b are stored in the scope unit table 500 by setting information in each field. b is an arbitrary integer.
スコープ単位テーブル500のレコードは、図4に示した稼働テーブル400のレコードから抽出された、1スコープ分のレコードである。このため、スコープ単位テーブル500のそれぞれのフィールドには、図4に示した稼働テーブル400のそれぞれのフィールドと同様の情報が設定される。また、スコープ単位テーブル500の日付時刻のフィールドには、スコープ内の日付と時刻との組み合わせが設定される。 The record of the scope unit table 500 is a record for one scope extracted from the record of the operation table 400 shown in FIG. Therefore, the same information as each field of the operation table 400 shown in FIG. 4 is set in each field of the scope unit table 500. Further, a combination of the date and time in the scope is set in the date and time field of the scope unit table 500.
(ベクトルテーブル600の記憶内容)
次に、図6を用いて、ベクトルテーブル600の記憶内容の一例について説明する。ベクトルテーブル600は、例えば、図3に示した検出装置100のメモリ302や記録媒体305などの記憶領域により実現される。
(Memory contents of vector table 600)
Next, an example of the stored contents of the vector table 600 will be described with reference to FIG. The vector table 600 is realized, for example, by a storage area such as a
図6は、ベクトルテーブル600の記憶内容の一例を示す説明図である。図6に示すように、ベクトルテーブル600は、スコープごとの稼働データのフィールドを有する。ベクトルテーブル600は、各フィールドに情報を設定することにより、レコード600−cが記憶される。cは、任意の整数である。 FIG. 6 is an explanatory diagram showing an example of the stored contents of the vector table 600. As shown in FIG. 6, the vector table 600 has a field of operation data for each scope. The vector table 600 stores records 600-c by setting information in each field. c is an arbitrary integer.
スコープごとの稼働データのフィールドには、全体の稼働データからスコープごとに分割されたスコープ単位稼働データをベクトル化して得られたベクトルの要素が設定される。スコープ単位稼働データをベクトル化して得られたベクトルの要素は、スコープ単位稼働データが示す1以上のリソースのそれぞれの使用状況を表す1以上の指標値のそれぞれである。 In the field of operation data for each scope, a vector element obtained by vectorizing the operation data for each scope divided for each scope from the entire operation data is set. The vector element obtained by vectorizing the scope unit operation data is each of one or more index values representing the usage status of each of the one or more resources indicated by the scope unit operation data.
(成分テーブル700の記憶内容)
次に、図7を用いて、成分テーブル700の記憶内容の一例について説明する。成分テーブル700は、例えば、図3に示した検出装置100のメモリ302や記録媒体305などの記憶領域により実現される。
(Memory content of component table 700)
Next, an example of the stored contents of the component table 700 will be described with reference to FIG. 7. The component table 700 is realized, for example, by a storage area such as a
図7は、成分テーブル700の記憶内容の一例を示す説明図である。図7に示すように、成分テーブル700は、1以上の成分のフィールドを有する。成分テーブル700は、各フィールドに情報を設定することにより、レコード700−dが記憶される。dは、任意の整数である。 FIG. 7 is an explanatory diagram showing an example of the stored contents of the component table 700. As shown in FIG. 7, the component table 700 has one or more component fields. Records 700-d are stored in the component table 700 by setting information in each field. d is an arbitrary integer.
成分のフィールドには、稼働データ行列に対して非負値行列因子分解を実施して得られた基底行列に含まれる基底ベクトルが示すリソースごとの成分データが設定される。成分データは、リソースに関する成分値の集合である。成分のフィールドには、例えば、稼働データ行列に対して非負値行列因子分解を実施して得られた基底行列に含まれる基底ベクトルが示す1以上の成分値のそれぞれが設定される。 In the component field, the component data for each resource indicated by the basis vector included in the basis matrix obtained by performing non-negative matrix factorization on the operating data matrix is set. Component data is a set of component values for a resource. In the component field, for example, each of one or more component values indicated by the basis vector included in the basis matrix obtained by performing non-negative matrix factorization on the working data matrix is set.
(重みテーブル800の記憶内容)
次に、図8を用いて、重みテーブル800の記憶内容の一例について説明する。重みテーブル800は、例えば、図3に示した検出装置100のメモリ302や記録媒体305などの記憶領域により実現される。
(Stored contents of weight table 800)
Next, an example of the stored contents of the weight table 800 will be described with reference to FIG. The weight table 800 is realized, for example, by a storage area such as a
図8は、重みテーブル800の記憶内容の一例を示す説明図である。図8に示すように、重みテーブル800は、成分IDと、スコープと、重み係数とのフィールドを有する。重みテーブル800は、各フィールドに情報を設定することにより、レコード800−eが記憶される。eは、任意の整数である。 FIG. 8 is an explanatory diagram showing an example of the stored contents of the weight table 800. As shown in FIG. 8, the weight table 800 has fields for a component ID, a scope, and a weighting factor. The weight table 800 stores records 800-e by setting information in each field. e is an arbitrary integer.
成分IDのフィールドには、稼働データ行列に対して非負値行列因子分解を実施して得られた重み行列に含まれる重みベクトルの要素である重み係数の係り先である、リソースごとの成分データを示す基底ベクトルを識別するための成分IDが設定される。成分データは、リソースに関する成分値の集合である。成分IDは、基底ベクトルが示すリソースごとの成分データが設定された成分テーブル700の成分フィールドの列番号である。 In the component ID field, the component data for each resource, which is the destination of the weighting coefficient, which is an element of the weight vector included in the weight matrix obtained by performing non-negative matrix factorization on the operating data matrix, is stored. A component ID for identifying the indicated basis vector is set. Component data is a set of component values for a resource. The component ID is a column number of the component field of the component table 700 in which the component data for each resource indicated by the basis vector is set.
スコープのフィールドには、スコープ単位で、重みベクトルの要素である重み係数が示す重みが、いつの業務処理の業務量に対応するかを識別するための日付と時刻との組み合わせが設定される。重み係数のフィールドには、重みベクトルの要素である重み係数が設定される。重み係数は、業務処理の重みとして、業務処理の業務量に対応する係数を示す。 In the scope field, a combination of date and time for identifying when the weight indicated by the weighting coefficient, which is an element of the weight vector, corresponds to the business volume of the business processing is set in the scope unit. The weighting factor, which is an element of the weighting vector, is set in the weighting factor field. The weighting coefficient indicates a coefficient corresponding to the business amount of the business processing as the weight of the business processing.
(分離結果テーブル900の記憶内容)
次に、図9を用いて、分離結果テーブル900の記憶内容の一例について説明する。分離結果テーブル900は、例えば、図3に示した検出装置100のメモリ302や記録媒体305などの記憶領域により実現される。
(Stored contents of separation result table 900)
Next, an example of the stored contents of the separation result table 900 will be described with reference to FIG. 9. The separation result table 900 is realized, for example, by a storage area such as a
図9は、分離結果テーブル900の記憶内容の一例を示す説明図である。図9に示すように、分離結果テーブル900は、成分IDと、サーバ名と、サンプリング時と、1以上のリソースとのフィールドを有する。分離結果テーブル900は、各フィールドに情報を設定することにより、レコード900−fが記憶される。 FIG. 9 is an explanatory diagram showing an example of the stored contents of the separation result table 900. As shown in FIG. 9, the separation result table 900 has fields of a component ID, a server name, a sampling time, and one or more resources. Records 900-f are stored in the separation result table 900 by setting information in each field.
成分IDのフィールドには、リソースごとの成分データを含み、リソースごとの成分データの分離元になる基底ベクトルを識別するための成分IDが設定される。成分データは、リソースに関する成分値の集合である。サーバ名のフィールドには、基底ベクトルが示す成分値の集合から分離される成分値が、いずれの業務処理装置201に関するかを示すサーバ名が設定される。
The component ID field includes the component data for each resource, and the component ID for identifying the basis vector that is the separation source of the component data for each resource is set. Component data is a set of component values for a resource. In the server name field, a server name indicating which
サンプリング時のフィールドには、スコープ単位で、基底ベクトルが示す成分値の集合から分離される成分値が、いつの成分値であるかを示す時刻が設定される。リソースのフィールドには、基底ベクトルが示す成分値の集合から分離された、いずれかのリソースの使用状況を表す成分値が設定される。 In the field at the time of sampling, a time indicating when the component value separated from the set of component values indicated by the basis vector is set in the scope unit is set. In the resource field, a component value indicating the usage status of any resource, which is separated from the set of component values indicated by the basis vector, is set.
リソースのフィールドは、例えば、CPU使用率[%]のフィールドと、ディスクIO(Input/Output)[IOPS(Input/Output Per Second)]のフィールドとなどである。CPU使用率[%]のフィールドには、業務処理装置201でのCPUの使用状況を表す指標値であるCPU使用率[%]が設定される。ディスクIO[IOPS]のフィールドには、業務処理装置201での記録媒体の使用状況を表す指標値であるディスクIO[IOPS]が設定される。リソースのフィールドは、例えば、メモリ使用率[%]のフィールドなどであってもよい。
The resource fields include, for example, a CPU usage rate [%] field and a disk IO (Input / Output) [IOPS (Input / Output Per Second)] field. In the field of the CPU usage rate [%], the CPU usage rate [%], which is an index value indicating the usage status of the CPU in the
(ログテーブル1000の記憶内容)
次に、図10を用いて、ログテーブル1000の記憶内容の一例について説明する。ログテーブル1000は、例えば、図3に示した検出装置100のメモリ302や記録媒体305などの記憶領域により実現される。
(Stored contents of log table 1000)
Next, an example of the stored contents of the log table 1000 will be described with reference to FIG. The log table 1000 is realized, for example, by a storage area such as a
図10は、ログテーブル1000の記憶内容の一例を示す説明図である。図10に示すように、ログテーブル1000は、サーバ名と、日付時刻と、ログメッセージとのフィールドを有する。ログテーブル1000は、各フィールドに情報を設定することにより、レコード1000−gが記憶される。 FIG. 10 is an explanatory diagram showing an example of the stored contents of the log table 1000. As shown in FIG. 10, the log table 1000 has fields for a server name, a date and time, and a log message. The log table 1000 stores records 1000-g by setting information in each field.
サーバ名のフィールドには、業務処理装置201を識別する識別情報としてサーバ名が設定される。日付時刻のフィールドには、業務処理装置201におけるイベントの発生時刻を示す日付と時刻との組み合わせが設定される。ログメッセージのフィールドには、業務処理装置201において発生したイベントの内容を示すログメッセージが設定される。
In the server name field, the server name is set as the identification information for identifying the
(抽出テーブル1100の記憶内容)
次に、図11を用いて、抽出テーブル1100の記憶内容の一例について説明する。抽出テーブル1100は、例えば、図3に示した検出装置100のメモリ302や記録媒体305などの記憶領域により実現される。
(Stored contents of extraction table 1100)
Next, an example of the stored contents of the extraction table 1100 will be described with reference to FIG. The extraction table 1100 is realized, for example, by a storage area such as a
図11は、抽出テーブル1100の記憶内容の一例を示す説明図である。図11に示すように、抽出テーブル1100は、サーバ名と、ログメッセージとのフィールドを有する。抽出テーブル1100は、各フィールドに情報を設定することにより、レコード1100−hが記憶される。 FIG. 11 is an explanatory diagram showing an example of the stored contents of the extraction table 1100. As shown in FIG. 11, the extraction table 1100 has fields for a server name and a log message. The extraction table 1100 stores records 1100-h by setting information in each field.
サーバ名のフィールドには、業務処理装置201を識別する識別情報としてサーバ名が設定される。ログメッセージのフィールドには、業務処理装置201において発生したイベントのうち、スコープを設定する指標となるイベントの内容を示すログメッセージが設定される。
In the server name field, the server name is set as the identification information for identifying the
(業務処理装置201のハードウェア構成例)
業務処理装置201のハードウェア構成例は、図3に示した、検出装置100のハードウェア構成例と同様であるため、説明を省略する。
(Hardware configuration example of business processing device 201)
Since the hardware configuration example of the
(管理者側装置202のハードウェア構成例)
次に、図12を用いて、図2に示した業務処理システム200に含まれる管理者側装置202のハードウェア構成例について説明する。
(Hardware configuration example of
Next, a hardware configuration example of the administrator-
図12は、管理者側装置202のハードウェア構成例を示すブロック図である。図12において、管理者側装置202は、CPU1201と、メモリ1202と、ネットワークI/F1203と、記録媒体I/F1204と、記録媒体1205と、ディスプレイ1206と、入力装置1207とを有する。また、各構成部は、バス1200によってそれぞれ接続される。
FIG. 12 is a block diagram showing a hardware configuration example of the administrator-
ここで、CPU1201は、管理者側装置202の全体の制御を司る。メモリ1202は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU1201のワークエリアとして使用される。メモリ1202に記憶されるプログラムは、CPU1201にロードされることで、コーディングされている処理をCPU1201に実行させる。
Here, the
ネットワークI/F1203は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F1203は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F1203は、例えば、モデムやLANアダプタなどである。
The network I /
記録媒体I/F1204は、CPU1201の制御に従って記録媒体1205に対するデータのリード/ライトを制御する。記録媒体I/F1204は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体1205は、記録媒体I/F1204の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体1205は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体1205は、管理者側装置202から着脱可能であってもよい。
The recording medium I /
ディスプレイ1206は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ1206は、例えば、CRT(Cathode Ray Tube)、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどである。入力装置1207は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置1207は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
The
管理者側装置202は、上述した構成部の他、例えば、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、管理者側装置202は、記録媒体I/F1204や記録媒体1205を複数有していてもよい。また、管理者側装置202は、記録媒体I/F1204や記録媒体1205を有していなくてもよい。
The administrator-
(検出装置100の機能的構成例)
次に、図13を用いて、検出装置100の機能的構成例について説明する。
(Example of functional configuration of detection device 100)
Next, a functional configuration example of the
図13は、検出装置100の機能的構成例を示すブロック図である。検出装置100は、記憶部1300と、取得部1301と、検出部1302と、分解部1303と、統合部1304と、抽出部1305と、分離部1306と、分析部1307と、出力部1308とを含む。
FIG. 13 is a block diagram showing a functional configuration example of the
記憶部1300は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部1300が、検出装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部1300が、検出装置100とは異なる装置に含まれ、記憶部1300の記憶内容が検出装置100から参照可能である場合があってもよい。
The
取得部1301〜出力部1308は、制御部の一例として機能する。取得部1301〜出力部1308は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
The
記憶部1300は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部1300は、例えば、ある期間における、1以上のリソースのそれぞれの使用状況を表す指標値の時間変化を示す時系列データを記憶する。
The
リソースは、例えば、CPU、メモリ、および、通信帯域などである。指標値は、例えば、リソースの負荷量、または、利用量などである。指標値は、例えば、CPU使用率、メモリ使用率、および、ディスクIOなどである。時系列データは、例えば、上述した稼働データに含まれる。記憶部1300は、具体的には、図4に示した稼働テーブル400を記憶する。
The resources are, for example, a CPU, a memory, a communication band, and the like. The index value is, for example, the load amount or the usage amount of the resource. The index values are, for example, CPU usage rate, memory usage rate, disk IO, and the like. The time series data is included in the above-mentioned operation data, for example. Specifically, the
1以上のリソースは、例えば、同一の機器における異なる種類のリソースを含んでもよい。機器は、例えば、業務処理装置201である。1以上のリソースは、例えば、異なる機器のそれぞれにおけるリソースを含んでもよい。
One or more resources may include, for example, different types of resources in the same device. The device is, for example, a
記憶部1300は、例えば、リソースを有する機器において発生した複数のイベントのそれぞれの内容と発生時点とを対応付けて記録したログデータを記憶する。内容は、例えば、ログメッセージによって表現される。記憶部1300は、具体的には、図10に示したログテーブル1000を記憶する。
The
記憶部1300は、指標値の変化傾向の類似性を解析する対象のスコープを記憶する。記憶部1300は、例えば、スコープとして設定された複数の時間帯を記憶する。時間帯は、例えば、所定の長さである。時間帯は、例えば、検出部1302によって設定される。
The
記憶部1300は、例えば、非負値行列因子分解の対象となる行列を記憶する。行列は、例えば、時系列データに基づいて生成される。行列は、具体的には、時系列データのうち、設定されたスコープに対応する部分時系列データに基づいて生成される。行列は、例えば、統合部1304によって生成される。
The
記憶部1300は、例えば、非負値行列因子分解の結果得られる基底行列を記憶する。基底行列は、所定の数の基底ベクトルのそれぞれを列または行として含む行列である。基底ベクトルは、スコープ単位での変化傾向が互いに類似するような、1以上のリソースのそれぞれについての成分データを表すベクトルである。成分データは、例えば、スコープ単位での成分値の時間変化を示す時系列データである。
The
記憶部1300は、例えば、非負値行列因子分解の結果得られる重み行列を記憶する。重み行列は、所定の数の重みベクトルのそれぞれを行または列として含む行列である。重みベクトルは、スコープごとの業務処理の重みを表すベクトルである。業務処理の重みは、例えば、業務処理の業務量に対応する。記憶部1300は、具体的には、図5〜図9に示した各種テーブルを記憶する。
The
記憶部1300は、例えば、所定の数を記憶する。所定の数は、基底数である。基底数は、基底行列に含まれる基底ベクトルの数を決定する。所定の数は、1以上のリソースの少なくともいずれかを用いて実行される業務処理の数に基づいて設定される。所定の数は、例えば、予め管理者によって業務処理の数と同じ数に設定される。また、所定の数は、ベクトルの次元の数に基づいて設定されてもよい。所定の数は、例えば、自動でベクトルの次元の数と同じ数が設定されてもよい。
The
取得部1301は、各機能部の処理に用いられる各種情報を取得する。取得部1301は、取得した各種情報を、記憶部1300に記憶し、または、各機能部に出力する。また、取得部1301は、記憶部1300に記憶しておいた各種情報を、各機能部に出力してもよい。取得部1301は、例えば、管理者の操作入力に基づき、各種情報を取得する。取得部1301は、例えば、検出装置100とは異なる装置から、各種情報を受信してもよい。
The
取得部1301は、例えば、ある期間における、1以上のリソースのそれぞれの使用状況を表す指標値の時間変化を示す時系列データを取得する。取得部1301は、具体的には、1以上の業務処理装置201から、ある期間分の、業務処理装置201ごとの1以上のリソースのそれぞれの使用状況を表す指標値の時間変化を示す稼働データを収集して纏めることにより、全体の稼働データを取得する。
The
取得部1301は、ある期間において、リソースを有する機器において発生した複数のイベントのそれぞれの内容と発生時点とを対応付けて記録したログデータを取得する。取得部1301は、具体的には、1以上の業務処理装置201から、ある期間分の、業務処理装置201ごとの発生したイベントの内容と発生時点とを対応付けた対応情報を収集して纏めることにより、ログデータを取得する。
The
取得部1301は、例えば、管理者の操作入力により、所定の数を受け付けてもよい。所定の数は、基底数である。
The
取得部1301は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、管理者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。
The
取得部1301は、例えば、時系列データを取得したことを、検出部1302〜分析部1307の処理を開始する開始トリガーとして受け付ける。取得部1301は、例えば、時系列データとログデータとを取得したことを、検出部1302〜分析部1307の処理を開始する開始トリガーとして受け付ける。
The
検出部1302は、取得した時系列データに基づいて、所定の条件を満たす指標値の変化時点を1以上検出する。所定の条件は、例えば、指標値が一定以上増加、または、減少したことである。所定の条件は、例えば、指標値が所定の範囲を外れたことであってもよい。検出部1302は、取得した時系列データに基づいて、指標値が一定以上増加した変化時点を1以上検出する。
The
検出部1302は、取得したログデータに基づいて、検出した変化時点に対応する発生時点に機器において発生したイベントの内容を特定し、複数のイベントのうち、特定した内容に対応するイベントの発生時点を1以上特定してもよい。
Based on the acquired log data, the
変化時点に対応する発生時点は、例えば、変化時点と一致する発生時点、変化時点との差分が一定以下の発生時点、または、変化時点に最も近い発生時点などである。特定した内容に対応するイベントは、特定した内容と同一の内容であるイベント、または、特定した内容と関連する内容であるイベントなどである。 The time of occurrence corresponding to the time of change is, for example, the time of occurrence that coincides with the time of change, the time of occurrence that is less than a certain difference from the time of change, or the time of occurrence that is closest to the time of change. The event corresponding to the specified content is an event having the same content as the specified content, an event having the content related to the specified content, or the like.
検出部1302は、例えば、取得したログデータに基づいて、検出した変化時点と一致する発生時点に発生したイベントの内容を特定し、複数のイベントのうち、特定した内容と同一の内容のイベントの発生時点を特定する。
For example, the
検出部1302は、複数のイベントのうち、特定した内容に対応するイベントの発生時点と、検出した変化時点との相関が一定以上であるか否かを判定してもよい。相関は、例えば、ある期間における、特定した内容に対応するイベントの発生時点の数に対する、検出した変化時点と一致する発生時点の数の割合によって表現される。
The
ここで、検出部1302は、相関が一定以上である場合、特定した内容に対応するイベントの発生時点を1以上特定する。一方で、検出部1302は、相関が一定未満である場合、特定した内容に対応するイベントの発生時点を特定せずに済ませる。
Here, when the correlation is a certain value or more, the
検出部1302は、検出した変化時点に基づいて、ある期間のうち、スコープとする複数の時間帯を設定する。検出部1302は、例えば、対象として、検出した変化時点をそれぞれ含む所定の長さの複数の時間帯を設定する。検出部1302は、例えば、対象として、特定した発生時点をそれぞれ含む所定の長さの複数の時間帯を設定してもよい。
The
分解部1303は、取得した時系列データのうち、スコープとして設定した複数の時間帯のそれぞれにおける指標値の時間変化を示す部分時系列データを抽出する。分解部1303は、例えば、取得した時系列データを、スコープごとの部分時系列データに分割する。分解部1303は、具体的には、取得した稼働データをスコープごとに分割し、スコープ単位稼働データを取得する。これにより、分解部1303は、業務処理の業務量の変化傾向を活用した非負値行列因子分解を実施可能にするために、取得した時系列データを加工することができる。
The
統合部1304〜分離部1306は、抽出した部分時系列データに基づいて、スコープとして設定した複数の時間帯における指標値の変化傾向の類似性を解析する解析処理を実施する。解析処理は、スコープとして設定した複数の時間帯における指標値の変化傾向の類似性を解析する一連の処理である。解析処理は、複数の時間帯における指標値の変化傾向の類似性を解析することにより、複数の時間帯に共通して現れる、業務処理単位のリソースの使用状況を表す成分値の変化傾向を特定する一連の処理である。解析処理は、非負値行列因子分解によって実現される。解析処理の具体例については、例えば、図16〜図26を用いて後述する。
The
統合部1304は、抽出した部分時系列データに基づいて、1以上のリソースのそれぞれの使用状況を表す指標値を要素とするスコープごとのベクトルを生成する。統合部1304は、例えば、分割した部分時系列データが示す1以上の指標値を要素とするスコープごとのベクトルを生成する。統合部1304は、具体的には、所定の規則に従って、スコープ単位稼働データが示す1以上の指標値のそれぞれを、決められた位置の要素として配置することにより、スコープ単位稼働データをベクトル化し、スコープごとのベクトルを生成する。これにより、統合部1304は、行列の列または行となるベクトルを生成することができる。
Based on the extracted partial time-series data, the
抽出部1305は、指標値を要素とするスコープごとのベクトルのそれぞれを列または行として含む行列を生成する。抽出部1305は、例えば、各スコープのベクトルを列として含む稼働データ行列を生成する。これにより、抽出部1305は、スコープごとにリソースに関する指標値を纏めて、行列のそれぞれの列または行として処理可能にすることができ、非負値行列因子分解の結果に、業務処理の性質を反映させることができる。このため、抽出部1305は、非負値行列因子分解で、業務処理単位のリソースごとの成分データに対応する、スコープごとの変化傾向が類似するリソースごとの成分データを抽出可能にすることができる。 The extraction unit 1305 generates a matrix containing each of the vectors for each scope whose elements are index values as columns or rows. The extraction unit 1305 generates, for example, an operation data matrix including a vector of each scope as a column. As a result, the extraction unit 1305 can collect index values related to resources for each scope and process them as each column or row of the matrix, and the nature of business processing is reflected in the result of non-negative matrix factorization. Can be made to. Therefore, the extraction unit 1305 can extract the component data for each resource having a similar change tendency for each scope, which corresponds to the component data for each resource in the business processing unit by the non-negative matrix factorization.
また、抽出部1305は、異なる業務処理装置201の異なるリソースに関する指標値を、行列のそれぞれの列または行として統合して処理可能にすることができる。このため、抽出部1305は、非負値行列因子分解で、複数のリソースのそれぞれに関する時系列データの中から、同じ業務処理に対応する成分データの組み合わせが特定可能な形式で抽出可能にすることができる。また、抽出部1305は、いずれかのリソースについて複数の業務処理による使用傾向が類似する場合に、非負値行列因子分解で、それぞれの業務処理に対応する成分データを分離可能な形式で抽出可能にすることができる。
Further, the extraction unit 1305 can integrate index values related to different resources of different
次に、抽出部1305は、生成した行列に対して非負値行列因子分解を実施する。抽出部1305は、例えば、稼働データ行列を基底行列と重み行列との積で規定し、非負値行列因子分解を実施する。抽出部1305は、非負値行列因子分解の結果、基底行列を生成する。基底行列は、所定の数分の基底ベクトルのそれぞれを列または行として含む。これにより、抽出部1305は、業務処理単位のリソースごとの成分データに対応する、変化傾向が類似するリソースごとの成分データを、基底ベクトルとして抽出することができる。 Next, the extraction unit 1305 performs non-negative matrix factorization on the generated matrix. The extraction unit 1305 defines, for example, an operation data matrix by the product of a basis matrix and a weight matrix, and performs non-negative matrix factorization. Extraction unit 1305 generates a basis matrix as a result of non-negative matrix factorization. The basis matrix contains each of a predetermined number of basis vectors as columns or rows. As a result, the extraction unit 1305 can extract the component data for each resource having a similar change tendency, which corresponds to the component data for each resource in the business processing unit, as a basis vector.
また、抽出部1305は、非負値行列因子分解の結果、生成した行列を基底行列との積によって表す重み行列を生成する。これにより、抽出部1305は、業務処理単位での業務量の長期的な変化傾向を解析するために有用である情報を生成することができる。 Further, the extraction unit 1305 generates a weight matrix that represents the generated matrix by the product of the base matrix as a result of the non-negative matrix factorization. As a result, the extraction unit 1305 can generate information useful for analyzing the long-term change tendency of the business amount in the business processing unit.
分離部1306は、生成した基底行列に含まれる所定の数分の基底ベクトルのそれぞれが表す1以上の成分値を1以上のリソースのそれぞれについて分離する。ここで、例えば、基底行列に含まれる基底ベクトルと、稼働データ行列に含まれるベクトルとの間では、要素の位置に対応関係が存在する。このため、分離部1306は、例えば、所定の規則を参照し、基底ベクトルが示す1以上の成分値を、1以上のリソースのそれぞれについて分離する。これにより、分離部1306は、業務処理単位のリソースごとの成分データを取得することができる。
分析部1307は、生成した重み行列に含まれる所定の数分の重みベクトルのそれぞれに関する情報を生成する。分析部1307は、例えば、重みベクトルに基づいて、重みベクトルに含まれる重み係数の時間経過に伴う増加減少傾向を示す情報を生成する。これにより、分析部1307は、業務処理単位での業務量の長期的な変化傾向を解析することができる。また、検出装置100が、業務処理単位での業務量の長期的な変化傾向を解析せずに、重みベクトルをそのまま管理者に参照可能にする場合があってもよい。この場合、検出装置100は、分析部1307を有さなくてもよい。
The
出力部1308は、いずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部1308は、いずれかの機能部の処理結果を管理者に通知可能にし、検出装置100の利便性の向上を図ることができる。
The output unit 1308 outputs the processing result of any of the functional units. The output format is, for example, display on a display, print output to a printer, transmission to an external device by a network I /
出力部1308は、例えば、所定の数分の基底ベクトルのそれぞれが表す1以上の成分値を1以上のリソースのそれぞれについて分離した結果を出力する。これにより、出力部1308は、管理者が、業務処理単位のリソースごとの成分データを参照可能にすることができる。そして、出力部1308は、管理者が、業務処理ごとに時系列データを解析し易くすることができ、業務処理ごとにスコープでの1以上のリソースそれぞれの使用傾向を解析し易くすることができる。 The output unit 1308 outputs, for example, the result of separating one or more component values represented by each of a predetermined number of basis vectors for each of one or more resources. As a result, the output unit 1308 can enable the administrator to refer to the component data for each resource of the business processing unit. Then, the output unit 1308 can facilitate the administrator to analyze the time series data for each business process, and can easily analyze the usage tendency of each of one or more resources in the scope for each business process. ..
出力部1308は、例えば、所定の数分の重みベクトルのそれぞれに関する情報を出力する。出力部1308は、具体的には、重みベクトルごとに、重みベクトルに対応する基底ベクトルが示す成分データと対応付けて、重みベクトルに含まれる重み係数の時間経過に伴う増加減少傾向を示す情報を出力する。これにより、分析部1307は、管理者が、業務処理単位での業務量の長期的な変化傾向を参照可能にすることができる。
The output unit 1308 outputs, for example, information about each of a predetermined number of weight vectors. Specifically, the output unit 1308 associates each weight vector with the component data indicated by the basis vector corresponding to the weight vector, and provides information indicating an increase / decrease tendency of the weight coefficient included in the weight vector over time. Output. As a result, the
出力部1308は、例えば、所定の数分の重みベクトルのそれぞれを出力してもよい。これにより、出力部1308は、業務処理単位での業務量の長期的な変化傾向を解析するために有用である情報を、管理者に提供することができる。出力部1308は、例えば、特定したイベントの内容を出力してもよい。これにより、出力部1308は、管理者が、業務処理単位の1以上のリソースそれぞれの使用傾向が、いずれの業務処理に対応するかを特定し易くすることができる。 The output unit 1308 may output each of a predetermined number of weight vectors, for example. Thereby, the output unit 1308 can provide the manager with information useful for analyzing the long-term change tendency of the business amount in the business processing unit. The output unit 1308 may output the contents of the specified event, for example. As a result, the output unit 1308 can make it easier for the administrator to specify which business process the usage tendency of each of one or more resources of the business processing unit corresponds to.
(動作例1における検出装置100の具体的な機能的構成例)
次に、図14を用いて、動作例1における検出装置100の具体的な機能的構成例について説明する。
(Specific functional configuration example of the
Next, a specific functional configuration example of the
図14は、動作例1における検出装置100の具体的な機能的構成例を示すブロック図である。以下の説明では、業務処理装置201は、サーバであるとする。
FIG. 14 is a block diagram showing a specific functional configuration example of the
図14の例では、ログデータ1401と、稼働データ1402とが存在する。検出装置100は、ログデータ1401と、稼働データ1402とを取得する。ログデータ1401は、例えば、ログテーブル1000を用いて記憶される。稼働データ1402は、例えば、稼働テーブル400を用いて記憶される。
In the example of FIG. 14,
検出装置100は、イベント発生ログ抽出部1410を含む。イベント発生ログ抽出部1410は、稼働データ1402と、ログデータ1401とに基づいて、業務処理の開始点となり得ると判断した、何らかのイベントが発生した時刻を示すイベント発生ログ時刻を抽出する。
The
イベント発生ログ抽出部1410は、例えば、稼働データ1402に基づいて、指標値が一定以上増加した変化時刻を検出する。イベント発生ログ抽出部1410は、例えば、ログデータ1401に基づいて、検出した変化時刻の前後の一定時間内に発生したイベントのログメッセージを特定する。イベント発生ログ抽出部1410は、例えば、特定したログメッセージに対応するイベント発生ログ時刻の一覧1411を生成する。一覧1411は、例えば、抽出テーブル1100を用いて記憶される。
The event occurrence
検出装置100は、稼働データ分解部1420を含む。稼働データ分解部1420は、稼働データ1402の中から、複数のスコープ単位稼働データ1421を抽出する。稼働データ分解部1420は、イベント発生ログ時刻の一覧1411に基づいて、それぞれのイベント発生ログ時刻を始点とする所定の長さのスコープを設定する。稼働データ分解部1420は、稼働データ1402の中から、設定したそれぞれのスコープに対応するスコープ単位稼働データ1421を抽出する。スコープ単位稼働データ1421は、例えば、スコープ単位テーブル500を用いて記憶される。
The
検出装置100は、稼働データベクトル化処理部1430を含む。稼働データベクトル化処理部1430は、スコープ単位稼働データ1421をベクトル化し、スコープごとの稼働データベクトル1431を生成する。各スコープの稼働データベクトル1431は、具体的には、ベクトルテーブル600を用いて記憶される。
The
検出装置100は、成分および重み係数抽出部1440を含む。成分および重み係数抽出部1440は、各スコープの稼働データベクトル1431を列として含む稼働データ行列を生成する。成分および重み係数抽出部1440は、基底数に基づいて、生成した稼働データ行列に対して非負値行列因子分解を実施し、基底行列および重み行列を生成する。
The
成分および重み係数抽出部1440は、例えば、非負値行列因子分解により、基底行列を形成する各成分1441と、重み行列を形成し、基底行列の各成分1441にかかる重み係数とを算出する。基底行列は、例えば、成分テーブル700を用いて記憶される。重み行列は、例えば、重みテーブル800を用いて記憶される。重み行列を形成する重み係数は、業務処理の業務量を示す指標値に対応する。
The component and weighting
検出装置100は、抽出成分分離部1450を含む。基底行列に含まれる、業務処理単位に対応する基底ベクトルに含まれる業務処理単位での1以上の成分1441を、業務処理装置201ごとのリソースごとに分離する。分離した成分1451は、具体的には、分離結果テーブル900を用いて記憶される。
The
検出装置100は、長期傾向分析部1460を含む。長期傾向分析部1460は、重み行列に含まれる、業務処理単位に対応する重みベクトル1442に基づいて、業務処理単位でのリソースごとの使用状況の長期的な変化傾向を解析する。長期傾向分析部1460は、例えば、業務処理単位に対応する重みベクトル1442に基づいて、業務処理単位でのリソースごとの使用状況の長期的な変化傾向を解析し、各成分1451の長期傾向1461を生成する。
The
検出装置100は、業務処理単位で、業務処理装置201ごとのリソースごとに分離した成分1451と、リソースごとの使用状況の長期傾向1461とを対応付けて出力する。出力先は、例えば、管理者側装置202である。これにより、検出装置100は、業務処理単位で、それぞれの機器のリソースの使用状況に関する情報を出力することができる。このため、検出装置100は、管理者が、業務処理単位で、それぞれの機器のリソースの使用状況を把握し易くすることができる。
The
(検出装置100の動作例1)
次に、図15〜図27を用いて、検出装置100の動作例1について説明する。まず、図15および図16を用いて、検出装置100の動作の流れについて説明する。
(Operation example 1 of the detection device 100)
Next, operation example 1 of the
図15および図16は、検出装置100の動作の流れを示す説明図である。図15に示すように、検出装置100は、業務処理の開始点となり得ると判断した、何らかのイベントが発生した時刻を示すイベント発生ログ時刻を始点とするスコープを設定する。例えば、グラフ1500のうち、破線部分の時間帯がスコープとして設定される。グラフ1500は、稼働データをグラフ化したものである。
15 and 16 are explanatory views showing the flow of operation of the
これにより、検出装置100は、スコープの数の増加を抑制することができ、処理量の増加を抑制することができる。また、検出装置100は、業務処理の開始点となり得ると判断したイベント発生ログ時刻を始点として採用するため、業務処理単位で、リソースの使用状況を表す成分値の時間変化を特定する用途に適したスコープを設定し易くすることができる。検出装置100は、具体的には、いずれのイベントが発生した時刻を示すイベント発生ログ時刻が、業務処理の開始点となり得るかを、稼働データとログデータとに基づいて判定する。ここで、図16の説明に移行する。
As a result, the
図16に示すように、検出装置100は、稼働データに基づいて、指標値が一定以上増加した変化時刻を検出する。検出装置100は、例えば、グラフ1600のうち、矢印部分に対応する変化時刻を検出する。検出装置100は、ログデータに基づいて、検出した変化時刻に対応する時刻に発生した、何らかのイベントの内容を特定する。
As shown in FIG. 16, the
検出装置100は、例えば、特定した内容のイベントが発生した時刻を示すイベント発生ログ時刻の数に対する、検出した変化時刻と一致するイベント発生ログ時刻の数の割合を、相関として算出する。検出装置100は、算出した相関が閾値以上である場合、特定した内容のイベントが発生した時刻を示すイベント発生ログ時刻を、業務処理の開始点となり得ると判定し、スコープの始点として採用する。閾値は、例えば、0.8である。検出装置100は、例えば、図16に示したログ2,3,6,8に対応するイベント発生ログ時刻を、スコープの始点として採用する。
The
ここで、指標値は、例えば、負荷量であるため、業務処理が開始したことに応じて増加する傾向がある。このため、検出装置100は、指標値が一定以上増加した変化時刻に基づいて、業務処理の開始点となり得る、何らかのイベントが発生した時刻を示すイベント発生ログ時刻を特定し易くすることができる。そして、検出装置100は、業務処理単位で、リソースの使用状況を表す成分値の時間変化を特定する用途に適したスコープを設定し易くすることができる。
Here, since the index value is, for example, a load amount, it tends to increase as the business process starts. Therefore, the
ここでは、検出装置100が、検出した変化時刻に対応する時刻に発生した、何らかのイベントの内容を特定し、特定した内容のイベントが発生した時刻を示すイベント発生ログ時刻を、スコープの始点として採用する場合について説明したが、これに限らない。例えば、検出装置100は、検出した変化時刻を、スコープの始点として採用する場合があってもよい。この場合の具体例については、図29および図30を用いて動作例2として後述する。
Here, the
図17〜図27は、検出装置100の動作例1を示す説明図である。動作例1において、検出装置100は、ログデータのイベントが発生した発生時刻と、稼働データの指標値が増加した変化時刻との相関を算出し、相関が閾値以上であるイベントの内容を特定する。指標値は、例えば、負荷量である。検出装置100は、特定した内容に対応するイベントの発生時刻を始点として、分解単位とするスコープを設定し、稼働データを、スコープ単位稼働データに分解する。
17 to 27 are explanatory views showing an operation example 1 of the
検出装置100は、スコープ単位稼働データを1つのベクトルに統合し、稼働データ行列Xを生成し、非負値行列因子分解により、稼働データ行列Xを基底行列Uと重み行列Aの積に分解する。検出装置100は、基底行列Uの各基底ベクトルをサーバごとのリソースごとに分離する。検出装置100は、各基底ベクトルにかかる重み係数についての増加減少傾向や周期性などを解析する。次に、図17の説明に移行する。
The
図17において、検出装置100は、稼働データを記憶した稼働テーブル400に基づいて、リソースごとに、指標値が一定以上変化した変化時点を検出する。図17の例では、検出装置100は、CPU使用率の変化時点としてCPU変化時点を検出し、ディスクIOの変化時点としてディスク変化時点を検出する。図17の例では、↑は、指標値が一定以上増加した変化時点のマークである。↓は、指標値が一定以上減少した変化時点のマークである。次に、図18の説明に移行する。
In FIG. 17, the
図18において、検出装置100は、ログテーブル1000に基づいて、指標値が一定以上増加した変化時点に対応付く日付時刻の、サーバ名とログメッセージとの組み合わせを特定する。図18の例では、検出装置100は、サーバ名「AP01」とログメッセージ「Data transport process start.」との組み合わせを特定する。
In FIG. 18, the
検出装置100は、ログテーブル1000における、特定した組み合わせの出現回数を算出する。図18の例では、検出装置100は、出現回数23を算出する。検出装置100は、指標値が一定以上増加した変化時点の数を算出する。図18の例では、検出装置100は、数19を算出する。検出装置100は、相関を算出し、閾値以上であるか否かを判定する。閾値は、例えば、0.8である。図18の例では、検出装置100は、相関=19/23≧0.8と判定する。検出装置100は、相関が閾値以上であれば、特定した組み合わせを、抽出テーブル1100に登録する。次に、図19の説明に移行する。
The
図19において、検出装置100は、ログテーブル1000に基づいて、抽出テーブル1100に登録された組み合わせに対応するイベント発生時刻を、スコープの始点として特定する。検出装置100は、特定した始点から、一定時間後までの時間帯を、スコープとして設定する。一定時間は、例えば、2時間である。次に、図20の説明に移行する。
In FIG. 19, the
図20において、検出装置100は、稼働テーブル400から、設定したスコープに対応するスコープ単位稼働データを抽出し、スコープ単位テーブル500に記憶する。図20の例では、検出装置100は、スコープ1に対応するスコープ単位稼働データを抽出し、スコープ単位テーブル500−1に記憶する。検出装置100は、スコープ2に対応するスコープ単位稼働データを抽出し、スコープ単位テーブル500−2に記憶する。次に、図21の説明に移行する。
In FIG. 20, the
図21において、検出装置100は、スコープ単位稼働データをベクトル化する。検出装置100は、例えば、スコープ単位テーブル500に記憶されたスコープ単位稼働データが示す1以上の指標値を、所定の規則に従って、要素として並べてベクトル化し、ベクトルテーブル600を用いて記憶する。スコープ1のスコープ単位稼働データは、例えば、ベクトルx1としてベクトルテーブル600に記憶される。スコープ2のスコープ単位稼働データは、例えば、ベクトルx2としてベクトルテーブル600に記憶される。図21の例では、ベクトルの次元は、96次元になる。次に、図22の説明に移行する。
In FIG. 21, the
図22において、検出装置100は、ベクトルテーブル600を参照し、各スコープに対応するベクトルx1,x2,・・・,xnを列とした稼働データ行列X=(x1,x2,・・・,xn)を生成する。nは、スコープの数である。以下の説明では、例えば、n=90とする。稼働データ行列Xは、96×90の行列である。検出装置100は、稼働データ行列Xに対して非負値行列因子分解を実施し、基底行列Uと重み行列Aとを生成する。U=(u1,u2,・・・,uN)である。uiは、基底ベクトルである。A=(a1,a2,・・・,aN)=(aij)である。aiは、重みベクトルである。
In FIG. 22, the
例えば、稼働データ行列Xは、基底行列Uと重み行列Aとの積として、下記式(1)によって表現される。そこで、検出装置100は、例えば、行列形式で表現した下記式(1)に対して非負値行列因子分解を適用し、業務処理単位でのリソースごとの成分データに対応する基底ベクトルを含む基底行列を生成する。非負値行列因子分解については、例えば、上述した非特許文献1を参照することができる。
For example, the operation data matrix X is expressed by the following equation (1) as a product of the basis matrix U and the weight matrix A. Therefore, for example, the
X=UA ・・・(1) X = UA ... (1)
非特許文献1におけるSparseness Constraintsとしては、例えば、L1ノルムが用いられる。非負値行列因子分解では、具体的には、下記式(2)を最小化する重みAと基底Uを推定することになる。||z||FROは、フロベニウスノルムである。α||A||1およびβ||U||1の項が、Sparseness Constraintsである。例えば、α=β=0.01とする。
As the Sparseness Constrants in
(A*,U*)=argminA,U(1/2||X−UA||FRO 2)+α||A||1+β||U||1 ・・・(2) (A * , U * ) = argmin A, U (1/2 || X-UA || FRO 2 ) + α || A || 1 + β || U || 1 ... (2)
このように、α||A||1およびβ||U||1の項を用いることにより、重みと基底とが可能な限り0になるよう誘導される。このため、上記式(2)を用いた非負値行列因子分解によれば、業務処理単位でのリソースごとの成分データを、利用者が理解しやすい形式で生成し易くすることができる。 In this way, by using the terms α || A || 1 and β || U || 1 , the weight and the basis are derived to be 0 as much as possible. Therefore, according to the non-negative matrix factorization using the above equation (2), it is possible to easily generate the component data for each resource in the business processing unit in a format that is easy for the user to understand.
例えば、下記非特許文献2によれば、非負値行列因子分解は、対象とする行列の各ベクトルの頻出成分を抽出する特性を有する。頻出成分は、類似する変化傾向を示す成分である。このため、稼働データ行列に対して非負値行列因子分解を実施すれば、頻出成分として、スコープ全体で類似する変化傾向を示す成分データを抽出可能になると考えられる。具体的には、頻出成分に対応する、業務処理単位でのリソースごとの成分データが、基底行列の各基底ベクトルとして抽出可能であると考えられる。
For example, according to
非特許文献2 : 澤田宏. “非負値行列因子分解 NMF の基礎とデータ/信号解析への応用.” 信学誌 95.9 (2012): 829−833. Non-Patent Document 2: Hiroshi Sawada. “Non-negative matrix factorization NMF basics and application to data / signal analysis.” Shingaku Journal 95.9 (2012): 829-833.
この際、検出装置100は、基底数=4を予め設定済みであるとする。このため、検出装置100は、基底行列U=(u1,u2,u3,u4)と規定する。基底行列Uは、96×4の行列である。また、検出装置100は、重み行列A=(a1,a2,a3,aN)=(aij)と規定する。重み行列Aは、4×90の行列である。
At this time, it is assumed that the
結果として、検出装置100は、グラフ2201〜2204に示すような基底ベクトルu1,u2,u3,u4を含む基底行列Uを生成する。また、検出装置100は、グラフ2211〜2214に示すような重みベクトルa1,a2,a3,a4を含む重み行列Aを生成する。重みベクトルa1=(a1,1,・・・,a1,90)である。重みベクトルa2=(a2,1,・・・,a2,90)である。重みベクトルa3=(a3,1,・・・,a3,90)である。重みベクトルa4=(a4,1,・・・,a4,90)である。
As a result, the
ここでは、基底数が予め設定済みである場合について説明したが、これに限らない。例えば、基底数として、稼働データ行列を形成するベクトルの次元数を用いる場合があってもよい。この場合、上記式(2)のα||A||1およびβ||U||1の項により、業務処理単位の成分データとして好ましくない基底ベクトルにかかる重み係数が0になる傾向がある。このため、検出装置100は、重み係数の和が0になる重みベクトルaiに対応する基底ベクトルuiを除外することにより、精度よく基底行列Uを生成可能である。次に、図23の説明に移行する。
Here, the case where the number of bases is preset has been described, but the present invention is not limited to this. For example, the number of dimensions of the vector forming the working data matrix may be used as the number of bases. In this case, the weighting coefficient applied to the basis vector, which is not preferable as the component data of the business processing unit, tends to be 0 due to the terms α || A || 1 and β || U || 1 in the above equation (2). .. Therefore, the
図23において、検出装置100は、生成した基底行列の基底ベクトルを、成分テーブル700を用いて記憶する。基底ベクトルの次元は、稼働データ行列を形成するベクトルと同様に、96次元になる。検出装置100は、生成した重み行列の重みベクトルを、重みテーブル800を用いて記憶する。重みベクトルの次元は、スコープの数に対応し、90次元になる。次に、図24の説明に移行する。
In FIG. 23, the
図24において、検出装置100は、グラフ2201〜2204に示した基底ベクトルu1,u2,u3,u4の成分値を、リソースごとに分離し、リソースごとの成分データを取得する。検出装置100は、基底ベクトルu1,u2,u3,u4の成分値を、サンプリング数である24点の成分値2411〜2414,2421〜2424,2431〜2434,2441〜2444ごとに分離し、リソースごとの成分データとして取得する。次に、図25の説明に移行する。
In FIG. 24, the
図25において、検出装置100は、分離した結果として、1つの業務処理に対応する、サーバAP01およびサーバDB01のそれぞれのCPU使用率とディスクIOとについての成分データ2511〜2514を取得する。また、検出装置100は、分離した結果として、1つの業務処理に対応する、サーバAP01およびサーバDB01のそれぞれのCPU使用率とディスクIOとについての成分データ2521〜2524を取得する。
In FIG. 25, as a result of the separation, the
また、検出装置100は、分離した結果として、1つの業務処理に対応する、サーバAP01およびサーバDB01のそれぞれのCPU使用率とディスクIOとについての成分データ2531〜2534を取得する。また、検出装置100は、分離した結果として、1つの業務処理に対応する、サーバAP01およびサーバDB01のそれぞれのCPU使用率とディスクIOとについての成分データ2541〜2544を取得する。次に、図26の説明に移行し、検出装置100が、成分テーブル700から、どのように成分値をリソースごとに分離するかについて説明する。
Further, as a result of the separation, the
図26において、検出装置100は、所定の規則に従って、成分テーブル700から成分値をリソースごとに分離する。図21の例では、検出装置100が、所定の規則に従って、スコープ単位稼働データが示す1以上の指標値を要素として並べてベクトル化する際、サーバAP01のCPU使用率は、ベクトルの1番目〜24番目までの要素として並べられている。このため、検出装置100は、成分テーブル700から成分値をリソースごとに分離する際、基底ベクトルの1番目〜24番目までの成分値を、サーバAP01のCPU使用率に関する成分値として分離することになる。
In FIG. 26, the
具体的には、成分テーブル700の成分値群2601は、サーバAP01のCPU使用率に関する成分値として分離結果テーブル900に記憶される。また、成分テーブル700の成分値群2602は、サーバAP01のディスクIOに関する成分値として分離結果テーブル900に記憶される。また、成分テーブル700の成分値群2603は、サーバDB01のCPU使用率に関する成分値として分離結果テーブル900に記憶される。また、成分テーブル700の成分値群2604は、サーバDB01のディスクIOに関する成分値として分離結果テーブル900に記憶される。この際、稼働データとは異なり、分離結果テーブル900において日付の情報は存在しなくなる。次に、図27の説明に移行する。
Specifically, the
図27において、図17〜図26の検出装置100の動作により、好ましい形式で、業務処理単位でリソースごとの成分データが取得されていることについて説明する。
In FIG. 27, it will be described that component data for each resource is acquired in a preferred format by the operation of the
例えば、同時刻に発生したサーバAP01のCPU使用率とサーバDB01のディスクIOとのそれぞれの負荷を包含する成分データを、同一の業務処理に対応する成分データとして抽出することが好ましい状況が考えられる。これに対し、検出装置100は、符号2701に示すように、同時刻に発生したサーバAP01のCPU使用率とサーバDB01のディスクIOとのそれぞれの負荷を包含する、1つの業務処理に対応する成分データを抽出することができる。
For example, it is preferable to extract component data including the respective loads of the CPU usage rate of the server AP01 and the disk IO of the server DB01 that occurred at the same time as the component data corresponding to the same business process. .. On the other hand, as shown by
また、例えば、サーバDB01のディスクIOの負荷を、互いに異なる業務処理に対応するディスクIOに関する2つの成分データのそれぞれに分離して包含することが好ましい状況が考えられる。これに対し、検出装置100は、符号2702に示すように、サーバDB01のディスクIOの負荷が、互いに異なる業務処理に対応するディスクIOに関する2つの成分データのそれぞれに分離して包含されるように、成分データを抽出することができる。
Further, for example, it is preferable to separately include the load of the disk IO of the
また、例えば、周期性なく不定期に発生するサーバDB01のCPU使用率の負荷を、1つの業務処理に対応する成分データとして抽出することが好ましい状況が考えられる。これに対し、検出装置100は、符号2703に示すように、サーバDB01のCPU使用率の負荷を包含する、1つの業務処理に対応する成分データを抽出することができる。
Further, for example, it is preferable to extract the load of the CPU usage rate of the
このように、検出装置100は、非負値行列因子分解で、1以上のリソースのそれぞれに関する時系列データの中から、同じ業務処理に対応する成分データの組み合わせを特定して抽出することができる。また、検出装置100は、いずれかのリソースについて複数の業務処理による使用傾向が類似し、それぞれの業務処理に対応する成分データが類似する場合に、非負値行列因子分解で、それぞれの業務処理に対応する成分データを分離して抽出することができる。検出装置100は、グラフ2211〜2214に示すような重みベクトルa1,a2,a3,a4に基づいて、業務処理単位での業務量の長期的な変化傾向を解析してもよい。
As described above, the
検出装置100は、分離した結果である成分データ2511〜2514,2521〜2524,2531〜2534,2541〜2544を、管理者が参照可能に表示する。また、検出装置100は、成分データ2511〜2514,2521〜2524,2531〜2534,2541〜2544のそれぞれに、解析結果である業務量の長期的な変化傾向を対応付けて、利用者が参照可能に表示してもよい。
The
これにより、管理者は、業務処理装置201のリソースにかかる負荷を考慮して、業務処理装置201のリソースの増設、および、業務処理システム200に含まれる業務処理装置201の増設などを検討することができる。
As a result, the administrator considers the expansion of the resources of the
ここでは、検出装置100が、サーバ名とログメッセージとの組み合わせを特定する動作と、スコープ単位稼働データを抽出する動作とに、同一の稼働テーブル400を利用する場合について説明したが、これに限らない。例えば、検出装置100が、予め、ある期間に対応する稼働テーブル400に基づいて、サーバ名とログメッセージとの組み合わせを特定しておく場合があってもよい。その後、検出装置100は、別の期間に対応する稼働テーブル400に基づいて、スコープ単位稼働データを抽出するようにしてもよい。
Here, the case where the
(動作例1における全体処理手順)
次に、図28を用いて、検出装置100が実行する、動作例1における全体処理手順の一例について説明する。全体処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Overall processing procedure in operation example 1)
Next, an example of the overall processing procedure in the operation example 1 executed by the
図28は、動作例1における全体処理手順の一例を示すフローチャートである。図28において、検出装置100は、開始トリガーを受け付ける(ステップS2801)。開始トリガーは、例えば、定期的なタイミングで自動的に発生するトリガー、または、管理者の操作入力により発生するトリガーなどである。
FIG. 28 is a flowchart showing an example of the overall processing procedure in the operation example 1. In FIG. 28, the
次に、検出装置100は、1以上の業務処理装置201のそれぞれの業務処理装置201からログデータと稼働データとを収集する(ステップS2802)。そして、検出装置100は、稼働データにおける上昇の変化時点を検出する(ステップS2803)。
Next, the
次に、検出装置100は、検出した上昇の変化時点と、ログデータにおけるイベントの発生点との相関を表す指標値を算出し、算出した指標値が一定以上になるイベントの種類を特定する(ステップS2804)。検出装置100は、例えば、指標値が閾値以上になるイベントの種類を特定する。閾値は、例えば、0.8である。そして、検出装置100は、特定した種類のイベントのそれぞれの発生点を始点とするスコープを設定する(ステップS2805)。
Next, the
次に、検出装置100は、収集した複数の稼働データのそれぞれの稼働データを、スコープ単位に分割する(ステップS2806)。そして、検出装置100は、分割した稼働データをスコープ単位で纏めてベクトル化し、各スコープのベクトルを、列として並べた稼働データ行列を生成する(ステップS2807)。
Next, the
次に、検出装置100は、基底数に基づいて、生成した稼働データ行列に対して非負値行列因子分解を実施し、基底行列および重み行列を生成する(ステップS2808)。そして、検出装置100は、基底行列に含まれる、業務処理単位に対応する基底ベクトルに含まれる業務処理単位での1以上の成分値を、リソースごとに分離する(ステップS2809)。
Next, the
次に、検出装置100は、重み行列に含まれる、業務処理単位に対応する重みベクトルに基づいて、業務処理単位での業務量の長期的な変化傾向を解析する(ステップS2810)。そして、検出装置100は、業務処理単位で、リソースごとに1以上の成分値を分離した結果と、業務量の長期的な変化傾向を解析した結果とを対応付けて出力する(ステップS2811)。
Next, the
その後、検出装置100は、全体処理を終了する。これにより、検出装置100は、管理者が、業務処理単位でリソースの使用状況を把握し易くし、業務処理単位で業務量の変化傾向を解析し易くすることができる。
After that, the
(動作例2における検出装置100の具体的な機能的構成例)
次に、図29を用いて、動作例2における検出装置100の具体的な機能的構成例について説明する。
(Specific functional configuration example of the
Next, a specific functional configuration example of the
図29は、動作例2における検出装置100の具体的な機能的構成例を示すブロック図である。以下の説明では、業務処理装置201は、サーバであるとする。図29の例では、稼働データ2901が存在する。検出装置100は、稼働データ2901を取得する。稼働データ2901は、例えば、稼働テーブル400を用いて記憶される。
FIG. 29 is a block diagram showing a specific functional configuration example of the
検出装置100は、上昇変化時刻検出部2910を含む。上昇変化時刻検出部2910は、稼働データ2901に基づいて、業務処理の開始点となり得ると判断した、指標値が一定以上増加した上昇変化時刻を検出し、上昇変化時刻の一覧2911を生成する。
The
検出装置100は、稼働データ分解部2920を含む。稼働データ分解部2920は、稼働データ2901の中から、複数のスコープ単位稼働データ2921を抽出する。稼働データ分解部2920は、上昇変化時刻の一覧2911に基づいて、それぞれの上昇変化時刻を始点とする所定の長さのスコープを設定し、稼働データ2901の中から、設定したそれぞれのスコープに対応するスコープ単位稼働データ2921を抽出する。スコープ単位稼働データ2921は、例えば、スコープ単位テーブル500を用いて記憶される。
The
検出装置100は、稼働データベクトル化処理部2930を含む。稼働データベクトル化処理部2930は、スコープ単位稼働データ2921をベクトル化し、スコープごとの稼働データベクトル2931を生成する。各スコープの稼働データベクトル2931は、具体的には、ベクトルテーブル600を用いて記憶される。
The
検出装置100は、成分および重み係数抽出部2940を含む。成分および重み係数抽出部2940は、各スコープの稼働データベクトル2931を列として含む稼働データ行列を生成する。成分および重み係数抽出部2940は、基底数に基づいて、生成した稼働データ行列に対して非負値行列因子分解を実施し、基底行列および重み行列を生成する。
The
成分および重み係数抽出部2940は、例えば、非負値行列因子分解により、基底行列を形成する各成分2941と、重み行列を形成し、基底行列の各成分2941にかかる重み係数とを算出する。基底行列は、例えば、成分テーブル700を用いて記憶される。重み行列は、例えば、重みテーブル800を用いて記憶される。重み行列を形成する重み係数は、業務処理の業務量を示す指標値に対応する。
The component and weighting
検出装置100は、抽出成分分離部2950を含む。基底行列に含まれる、業務処理単位に対応する基底ベクトルに含まれる業務処理単位での1以上の成分2941を、業務処理装置201ごとのリソースごとに分離する。分離した成分2951は、具体的には、分離結果テーブル900を用いて記憶される。
The
検出装置100は、長期傾向分析部2960を含む。長期傾向分析部2960は、重み行列に含まれる、業務処理単位に対応する重みベクトル2942に基づいて、業務処理単位でのリソースごとの使用状況の長期的な変化傾向を解析する。長期傾向分析部2960は、例えば、業務処理単位に対応する重みベクトル2942に基づいて、業務処理単位でのリソースごとの使用状況の長期的な変化傾向を解析し、各成分2951の長期傾向2961を生成する。
The
検出装置100は、業務処理単位で、業務処理装置201ごとのリソースごとに分離した成分2951と、リソースごとの使用状況の長期傾向2961とを対応付けて出力する。出力先は、例えば、管理者側装置202である。これにより、検出装置100は、業務処理単位で、それぞれの機器のリソースの使用状況に関する情報を出力することができる。このため、検出装置100は、管理者が、業務処理単位で、それぞれの機器のリソースの使用状況を把握し易くすることができる。検出装置100は、ログデータを業務処理装置201から収集しない状況にも適用することができる。
The
図30は、検出装置100の動作例2を示す説明図である。動作例2において、検出装置100は、稼働データの指標値が増加した上昇変化時刻を検出する。指標値は、例えば、負荷量である。検出装置100は、検出した上昇変化時刻を始点として、分解単位とするスコープを設定し、稼働データを、スコープ単位稼働データに分解する。
FIG. 30 is an explanatory diagram showing an operation example 2 of the
検出装置100は、スコープ単位稼働データを1つのベクトルに統合し、稼働データ行列Xを生成し、非負値行列因子分解により、稼働データ行列Xを基底行列Uと重み行列Aの積に分解する。検出装置100は、基底行列Uの各基底ベクトルをサーバごとのリソースごとに分離する。検出装置100は、各基底ベクトルにかかる重み係数についての増加減少傾向や周期性などを解析する。次に、図30の説明に移行する。
The
図30において、検出装置100は、稼働データを記憶した稼働テーブル400に基づいて、リソースごとに、指標値が一定以上変化した変化時点を検出する。図30の例では、検出装置100は、CPU使用率の変化時点としてCPU変化時点を検出し、ディスクIOの変化時点としてディスク変化時点を検出する。図30の例では、↑は、指標値が一定以上増加した変化時点のマークである。↓は、指標値が一定以上減少した変化時点のマークである。
In FIG. 30, the
検出装置100は、検出した、指標値が一定以上増加した上昇変化時点を、スコープの始点として特定する。検出装置100は、特定した始点から、一定時間後までの時間帯を、スコープとして設定する。一定時間は、例えば、2時間である。以降、検出装置100は、動作例1における図20〜図26と同様の動作を実施する。
The
これにより、検出装置100は、非負値行列因子分解で、1以上のリソースのそれぞれに関する時系列データの中から、同じ業務処理に対応する成分データの組み合わせを特定して抽出することができる。また、検出装置100は、いずれかのリソースについて複数の業務処理による使用傾向が類似し、それぞれの業務処理に対応する成分データが類似する場合に、非負値行列因子分解で、それぞれの業務処理に対応する成分データを分離して抽出することができる。検出装置100は、グラフ2211〜2214に示すような重みベクトルa1,a2,a3,a4に基づいて、業務処理単位での業務量の長期的な変化傾向を解析してもよい。
As a result, the
検出装置100は、分離した結果である成分データ2511〜2514,2521〜2524,2531〜2534,2541〜2544を、管理者が参照可能に表示する。また、検出装置100は、成分データ2511〜2514,2521〜2524,2531〜2534,2541〜2544のそれぞれに、解析結果である業務量の長期的な変化傾向を対応付けて、利用者が参照可能に表示してもよい。
The
これにより、管理者は、業務処理装置201のリソースにかかる負荷を考慮して、業務処理装置201のリソースの増設、および、業務処理システム200に含まれる業務処理装置201の増設などを検討することができる。
As a result, the administrator considers the expansion of the resources of the
(動作例2における全体処理手順)
次に、図31を用いて、検出装置100が実行する、動作例2における全体処理手順の一例について説明する。全体処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Overall processing procedure in operation example 2)
Next, an example of the overall processing procedure in the operation example 2 executed by the
図31は、動作例2における全体処理手順の一例を示すフローチャートである。図31において、検出装置100は、開始トリガーを受け付ける(ステップS3101)。開始トリガーは、例えば、定期的なタイミングで自動的に発生するトリガー、または、管理者の操作入力により発生するトリガーなどである。
FIG. 31 is a flowchart showing an example of the overall processing procedure in the operation example 2. In FIG. 31, the
次に、検出装置100は、1以上の業務処理装置201のそれぞれの業務処理装置201からログデータと稼働データとを収集する(ステップS3102)。そして、検出装置100は、稼働データにおける上昇の変化時点を検出する(ステップS3103)。
Next, the
次に、検出装置100は、検出した変化時点を始点とするスコープを設定する(ステップS3104)。そして、検出装置100は、収集した複数の稼働データのそれぞれの稼働データを、スコープ単位に分割する(ステップS3105)。
Next, the
次に、検出装置100は、分割した稼働データをスコープ単位で纏めてベクトル化し、各スコープのベクトルを、列として並べた稼働データ行列を生成する(ステップS3106)。そして、検出装置100は、基底数に基づいて、生成した稼働データ行列に対して非負値行列因子分解を実施し、基底行列および重み行列を生成する(ステップS3107)。
Next, the
次に、検出装置100は、基底行列に含まれる、業務処理単位に対応する基底ベクトルに含まれる業務処理単位での1以上の成分値を、リソースごとに分離する(ステップS3108)。そして、検出装置100は、重み行列に含まれる、業務処理単位に対応する重みベクトルに基づいて、業務処理単位での業務量の長期的な変化傾向を解析する(ステップS3109)。
Next, the
次に、検出装置100は、業務処理単位で、リソースごとに1以上の成分値を分離した結果と、業務量の長期的な変化傾向を解析した結果とを対応付けて出力する(ステップS3110)。そして、検出装置100は、全体処理を終了する。これにより、検出装置100は、管理者が、業務処理単位でリソースの使用状況を把握し易くし、業務処理単位で業務量の変化傾向を解析し易くすることができる。
Next, the
以上説明したように、検出装置100によれば、ある期間におけるリソースの使用状況を表す指標値の時間変化を示すデータを取得することができる。検出装置100によれば、取得したデータに基づいて、所定の条件を満たす指標値の変化時点を検出することができる。検出装置100によれば、検出した変化時点に基づいて、期間のうち、指標値の変化傾向の類似性を解析する対象とする複数の時間帯を設定することができる。これにより、検出装置100は、解析処理により、業務処理単位で、それぞれの機器のリソースの使用状況を表す成分値の時間変化を解析可能にすることができる。
As described above, according to the
検出装置100によれば、データのうち、設定した複数の時間帯のそれぞれにおける指標値の時間変化を示す部分データを抽出することができる。検出装置100によれば、抽出した部分データに基づいて、設定した複数の時間帯における指標値の変化傾向の類似性を解析する解析処理を実施することができる。これにより、検出装置100は、解析処理により、業務処理単位で、それぞれの機器のリソースの使用状況を表す成分値の時間変化を解析することができ、管理者が把握可能に出力することができる。
According to the
検出装置100によれば、抽出した部分データに基づいて、指標値を要素とする時間帯ごとのベクトルのそれぞれを列または行として含む行列を生成することができる。検出装置100によれば、生成した行列に対して非負値行列因子分解を実施し、所定の数分の基底ベクトルのそれぞれを列または行として含む基底行列を生成することができる。検出装置100によれば、生成した基底行列に含まれる所定の数分の基底ベクトルのそれぞれが表す1以上の成分値を、リソースについて分離した結果を出力することができる。これにより、検出装置100は、業務処理単位で、それぞれの機器のリソースの使用状況を表す成分値の時間変化を示す成分データを出力することができる。
According to the
検出装置100によれば、取得したデータに基づいて、指標値が一定以上増加した変化時点を検出することができる。これにより、検出装置100は、ノイズとなり得ると判断される、指標値の微小変化時点を検出せずに済ませることができる。また、検出装置100は、業務処理の開始時点に対応し得ると判断される、業務処理の開始により指標値が一定以上増加したと考えられる変化時点を検出することができる。このため、検出装置100は、解析処理の精度の向上を図ることができる。
According to the
検出装置100によれば、所定の条件を満たす指標値の変化時点を複数検出することができる。検出装置100によれば、対象として、検出した変化時点をそれぞれ含む所定の長さの複数の時間帯を設定することができる。これにより、検出装置100は、ログデータが存在しない状況に適用することができる。
According to the
検出装置100によれば、リソースを有する機器において発生した複数のイベントのそれぞれの内容と発生時点とを対応付けて記録したログデータを取得することができる。検出装置100によれば、取得したログデータに基づいて、検出した変化時点に対応する発生時点に機器において発生したイベントの内容を特定し、複数のイベントのうち、特定した内容に対応するイベントの発生時点を複数特定することができる。検出装置100によれば、対象として、特定した発生時点をそれぞれ含む所定の長さの複数の時間帯を設定することができる。これにより、検出装置100は、ログデータに基づいて、変化時点に対応しない発生時点も利用して、対象を設定することができ、解析処理の精度の向上を図ることができる。
According to the
検出装置100によれば、複数のイベントのうち、特定した内容に対応するイベントの発生時点と、検出した変化時点との相関が一定以上である場合、特定した内容に対応するイベントの発生時点を複数特定することができる。これにより、検出装置100は、相関に基づいて、特定した内容に対応するイベントの発生時点に基づいて、対象を設定することが好ましいか否かを判定することができる。そして、検出装置100は、対象を設定することが好ましい場合、特定した内容に対応するイベントの発生時点に基づいて、対象を設定することができ、解析処理の精度の向上を図ることができる。
According to the
検出装置100によれば、特定した内容を出力することができる。これにより、検出装置100は、管理者が、業務処理単位の、それぞれの機器のリソースの使用状況を表す成分値の時間変化を示す情報が、具体的にいずれの業務処理に対応するのかを判断し易くすることができる。
According to the
検出装置100によれば、複数のリソースのそれぞれの使用状況を表す指標値の時間変化を示すデータを取得することができる。これにより、検出装置100は、リソースが複数存在する状況に適用することができる。
According to the
検出装置100によれば、複数のリソースに、同一の機器における異なる種類のリソースを含む状況に適用することができる。これにより、検出装置100は、1つの業務処理が同一の機器における異なる種類のリソースに影響する場合に、1つの業務処理に対応する形式で、同一の機器における異なる種類のリソースのそれぞれの成分データを取得することができる。
According to the
検出装置100によれば、複数のリソースに、異なる機器におけるリソースを含む状況に適用することができる。これにより、検出装置100は、1つの業務処理が異なる機器におけるリソースに影響する場合に、1つの業務処理に対応する形式で、異なる機器におけるリソースのそれぞれの成分データを取得することができる。
According to the
検出装置100によれば、所定の数に、1以上のリソースの少なくともいずれかを用いて実行される業務処理の数に基づいて設定される数を採用することができる。これにより、検出装置100は、業務処理単位での1以上のリソースのそれぞれの使用状況を表す成分値の時間変化を示す情報を精度よく取得可能にし、基底ベクトルの数の低減化により、非負値行列因子分解にかかる処理量の低減化を図ることができる。
According to the
検出装置100によれば、所定の数に、ベクトルの次元の数に基づいて設定される数を採用することができる。これにより、検出装置100は、業務処理の数が不明でも、業務処理単位での1以上のリソースのそれぞれの使用状況を表す成分値の時間変化を示す情報を、精度よく取得することができる。
According to the
検出装置100によれば、生成した行列に対して非負値行列因子分解を実施し、所定の数分の重みベクトルのそれぞれを行または列として含み、生成した行列を基底行列との積によって表す重み行列を生成することができる。検出装置100によれば、生成した重み行列に含まれる所定の数分の重みベクトルのそれぞれに関する情報を出力することができる。これにより、検出装置100は、利用者が、業務処理ごとの業務量の長期的な変化傾向を把握しやすくすることができる。
According to the
なお、本実施の形態で説明した検出方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した検出プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)−ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した検出プログラムは、インターネットなどのネットワークを介して配布してもよい。 The detection method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a PC or a workstation. The detection program described in this embodiment is recorded on a computer-readable recording medium and executed by being read from the recording medium by the computer. The recording medium is a hard disk, a flexible disk, a CD (Compact Disc) -ROM, an MO (Magnet Optical disc), a DVD (Digital Versaille Disc), or the like. Further, the detection program described in this embodiment may be distributed via a network such as the Internet.
上述した実施の形態に関し、さらに以下の付記を開示する。 The following additional notes are further disclosed with respect to the above-described embodiment.
(付記1)ある期間におけるリソースの使用状況を表す指標値の時間変化を示すデータを取得し、
取得した前記データに基づいて、所定の条件を満たす前記指標値の変化時点を検出し、
検出した前記変化時点に基づいて、前記期間のうち、前記指標値の変化傾向の類似性を解析する対象とする複数の時間帯を設定する、
処理をコンピュータが実行することを特徴とする検出方法。
(Appendix 1) Obtain data showing the time change of the index value showing the resource usage status in a certain period.
Based on the acquired data, the time point of change of the index value satisfying a predetermined condition is detected.
Based on the detected change time point, a plurality of time zones for which the similarity of the change tendency of the index value is analyzed is set in the period.
A detection method characterized by the computer performing the process.
(付記2)前記データのうち、設定した前記複数の時間帯のそれぞれにおける前記指標値の時間変化を示す部分データを抽出し、
抽出した前記部分データに基づいて、設定した前記複数の時間帯における前記指標値の変化傾向の類似性を解析する解析処理を実施する、
処理を前記コンピュータが実行することを特徴とする付記1に記載の検出方法。
(Appendix 2) From the data, partial data indicating the time change of the index value in each of the set multiple time zones is extracted.
Based on the extracted partial data, an analysis process for analyzing the similarity of the change tendency of the index value in the set plurality of time zones is performed.
The detection method according to
(付記3)前記実施する処理は、
抽出した前記部分データに基づいて、前記指標値を要素とする前記時間帯ごとのベクトルのそれぞれを列または行として含む行列を生成し、生成した前記行列に対して非負値行列因子分解を実施し、所定の数分の基底ベクトルのそれぞれを列または行として含む基底行列を生成し、生成した前記基底行列に含まれる前記所定の数分の基底ベクトルのそれぞれが表す1以上の成分値を、前記リソースについて分離した結果を出力する、ことを特徴とする付記2に記載の検出方法。
(Appendix 3) The processing to be carried out is
Based on the extracted partial data, a matrix containing each of the vectors for each time zone having the index value as an element is generated as a column or a row, and a non-negative matrix factor decomposition is performed on the generated matrix. , A basis matrix containing each of a predetermined number of basis vectors as a column or a row is generated, and one or more component values represented by each of the predetermined number of basis vectors included in the generated basis matrix are described. The detection method according to
(付記4)前記検出する処理は、
取得した前記データに基づいて、前記指標値が一定以上増加した変化時点を検出する、ことを特徴とする付記1〜3のいずれか一つに記載の検出方法。
(Appendix 4) The detection process is
The detection method according to any one of
(付記5)前記検出する処理は、
前記所定の条件を満たす前記指標値の変化時点を複数検出し、
前記設定する処理は、
前記対象として、検出した前記変化時点をそれぞれ含む所定の長さの複数の時間帯を設定する、ことを特徴とする付記1〜4のいずれか一つに記載の検出方法。
(Appendix 5) The detection process is
A plurality of time points of change of the index value satisfying the predetermined condition are detected.
The process to be set is
The detection method according to any one of
(付記6)前記リソースを有する機器において発生した複数のイベントのそれぞれの内容と発生時点とを対応付けて記録したログデータを取得し、
取得した前記ログデータに基づいて、検出した前記変化時点に対応する発生時点に前記機器において発生したイベントの内容を特定し、前記複数のイベントのうち、特定した前記内容に対応するイベントの発生時点を複数特定する、
処理を前記コンピュータが実行し、
前記設定する処理は、
前記対象として、特定した前記発生時点をそれぞれ含む所定の長さの複数の時間帯を設定する、ことを特徴とする付記1〜5のいずれか一つに記載の検出方法。
(Appendix 6) Obtain log data recorded by associating the contents of each of a plurality of events that occurred in the device having the resource with the time of occurrence.
Based on the acquired log data, the content of the event that occurred in the device at the time of occurrence corresponding to the detected change time is specified, and the time of occurrence of the event corresponding to the specified content among the plurality of events. To identify multiple
The computer executes the process,
The process to be set is
The detection method according to any one of
(付記7)前記特定する処理は、
前記複数のイベントのうち、特定した前記内容に対応するイベントの発生時点と、検出した変化時点との相関が一定以上である場合、特定した前記内容に対応するイベントの発生時点を複数特定する、ことを特徴とする付記6に記載の検出方法。
(Appendix 7) The specified process is
When the correlation between the occurrence time of the event corresponding to the specified content and the detected change time is more than a certain value among the plurality of events, the occurrence time of the event corresponding to the specified content is specified. The detection method according to
(付記8)特定した前記内容を出力する、処理を前記コンピュータが実行することを特徴とする付記6または7に記載の検出方法。
(Supplementary Note 8) The detection method according to
(付記9)前記取得する処理は、
複数のリソースのそれぞれの使用状況を表す指標値の時間変化を示すデータを取得する、ことを特徴とする付記1〜8のいずれか一つに記載の検出方法。
(Appendix 9) The process to be acquired is
The detection method according to any one of
(付記10)前記複数のリソースは、同一の機器における異なる種類のリソースを含む、ことを特徴とする付記9に記載の検出方法。
(Supplementary Note 10) The detection method according to
(付記11)前記複数のリソースは、異なる機器におけるリソースを含む、ことを特徴とする付記9または10に記載の検出方法。
(Supplementary Note 11) The detection method according to
(付記12)生成した前記行列に対して非負値行列因子分解を実施し、前記所定の数分の重みベクトルのそれぞれを行または列として含み、生成した前記行列を前記基底行列との積によって表す重み行列を生成し、
生成した前記重み行列に含まれる前記所定の数分の重みベクトルのそれぞれに関する情報を出力する、
処理を前記コンピュータが実行することを特徴とする付記3に記載の検出方法。
(Appendix 12) Non-negative matrix factorization is performed on the generated matrix, each of the predetermined number of weight vectors is included as a row or a column, and the generated matrix is represented by a product with the basis matrix. Generate a weight matrix,
Information about each of the predetermined number of weight vectors included in the generated weight matrix is output.
The detection method according to
(付記13)前記所定の数は、前記リソースを用いて実行される業務処理の数に基づいて設定される、ことを特徴とする付記3または12に記載の検出方法。
(Supplementary Note 13) The detection method according to
(付記14)前記所定の数は、前記ベクトルの次元の数に基づいて設定される、ことを特徴とする付記3または12に記載の検出方法。
(Supplementary note 14) The detection method according to
(付記15)ある期間におけるリソースの使用状況を表す指標値の時間変化を示すデータを取得し、
取得した前記データに基づいて、所定の条件を満たす前記指標値の変化時点を検出し、
検出した前記変化時点に基づいて、前記期間のうち、前記指標値の変化傾向の類似性を解析する対象とする複数の時間帯を設定する、
処理をコンピュータに実行させることを特徴とする検出プログラム。
(Appendix 15) Obtain data showing the time change of the index value showing the resource usage status in a certain period, and acquire the data.
Based on the acquired data, the time point of change of the index value satisfying a predetermined condition is detected.
Based on the detected change time point, a plurality of time zones for which the similarity of the change tendency of the index value is analyzed is set in the period.
A detection program characterized by having a computer perform processing.
100 検出装置
101,1500,1600,2201,2202,2203,2204,2211,2212,2213,2214 グラフ
110,120 変化時点
111,121 時間帯
200 業務処理システム
201 業務処理装置
202 管理者側装置
210 ネットワーク
220 サービス実行基盤
300,1200 バス
301,1201 CPU
302,1202 メモリ
303,1203 ネットワークI/F
304,1204 記録媒体I/F
305,1205 記録媒体
400 稼働テーブル
500 スコープ単位テーブル
600 ベクトルテーブル
700 成分テーブル
800 重みテーブル
900 分離結果テーブル
1000 ログテーブル
1100 抽出テーブル
1206 ディスプレイ
1207 入力装置
1300 記憶部
1301 取得部
1302 検出部
1303 分解部
1304 統合部
1305 抽出部
1306 分離部
1307 分析部
1308 出力部
1401 ログデータ
1402,2901 稼働データ
1410 イベント発生ログ抽出部
1411,2911 一覧
1420,2920 稼働データ分解部
1421,2921 スコープ単位稼働データ
1430,2930 稼働データベクトル化処理部
1431,2931 稼働データベクトル
1440,2940 成分および重み係数抽出部
1441,1451,2941,2951 成分
1442,2942 ベクトル
1450,2950 抽出成分分離部
1460,2960 長期傾向分析部
1461,2961 長期傾向
2411,2412,2413,2414,2421,2422,2423,2424,2431,2432,2433,2434,2441,2442,2443,2444 成分値
2511,2512,2513,2514,2521,2522,2523,2524,2531,2532,2533,2534,2541,2542,2543,2544 成分データ
2601,2602,2603,2604 成分値群
2701,2702,2703 符号
2910 上昇変化時刻検出部
100
302,1202
304, 1204 Recording medium I / F
305,1205 Recording medium 400 Operation table 500 Scope unit table 600 Vector table 700 Component table 800 Weight table 900 Separation result table 1000 Log table 1100 Extraction table 1206
Claims (9)
取得した前記データに基づいて、所定の条件を満たす前記指標値の変化時点を検出し、
検出した前記変化時点に基づいて、前記期間のうち、前記指標値の変化傾向の類似性を解析する対象とする複数の時間帯を設定する、
処理をコンピュータが実行することを特徴とする検出方法。 Acquire data showing the time change of the index value showing the resource usage status in a certain period,
Based on the acquired data, the time point of change of the index value satisfying a predetermined condition is detected.
Based on the detected change time point, a plurality of time zones for which the similarity of the change tendency of the index value is analyzed is set in the period.
A detection method characterized by the computer performing the process.
抽出した前記部分データに基づいて、設定した前記複数の時間帯における前記指標値の変化傾向の類似性を解析する解析処理を実施する、
処理を前記コンピュータが実行することを特徴とする請求項1に記載の検出方法。 From the data, partial data indicating the time change of the index value in each of the set plurality of time zones is extracted.
Based on the extracted partial data, an analysis process for analyzing the similarity of the change tendency of the index value in the set plurality of time zones is performed.
The detection method according to claim 1, wherein the processing is executed by the computer.
抽出した前記部分データに基づいて、前記指標値を要素とする前記時間帯ごとのベクトルのそれぞれを列または行として含む行列を生成し、生成した前記行列に対して非負値行列因子分解を実施し、所定の数分の基底ベクトルのそれぞれを列または行として含む基底行列を生成し、生成した前記基底行列に含まれる前記所定の数分の基底ベクトルのそれぞれが表す1以上の成分値を、前記リソースについて分離した結果を出力する、ことを特徴とする請求項2に記載の検出方法。 The processing to be carried out is
Based on the extracted partial data, a matrix containing each of the vectors for each time zone having the index value as an element is generated as a column or a row, and a non-negative matrix factor decomposition is performed on the generated matrix. , A basis matrix containing each of a predetermined number of basis vectors as a column or a row is generated, and one or more component values represented by each of the predetermined number of basis vectors included in the generated basis matrix are described. The detection method according to claim 2, wherein the results separated for the resources are output.
取得した前記データに基づいて、前記指標値が一定以上増加した変化時点を検出する、ことを特徴とする請求項1〜3のいずれか一つに記載の検出方法。 The process to be detected is
The detection method according to any one of claims 1 to 3, wherein the time point of change in which the index value increases by a certain amount or more is detected based on the acquired data.
前記所定の条件を満たす前記指標値の変化時点を複数検出し、
前記設定する処理は、
前記対象として、検出した前記変化時点をそれぞれ含む所定の長さの複数の時間帯を設定する、ことを特徴とする請求項1〜4のいずれか一つに記載の検出方法。 The process to be detected is
A plurality of time points of change of the index value satisfying the predetermined condition are detected.
The process to be set is
The detection method according to any one of claims 1 to 4, wherein a plurality of time zones having a predetermined length including each of the detected change time points are set as the target.
取得した前記ログデータに基づいて、検出した前記変化時点に対応する発生時点に前記機器において発生したイベントの内容を特定し、前記複数のイベントのうち、特定した前記内容に対応するイベントの発生時点を複数特定する、
処理を前記コンピュータが実行し、
前記設定する処理は、
前記対象として、特定した前記発生時点をそれぞれ含む所定の長さの複数の時間帯を設定する、ことを特徴とする請求項1〜5のいずれか一つに記載の検出方法。 The log data recorded by associating the contents of each of the plurality of events that occurred in the device having the resource with the time of occurrence is acquired.
Based on the acquired log data, the content of the event that occurred in the device at the time of occurrence corresponding to the detected change time is specified, and the time of occurrence of the event corresponding to the specified content among the plurality of events. To identify multiple
The computer executes the process,
The process to be set is
The detection method according to any one of claims 1 to 5, wherein a plurality of time zones having a predetermined length including the specified time of occurrence are set as the target.
前記複数のイベントのうち、特定した前記内容に対応するイベントの発生時点と、検出した変化時点との相関が一定以上である場合、特定した前記内容に対応するイベントの発生時点を複数特定する、ことを特徴とする請求項6に記載の検出方法。 The specific process is
When the correlation between the occurrence time of the event corresponding to the specified content and the detected change time is more than a certain value among the plurality of events, the occurrence time of the event corresponding to the specified content is specified. The detection method according to claim 6, wherein the detection method is characterized by the above.
取得した前記データに基づいて、所定の条件を満たす前記指標値の変化時点を検出し、
検出した前記変化時点に基づいて、前記期間のうち、前記指標値の変化傾向の類似性を解析する対象とする複数の時間帯を設定する、
処理をコンピュータに実行させることを特徴とする検出プログラム。 Acquire data showing the time change of the index value showing the resource usage status in a certain period,
Based on the acquired data, the time point of change of the index value satisfying a predetermined condition is detected.
Based on the detected change time point, a plurality of time zones for which the similarity of the change tendency of the index value is analyzed is set in the period.
A detection program characterized by having a computer perform processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020088060A JP2021182313A (en) | 2020-05-20 | 2020-05-20 | Detection method, and detection program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020088060A JP2021182313A (en) | 2020-05-20 | 2020-05-20 | Detection method, and detection program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021182313A true JP2021182313A (en) | 2021-11-25 |
Family
ID=78606609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020088060A Pending JP2021182313A (en) | 2020-05-20 | 2020-05-20 | Detection method, and detection program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021182313A (en) |
-
2020
- 2020-05-20 JP JP2020088060A patent/JP2021182313A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pandey et al. | Towards understanding human similarity perception in the analysis of large sets of scatter plots | |
US9021304B2 (en) | Fault analysis rule extraction device, fault analysis rule extraction method and storage medium | |
US10883345B2 (en) | Processing of computer log messages for visualization and retrieval | |
KR20080005208A (en) | Device for automatically creating information analysis report, program for automatically creating information analysis report, and method for automatically creating information analysis report | |
CN102282516A (en) | Abnormality detecting method and abnormality detecting system | |
Staniak et al. | The landscape of R packages for automated exploratory data analysis | |
KR20060095565A (en) | Document characteristic analysis device for document to be surveyed | |
Xu et al. | Likelihood‐based inference for discretely observed birth–death‐shift processes, with applications to evolution of mobile genetic elements | |
JP6242540B1 (en) | Data conversion system and data conversion method | |
US11071483B2 (en) | Mood score calculation apparatus and mood score calculation method | |
CN116034379A (en) | Activity level measurement using deep learning and machine learning | |
Heinzl et al. | Clustering in linear‐mixed models with a group fused lasso penalty | |
CN107885628A (en) | A kind of method of testing, device and the equipment of magnetic disc i/o performance | |
JP2021182313A (en) | Detection method, and detection program | |
CN117038074A (en) | User management method, device, equipment and storage medium based on big data | |
CN114510405B (en) | Index data evaluation method, apparatus, device, storage medium, and program product | |
Nickerson et al. | Transition icons for time-series visualization and exploratory analysis | |
US20240054187A1 (en) | Information processing apparatus, analysis method, and storage medium | |
JP3677006B2 (en) | Information processing apparatus and method | |
US11550770B2 (en) | Analysis of time-series data indicating temporal variation in usage states of resources used by multiple processes | |
JP2022186541A (en) | Source code analysis apparatus and source code analysis method | |
Betke et al. | Classifying temporal characteristics of job i/o using machine learning techniques | |
Nambiar et al. | Dropping diversity of products of large US firms: Models and measures | |
Diaz | Best-case retrieval evaluation: Improving the sensitivity of reciprocal rank with lexicographic precision | |
Zhang et al. | A GUI Design for Composition Discovery of View Interestingness. |