チャートの分析によってインサイトを取得する

チャートの分析によってインサイトを取得する

Splunk Infrastructure Monitoring の分析を使用すると、未加工のメトリクスデータを表示するチャートをパターンや傾向をより深く把握するための強力なツールに変えることができ、インフラストラクチャ、アプリケーション、またはサービスの正常性をより効果的に監視できます。このセクションでは、以下を行う方法について説明します。

このセクションでは、あなたが以下のトピックに精通していることを前提としています。

サービスやその他のメタデータ別で集計を比較する

ホスト、仮想マシン、コンテナなど、それなりの規模のインフラストラクチャメトリクスを見る場合、ほとんどのケースにおいて、個々のインスタンスを見るよりも集計レベルで見て集計を比較した方が有益です。多くの分析関数ではメタデータ別で出力をグループ化することができ、このような目的に最適です。

  1. 集計レベル(サービス全体など)で比較したいメトリクスを選択し、プロットAの「シグナル」フィールドにその名前を入力します。この例では、demo.trans.latency をプロットしています。

    このスクリーンショットは、集計レベルで比較して使用するメトリクスの選択方法を示しています。
  2. [Analytics] フィールドで、[mean:aggregation] などの適用する関数を選択します。選択すると、各時間間隔のすべての時系列にわたる集計の平均値を表示する単一のプロット線が、チャートに表示されます。

    このスクリーンショットは、適用して使用する関数の選択方法を示しています。
  3. プロットに対して選択した関数をクリックします。[Group‑By] ドロップダウンをクリックします。「service」(「service」という名前のディメンションで送信している場合)や、「aws_availability_zone」(AWS を使用している場合)、またはその他のメタデータなど、グループ化したいメタデータを選択します。この例では、[demo_datacenter] を選択しました。

    このスクリーンショットは、グループ化して使用するメタデータの選択方法を示しています。
  4. これで、各サブグループの全リソース(hosts/vm/container)にわたって集計されたメトリクスを見ることができます。データテーブルに示されているように、各プロット線は 2 つの [demo_datacenters] のいずれかを表します。

    このスクリーンショットは、選択したメタデータによって集計され、グループ化された分析の例を示しています。

より長い時間範囲で山と谷を保持する

デフォルトでは、Splunk Infrastructure Monitoring が、選択した時間範囲とチャート解像度に適したロールアップを選択します。たとえば、10 秒ごとにメトリクスを Infrastructure Monitoring に送信していて、そのメトリクスタイプがゲージであるとします。1 ヵ月分のメトリクスをチャートで確認する場合、表示するデータポイントが多すぎます(6 データポイント/分 x 60 分/時 x 24 時間/日 x 30 日/月 = 259,200 データポイント)。

この場合、Infrastructure Monitoring はゲージメトリクスに対してデフォルトの Average 視覚エフェクトロールアップを適用します。このロールアップにはデータが平均化される効果があり、より高い解像度で表示される山や谷が分かりにくくなります。

このスクリーンショットは、ゲージメトリクスである「Average」というデフォルトの視覚エフェクトのロールアップの例を示しています。

山や谷を保持するには、ロールアップを [max] または [min] に変更して、メトリクスとの関連性が高い方に設定します。Y 軸の値の範囲は、元の視覚エフェクトの範囲からは変更される場合があります。この図では、プロット A を複製し、プロット B のロールアップを [max] に変更します(さらに、違いが見やすくなるようにプロット B の色を変更します)。プロット線を複製するには、プロット線の右端にあるプロットのアクションメニュー(⋯)を開き、[Clone] を選択します。プロットの色の変更については、「プロット設定パネルでオプションを設定する」を参照してください。

このスクリーンショットは、ゲージメトリクスである「Average」というデフォルトの視覚エフェクトのロールアップを「max」のロールアップに変更した例を示しています。

山と谷をさらに目立つようにするには、 チャートの表示解像度を増やします。ここでは、デフォルトから [Very High] に変更します。違いがより見やすくなります。

このスクリーンショットは、チャートの表示解像度を超高解像度に変更した例を示しています。

より短いタイムフレームを選択すると、可視性も向上します。ここでは、時間範囲を過去 20 日間から過去 1 週間に変更します。

このスクリーンショットは、時間範囲を過去20日間から過去1週間に変更した例を示しています。

ロールアップ、チャート解像度、および分析の相互作用の詳細については、「チャートのデータ解像度とロールアップ」を参照してください。

複数のメトリクスを関連付ける

より簡単に動作を関連付けるために、同じチャートで複数のメトリクスを視覚化すると便利なことがよくあります。たとえば、トランザクションの遅延とともに、1 秒あたりに発生するトランザクションの数を確認できます。Splunk Infrastructure Monitoring を使用すると、1 つのチャートに必要な数のメトリクスを表示できます。また、メトリクスの値の範囲が大幅に異なる場合は、2 つの Y 軸を利用できます。

  1. 比較したいメトリクスを選択し、プロットAの「シグナル」フィールドにその名前を入力します。この例では、demo.trans.latency を使用しています。

  2. 2 番目のメトリクスを選択し、プロット B で使用します。ここでは demo.trans.count を選択しました。

    このスクリーンショットは、相関性を比較するために「demo.trans.latency」と「demo.trans.count」を使用した例を示しています。
  1. プロット B で、[Y-Axis] をクリックし、[right] を選択します。詳細については、「左右の Y 軸」を参照してください。

