テレメトリの基本:テレメトリの概要
Observability Shanika Wickramasinghe要点
- テレメトリの定義と重要性:テレメトリは、遠隔のソースからデータを収集して分析し、システムのパフォーマンスに関するインサイトを獲得するためのプロセスです。IT、ヘルスケア、農業をはじめとする幅広い業界で、製品やサービスの改善について、情報に基づく意思決定を支援するという重要な役割を果たしています。
- 監視とテレメトリの違い:この2つは同じ意味で用いられることがよくありますが、監視はテレメトリの一種です。監視は、アプリケーションリソースの使用率など、比較的狭い範囲で潜在的な問題を検出することに重点を置いています。一方、テレメトリは、データを幅広く収集および分析して、ユーザーの行動やシステムのパフォーマンスを理解し、改善領域を特定することを目的としています。
- テレメトリ導入の課題:テレメトリを利用する際には、データプライバシー、データ量、ネットワークの遅延、データの整合性などに関する課題に直面します。テレメトリデータを有効活用し、パフォーマンスとユーザーエクスペリエンスの向上に役立つ価値あるインサイトを獲得するには、これらの課題に対処する必要があります。
システムのパフォーマンスを把握することは、競争優位性を築くために重要です。テレメトリは、システムに関する深いインサイトを提供して、ビジネスオーナーによる的確な意思決定を支援します。
このブログ記事では、テレメトリの概要をご紹介します。テレメトリの役割とタイプ、テレメトリデータの用途、テレメトリシステムを導入する際に直面しがちな課題について説明します。
テレメトリとは
まずはテレメトリデータの定義をご紹介しましょう。テレメトリは、遠隔のソースからデータを収集して分析し、システムのパフォーマンスに関するインサイトを獲得するためのプロセスです。このインサイトに基づいて、改善領域を特定できます。
ソフトウェア/IT、農業、ヘルスケア、天気予報など、幅広い業界や研究分野に対応し、重要な役割を果たしています。たとえば医療分野では、血圧や心拍数など、患者の重要指標の監視に使われています。
IT業界におけるテレメトリの役割
このブログ記事で重点を置くテクノロジー/ソフトウェア業界では、テレメトリは、さまざまな導入済みのソフトウェア製品からデータを自動的に収集するプロセスを指します。これにより、製品に関する深いインサイトを獲得して、製品を改善するための的確な意思決定に役立てることができます。
たとえば、多くのソフトウェアシステムで、ユーザーが製品を快適に利用できているかを把握するためにテレメトリが使われています。この場合、以下のメトリクスを追跡します。
- ページビュー
- アプリケーション内でのユーザージャーニー
- イベントとエラー数
- ユーザーが使用しているデバイスとオペレーティングシステム
監視とテレメトリの違い
「監視」と「テレメトリ」という言葉は、同じ意味で用いられることがよくあります。プロセスは共通していますが、両者には多少の違いがあります。
- 監視は対象範囲が狭く、主な目的は、潜在的な問題を検出し、適切な措置を講じて、顧客に影響するインシデントやエスカレーションの発生を回避することです。通常、アプリケーションリソースの使用率やネットワークアクティビティなどのメトリクスを測定します。
- テレメトリは、問題のトラブルシューティングから、ユーザーの行動やシステムのパフォーマンスの把握まで、幅広い目的でデータを収集および分析するプロセスです。対象となるパフォーマンスメトリクスの種類も監視に比べて多様です。
つまり、監視はテレメトリの一部と言えます。テレメトリは、詳細な監視機能を提供し、システムを包括的に理解するために役立ちます。
テレメトリのタイプ
組織は、要件に応じてさまざまなタイプのテレメトリデータを収集および監視できます。
ITインフラのテレメトリデータ
ITインフラのテレメトリデータには、トランザクションの処理速度、エラー率、応答時間、CUPやメモリーの使用率、ディスクI/O、ネットワークスループットなどがあります。
ユーザーのテレメトリデータ
ユーザーによる製品の使用状況を示すデータです。ボタンのクリック、システムへのログイン、特定のページの表示、エラーページの表示などが発生したときのデータを収集します。
ネットワークのテレメトリデータ
ネットワークでは、帯域幅の監視、特定のネットワークポート、ストレージソリューションなど、固有のメトリクスが使われます。また、ルーターやスイッチのCPUやメモリーの使用率、デバイスの稼働時間、温度など、ネットワークデバイスの健全性に関するメトリクスもあります。
アプリケーションインフラのテレメトリデータ
アプリケーションでは、収集および監視が可能なさまざまなテレメトリデータが生成されます。たとえば、処理の遅延、1秒あたりのトランザクション数、データベースアクセス、データベースクエリー、アプリケーションエラー、アプリケーション環境固有のアクティビティ(デプロイやデプロイトポロジーなど)などがあります。
さらに、アプリケーション運用の関係者は、多くのユーザーが使用しているオペレーティングシステム、ブラウザの種類/バージョン、デバイスの詳細などに関する情報も収集できます。
(関連記事:アプリケーションパフォーマンス監視(APM)の詳細)
クラウド環境のテレメトリデータ
ルーティングの判断、設定の変更、セキュリティグループの変更、クラウドの使用状況に関するデータなど、クラウド固有のテレメトリデータも測定できます。
テレメトリの用途
テレメトリの活用方法がわかれば、さまざまなことができます。その一部をご紹介します。
開発する機能の優先順位の判断
テレメトリデータを分析することで、ユーザーによる各機能の使用状況がわかります。この情報は、製品チームが、よく使われる機能を強化し、あまり使われない機能を廃止する判断をする際に役立ちます。
製品の問題の特定
テレメトリデータを使えば、ソフトウェアやプラットフォームでエラーや遅延が頻繁に発生する領域や機能を特定できます。この情報に基づいて、問題のある領域に集中して対処し、深刻な障害に発展する前に修正できます。
パフォーマンスの最適化
テレメトリデータから、Webページやコンポーネントの読み込みに時間がかかるといったパフォーマンスのボトルネックを見つけることもできます。この情報に基づいて、パフォーマンスを向上させることができます。
変更や強化の検証
機能の追加などの変更や強化を行ったときに、テレメトリデータを調べて、以下のような改善につながっているかどうかを検証できます。
- ユーザーエンゲージメントの向上
- エラー率の低減
- 利用率の向上
セキュリティの向上
テレメトリデータを分析して、不審なアクティビティや使用パターンを検出できます。セキュリティチームは、過去のテレメトリデータを調査することで、セキュリティインシデントの詳細を確認し、原因を究明できます。さらに、テレメトリデータを使って古いバージョンのソフトウェアを見つけ出し、セキュリティパッチを早急に適用することもできます。
ビデオ:OpenTelemetryによるオブザーバビリティと監視の強化(Splunk)
テレメトリの仕組み:テレメトリから価値を引き出す方法
テレメトリデータを収集するだけでは、その価値を引き出すことはできません。多少の労力が必要です。ここでは、テレメトリデータから価値を引き出すための5つのステップをご紹介します。
ステップ1. テレメトリ要件を定義する
まずは、テレメトリの監視要件とデータ収集のアプローチを定義します。知りたいことは何か、どのような情報が必要かを考えましょう。ほかにも決めておくことがあります。
- 使用するメトリクス
- データをプッシュするための要件
たとえば、対象システムのテレメトリメッセージのスキーマを定義します。複数のシステムを対象にする場合は、共通のメッセージ形式を定義する必要があります。
ステップ2. テレメトリのインストルメンテーションを設定する
このステップでは、データをリモートシステムに送信するシステムにテレメトリを実装します。たとえば、ユーザーまたはアプリケーションのテレメトリを収集する場合、そのアプリケーションで特定のイベントが発生したときに、定義したスキーマに従ってデータをプッシュするように設定する必要があります。
キューシステムを介してデータを送信する場合は、そのための設定も必要です。対象のデータは入念に検証する必要があります。組織のプライバシーポリシーやセキュリティポリシーを確認し、機密情報の送信は避けるか適切に保護しましょう。
ステップ3. テレメトリを送信する
必要なテレメトリデータを対象システムからリモートストレージにリアルタイムまたは特定の間隔で送信します。送信に使うプロトコルと方法は、システムやデータのタイプによって異なります。たとえば、特定のメッセージキューを使ってデータを受信側に送信できます。
テレメトリの設定によっては、対象システムで特定のニーズに対応する必要が生じる場合もあります。たとえば、データをサンプリングしてデータ量を減らしたり、送信速度を調整したりします。
ステップ4. テレメトリを保存する
テレメトリデータは、中央データベースまたはデータレイクにまとめて保存します。データが大量に発生しても余裕をもって保存できるストレージシステムを選択しましょう。リアルタイム分析や履歴分析を容易に行えるかどうかもポイントです。この機能は、経時的な傾向、異常、パターンを把握するために役立ちます。
ステップ5. データを分析し、情報として可視化する
データをテレメトリストレージに保存したら、各種のツールを使って分析します。このデータから、バグの修正、ユーザーエクスペリエンスの向上、機能開発に関する情報に基づく意思決定に役立つ情報が得られます。
各関係者のニーズに合わせてデータや情報を可視化すれば、傾向やパターンの検出が容易になります。関係者ごとに必要な情報を過不足なく提供することが大切です。
テレメトリの課題
テレメトリには良いことばかりでなく、固有の課題もあります。テレメトリデータを活用すれば、システムのパフォーマンス向上に役立つ重要な情報が得られますが、そのメリットを効果的に引き出すには、さまざまな課題に対処する必要があります。
データプライバシーに関する懸念
ユーザーの機密情報(ユーザー名、IPアドレスなど)は価値のあるインサイトを引き出すために重要ですが、これらの情報を収集すると、プライバシーに関する深刻な懸念が生じる可能性があります。
企業はGDPRやCCPAなどのデータプライバシー規制を遵守する必要があり、規制に従って個人情報や機密情報を保護しなければなりません。ユーザーがテレメトリとしての使用をオプトアウトすることもあり、それによってデータが不完全になったり偏ったりする可能性もあります。
データ量
テレメトリでは処理するデータが大量になりがちです。複数の製品やシステムを収集対象にする場合や、システム利用のピーク時間帯には、特に大量のデータが発生します。データ量の増加に合わせてデータストレージを拡張するのには基本的に手間とコストがかかります。そのため、拡張性と信頼性に優れたコスト効果の高いソリューションを導入することをお勧めします。
(関連記事:ビッグデータ分析)
遅延と帯域幅の問題
ネットワークの遅延は、リアルタイムのデータ分析に影響を及ぼすことがあります。また、大量のテレメトリデータを送信すると、帯域幅を大量に消費し、運用コストが増大する可能性があります。
データの整合性と相互運用性の問題
テレメトリシステムで複数のクライアントやシステムからデータを収集する場合、デバイスの誤動作、ソフトウェアのバグ、送信エラーなどによってデータの一貫性が損なわれることがあります。これによりデータが不正確になる可能性があります。また、さまざまなシステムやテクノロジースタックが混在する環境では、テレメトリシステムとシームレスに通信してデータを共有する方法を考える必要があります。
(関連記事:OpenTelemetryでデータの分断の課題を解決する方法)
データ分析の課題
大量のデータを分析するには時間も手間もかかります。データを処理して分析し、有意義なインサイトを引き出すには、効率の高いツールや技法を使用する必要があります。
テレメトリがすべてを教えてくれる
今日、どのビジネスにおいても、パフォーマンスを向上させ最高レベルのユーザーエクスペリエンスを提供するために、テレメトリシステムの導入は不可欠です。この記事でご説明したように、テレメトリを使えば、システムの運用状況について、通常の監視よりも深いインサイトを獲得できます。最新のテレメトリシステムでは、さまざまなタイプのデータを追跡できます。
テレメトリは、機能開発の優先順位の判断、セキュリティの向上、変更の検証など、さまざまなメリットをもたらします。しかし、そのメリットを最大限に引き出すには、多くの課題に対処する必要があります。
補足情報とリソース
テレメトリの理解を深めていただけるように、参考になるリソースと記事(英語)を以下にまとめました。
- Quality Experience Telemetry: How to Effectively Use Telemetry for Improved Customer Success (品質エクスペリエンスのテレメトリ:テレメトリを有効活用してカスタマーサクセスを強化する方法) (Alka Jarvis、Luis Morales、Johnson Jose著)
- Software Telemetry: Reliable logging and monitoring (ソフトウェアテレメトリ:信頼性の高いログ収集と監視) (Jamie Riedesel著)
- Practical OpenTelemetry: Adopting Open Observability Standards Across Your Organization (実践的なOpenTelemetry:組織レベルでオブザーバビリティのオープンスタンダードを導入する方法) (Daniel Gomez Blanco著)
- Learning OpenTelemetry (OpenTelemetryの学習) (Ted Young、Austin Parker著)
- VS Code - What’s the deal with the telemetry? (VSコード - テレメトリとの関係は?) (Rob O'Leary著)
- telemetry in the Go toolchain (Goツールチェーンでのテレメトリ)
- Transparent Telemetry for Open-Source Projects (オープンソースプロジェクトのための透明性の高いテレメトリ)
関連記事

ディテクターをカスタマイズしてアラートの実用性をさらに高める方法

DevOps & DORAメトリクス:完全ガイド
