メトリクスデータ最適化の次のステップに進む

Observability Martyna Karbownik

オブザーバビリティの世界では、メトリクスを効果的に管理することが何よりも重要です。SplunkのMetrics Usage Analytics (MUA)を使うと、未使用のメトリクスを特定して最適化することでデータ量を抑制できます。しかし、無駄がなくコスト効率に優れ、かつ豊富なインサイトを提供するテレメトリパイプラインを構築するための取り組みは、そこで終わりではありません。高カーディナリティのディメンションは、気づかないうちにコストの増加とデータの肥大化を生むことがよくあります。この問題に対処し、スマートなテレメトリ管理をさらに進化させるのが、新たに登場した Dimension Utilization です。

静かなる消耗:ディメンションが重荷になるとき

Metric Pipeline Managementで未使用のメトリクスを効果的にアーカイブまたはドロップしてもなお、テレメトリのコストが予想を上回ることがあります。そこで考えられる原因は、高カーディナリティのディメンションです。こうしたディメンションは、一意の値を大量に生成し、メトリクス時系列(MTS)数を爆発的に増加させます。数百万のユーザーが使うシステムの user_id や、イベントが発生するたびに変化する request_timestamp のようなディメンションを想像してみてください。これらは便利そうに見えますが、次の問題を引き起こします。

パイプライン管理において、これらの問題を引き起こしているディメンションを特定し、個々のメトリクスへの影響を調査し、情報に基づいてどのように最適化すべきかを判断することは、必ずしも容易ではありません。明確な可視化ができなければ、非効率性や不必要なコストを生む原因を見落としやすくなります。

Dimension Utilizationのご紹介:カーディナリティの新たな道しるべ

Dimension Utilizationは、Usage Analyticsが備える強力な新機能で、ディメンションデータの可視性と管理性を飛躍的に高めるものです。高カーディナリティのディメンションの特定、分析、管理を支援して、それらをコスト負債から戦略的資産へと転換します。

主な機能

メインディメンションビュー

このビューを使えば、以下の作業が簡単になります。

ディメンションプロファイルページ:各ディメンション専用のビューです。ディメンションの具体的な使用先(関連付けられたメトリクス、ダッシュボード、グラフ、ディテクターのリスト)や、重要なサンプル値などの詳細を確認できます。

ディメンションプロファイルページ

注:

どちらのビューでも、以下の強力な機能を利用できます。

詳細情報:Usage Analyticsでディメンションを分析する

インサイトからアクションへ:確信をもってディメンションを最適化

Dimension Utilizationでは、詳細な可視化を具体的なアクションにつなげることができます。より的確でコスト効果の高い意思決定を一層すばやく行うために役立つ、実践的な方法をいくつかご紹介します。

1. MTS数への影響が大きいディメンションを特定する

課題:「ユーザーとして、MTS数が特に多いディメンションを探し出したうえで、保持すべきかドロップすべきかを判断したい」

解決策:Dimension Utilizationのメインページには、組織内で使用されているすべてのディメンションが包括的に表示されます。MTS数への影響が特に大きいディメンションを特定するには、以下の作業を行います。

表はデフォルトで[Average Hourly MTS count]の降順に並べられているため、影響が特に大きいディメンションが一目でわかります。

2. スマートなランキングでディメンションの使用状況を分析する

課題:「ユーザーとして、各ディメンションが使用されているかどうか、どのように使用されているかを確認して、削除しても問題がないかどうかを判断したい」

解決策:各ディメンションの使用状況を明確に示すランキングシステム(R5~R0)を利用できます。

このランキングは、メインの表とドリルダウンビューに表示されます。ディメンションの使用状況をすばやく把握して、各ディメンションを保持すべきか、最適化すべきか、またはドロップすべきかを判断するために役立ちます。

3. メトリクスと使用状況によってディメンションを評価する

課題:「ユーザーとして、特定のディメンションが複数のメトリクスに存在するかどうかを調べて、その使用状況を分析したい」