このスクリーンショットは、Y軸ラベルを右に変更する方法を示しています。

  1. 各プロット線に視覚エフェクトタイプオプションを使用し、A には [Line]、B には [Column] などのように A と B に異なるタイプを選択します。詳細については、「資格エフェクトのタイプ」を参照してください。この例では、プロット設定オプションを使用してプロット線 B の色を変更し、見やすくしました。詳細については、「プロットの色」を参照してください。

    このスクリーンショットは、B(demo.trans.count)のプロットタイプをカラムチャートに変更して視認性を高める方法を示しています。

週単位、日単位、時間単位での比較を表示する

アプリやインフラストラクチャが正常な範囲内で動作しているかどうかを把握するために時刻や週が重要になる場合、またはビジネスで周期的または定期的な需要が発生する場合(平日と週末が大きく異なる場合など)には、1 週間、1 日、1 時間単位での変化を強調するチャートを作成できます。(Splunk Infrastructure Monitoring では、これらの時間間隔だけでなく、任意の時間枠を使用して比較を行うことができます。)

  1. 最初のプロット(プロット A)を使って対象のメトリクスを表示してから、プロット A を複製してプロット B を作成します。(プロット線を複製するには、プロット線の右端にあるプロットのアクションメニュー(⋯)を開き、[Clone] を選択します。)この例では、シグナルとして memory.usage.total を使用しています。

  2. プロット B に Timeshift 関数を追加し、変化が重要となる時間範囲を入力します。たとえば、5 分間なら「5m」、2 日間なら「2d」、1 週間なら「1w」を使用します。

    このスクリーンショットは、関数に Timeshift を選択する方法を示しています。このスクリーンショットは、[memory.usage.total] の 1 週間の時間範囲の変化が重要となる例を示しています。
  3. プロット C で、[Enter Formula] をクリックして、「A-B」と入力し、現在と 1 週間前の差を見ます。

  4. プロット設定パネルを使用して、プロット C に面グラフの視覚エフェクトを指定します。詳細は、「プロット設定パネル」を参照してください。

    このスクリーンショットは、プロットCの視覚エフェクトを変更してAとBの差を比較する方法を示しています。

パーセンテージまたは比率を使用する

そのままのメトリクスではなく、パーセンテージまたは比率の表示が必要となる場合があります。たとえば、失敗を示すリターンコードと成功を示すリターンコードの比率や、総キャッシュアクセス数(ヒット数+ミス数)に占めるキャッシュヒット数の比率などです。

  1. 最初のプロット(プロットA)を使って、気になるメトリクスの1つを表示します。例えば、zipper.missCount です。

  2. 2つ目のプロット(プロットB)を使って、必要な他のメトリクスを表示します。例えば、zipper.hitCount です。

    このスクリーンショットは、プロットA(zipper.missCount)とプロットB(zipper.hitCount)を示しています。
  3. プロットCで、A/(A+B) という式を入力し、scale:100 の関数を追加して、比率をパーセンテージで表します。

    このスクリーンショットは、式とスケールを追加してパーセンテージを表示する方法を示しています。
  4. プロット C の横にある目のアイコンを Alt キーか Option キーを押しながらクリックして、他のプロットを非表示にします。ミスカウントの時系列でのパーセンテージを示すチャートが残ります。

    このスクリーンショットは、プロットC、つまりA/(A+B)のみを表示する方法を示しています。
  5. プロットCのプロット名を編集し、チャートにカーソルを置いたとき(前後は下の図に表示)、またはデータテーブルを表示したときに、有用な情報が表示されるようにします。

    このスクリーンショットは、プロットの名前を変更して、チャートにカーソルを置いた際に有用な情報が追加されるようにする方法を示しています。

パーセンタイルを使用して母集団の概要を見る

母集団の概要を簡単に取得したい場合は、分布パーセンタイルチャートが適しています。このようなチャートを作成するには、非積み上げ面グラフを使用します。[Chart Options] タブで [Show on-chart legend] を選択(「チャート上に凡例を表示」を参照)して、次のようにプロットを表示します。

  • P10。最初のプロット(プロット A)で、必要なメトリクスとフィルタを入力し、Percentile 関数を使用して値に「10」を入力します。

  • 中央値。プロット A を複製し、値に「50」を使用します。

  • P90。プロット B を複製し、値に「90」を使用します。

下のイラストは、このチャートがどのような外観になるかを示しています:

このスクリーンショットは、3つのプロットのパーセンタイル(「demo.trans.latency」の例)を示しています。

特定の値を見るには、チャート上のさまざまなポイントにカーソルを合わせるか、データテーブルを表示します。

