クラウド サービスの基礎: テレメトリ - レポート作成
このポストは、8 月 30 日に投稿された Cloud Service Fundamentals: Telemetry - Reporting の翻訳です。
Windows Azure のクラウド サービスの基礎 (CSF) (英語) のテレメトリ コンポーネントの設計と実装に関する 4 つ目のブログ記事へようこそ! 「テレメトリの基礎とトラブルシューティング (英語)」では、導入済みの Windows Azure ソリューションの情報を得るために使用できる基礎的なツール、情報源、スクリプトの概要など、アプリケーションの健全性に関する基本原則を説明しました。2 つ目の記事の「テレメトリ - アプリケーションのインストルメント (英語)」では、アプリケーションが監視という面でどのように最大の情報源となりうるか、そしてアプリケーションの本稼働後に管理容易性という目標を達成するために、アプリケーションを最初に正しくインストルメントすることの重要性について述べました。3 つ目の記事では、お使いのソリューションにおけるさまざまなコンポーネントやサービスから監視と診断の情報を収集するための、データ取得パイプラインの自動化とスケーリングの方法について説明し、この情報をクエリ可能な操作ストアにまとめました。
4 つ目のこの記事では、レポート作成について取り上げます。基本的には、組織でのさまざまな分析やレポート作成の要件に合わせて必要となるシステム情報を取得する方法について述べます。マイクロソフトが提供しているソリューションの概要についてはこの記事で提供し、実装の詳細な手順については、関連する Wiki ページ (英語) で説明します。具体的には、ここでは、データベース層のリソース使用率、エンド ツー エンドの実行時間分析などの項目をすばやく抽出する方法と、それらをレポートやダッシュボードに表示させる方法を説明します。一方 Wiki では、操作ストアの基礎となる実装について、分析クエリの使用例を示しながら見ていきます。また、提供するレポート パッケージについても触れ、Excel を利用してさらに深いレベルの分析を行う方法を説明します。さらに、提供されたヘルパー関数を拡張し、要件に合わせて詳細情報を取得する方法についてもお見せします。
CSF におけるテレメトリ データベース
このシリーズの前回の記事では、下のデータ フロー図に示したコレクター タスクの CSF 実装である、データ パイプラインについて説明しました。これらのコレクター タスクは CSF テレメトリの Worker ロールおよびスケジューラによって使用され、構成可能な一定期間ごとにテレメトリ データベースが作成されます。この記事では、分析とレポート作成の要件を決定するために必要となる思考プロセスについて説明します。また、下の図の右側に表示されている情報を抽出し、レポート作成サービス、SSMS、Excel によってその情報を提示する方法については、関連する Wiki ページ (英語) に詳しい説明が載っています。
レポート作成シナリオと要件の定義
テレメトリ データから効果的な情報を得るための重要な第一歩は、レポート作成シナリオと主要な要件を定義することにあります。CSF テレメトリ ソリューションを定義するための有効な手法は、まず、操作レポート、アラート、根本的原因の切り分けという 3 つのシナリオを定義することです。要件を定義するための「I can」アプローチによって、主要な要件を定義します。その後、標準の CSF エクスペリエンスに実装されている操作レポートのシナリオと根本的原因の切り分けのシナリオの過半数によって、それらの要件に優先度を設定します。この基礎的なデータ構造は、アラートに関するニーズに対応するためのものです。
この手法によって、テレメトリ データベースを定義する際と、後にこれを拡張する際に基礎となるスキーマがどのように現在および将来想定される要件に対応するかを考慮することができます。これは最初に行うべき重要なステップであり、テレメトリ データベースの拡張を計画している場合には特におすすめします。
下の図の赤線で囲まれているのは、テレメトリ データベースとレポート作成ソリューションに特に関連性がある CSF パッケージです。
この記事によって、このソリューションのことを少しでも深く理解していただければ幸いです。実際の使用方法については、こちらの Wiki ページ (英語) をご覧ください。詳しい情報が掲載されています。