テレメトリーの定義と収集

テレメトリーとは、システムを監視し、その動作を観察および理解するための指標データの収集を指します。 テレメトリーは、次の目的で使用されます。

  • システムのパフォーマンスを測定して、ベースラインを定義し、比較します。
  • システムが、定義済みのワークフローをサポートするために必要な要件を満たしているか、または上回っているかを検証します。
  • レイテンシー、インデックス、ボトルネック、システムの全体的な健全性に関する問題点を特定します。
  • エンドユーザー エクスペリエンスを向上させるためにシステムを最適化する手がかりを得ます。

IT インフラストラクチャーの監視ツールを活用して、システム ログとユーザー エクスペリエンスを記録し、全体的な指標を収集できます。 ArcGIS の実装がパブリック クラウドにある場合は、AWS CloudWatchAzure Monitor など、システム全体を監視するためのサービスがあります。 また、Windows Performance Monitor (PerfMon) などのシステム パフォーマンス監視ツールは、CPU、メモリの RAM、ネットワーク、ディスク、ログなどの基本的な特性をリアルタイムで記録し、傾向や長期的な問題を追跡するために役立ちます。

適切なテレメトリーの粒度のレベルは、テストのフェーズごと、およびキャプチャーする環境ごとに異なります。 たとえば、テスト環境で冗長なログ記録を実行するのはトラブルシューティングに役立ちますが、本番環境で冗長なログ記録を行うと、エンドユーザーのパフォーマンスに悪影響を与える可能性があります。

キャプチャーするタイミング

システムのテレメトリーは、システムのパフォーマンス、健全性、および全体的な動作を監視および管理するために重要です。 次のような場合、テレメトリーの収集を検討します: 

  • 継続的なシステム管理と予防的な問題検出のため、リアルタイム性
  • 長期的なトレンド分析では、長期間にわたってテレメトリーを収集することで、システムの最適化、ハードウェアのアップグレード、またはソフトウェアの改善に関する戦略的な意思決定に必要な情報が得られます。
  • パフォーマンス テストと負荷テストのとき、システムのパフォーマンスを包括的に把握し、潜在的な問題とリスクが軽減されるように将来のアーキテクチャーを設計するために行います。  
  • Apache JMeter はオープンソースのツールで、サーバー、ネットワーク、またはオブジェクトへの高負荷をシミュレートして、その強度をテストしたり、さまざまな負荷タイプでの全体的なパフォーマンスを分析したりするために使用できます。
  • トラブルシューティングやデバッグを行うとき、テレメトリーによって問題の診断に不可欠な情報が得られます。

ArcGIS のさまざまなコンポーネントのテレメトリーを収集および解析するため、いくつかのツール オプションを使用できます。 このようなツールの 1 つである ArcGIS Monitor は、サーバー、サービス、ポータル、ジオデータベースなど、システム全体のコンポーネントに関する指標を収集します。 以下に他のツール例を示しますが、テレメトリーの収集に使用できるツールはこれで全部ではないことに注意してください。

クライアントのテレメトリー

クライアント環境では、パフォーマンスの問題として、マップのレンダリングの遅延や待ち時間の長さなどが現れることがあります。

  • PAT (ArcGIS Pro Performance Assessment Tool): 主要な ArcGIS Pro ワークフローを実行するコンピューターの能力を評価するテストを実行します。 これを使用して、検出されたパフォーマンスの問題を独自に、あるいは Esri テクニカル サポートの助けを借りて調査することができます。
  • ArcGIS Pro Diagnostic Monitor: 非応答状態、リソースの過剰消費、機能障害、パフォーマンスの低下など、アプリケーションのさまざまな問題を診断できます。
  • Fiddler Logs: クライアント アプリケーションがサービスを利用する際の Web トラフィックを監視するのに役立ちます。  
  • スクリーン キャプチャー: 定量的なテレメトリーに加え、パフォーマンスの評価に取り組んでいるユーザーのエクスペリエンスを観察することで、定性的な指標を取得することも検討します。

