Splunkが最近MLTKスマートワークフローで機械学習のコモディティ化に取り組んでいることについては、ご存知の方もいらっしゃるでしょう。この記事ではそのMLTKスマートワークフローの例として、ITSIの予測機能の有用性を高めるのに役立つワークフローをご紹介します。
お客様からはよく「ITSIではどのアルゴリズムを使うのがベストか?」と聞かれます。しかし残念ながら、この質問には一言ではなかなかお答えできません。というのも、最適なアルゴリズムは、使用しているデータと、ITSIでのKPIとサービスの定義方法によって大きく異なってくるからです。
お客様が最適なアルゴリズムを選択できるよう、SplunkはITSIに関連した新しいワークフローを開発しました。このワークフローは、サービスを選択し、そのサービスに関連したKPIを視覚的に調べ、KPIと健全性スコアの相関分析を行って予測モデルの精度を確かめたうえで、データに対して複数のアルゴリズムを実行して最適なものを見極める、というものです。
このワークフロー全体は、Smart ITSI Insights App for Splunkの[ITSI Predictive Analytics Workflow]タブにあります。
(エンドツーエンドでのサービス単位での管理を基本とする)ITSIを使用しますので、予測分析を設定するにはまず分析対象とするサービスを選択します。Appでこれを行うのは非常に簡単で、テーブルからサービスを選択するだけです。サービスをクリックすると、分析ダッシュボードにドリルダウンします。
サービスを選択すると、そのサービスの詳細なインサイトを含むダッシュボードが表示されます。サービスのサマリーでは、そのサービスでの異常の発生頻度と、選択期間における異常動作の発生回数を確認できます。
外れ値の発生回数が多い場合やパフォーマンスが低下している時間が長い場合は、サービス定義を見直すことをおすすめします。特に、パフォーマンス低下に関連したシステム停止データがないにもかかわらずパフォーマンス低下がレポートされている場合は、要再検討です。
[show service health score and associated KPIs](サービス健全性スコアと関係するKPIの表示)セクションでは、健全性スコアとその算出のベースになっている全KPIを視覚的に確認できます。ここで重要なのは、似たパターンを探し、健全性スコアへの影響が最も大きいと思われるKPIを探すことです。たとえば健全性スコアの下落とデータ転送遅延のKPI値の上昇が常に一致している場合は、その2つが強く結びついていると考えてよいでしょう。これについては後ほど詳しく説明します。
最後に、Splunkインスタンスにインシデントデータがあり、そのデータと分析対象のサービスとの関連がわかっている場合は、[show incident details]セクションで健全性スコアデータとインシデント情報を重ねて表示してみましょう。
サービスの検査を終えたら、[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の重要度設定の推奨値を確認します。
このダッシュボードでは、サービスの将来の健全性スコアを予測するための予測モデル一式をトレーニングできます。デフォルトでは、1つ前のダッシュボードで相関の強さが中以上であると判断されたKPIのみを使用してトレーニングを行いますが、必要であればすべてのKPIを使用することも可能です。
[Train Predictive Models]ボタンをクリックすると、データに対して複数のアルゴリズムがテストされ、しばらくすると本番環境に最適なアルゴリズムが提案されます(トレーニングにかかる時間は、使用するKPIの個数とトレーニング対象期間の長さによって異なります)。テストした1つ1つのアルゴリズムの評価は言葉でも説明されるので、アルゴリズムが本番環境にふさわしいかどうかを簡単に確認できます。
推奨のアルゴリズムが満足行くものであれば、[Open Recommended Model in Search]ボタンをクリックして予測モデルをサーチウィンドウで開きます。
納得の行く結果と適切なサーチが得られれば、関連のサービス(この場合は[On-Prem Database])にそのサーチを新たにKPIとして追加します。
サーチを追加するには、[ITSI] > [設定] > [サービス]と移動し、先ほどモデルのトレーニングに使用したサービスを選択します。[KPIs]タブで[汎用KPI]を新規作成し、予測ワークフローでpredicted_hsによって生成されたサーチを[閾値フィールド]として使用します。
KPIを有効化したら、必ず、新規作成したKPIの設定ページでKPI重み付けを「0」に設定してください。これを行わないと、現在の健全性スコアが予測モデルの影響を受けてしまいます。
この記事では、Smart ITSI Insights App for Splunkを使ってITSIの予測をさらにスマートにする方法について説明しました。ぜひAppをダウンロードして、以上の説明を参考にITSIサービスの予測精度向上に取り組んでみてください。
Splunkのメリットをどうぞお試しください。
このブログはこちらの英語ブログの翻訳、沼本 尚明によるレビューです。
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。