Splunk Infrastructure Monitoring分析 🔗
概念的には、SignalFlowプログラムはいくつかの計算ブロックで構成され、各計算ブロックは入力を受け取り、何らかの計算(例えば、合計、平均、最大値など)を実行し、何らかの出力を生成します。ブロックは有向グラフで接続され、あるユニットの出力が他のユニットへの入力として流れ、その結果、一連の計算がカスケード接続され、目的の結果が計算されます。
実際には、個々のSignalFlowプログラムは、インフラストラクチャ・モニタリングのチャートの計算バックボーンであり、インフラストラクチャ・モニタリング・アプリケーションでは、相互にリンクされた分析パイプラインのセットとして視覚化されます。
SignalFlowプログラムへの初期入力は、通常、1つまたは複数の時系列のセットです。
ロールアップ・ポリシー 🔗
プロット・ライン内の時系列の各セットは、ゲージ、カウンター、累積カウンターなどの共通のメトリクスタイプを持っています。メトリクスタイプによって、時系列データに適用されるデフォルトの可視化 rollups を決定します。それぞれの場合のデフォルトは、表示される値が正確で、さまざまなチャート解像度で安定するように選択されます。
30秒ごとに報告されるゲージを例にとってみましょう。時間範囲が5分のチャートでは、報告された各値をチャートに表示できます。通常、データを本来の解像度(5分間に送信された10データポイント)で表示するのに十分な画面領域があるからです。しかし、時間範囲を1週間に変更した場合、インフラモニタリングは自動的にそれに合わせてより粗いチャート解像度に切り替わります。
この場合、インフラモニタリングは、平均 ロールアップを使用して、より粗いチャート解像度で各時間間隔にわたるゲージの平均値を計算します。1週間分のデータで、各可視データポイントは、選択されたインターバル中に送信された値の平均です。インフラモニタリングは、サンプリングされた値の代わりに、これらの平均値をプロットします。一般的に、これはデータをより正確に表現しますが、実際のメトリクスによっては望ましくないかもしれませんが、山と谷を平均化するという副作用もあります。
注釈
サンプリングされた値を見たい場合は、最新 のロールアップを選択し、ピークと谷を見たい場合は、それぞれ 最大 または 最小 のロールアップを選択することができます。
カウンターや累積カウンターの場合、選択したロールアップは精度だけでなく、時間範囲を変更したときのチャートの動作にも影響します。たとえば、高解像度のメトリクスとして送信されるカウンターがあり、サーバーが1秒間隔で処理したレスポンスの数がわかるとします。デフォルトの 合計 のロールアップではなく、Rate/sec のロールアップを使用した場合、時系列を本来の解像度で表示するのに十分な小さい時間範囲のチャートでは、値は以下のように報告されます:
カウンターの場合、Rate/sec の各報告値は、インターバルで正規化されて表示されます。例えば、各1秒インターバル中のレスポンス数を1で割った値(1秒ごとにデータが来る場合)、各5秒インターバル中のレスポンス数を5で割った値(5秒ごとにデータが来る場合)などです。
累積カウンターの場合、デフォルトのロールアップは デルタ です。したがって、報告される各 Rate/sec 値は、インターバルで正規化された最後のデータポイントからのデルタであり、1で割った値(1秒ごとに入ってくるデータの場合)、5で割った値(5秒ごとに入ってくるデータの場合)などです。
次に、プロットする各データポイントが例えば4分間隔を表すように時間範囲を変更すると、値は以下のように報告されます:
カウンターの場合、各データポイントは、その4分間のインターバル中のすべての回答の合計を240(そのインターバルの秒数)で割ったものです。
累積カウンターの場合、各データポイントは、インターバル中のデルタ・ロールアップ(デルタ・ロールアップは連続するデータポイント間の差)の合計を240(インターバルの秒数)で割ったものです。
おそらくこれは、平均 ゲージのロールアップと同じような影響を与えます。データの正確な表現を提供し、折れ線グラフやエリア・チャートを通常使用する方法と同じように視覚化されます。
対照的に、合計 のような異なるロールアップを選択した場合、チャートの解像度が異なると、チャートの動作が変わります。時系列を本来の解像度で表示するのに十分な小さな時間範囲のチャートでは、合計のロールアップが1秒間隔で発生するため、報告される各値は秒あたりのレートの場合と同じです。しかし、4分間隔のチャートでは、表示される値は240秒間のすべての値の合計となります。これは、正規化された1秒あたりのレートのロールアップよりもかなり高い値を生成する可能性が高く、メトリクスの性質によっては、あなたが求めているものかもしれません。
ロールアップ、リゾリューション、分析のインタラクションの詳細については、チャートのデータ解像度とロールアップ を参照してください。
SignalFlowのメタデータの扱い方 🔗
SignalFlowの計算には、多くの場合、データと対応するメタデータ(ディメンション、プロパティ、またはタグ)の両方が含まれます。たとえば、複数のリージョンまたはアベイラビリティ・ゾーンに分散するサーバー・インスタンスから受信したCPU使用率メトリクス全体で平均を計算する場合、リージョンまたはアベイラビリティ・ゾーンごとにそれらをグループ化し、集約レベルで1つが次のものよりも高温で動作しているかどうかを識別できるようにすることができます。
SignalFlowプログラム全体の計算がこのメタデータを利用できるように、時系列データは対応するメタデータと共にSignalFlow計算に取り込まれます。データに対する後続の計算にはメタデータに対する対応する計算が含まれるため、結果にはデータとメタデータの両方のコンポーネントが含まれ、必要に応じてさらなるダウンストリーム処理や再集計が可能になります。
Computations that output a single summary result from a collection of time series, such as a sum or mean, use only the metadata that shares the same name and values across the collection. In contrast, computations that select values from a collection, such as maximum, minimum and so on, use the corresponding metadata of the selected values as is.
SignalFlow の計算の詳細については、SignalFlowを使用した受信データの分析 を参照してください。
集約と変換 🔗
分析計算とは、データ点の集まりに適用される数学関数です。例えば、平均はデータ点の集合に対して、集合の合計を集合内のデータ点の数で割ることによって計算されます。時系列計算では、分析計算は集約または変換として適用されます。詳細は データの集約と変換 を参照してください。