1

Azure の webrole と worker-role でパフォーマンス カウンターと診断が生成されることを認識しています。

  • 私の質問は、サブスクリプション ID とその他の証明書 (パフォーマンス カウンターを提供するサード パーティ アプリ) があれば、離れた場所またはリモート アプリでパフォーマンス カウンターを取得できるかということです。

言い換えれば、ホステッド サービスに Service Management API を使用する方法で、パフォーマンス カウンター データを取得できますか?

サーバーで実行する必要がある事前構成は何ですか...? CPUデータを取得するには...???

4

2 に答える 2

6

以下は、パフォーマンス カウンター テーブルの属性の説明です。

EventTickCount : ログ エントリが記録されたときのティック カウント (UTC) を格納します。

DeploymentId : デプロイの ID。

Role : ロール名

RoleInstance : ロール インスタンス名

CounterName : カウンターの名前

CounterValue : パフォーマンス カウンターの値

ここで重要なことの 1 つは、このテーブル (および他の診断テーブル) を効果的にクエリする方法を理解することです。診断テーブルから必要なことの 1 つは、一定期間のデータを取得することです。私たちの自然な本能は、Timestamp 属性でこのテーブルをクエリすることです。ただし、Azure テーブルでは、データが PartitionKey と RowKey でインデックス付けされていることがわかっているため、これは設計上の不適切な選択です。他の属性に対してクエリを実行すると、テーブル全体がスキャンされ、テーブルに大量のデータが含まれている場合に問題が発生します。

これらのログ テーブルの良い点は、ある意味で PartitionKey の値が、データ ポイントが収集された日時を表すことです。基本的に、PartitionKey は DateTime.Ticks (UTC) の上位ビットを使用して作成されます。したがって、特定の日付/時刻範囲のデータをフェッチする場合は、最初に範囲のティックを (UTC で) 計算し、その前に「0」を追加して、それらの値をクエリで使用する必要があります。

REST API を使用してクエリを実行する場合は、次のような構文を使用します。

PartitionKey ge '0<from date/time ticks in UTC>' and PartitionKey le '0<to date/time in UTC>' .

ツールの Cloud Storage Studio、Visual Studio、または Azure Storage Explorer でテーブル ストレージをクエリする場合は、この構文を使用できます。

残念ながら、私はストレージ クライアント ライブラリの経験があまりありませんが、解決させてください。それについてブログ記事を書くかもしれません。それができたら、ここに私のブログ投稿へのリンクを投稿します。

ガウラフ

于 2011-04-12T13:36:44.723 に答える
3

パフォーマンス カウンター データは Windows Azure テーブル ストレージ (WADPerformanceCountersTable) に永続化されるため、リモート アプリを介してそのテーブルにクエリを実行できます (Microsoft のストレージ クライアント ライブラリを使用するか、Azure テーブル サービス REST API に独自のカスタム ラッパーを記述してデータを取得します)。必要なのは、ストレージ アカウント名とキーだけです。

于 2011-04-11T14:38:00.920 に答える