Top NまたはBottom Nのリストを表示する

Top N や Bottom N は、単純な外れ値、ランキング、最もパフォーマンスが低いものを表示するのに適しています。

  1. プロットAのメトリクスを入力します。ここでは cpu.utilization を選択しています。

  2. チャートタイプに [List] を選択します。

  3. Top または Bottom の分析関数を適用し、リストに表示したい値の数または表示したいパーセンテージの範囲を選択します。この例では、[Top 5] を選択し、[Count] を指定しました。

    このスクリーンショットは、「cpu.utilization」のトップ5をリストチャートで示したものです。
  4. チャート上の冗長なメタデータを減らすには、[Chart Options] タブの [Display Fields] オプションで [custom] を選択し、プロット名を非表示にします。

  5. 値に [Descending] を指定して Top N チャートをソート([Sort])します。または、値に [Ascending] を指定して Bottom N チャートをソートします。

    このスクリーンショットは、「cpu.utilization」のトップ5を降順でリストチャートに表示したものです。
  6. チャートをさらに読みやすくするには、[Display Fields] オプションを使用してその他のフィールドを非表示にします。[Visualization Options] にある [Entries with missing data] を非表示にすることもできます。

    このスクリーンショットは、「cpu.utilization」のトップ5をリストチャートで表示したもので、データが欠落したエントリや、「host.name」、「host.type」、「kubernetes_cluster」以外のフィールドが非表示になっています。

分布の変化を見る

ヒストグラムは、単一時点での母集団の分布を調べるのに適した方法です。Splunk Infrastructure Monitoring ではヒストグラムが提供されており、時間の経過に伴う分布の変化を確認できます。これは、クラスターによって提供されるリクエストの遅延など、予期しない変化を把握するのに役立ちます。

  1. 比較的多くのソースから送信されているメトリクスを選択します。ここでは demo.trans.latency を選択しました。

    このスクリーンショットは、「demo.trans.latency」を線グラフで表示したものです。
  2. ヒストグラムのチャートタイプを選択します。

    このスクリーンショットは、「demo.trans.latency」をヒストグラムで表示したものです。

山と谷を平滑化する

ある期間から次の期間までの一般的なパターンを確認するために、データの山と谷を平滑化したいことがあると思います。値が全般的に安定しているか、上昇しているか、下降しているかが一目でわからない場合、ある期間から次の期間までを移動平均形式で正規化したデータを表示する必要があります。これを行うには、集計オプションの代わりに変換オプションを使用します。変換オプションでは、 [平均][最大値 / 最小値][パーセンタイル]合計分散の各分析機能を使用できます。平均、最小値、最大値、合計では、移動ウィンドウ(過去の時間(分、時)など)、またはカレンダーウィンドウ(過去の日、週、月など)のいずれかを指定できます。

  1. 移動平均を適用するのに適切な間隔を決定します。

  2. Mean 分析関数を使用し、Mean:Transformation オプションを選択して、適切な時間窓オプションを選択します。

  3. 間隔を入力します(例:5m)。

下の図では、「cpu.utilization」の値と移動平均が以下のように表示されています:

  • プロットA:実際の値

  • プロットB:30分間の移動平均

  • プロットC:1時間の移動平均

    このスクリーンショットは、「cpu.utilization」の移動平均を「すべて」、「30分間」、「1時間」で表示した例を示しています。

プロット線を非表示にしてチャートを見やすくすることもできます:

このスクリーンショットは、「cpu.utilization」の移動平均を「すべて」および「1時間」で表示し、「5分間」と「30分間」を非表示にした例を示しています。

埋め込みログの検索

チャート、ダッシュボード、Kubernetes Navigator、および APM のサービス中心のビューに埋め込まれたログ内の特定のキーワードを検索できます。検索は Log Chart Summary に影響せず、データの完全性が確保されます。

チャートまたはダッシュボードで埋め込みログを検索するには、次の手順を実行します。

  1. Splunk Observability Cloud で、[Dashboards] に移動し、選択したダッシュボードまたはチャートに移動します。

  2. [K8S NODE LOGS] タブで、テーブルまで下にスクロールします。最初のテーブルの [System logs] ヘッダーまたは 2 番目のテーブルの [Authentication logs] ヘッダーの隣の検索バーに、埋め込みログで検索するキーワードを入力します。

  3. キーボードの Enter キーを押します。[Search] ボタンはありません。

    注: 検索では、Log Observer Connect の動作に沿って、大文字と小文字が区別されず、入力したキーワードが 1 つの文字列として扱われます。[Log Observer Connect] でログを表示すると、コンテキストを維持するために検索が続行されます。

次のステップ

使用可能なすべての分析関数の詳細については、「Splunk Observability Cloud の関数のリファレンス」を参照してください。

システムをあらかじめ監視できるチャートを作成したら、次のステップとして、値が特定の基準に達したときにアラートを表示したり受信したりしたくなると思います。この方法については、「Splunk Observability Cloud のアラートとディテクタの概要」を参照してください。