Splunk Infrastructure Monitoring分析
Splunk Infrastructure Monitoring分析の概要、ロールアップ・ポリシー、SignalFlow命令、分析の集約と変換
概念上、SignalFlow プログラムは複数の計算ブロックで構成され、それぞれが入力を受け入れ、計算(sum、mean、max など)を実行し、出力を生成します。ブロックは有向グラフで接続されるため、1 つのユニットの出力が他のユニットに入力として流れ、その結果、目的の結果を計算する一連の計算がカスケード表示されます。
実際には、個々のSignalFlowプログラムは、Infrastructure Monitoringのチャートの計算バックボーンであり、Infrastructure Monitoringのアプリケーションでは、相互にリンクされた分析パイプラインのセットとして視覚化されます。
SignalFlowプログラムへの初期入力は、通常、1つまたは複数の時系列のセットです。
ロールアップ・ポリシー
プロットライン内の各時系列セットには、ゲージ、カウンタ、または累積カウンタなど、共通のメトリックタイプがあります。メトリックタイプは、時系列データに適用されるデフォルトの可視化ロールアップを決定します。各ケースでデフォルトが選択されているのは、表示される値が正確で、さまざまなチャート解像度で安定するようにするためです。
30 秒ごとにレポートするゲージを例に挙げてみましょう。5 分の時間範囲のチャートでは、通常はネイティブ解像度でデータを表示するのに十分な画面領域があるため、報告された各値をチャートに表示できます。つまり、5 分の間に 10 のデータポイントが送信されます。ただし、時間範囲が 1 週間に変更された場合、Infrastructure Monitoring はそれに合わせて粗いチャート解像度に自動的に切り替わります。
この場合、Infrastructure Monitoring は Average ロールアップを使用して、粗いチャート解像度で各時間間隔のゲージの平均値を計算します。1 週間分のデータを使用し、表示される各データポイントは選択した間隔で送信された値の平均です。Infrastructure Monitoring は、サンプル値などの代わりに、それらの平均値をプロットします。一般に、これによってデータはより正確に表現されますが、実際のメトリックによっては最大値と最小値が平均化されるという副次的な影響も生じ、これは望ましくないことがあります。
カウンタまたは累積カウンタの場合、選択したロールアップは精度だけでなく、時間範囲を変更したときのチャートの動作全般に影響します。たとえば、高解像度メトリックとして送信されるカウンタがあります。このカウンタは、サーバーが 1 秒間隔あたりに処理した応答数を示します。デフォルトの Sum ロールアップではなく Rate/sec のロールアップを使用する場合、ネイティブ解像度で時系列を表示するのに十分小さい時間範囲のチャートでは、値は次のように報告されます。
-
カウンタの場合、Rate/sec の各報告値は、インターバルで正規化されて表示されます。たとえば、各 1 秒間隔の応答数を 1 で割った値(1 秒ごとにデータが来る場合)、各 5 秒間隔の応答数を 5 で割った値(5 秒ごとにデータが来る場合)などです。
-
累積カウンタの場合、デフォルトのロールアップは Delta です。したがって、報告される各 Rate/sec 値は、インターバルで正規化された最後のデータポイントからのデルタです。つまり、1 で割った値(1 秒ごとにデータが来る場合)、5 で割った値(5 秒ごとにデータが来る場合)などになります。
次に、プロットする各データポイントが例えば4分間隔を表すように時間範囲を変更すると、値は以下のように報告されます:
-
カウンターの場合、各データポイントは、その4分間のインターバル中のすべての回答の合計を240(そのインターバルの秒数)で割ったものです。
-
累積カウンターの場合、各データポイントは、インターバル中のデルタ・ロールアップ(デルタ・ロールアップは連続するデータポイント間の差)の合計を240(インターバルの秒数)で割ったものです。
おそらくこれは、ゲージの Average ロールアップと同じような影響を与えます。データの正確な表現を提供し、折れ線グラフやエリアチャートを通常使用する方法に合わせて視覚化されます。
対照的に、Sum などの別のロールアップを選択すると、チャートの動作は異なるチャート解像度によって変わります。ネイティブ解像度で時系列を表示できるのに十分小さい時間範囲のチャートでは、Sum ロールアップが 1 秒間隔で発生するため、各値は 1 秒あたりのレートの場合と同じになります。ただし、4 分間隔のチャートでは、表示される値は 240 秒間のすべての値の合計です。これは、1 秒あたりの正規化レートのロールアップよりも大幅に高い値を生成する可能性があり、メトリックの性質によっては、求めているものになる可能性があります。
ロールアップ、チャート解像度、分析のインタラクションの詳細については、「Data resolution and rollups in charts」を参照してください。
SignalFlowのメタデータの扱い方
SignalFlow の計算には、データと対応するメタデータ(ディメンション、プロパティ、またはタグ)の両方が含まれることがよくあります。たとえば、複数のリージョンまたはアベイラビリティゾーンに分散するサーバーインスタンスから受信した CPU 使用率メトリック全体で平均を計算する場合、リージョンまたはアベイラビリティゾーンごとにそれらをグループ化し、集約レベルで 1 つが次のものよりも高温で動作しているかどうかを識別できるようにすることができます。
SignalFlow プログラム全体の計算でこのメタデータを確実に使用できるように、時系列データは、対応するメタデータとともに SignalFlow 計算に取り込まれます。その後のデータの計算には、メタデータの対応する計算が含まれるため、結果にデータコンポーネントとメタデータコンポーネントの両方が含まれ、必要に応じてさらにダウンストリームの処理や再集約が可能になります。
合計や平均などの時系列のコレクションから単一のサマリー結果を出力する計算では、コレクション全体で同じ名前と値を共有するメタデータのみが使用されます。対照的に、最大、最小など、コレクションから値を選択する計算では、選択された値の対応するメタデータをそのまま使用します。
SignalFlow の計算の詳細については、「SignalFlow を使用した受信データの分析」を参照してください。
集計と変換
分析計算は、データポイントのコレクションに適用される数学関数です。たとえば、コレクションの合計をコレクション内のデータポイントの数で割ることによって、データポイントのコレクション全体の平均が計算されます。時系列計算のコンテキストでは、分析計算は集約または変換として適用されます。詳細については、「データの集約と変換」を参照してください。