動的しきい値とは?

動的しきい値とは、コンピューターサイエンス、具体的にはIT Service Intelligence (ITSI)で使用される用語であり、IT環境の履歴データを分析してKPI (主要業績評価指標)を判断するための値です。特に、KPIの異常値を管理し、より有意義で信頼できるパフォーマンス監視アラートを生成するために使用されます。
しきい値は、ITインフラが生成するデータに対して許容できる上限値と下限値を指定するもので、パフォーマンス監視に不可欠な要素です。ITSIでは、静的しきい値と動的しきい値の2種類を使用できます。静的しきい値を使用する場合は、ポリシーを使用して、1日または1週間のさまざまな時間のKPIに対して静的な値を設定します。一方、動的しきい値では、機械学習を使用してKPIの時間依存しきい値を動的に計算します。これにより、アラートと予想されるワークロードを時間単位でより厳密に一致させることができます。
AIOps市場をリードするSplunk ITSI
Splunk IT Service Intelligence (ITSI)は、顧客に影響が及ぶ前にインシデントを予測して対応するための、AIOps、分析、IT管理ソリューションです。

AIと機械学習を活用して、監視対象のさまざまなソースから収集したデータを相関付け、関連するITサービスやビジネスサービスの状況を1つの画面にリアルタイムで表示します。これにより、アラートのノイズを低減し、障害を未然に防ぐことができます。
動的しきい値を使用すると、実行または停止の2値化ではなく、正常から異常へのグラデーションでサービスの状態を表示できます。たとえば、サービスが重大なしきい値に達した場合はアラートが必要ですが、しきい値が高ければ、状態が気になるとしてもアラートはおそらく必要ないでしょう。このように差異を識別できるようになることで、過剰なアラートを削減し、最も重要な問題に取り組むことができるようになります。
以下のセクションでは、動的しきい値の仕組み、使用方法、動的しきい値のさまざまな手法に加え、動的しきい値が組織のパフォーマンス監視戦略において重要である理由について説明します。
ITSIとは?
ITSI (Information Technology Service Intelligence)は、機械学習を活用して複雑なIT環境を監視し、IT運用を分析主導で管理できるようにするためのソフトウェアソリューションです。
ITSIを使用すると、ネットワークイベントを監視および分析し、サービスの中断を予測して防止することができます。これにはAIアルゴリズムが使用されており、事前に修正しなければサービスの低下やダウンタイムを引き起こす可能性があるネットワークアクティビティのパターンや傾向を特定します。また、アラートに基づいて、サービスの中断や停止を防ぐための是正措置を講じることができます。
一般的にITSIツールでは次の4段階のプロセスを採用しています。
- 収集:ネットワーク全体またはその他のソースからネットワークイベント、ログファイル、メトリクスなどのデータを収集して集約します。IT管理者はこのデータからネットワークパフォーマンスの全体像を把握できます。
- 分析:高度な機械学習とアルゴリズムを使用してデータを処理し、各データソースのパターンを識別して追跡します。
- 予測:アルゴリズムは多くのネットワークデータを処理することで何が正常な動作であるかを学習します。これによって特定のメトリクスのパフォーマンスを予測し、サービスの問題が発生する前にその原因を突き止めることができるようになります。
- 対応:ITチームは、ITSIによって生成されたインサイトを利用して、ユーザーに影響が及ぶ前にサービスの問題に対応し、合意されたサービスレベルを確実に達成できるようになります。
ITSIツールは、収集、分析、予測、対応の4段階のプロセスを採用しています。
KPIとは?
KPI (Key Performance Indicator、主要業績評価指標)とは、ネットワークとそのコンポーネントのパフォーマンスを測定するためのベンチマークです。メトリクスとは異なり、KPIが結果を定義するのに対し、メトリクスはその結果に向けた進捗を測定するために組み合わせて使用されるデータポイントです。たとえば「信頼性」は、サービスが特定の期間内に必要な機能を実行する確率を表す一般的なKPIです。これは、2つの重要な障害メトリクスである、平均修復時間(MTTR)と平均故障間隔(MTBF)を使用して計算されます。
企業のKPIとして何を監視すべきかについての共通の基準はありませんが、サービスの全体的な状態を評価するために一般的に使用されるKPIには次のものがあります。
- 可用性:このKPIは、サービスまたはシステムが利用可能な時間の割合を表すもので、お客様にどれくらいサービスを正常に提供できたかを示すため、非常に重要です。たとえば、合意した最適なサービス時間が100時間で、2時間のダウンタイムが発生した場合、可用性は98%になります。
- 信頼性:信頼性は、障害が発生したシステムを修復して回復させるために必要な平均時間を測定するMTTRと、デバイスやシステムの障害が1度発生してから次に発生することが予想されるまでの平均稼働時間を測定するMTBFというメトリクスを使用して計算されます。時間の経過に伴いハードウェアが劣化し、エンドユーザーに対するサービスのパフォーマンスが低下する可能性もあるため、信頼性は重要なKPIといえます。
- スループット:スループット(帯域幅)は、一定期間におけるサービスまたはデバイスのフローレートを表します。多くの場合はサービスに応じて1秒あたりのトランザクション数、1秒あたりのメガバイト数、またはサポート対象のユーザー数で測定されます。スループットは、アプリケーションやサービスがどれだけ効率的に実行されているかを示す重要なKPIです。
- 遅延:このKPIは、データが送信先に到達するまでの時間を追跡します。たとえば、ユーザーがリクエストしてからアプリケーションが応答するまでの時間などです。遅延が大きいとユーザーエクスペリエンスが低下するほか、クラウド環境では関連する問題が悪化する可能性があるため、遅延も重要なKPIの1つです。
- 応答時間:このKPIは、システムにリクエストを送信してからシステムがそのリクエストを完了するまでの経過時間を表します。応答時間は、クラウドのパフォーマンスを最も明確に表す指標の1つであり、平均検出時間(MTTD)、平均封じ込め時間(MTTC)、平均解決時間(MTTR)、平均復旧時間(MTTR)など、さまざまなセキュリティメトリクスが含まれています。また、応答時間は可用性やアプリケーションのパフォーマンスにも影響します。
- 拡張性:拡張性は、一定レベルの拡張をサービスがどの程度実現できるかを示します。このKPIは、たとえば、特定のサービスがクラッシュすることなく大量のユーザーリクエストを処理できるかどうかを把握する場合に重要です。
ITSIでは、KPIをCPUの負荷状況、メモリー使用率、応答時間などのITパフォーマンス指標値を返すサーチとして保存します。各KPIを特定のサービスと関連付けることで、KPIのサーチ結果に基づいて、サービスの健全性を監視したり、ITコンポーネントのステータスをチェックしたり、ITシステムの潜在的な問題を示す傾向を把握して解決したりできます。
さらに、KPIを組み合わせて使用することで、IT環境の全体的な健全性やパフォーマンスを判断することができ、ひいてはさまざまな目標や目的の進捗を測定できます。具体的には、KPIは次のことに役立ちます。
- 問題の特定および解決:クラウドサービスベンダーからは基盤インフラのハードウェアの可視性はほとんど得られないため、組織は膨大な量のインフラのデータを解釈して、パフォーマンスの問題の原因を特定する必要があります。しかし、すべてのデータが重要であるとは限らないため、問題の根本原因を明らかにするのは容易ではありません。そこで欠かせないのが、クラウドインフラのデータからノイズを取り除くKPIです。これにより、ITチームは有用なインサイトを抽出してそれに基づいて行動し、潜在的な問題を特定して解決できます。
- レポート作成:KPIを使用すると、組織はデータを可視化、要約できるだけでなく、わかりやすいレポートに変換して、パフォーマンスの傾向と結果をより正確に把握することができます。ビジネスリーダーはこのレポートを使用して、インフラへの投資について十分な情報を得たうえで意思決定が行えるようになります。
- 最適化:ITチームには保守に加えてIT環境のパフォーマンスの向上も継続的に求められています。KPIは、効率の悪い箇所を特定し、ITインフラを改善してお客様に最高のサービスパフォーマンスを提供するための最適な方法を判断するうえで重要な役割を担っています。
- サービスレベル契約(SLA):KPIは、ベンダーのSLAのパフォーマンス基準が満たされていることを確認するのに役立ちます。
KPIを使用すれば、問題の特定と解決、パフォーマンスの傾向に関するレポートの作成、パフォーマンスの向上を実現できるだけでなく、SLAのパフォーマンス基準が満たされていることを確認できます。
動的しきい値の仕組み
動的しきい値は、機械学習を使用して履歴データ(ヒストグラムで表示されることもある)を分析し、環境の正常な状態を定義するのに役立つパターンを見つけます。さまざまなしきい値(強度値)を設定し、特定のKPIの現在の状態を判断して、より精度の高いアラートを生成します。グローバルしきい値の最も単純な形式はバイナリしきい値(thresh_binary)で、これは二者択一の結果になりますが、ほとんどのしきい値はグレースケールです。
このプロセスがどのように機能するかをより詳しく理解するためには、サービス健全性スコア、KPI、および依存サービス(サブサービスとも呼ばれる)など、いくつかのITSIの概念を理解する必要があります。
- KPI:特定のサービスのパフォーマンスを示すベンチマーク。
- サービス健全性スコア:サービスのKPIとそのサブサービスの重大度値の加重平均。
- サブサービス:構成されたサービスが依存する任意のサービス。
これらの概念は、階層型として設計されています。環境内の各サービスは、そのサービスに対して定義されたKPIとサブサービスの状態に基づいて計算された健全性スコア(adaptive_thresh_mean_c)を受け取ります。すべてのKPIにはしきい値の設定が必要であり、KPIの状態と健全性スコアを継続的に監視するITSIでは、6種類の重大度(正常、致命的、高、中、低、情報/通知)を設定できます。あるサービスのKPIの重大度が、そのサービスの健全性スコアの変化と連動して規定のレベルに達した場合、潜在的な問題を示すためにアラートがトリガーされます。
しきい値とアラートを設定する場合は、しきい値をシンプルにしておくことをおすすめします。以下に、ベストプラクティスをいくつかご紹介します。
- 使用する重大度を決める:ITSIでは6つの重大度レベルを使用できますが、そのすべてを使用する必要はありません。動的しきい値を理解できるようになるまでは、「正常」と「致命的」の重大度のみを使用することを検討してください。
- 重大度の定義の一貫性を保つ:各重大度が組織にとって何を意味するかを定め、すべてのKPIのしきい値が同じ定義のもとに設定されていることを確認する必要があります(たとえば「致命的」の場合、KPIの状態が直ちにアラートをトリガーしなければならないことを意味し、「高」の場合はKPIが正常から少し外れていることを意味するなど)。重大度を明確に定義しておくと、複数のチーム間でも一貫したKPIのしきい値を確保でき、ITSIの導入が拡大してもアラートの生成と修復プロセスの管理が容易になります。
- しきい値を設定するKPIを限定する:次の理由により、しきい値を設定しなくてもよいKPIがあります。
- 他のツールで監視されている。
- 問題の発生を示すものではない。
- 一貫性があり信頼できる結果が得られない。
- どのようにしきい値を設定すればよいかわからない。
このような場合は、すべてのKPI結果に「情報」の重大度を選択することができます(サービスの健全性スコアに影響を与えません)。
動的しきい値の使用方法
動的しきい値は、ITSIで重大度レベルのしきい値を設定するために使用され、これによって特定のKPIの現在の状態が判断されます。KPIの値が、しきい値の条件を満たすか超過すると、KPIの状態が変化します。たとえば「高」から「致命的」になると、サービスに問題が発生している可能性があります。KPIのしきい値をサービスの健全性スコアなどの他の設定と一緒に使用すればより関連性の高いアラートを提供することができ、ITチームがパフォーマンスの問題をプロアクティブにトラブルシューティングして解決できるようになります。
動的しきい値が重要である理由
動的しきい値は、クラウドIT環境の監視における課題を解決するために重要です。クラウドサービスプロバイダーにより、インフラの基盤となるハードウェアが抽象化されているため、利用者のITチームがパフォーマンスの問題の根本原因を特定するのは至難の業です。そのため、最新のパフォーマンス監視ツールは、機械学習を利用してテラバイト規模のデータを収集、相関付け、解釈し、アプリケーションパフォーマンス、サービスの可用性、遅延とスループット、クラウド環境の健全性に関するその他の指標に関して、インサイトを取得しています。
クラウド環境の監視において中核となるのは、クラウドで実行するアプリケーションとサービスの健全性を継続的に評価し、最適なワークフローを確保することです。動的しきい値は、組織がKPIの現在の状態を把握し、問題を示す可能性のある状態の変化にプロアクティブに対応できるという点で、非常に重要なツールといえるでしょう。これにより、顧客の不満や収益の損失につながるダウンタイムを回避することができます。
動的しきい値の最も一般的なアルゴリズム
インフラデータにはさまざまな種類が存在するため、ITSIでは標準偏差、分位数、範囲ベースの3種類の動的しきい値アルゴリズムをサポートしています。
- 標準偏差:標準偏差アルゴリズムは、データセットに存在する平均値のばらつきの度合いを示します。そのため、データが平均値の周りに程よく分散している場合に適しています。平均値から標準偏差の複数のグレーレベルに基づいてしきい値を定義することができ、負の値は平均値より下のしきい値を生成し、正の値は平均値より上のしきい値を生成します。ただし、履歴データに外れ値がある場合、しきい値が必要以上に大きくなることがあります。また、データが偏っている(大きな値や外れ値は存在するが、小さな値や外れ値は存在しない)場合は、有意義な下限しきい値を生成するのが困難な場合があります。この場合、偏りがある方向での意味のあるしきい値を確認するだけであれば、標準偏差アルゴリズムを選択することもできます。
- 分位数:分位数アルゴリズムを使用すると、履歴データに基づいてさまざまなパーセンタイルにしきい値の境界を設定できます。たとえば、致命的レベルの重大度を、1パーセンタイル(0.01)未満、および99パーセンタイル(0.99)を超えるデータポイントに設定することができます。分位数アルゴリズムでは、パーセンタイルのしきい値を0から1の間で選択する必要があります。つまり、このアルゴリズムでは、履歴データの最小値を下回る、または最大値を上回るしきい値が生成されることはありません。この種のセグメント化は、今後のデータが履歴データと同じように変化すると仮定した場合、しきい値の境界をたびたび超えてしまう可能性があり、アラーム戦略に影響を及ぼしかねません。分位数は、履歴データの大きな外れ値に強いため、広く分散している場合には標準偏差よりも適しているといえるでしょう。
- 範囲:範囲アルゴリズムは、履歴データの最小データポイントと最大データポイント、およびそれらの値の間の範囲(max-min)に関係します。しきい値は、最小値に範囲を加えた乗数となります。たとえば、値が0の場合は履歴データの最小値、1の場合は履歴データの最大値、-1の場合は最小値から範囲を引いた値、2の場合は最大値に範囲を加えた値がしきい値として設定されます。履歴データの外れ値は範囲の値に影響を与え、それがしきい値にも影響を及ぼします。履歴データの最小値や最大値を超えるしきい値を指定する場合や、標準偏差アルゴリズムが適さない場合は、範囲アルゴリズムをおすすめします。
ITSIでの動的しきい値の役割
動的しきい値は、ITチームがKPIの状態を継続的に監視し、より精度の高いアラートを生成するのに役立ちます。クラウドIT環境の監視とトラブルシューティングのために機械学習主導の分析を導入できる、ITSIの重要なコンポーネントです。
動的しきい値において機械学習が果たす役割
動的しきい値において機械学習が重要なのは、機械学習がパターンを見つけ、推論を導き、予測することができるためです。クラウドIT環境では、日々テラバイト規模のデータが生成されます。これは人間が手作業で解析できる量をはるかに超えています。機械学習アルゴリズムは、これらのタスクを効率よく正確に実行するため、パフォーマンス監視のあらゆる側面で欠かせないツールといえます。
一般的に動的しきい値は、データのパターンを見つけ、それに基づいて予測を行うために、回帰と分類という2つの機械学習手法を使用します。
回帰分析では、従属変数(行動)といくつかの独立変数(結果)を調べ、それらの間の関係の強さを評価します。これは通常、傾向の予測、特定の行動による影響の予測、行動と結果に相関性があるかどうかの判断を行うために使用されます。回帰分析には、単純な線形回帰、ロジスティック回帰、リッジ回帰など、一般的に使用されるいくつかのアルゴリズムが含まれます。
分類では、より正確な分析のためにデータをカテゴリ別に分類します。判定ツリーやニューラルネットワークなど、さまざまな数学的手法が使用されます。
結論:動的しきい値によって精度の高いアラートを生成
クラウド環境は、企業に数多くのビジネス上のメリットをもたらしますが、その複雑さゆえに、高いノイズレベルや過剰なアラートが生まれ、パフォーマンスの問題の迅速な特定と対応ができない場合があります。動的しきい値は、サービスの監視を強化し、パフォーマンスが低下する前に問題を回避できるようにするうえで欠かせない手法です。
この記事について誤りがある場合やご提案がございましたら、ssg-blogs@splunk.comまでメールでお知らせください。
この記事は必ずしもSplunkの姿勢、戦略、見解を代弁するものではなく、いただいたご連絡に必ず返信をさせていただくものではございません。
関連記事
Splunkについて
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。