Web 解析

テレメトリーをキャプチャーする一般的な実践方法の 1 つは、Web ページに埋め込まれたクライアント JavaScript ライブラリーを使用することです。このライブラリーはクライアント ブラウザーに読み込まれ、テレメトリー情報を集中化されたコレクションまたは集約サービスに送信します。 これらの手法は一般に、商用プロバイダーや、Google Analytics、Adobe Experience Cloud などの例を含むオープンソースのフレームワークやパターンによって実現されます。 ほとんどのサービスには、収集したデータをクエリーしたり操作したりするための分析機能が用意されています。

Web 分析は通常、Cookie や他のブラウザー コンポーネントを介して追跡されますが、プライバシーの制約を考慮する必要があるため、Web ホスティング チームや IT チームと緊密に連携して、Web 分析を有効にすることの意味を理解してください。 Web 分析は、Web ページ上でのマウスの動作、操作、入力など、ユーザーの行動に完全にアクセスでき、ユーザーがプロセスをどのように進めるか、ページ間をどのように移動するか、サイト上でどのページや操作がより長く、より詳細なセッションを促進するかを理解するため非常に役立ちます。 カスタム アプリケーションでは、JavaScript を使って特定のインジケーターを Web 解析システムに送信できるため、たとえばユーザーがマップを画面移動した回数、最も一般的なズーム範囲、または最も一般的にクエリーされるフィーチャなどを示すことができます。

Web 解析は通常、HTML ドキュメントや Web ページの <head> タグに <script> タグを追加することで実装されます。 これは、カスタム開発の Web ページやアプリケーションをデプロイするときは簡単に実現できますが、ArcGIS の既製の Web アプリケーションを操作する場合、これらのページではデフォルトの HTML やページ インデックスを編集できないため、Web 分析の実装が制限されます。 現在、ArcGIS の既製の Web アプリケーションで、Web 解析の挿入がサポートされているのは、次のものに限定されています。

  • ArcGIS Hub は、Google Analytics 4、Adobe Analytics、Siteimprove Analytics の挿入をサポートしています。詳細については、ドキュメントをご参照ください。
  • ArcGIS Instant Apps は、ドキュメントで説明されているように、Google Analytics と Adobe Analytics トラッキングの挿入をサポートします。
  • ArcGIS Story Maps は、Google Analytics と Adobe Analytics をサポートし、Story Maps のドキュメントで説明されているように、特定のプロパティーが Adobe Analytics に送信されます。
  • ArcGIS Experience Builder は、ドキュメントと最近のブログ投稿で説明されているように、Google Analytics トラッキング コードの挿入をサポートしています。

ArcGIS Enterprise

ArcGIS Enterprise では、サービスのクラッシュや、パフォーマンスに影響を与えたりサービスを中断させたりするその他のイベントなど、サーバー コンポーネントやポータル コンポーネントの重大なエラーを確認します。  

  • ArcGIS Server ログ: サーバー サイトの問題を監視し、トラブルシューティングを行います。 ログはエラーの特定や問題の原因を把握するのに役立ちます。  

データベース

データベース レベルでは、テレメトリーを使用して、SQL クエリーのパフォーマンスが低い、システムの待ち時間が長いなどの問題を探すことができます。 RDBMS ツールには一般に、問題を特定してトラブルシューティングするための組み込みオプションが用意されています。 たとえば、SQL Server クエリー ストアは、SQL Server データベースに対して実行されるクエリーのパフォーマンスを、データベース管理者が監視および管理するための機能の 1 つです。レポートとアラートを構成することで、問題のあるユーザーの操作、データベース サーバーやインスタンスの構成の問題、あるいはインデックス、キャッシュ、パーティション分割などを活用したクエリー パフォーマンスの最適化の機会を特定できます。

Top