PLATFORM

ITSIの予測をさらにスマートに

Splunkが最近MLTKスマートワークフローで機械学習のコモディティ化に取り組んでいることについては、ご存知の方もいらっしゃるでしょう。この記事ではそのMLTKスマートワークフローの例として、ITSIの予測機能の有用性を高めるのに役立つワークフローをご紹介します。

お客様からはよく「ITSIではどのアルゴリズムを使うのがベストか?」と聞かれます。しかし残念ながら、この質問には一言ではなかなかお答えできません。というのも、最適なアルゴリズムは、使用しているデータと、ITSIでのKPIとサービスの定義方法によって大きく異なってくるからです。

お客様が最適なアルゴリズムを選択できるよう、SplunkはITSIに関連した新しいワークフローを開発しました。このワークフローは、サービスを選択し、そのサービスに関連したKPIを視覚的に調べ、KPIと健全性スコアの相関分析を行って予測モデルの精度を確かめたうえで、データに対して複数のアルゴリズムを実行して最適なものを見極める、というものです。

このワークフロー全体は、Smart ITSI Insights App for Splunkの[ITSI Predictive Analytics Workflow]タブにあります。

サービスを選択する

(エンドツーエンドでのサービス単位での管理を基本とする)ITSIを使用しますので、予測分析を設定するにはまず分析対象とするサービスを選択します。Appでこれを行うのは非常に簡単で、テーブルからサービスを選択するだけです。サービスをクリックすると、分析ダッシュボードにドリルダウンします。

ITSI Predictive Analytics Workflow

サービスのふるまいを分析する

サービスを選択すると、そのサービスの詳細なインサイトを含むダッシュボードが表示されます。サービスのサマリーでは、そのサービスでの異常の発生頻度と、選択期間における異常動作の発生回数を確認できます。

外れ値の発生回数が多い場合やパフォーマンスが低下している時間が長い場合は、サービス定義を見直すことをおすすめします。特に、パフォーマンス低下に関連したシステム停止データがないにもかかわらずパフォーマンス低下がレポートされている場合は、要再検討です。

ITSI - Buttercup Store

[show service health score and associated KPIs](サービス健全性スコアと関係するKPIの表示)セクションでは、健全性スコアとその算出のベースになっている全KPIを視覚的に確認できます。ここで重要なのは、似たパターンを探し、健全性スコアへの影響が最も大きいと思われるKPIを探すことです。たとえば健全性スコアの下落とデータ転送遅延のKPI値の上昇が常に一致している場合は、その2つが強く結びついていると考えてよいでしょう。これについては後ほど詳しく説明します。

Service and KPI Chart

最後に、Splunkインスタンスにインシデントデータがあり、そのデータと分析対象のサービスとの関連がわかっている場合は、[show incident details]セクションで健全性スコアデータとインシデント情報を重ねて表示してみましょう。

将来の健全性スコアと相関があるKPIを特定する

サービスの検査を終えたら、[Analyze Service Health & KPI Correlation](サービス健全性とKPIの相関を分析)ボタンを押してワークフローの次のステージに進みます。このダッシュボードでは、分析対象のサービスが依存している各KPIと将来の健全性スコア(=KPIメトリクスの30分先の健全性スコア)を比較し、KPIと健全性スコアの相関の強さを見極めます。

KPIの相関の強さは、強中弱([Strongly Correlated KPIs]、[Medium Strength KPIs]、[Poorly Correlated KPIs])の3段階に分けられます。データ間に一定の相関がある場合は、そのまま[Train Predictive Models](予測モデルをトレーニング)ボタンを押してワークフローの次のステージに進みます。

データ間の相関の強さが中以上でない場合は、ITSIの予測精度が落ちる可能性が高くなります。この場合は[View KPI Relationships](KPIの関係性を表示)ボタンをクリックして別のダッシュボードを開き、ITSIインスタンスにおけるKPIの重要度設定の推奨値を確認します。

Correlation Analysis

予測モデルをトレーニングする

このダッシュボードでは、サービスの将来の健全性スコアを予測するための予測モデル一式をトレーニングできます。デフォルトでは、1つ前のダッシュボードで相関の強さが中以上であると判断されたKPIのみを使用してトレーニングを行いますが、必要であればすべてのKPIを使用することも可能です。 

[Train Predictive Models]ボタンをクリックすると、データに対して複数のアルゴリズムがテストされ、しばらくすると本番環境に最適なアルゴリズムが提案されます(トレーニングにかかる時間は、使用するKPIの個数とトレーニング対象期間の長さによって異なります)。テストした1つ1つのアルゴリズムの評価は言葉でも説明されるので、アルゴリズムが本番環境にふさわしいかどうかを簡単に確認できます。

Random Forest Regressor

推奨のアルゴリズムが満足行くものであれば、[Open Recommended Model in Search]ボタンをクリックして予測モデルをサーチウィンドウで開きます。 

健全性スコアを予測する

Predicted Health ScoreITSIに予測モデルを含める

納得の行く結果と適切なサーチが得られれば、関連のサービス(この場合は[On-Prem Database])にそのサーチを新たにKPIとして追加します。 

サーチを追加するには、[ITSI] > [設定] > [サービス]と移動し、先ほどモデルのトレーニングに使用したサービスを選択します。[KPIs]タブで[汎用KPI]を新規作成し、予測ワークフローでpredicted_hsによって生成されたサーチを[閾値フィールド]として使用します。

KPIを有効化したら、必ず、新規作成したKPIの設定ページでKPI重み付けを「0」に設定してください。これを行わないと、現在の健全性スコアが予測モデルの影響を受けてしまいます。

まとめ

この記事では、Smart ITSI Insights App for Splunkを使ってITSIの予測をさらにスマートにする方法について説明しました。ぜひAppをダウンロードして、以上の説明を参考にITSIサービスの予測精度向上に取り組んでみてください。

Splunkのメリットをどうぞお試しください。

このブログはこちらの英語ブログの翻訳、沼本 尚明によるレビューです。

Greg is a Machine Learning Architect at Splunk where he helps customers deliver advanced analytics and uncover new ways of insight from their data. Prior to working at Splunk he spent a number of years with Deloitte and before that BAE Systems Detica working as a data scientist. Before getting a proper job he spent way too long at university collecting degrees in maths including a PhD on “Mathematical Analysis of PWM Processes”. When he is not at work he is usually herding his three young lads around while thinking that work is significantly more relaxing than being at home…

TAGS
Show All Tags
Show Less Tags