ITインフラストラクチャメトリックの時系列間の相関に基づくインシデントの根本原因分析

前書き

IT監視システムのタスクの1つは、ITインフラストラクチャのさまざまな要素(CPU負荷、RAMの空き容量、ディスクの空き容量など)の状態と、さまざまなビジネスの状態の両方を特徴付けるさまざまなメトリックの収集、保存、および分析です。プロセス。統計分析の広範な数学的装置を適用するために、対応する変数の順序付けられた時系列の形式でこれらのデータを提示する方が便利なことがよくあります。 Pythonでの時系列処理に適したツールは、pandas、scipy、およびstatsmodels(pandas.pydata.orgscipy.statsstatsmodels.org)の3つのモジュールの組み合わせです。)、時系列を構築するため、多くの異なる統計モデルを評価するため、および統計的検定を実行し、統計データを調べるための幅広いクラスと関数を提供します。これらのモジュールに含まれるすべての数学的フリークショー、特にこの記事では、アルゴリズム、特にAIOpsmonqプラットフォームの根本原因分析に使用するITインフラストラクチャメトリックの時系列の相関分析について説明します。





, – , ( ) , – . – , , . , - , , (“correlation does not imply causation”).





, - , . - (): (root cause analysis) ( , “” - ). , .





, - () , .. , ( 5 , ..). , ,   : , 5 , - . , , . 1, pandas - , resample('5min').mean 5- , fillna(method='ffill') ( ) :





import pandas as pd

data=pd.read_csv('TimeSeriesExample.txt',parsedates=[0])

timeSeries=pd.Series(data['KEHealth'].values, index=data['Timestamp'])

timeSeriesReg=timeSeries.resample('5min').mean().fillna(method='ffill')

tsCollection.append(timeSeriesReg) 
      
      



1. .  





Monq “” - . , . , 2.





2. “ ” .  





. pandas , (dataframe) corr(), , ( ):





import matplotlib.pyplot as plt

allKeDF=pd.concat(tsCollection, axis=1)

corrMatrix=allKeDF.corr()

pallet=plt.getcmap('jet')

img=plt.imshow(corrMatrix, cmap=pallet, vmin=-1, vmax=1, aspect='auto')

plt.colorbar(img)
      
      



3. 150 . 





3 150 , . , “ “, . , - ( nan ). , - . , , , . : ,   r>0.7, 65 (0.29% ), r<-0.7 4 (0.02%). : , , . , , r>0.95.





4. - 5- 10-. 





4 , , - 5- 10-. , , , 5, μ=0, σ=0.11. 5- 20- σ=0.16, , , . , , .





5. 5- 10- .





6. .





6, - 7. , , , . ( ) t- , t=|r|√(n-2)/(1-r2), t- t t(α,k) k=n-2, n - . n ( ) . 7 t- α=0.05 . t<t, . t>t, . t scipy:





import scipy as sp
tCrit=sp.stats.t.ppf(1-alpha/2, ndf)
      
      



7. .





, -, : 1) - (root cause analysis) 2) , - . , - - (): , , , - , . , - - . , - , - ( ) , , - , . , - , : 3) . 





, - , , , , . - , , () .   -. 





, - ,   , . , - , .  , - .





monq , . , ( ), , . , , , , . 





- , , , ( r>0.7), 8. , , . 





8. , -38374, .





, -, - . - (, , ..) - . , : r>0.95





9 - , 3200 . 0.95 7470, 2310. 10, t- (c α=0.001 ). , t- , t- 3 . t- α=0.01 27. -, , , , , . 





9. - . 





10. , . 





, , , () , , . - , (), . , Mdist=||1||-Mcorr , ||1|| - , Mcorr..。scipyモジュールでは、相関行列から数行の樹状図を作成できます。





import scipy.cluster.hierarchy as hac

z = hac.linkage(1-corrMatrix, method='complete')

hac.dendrogram(z, colorthreshold=3, leaf_rotation=90., labels=allKeDF.columns)

plt.title('       KE', fontsize=12)

plt.ylabel(' ',fontsize=10)

plt.xlabel('KE',fontsize=10)

plt.show()
      
      



図11は、図3の150構成単位のヘルスメトリックの時系列の相関マトリックスから得られた樹状図を示しています。ここでは、さまざまな色の階層的クラスタリングアルゴリズムにより、実際には、メトリックの相関動作でKEクラスターが強調表示されています。 KEシステムのセット全体を関連するグループ(サブシステム)に分割しました... PCMシステムがない場合、そのようなパーティションはすでにシステムの構造を明らかにしており、たとえば、インシデントの根本原因を検索するときに役立ちます。





図11.システム内で最も揮発性の高い150のCUのヘルスメトリック時系列相関行列からの樹状図。 








All Articles