メトリクスデータ最適化の次のステップに進む
Observability Martyna Karbownikオブザーバビリティの世界では、メトリクスを効果的に管理することが何よりも重要です。SplunkのMetrics Usage Analytics (MUA)を使うと、未使用のメトリクスを特定して最適化することでデータ量を抑制できます。しかし、無駄がなくコスト効率に優れ、かつ豊富なインサイトを提供するテレメトリパイプラインを構築するための取り組みは、そこで終わりではありません。高カーディナリティのディメンションは、気づかないうちにコストの増加とデータの肥大化を生むことがよくあります。この問題に対処し、スマートなテレメトリ管理をさらに進化させるのが、新たに登場した Dimension Utilization です。
静かなる消耗:ディメンションが重荷になるとき
Metric Pipeline Managementで未使用のメトリクスを効果的にアーカイブまたはドロップしてもなお、テレメトリのコストが予想を上回ることがあります。そこで考えられる原因は、高カーディナリティのディメンションです。こうしたディメンションは、一意の値を大量に生成し、メトリクス時系列(MTS)数を爆発的に増加させます。数百万のユーザーが使うシステムの user_id や、イベントが発生するたびに変化する request_timestamp のようなディメンションを想像してみてください。これらは便利そうに見えますが、次の問題を引き起こします。
- コストの急騰:ディメンション値の組み合わせごとに新しいMTSが作成され、ストレージと処理のコスト増加に直接つながります。
- インサイト取得の困難化:高カーディナリティのデータが大量にあると、データを調査および分析して有意義なインサイトを導出することが難しくなり、トラブルシューティングや意思決定のスピードが遅くなります。
- システムの負荷増大:カーディナリティが高いためにデータモデルが複雑になりすぎると、監視インフラに大きな負荷がかかり、パフォーマンスや信頼性に影響する可能性があります。
パイプライン管理において、これらの問題を引き起こしているディメンションを特定し、個々のメトリクスへの影響を調査し、情報に基づいてどのように最適化すべきかを判断することは、必ずしも容易ではありません。明確な可視化ができなければ、非効率性や不必要なコストを生む原因を見落としやすくなります。
Dimension Utilizationのご紹介:カーディナリティの新たな道しるべ
Dimension Utilizationは、Usage Analyticsが備える強力な新機能で、ディメンションデータの可視性と管理性を飛躍的に高めるものです。高カーディナリティのディメンションの特定、分析、管理を支援して、それらをコスト負債から戦略的資産へと転換します。
主な機能
- メインディメンションビュー:一元化されたダッシュボードとして、すべてのディメンションとその数値統計(一意のディメンション値の個数、ディメンションを持つメトリクスの個数、ディメンションを持つMTSの個数など)を表示します。加えて、各ディメンションが使用されているかどうか、どのように使用されているか(ディテクター、ダッシュボードのフィルター、グラフで使用されているなど)も表示します。
このビューを使えば、以下の作業が簡単になります。
- 未使用のディメンションを特定する:オブザーバビリティワークフローで現在使われていないディメンションを見つけ出すことができます。
- 一意の値の個数が最も多いディメンションを特定する:メトリクスのカーディナリティの管理に非常に役立ちます。
- メトリクス数を確認する:ディメンションが多数のメトリクスの必須要素であるか、または少数のメトリクスで偶発的に生じるのみかを調べます。
- 使用状況の詳細をすばやく確認する:[Utilization]列を展開すると、各種コンポーネントでのディメンションの使用頻度が即座に表示されます。
ディメンションプロファイルページ:各ディメンション専用のビューです。ディメンションの具体的な使用先(関連付けられたメトリクス、ダッシュボード、グラフ、ディテクターのリスト)や、重要なサンプル値などの詳細を確認できます。
- このページから包括的なインサイトを獲得することで、データに裏打ちされた確信に基づく意思決定が行えます。
- 表示しているディメンションが使われているコンポーネントを確認して、ビジネスの運用に重要なのかを評価できます。ディメンションの使用頻度が低ければ、ドロップすることも検討できます。
- このビューからメトリクスの集約ルールを作成してMetric Pipeline Managementで適用することで、MTSのカーディナリティを削減できます。
注:
どちらのビューでも、以下の強力な機能を利用できます。
- 柔軟なフィルタリングと並べ替え:期間(過去24時間、7日間、30日間)や使用状況でフィルタリングできます。また、表の各列を基準にデータを並べ替えて、関連するデータをすばやく見つけ出すこともできます。
- レポートのダウンロード:ディメンションの情報と詳細なインサイト(メトリクス、ダッシュボード、グラフ、ディテクター)をCSV形式でエクスポートして、オフラインで分析できます。
- 直感的な可視化:単一値グラフやトレンドグラフで1時間単位のディメンション値の傾向を確認して、異常を簡単に特定できます。
- 一貫性のある定義:1時間単位のMTSの個数と1時間単位のMTSの平均個数は、Metrics Usage Analyticsの既存のビューと一致します。
詳細情報:Usage Analyticsでディメンションを分析する
インサイトからアクションへ:確信をもってディメンションを最適化
Dimension Utilizationでは、詳細な可視化を具体的なアクションにつなげることができます。より的確でコスト効果の高い意思決定を一層すばやく行うために役立つ、実践的な方法をいくつかご紹介します。
1. MTS数への影響が大きいディメンションを特定する
課題:「ユーザーとして、MTS数が特に多いディメンションを探し出したうえで、保持すべきかドロップすべきかを判断したい」
解決策:Dimension Utilizationのメインページには、組織内で使用されているすべてのディメンションが包括的に表示されます。MTS数への影響が特に大きいディメンションを特定するには、以下の作業を行います。
- 値の大きいディメンションを確認します。これらは、一意の値を大量に生成し、MTS数を爆発的に増加させます。
- [MTS with dimension]列で、ディメンションを持つMTSの個数も確認します。
表はデフォルトで[Average Hourly MTS count]の降順に並べられているため、影響が特に大きいディメンションが一目でわかります。
2. スマートなランキングでディメンションの使用状況を分析する
課題:「ユーザーとして、各ディメンションが使用されているかどうか、どのように使用されているかを確認して、削除しても問題がないかどうかを判断したい」
解決策:各ディメンションの使用状況を明確に示すランキングシステム(R5~R0)を利用できます。
- R5 - Detectors:ディテクターで参照されています(最高レベルの使用状況)。
- R4 - Dashboard filters:ダッシュボードのフィルターで参照されています。
- R3 - Active charts:現在使用されているグラフで参照されています。
- R2 - API queries:APIクエリーまたは未保存のグラフで参照されています。
- R1 - Inactive charts:現在使用されていないグラフで参照されています。
- R0 - Unused:どこからも参照されていません(最低レベルの使用状況)。
このランキングは、メインの表とドリルダウンビューに表示されます。ディメンションの使用状況をすばやく把握して、各ディメンションを保持すべきか、最適化すべきか、またはドロップすべきかを判断するために役立ちます。
3. メトリクスと使用状況によってディメンションを評価する
課題:「ユーザーとして、特定のディメンションが複数のメトリクスに存在するかどうかを調べて、その使用状況を分析したい」
解決策:新しいディメンションプロファイルページで詳細な分析が可能です。このページには、ディメンション名をクリックすることでアクセスできます。選択したディメンションについて、関連付けられているすべてのメトリクスと、さまざまなオブザーバビリティコンポーネントでの使用状況を確認できます。これらの情報は、ディメンションの真の価値や影響を把握するために役立ちます。
4. ディメンションのパターンをトラブルシューティングする
課題:
「ユーザーとして、ディメンション値の個数の時系列での変化を監視して、不要なMTSの肥大化につながる急増を特定したい」
解決策:一意の値の個数、値の総個数に占める割合、ディメンションを持つMTS数など、詳細なインサイトが提供されます。これらの情報に基づいて、MTS数を減らしてコストを制御するための的確な意思決定が下せます。トレンドグラフには、1時間単位のディメンション値の時系列での傾向が表示されます。そのため、急増の検出と原因となったコンポーネントの特定がすばやく行えます。
5. サンプルデータに基づいて問題のあるディメンション値を見つける
課題:「ユーザーとして、特定のディメンションに含まれる値の種類を確認したうえで、ディメンションの役割を把握し、その目的、用途、価値を理解したい」
解決策:ディメンションプロファイルページには[Sample Values]タブがあり、最大10個のランダムなディメンション値がサンプルとして表示されます。この重要なインサイトは、タイムスタンプのような一意の値を生成している可能性のあるディメンションを特定するために役立ちます。このようなディメンションは多くの場合、分析で重要な価値を提供することなく、肥大化の原因となっています。また、別のディメンションと同じ値を生成している可能性のあるディメンションを浮き彫りにすることもできます。これによって潜在的な冗長性がわかります。
テレメトリ管理を一層スマートに進化
Dimension Utilizationは、単なる新機能ではありません。戦略的なツールとして、プラットフォームエンジニアやデータマネージャーがオブザーバビリティデータを細かく管理できるように支援するものです。各ディメンションの真の価値と使用状況を理解することで、以下のことを実現しやすくなります。
- 高カーディナリティのディメンションを特定して最適化することで、コストを大幅に削減する
- データの量を減らし、複雑さを軽減することで、システムのパフォーマンスを改善する
- ノイズを除去し、本当に価値のあるデータに重点を置くことで、オブザーバビリティを強化する
- ディメンションの使用状況と価値に関する明確なインサイトを獲得することで、データに基づく意思決定を実行する
隠れたカーディナリティによってテレメトリが肥大化するのを防ぎましょう!Dimension Utilizationを活用すれば、オブザーバビリティプラクティスにおける効率とインサイトをレベルアップすることができます。データを制御し、コストを最適化して、メトリクスが業務で常に役立つようにしましょう。
Dimension Utilizationの使い方について詳しくは、次のSplunkドキュメントを参照してください。
Splunk Observability Cloudでの メトリクスの活用方法とコスト管理に関する復習 をしたい場合や、テレメトリデータを最適化するためのその他の実用的な方法を知りたい場合は、以下の関連リソースを参照してください。
- Splunk Observability Cloudでメトリクスの使用状況を分析する
- Metrics Usage Analyticsによるデータ量の抑制
- 混沌を克服:Splunk Observability Cloudでのメトリクスの大規模管理
- オブザーバビリティコスト:より効率的なデータ管理のためのヒント
.conf24と.conf25の以下のセッションも参考になります。
- OBS1257 - テレメトリコストを最適化するための実践的な戦略:業界リーダーによるインサイト
- OBS1462B - コストを抑えながらデータの増大に対応:Splunk® Observability Cloudによる拡張ガイド
- OBS1522B - Splunk® Observability Cloudのメトリクスプラットフォームを使ったオブザーバビリティの拡張
Splunk Observabilityに関するその他の最新リリースについては、こちらで最新情報をご確認ください。
関連記事

NoOpsの基本:NoOpsとDevOpsとの比較

SREとは何か、ソフトウェア開発の手法やノウハウをIT運用に適用 - DevOpsとの違いから、最新事情まで解説 -