解決策:新しいディメンションプロファイルページで詳細な分析が可能です。このページには、ディメンション名をクリックすることでアクセスできます。選択したディメンションについて、関連付けられているすべてのメトリクスと、さまざまなオブザーバビリティコンポーネントでの使用状況を確認できます。これらの情報は、ディメンションの真の価値や影響を把握するために役立ちます。

4. ディメンションのパターンをトラブルシューティングする

課題

「ユーザーとして、ディメンション値の個数の時系列での変化を監視して、不要なMTSの肥大化につながる急増を特定したい」

解決策:一意の値の個数、値の総個数に占める割合、ディメンションを持つMTS数など、詳細なインサイトが提供されます。これらの情報に基づいて、MTS数を減らしてコストを制御するための的確な意思決定が下せます。トレンドグラフには、1時間単位のディメンション値の時系列での傾向が表示されます。そのため、急増の検出と原因となったコンポーネントの特定がすばやく行えます。

5. サンプルデータに基づいて問題のあるディメンション値を見つける

課題:「ユーザーとして、特定のディメンションに含まれる値の種類を確認したうえで、ディメンションの役割を把握し、その目的、用途、価値を理解したい」

解決策:ディメンションプロファイルページには[Sample Values]タブがあり、最大10個のランダムなディメンション値がサンプルとして表示されます。この重要なインサイトは、タイムスタンプのような一意の値を生成している可能性のあるディメンションを特定するために役立ちます。このようなディメンションは多くの場合、分析で重要な価値を提供することなく、肥大化の原因となっています。また、別のディメンションと同じ値を生成している可能性のあるディメンションを浮き彫りにすることもできます。これによって潜在的な冗長性がわかります。

テレメトリ管理を一層スマートに進化

Dimension Utilizationは、単なる新機能ではありません。戦略的なツールとして、プラットフォームエンジニアやデータマネージャーがオブザーバビリティデータを細かく管理できるように支援するものです。各ディメンションの真の価値と使用状況を理解することで、以下のことを実現しやすくなります。

隠れたカーディナリティによってテレメトリが肥大化するのを防ぎましょう!Dimension Utilizationを活用すれば、オブザーバビリティプラクティスにおける効率とインサイトをレベルアップすることができます。データを制御し、コストを最適化して、メトリクスが業務で常に役立つようにしましょう。

Dimension Utilizationの使い方について詳しくは、次のSplunkドキュメントを参照してください。

Splunk Observability Cloudでの メトリクスの活用方法とコスト管理に関する復習 をしたい場合や、テレメトリデータを最適化するためのその他の実用的な方法を知りたい場合は、以下の関連リソースを参照してください。

.conf24と.conf25の以下のセッションも参考になります。

Splunk Observabilityに関するその他の最新リリースについては、こちらで最新情報をご確認ください。

このブログはこちらの英語ブログの翻訳、山村 悟史によるレビューです。

関連記事

NoOpsの基本:NoOpsとDevOpsとの比較
オブザーバビリティ
6 分程度

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

IT運用や開発を自動化するアプローチであるNoOpsを紹介します。 NoOpsとは「No Operations(ノーオペレーション)」からきており、このアプローチの仕組み、メリットと課題、そしてこれがDevOpsから進化したものなのか、あるいはDevOpsの終焉を意味するのかについて探ります。
SREとは何か、ソフトウェア開発の手法やノウハウをIT運用に適用 - DevOpsとの違いから、最新事情まで解説 -
オブザーバビリティ
13 分程度

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

SREは、プロアクティブかつ迅速なアプローチでソフトウェア開発とインシデント対応のライフサイクルの信頼性を確保することによって顧客価値を創出します。可用性、パフォーマンス、監視、インシデント対応、環境の整備の面で、エンジニアと協力しながら新しいサービスのオブザーバビリティを確保するための活動です。
Azure DevOps:イベントとアラートでオブザーバビリティを強化
オブザーバビリティ
7 分程度

Azure DevOps:イベントとアラートでオブザーバビリティを強化

Splunk ObservabilityのAzure DevOpsインテグレーションを利用すれば、パイプラインの実行やリリースを可視化して、イベントやサービスの大規模障害が発生している時に誤ってリリースすることを防止できます。