システムのパフォーマンスを把握することは、競争優位性を築くために重要です。テレメトリは、システムに関する深いインサイトを提供して、ビジネスオーナーによる的確な意思決定を支援します。
このブログ記事では、テレメトリの概要をご紹介します。テレメトリの役割とタイプ、テレメトリデータの用途、テレメトリシステムを導入する際に直面しがちな課題について説明します。
まずはテレメトリデータの定義をご紹介しましょう。テレメトリは、遠隔のソースからデータを収集して分析し、システムのパフォーマンスに関するインサイトを獲得するためのプロセスです。このインサイトに基づいて、改善領域を特定できます。
ソフトウェア/IT、農業、ヘルスケア、天気予報など、幅広い業界や研究分野に対応し、重要な役割を果たしています。たとえば医療分野では、血圧や心拍数など、患者の重要指標の監視に使われています。
このブログ記事で重点を置くテクノロジー/ソフトウェア業界では、テレメトリは、さまざまな導入済みのソフトウェア製品からデータを自動的に収集するプロセスを指します。これにより、製品に関する深いインサイトを獲得して、製品を改善するための的確な意思決定に役立てることができます。
たとえば、多くのソフトウェアシステムで、ユーザーが製品を快適に利用できているかを把握するためにテレメトリが使われています。この場合、以下のメトリクスを追跡します。
「監視」と「テレメトリ」という言葉は、同じ意味で用いられることがよくあります。プロセスは共通していますが、両者には多少の違いがあります。
つまり、監視はテレメトリの一部と言えます。テレメトリは、詳細な監視機能を提供し、システムを包括的に理解するために役立ちます。
組織は、要件に応じてさまざまなタイプのテレメトリデータを収集および監視できます。
ITインフラのテレメトリデータには、トランザクションの処理速度、エラー率、応答時間、CUPやメモリーの使用率、ディスクI/O、ネットワークスループットなどがあります。
ユーザーによる製品の使用状況を示すデータです。ボタンのクリック、システムへのログイン、特定のページの表示、エラーページの表示などが発生したときのデータを収集します。
ネットワークでは、帯域幅の監視、特定のネットワークポート、ストレージソリューションなど、固有のメトリクスが使われます。また、ルーターやスイッチのCPUやメモリーの使用率、デバイスの稼働時間、温度など、ネットワークデバイスの健全性に関するメトリクスもあります。
アプリケーションでは、収集および監視が可能なさまざまなテレメトリデータが生成されます。たとえば、処理の遅延、1秒あたりのトランザクション数、データベースアクセス、データベースクエリー、アプリケーションエラー、アプリケーション環境固有のアクティビティ(デプロイやデプロイトポロジーなど)などがあります。
さらに、アプリケーション運用の関係者は、多くのユーザーが使用しているオペレーティングシステム、ブラウザの種類/バージョン、デバイスの詳細などに関する情報も収集できます。
(関連記事:アプリケーションパフォーマンス監視(APM)の詳細)
ルーティングの判断、設定の変更、セキュリティグループの変更、クラウドの使用状況に関するデータなど、クラウド固有のテレメトリデータも測定できます。
テレメトリの活用方法がわかれば、さまざまなことができます。その一部をご紹介します。
テレメトリデータを分析することで、ユーザーによる各機能の使用状況がわかります。この情報は、製品チームが、よく使われる機能を強化し、あまり使われない機能を廃止する判断をする際に役立ちます。
テレメトリデータを使えば、ソフトウェアやプラットフォームでエラーや遅延が頻繁に発生する領域や機能を特定できます。この情報に基づいて、問題のある領域に集中して対処し、深刻な障害に発展する前に修正できます。
テレメトリデータから、Webページやコンポーネントの読み込みに時間がかかるといったパフォーマンスのボトルネックを見つけることもできます。この情報に基づいて、パフォーマンスを向上させることができます。
機能の追加などの変更や強化を行ったときに、テレメトリデータを調べて、以下のような改善につながっているかどうかを検証できます。
テレメトリデータを分析して、不審なアクティビティや使用パターンを検出できます。セキュリティチームは、過去のテレメトリデータを調査することで、セキュリティインシデントの詳細を確認し、原因を究明できます。さらに、テレメトリデータを使って古いバージョンのソフトウェアを見つけ出し、セキュリティパッチを早急に適用することもできます。
テレメトリデータを収集するだけでは、その価値を引き出すことはできません。多少の労力が必要です。ここでは、テレメトリデータから価値を引き出すための5つのステップをご紹介します。
まずは、テレメトリの監視要件とデータ収集のアプローチを定義します。知りたいことは何か、どのような情報が必要かを考えましょう。ほかにも決めておくことがあります。
たとえば、対象システムのテレメトリメッセージのスキーマを定義します。複数のシステムを対象にする場合は、共通のメッセージ形式を定義する必要があります。
このステップでは、データをリモートシステムに送信するシステムにテレメトリを実装します。たとえば、ユーザーまたはアプリケーションのテレメトリを収集する場合、そのアプリケーションで特定のイベントが発生したときに、定義したスキーマに従ってデータをプッシュするように設定する必要があります。
キューシステムを介してデータを送信する場合は、そのための設定も必要です。対象のデータは入念に検証する必要があります。組織のプライバシーポリシーやセキュリティポリシーを確認し、機密情報の送信は避けるか適切に保護しましょう。
必要なテレメトリデータを対象システムからリモートストレージにリアルタイムまたは特定の間隔で送信します。送信に使うプロトコルと方法は、システムやデータのタイプによって異なります。たとえば、特定のメッセージキューを使ってデータを受信側に送信できます。
テレメトリの設定によっては、対象システムで特定のニーズに対応する必要が生じる場合もあります。たとえば、データをサンプリングしてデータ量を減らしたり、送信速度を調整したりします。
テレメトリデータは、中央データベースまたはデータレイクにまとめて保存します。データが大量に発生しても余裕をもって保存できるストレージシステムを選択しましょう。リアルタイム分析や履歴分析を容易に行えるかどうかもポイントです。この機能は、経時的な傾向、異常、パターンを把握するために役立ちます。
データをテレメトリストレージに保存したら、各種のツールを使って分析します。このデータから、バグの修正、ユーザーエクスペリエンスの向上、機能開発に関する情報に基づく意思決定に役立つ情報が得られます。
各関係者のニーズに合わせてデータや情報を可視化すれば、傾向やパターンの検出が容易になります。関係者ごとに必要な情報を過不足なく提供することが大切です。
テレメトリには良いことばかりでなく、固有の課題もあります。テレメトリデータを活用すれば、システムのパフォーマンス向上に役立つ重要な情報が得られますが、そのメリットを効果的に引き出すには、さまざまな課題に対処する必要があります。
ユーザーの機密情報(ユーザー名、IPアドレスなど)は価値のあるインサイトを引き出すために重要ですが、これらの情報を収集すると、プライバシーに関する深刻な懸念が生じる可能性があります。
企業はGDPRやCCPAなどのデータプライバシー規制を遵守する必要があり、規制に従って個人情報や機密情報を保護しなければなりません。ユーザーがテレメトリとしての使用をオプトアウトすることもあり、それによってデータが不完全になったり偏ったりする可能性もあります。
テレメトリでは処理するデータが大量になりがちです。複数の製品やシステムを収集対象にする場合や、システム利用のピーク時間帯には、特に大量のデータが発生します。データ量の増加に合わせてデータストレージを拡張するのには基本的に手間とコストがかかります。そのため、拡張性と信頼性に優れたコスト効果の高いソリューションを導入することをお勧めします。
(関連記事:ビッグデータ分析)
ネットワークの遅延は、リアルタイムのデータ分析に影響を及ぼすことがあります。また、大量のテレメトリデータを送信すると、帯域幅を大量に消費し、運用コストが増大する可能性があります。
テレメトリシステムで複数のクライアントやシステムからデータを収集する場合、デバイスの誤動作、ソフトウェアのバグ、送信エラーなどによってデータの一貫性が損なわれることがあります。これによりデータが不正確になる可能性があります。また、さまざまなシステムやテクノロジースタックが混在する環境では、テレメトリシステムとシームレスに通信してデータを共有する方法を考える必要があります。
(関連記事:OpenTelemetryでデータの分断の課題を解決する方法)
大量のデータを分析するには時間も手間もかかります。データを処理して分析し、有意義なインサイトを引き出すには、効率の高いツールや技法を使用する必要があります。
今日、どのビジネスにおいても、パフォーマンスを向上させ最高レベルのユーザーエクスペリエンスを提供するために、テレメトリシステムの導入は不可欠です。この記事でご説明したように、テレメトリを使えば、システムの運用状況について、通常の監視よりも深いインサイトを獲得できます。最新のテレメトリシステムでは、さまざまなタイプのデータを追跡できます。
テレメトリは、機能開発の優先順位の判断、セキュリティの向上、変更の検証など、さまざまなメリットをもたらします。しかし、そのメリットを最大限に引き出すには、多くの課題に対処する必要があります。
テレメトリの理解を深めていただけるように、参考になるリソースと記事(英語)を以下にまとめました。
このブログはこちらの英語ブログの翻訳です。
この記事について誤りがある場合やご提案がございましたら、ssg-blogs@splunk.comまでメールでお知らせください。
この記事は必ずしもSplunkの姿勢、戦略、見解を代弁するものではなく、いただいたご連絡に必ず返信をさせていただくものではございません。
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。