0

Azure で実行されている多数の Web サイトからの統計を表示する、独自のカスタムのシンプルな Web ページを作成したいと考えています。(基本的には、portal.azure.com の簡素化されたバージョンであり、オフィスでモニターに単純なデータを表示します)

表示したいすべての統計は、現在 portal.azure.com に存在します。

Azure ポータルが現在行っているのと同じデータにアクセスできますか、それとも別のサイトを構築するために使用できる API を持つ Web サイトに別のものを実装する必要がありますか?

4

2 に答える 2

1

現在、モニタリング (クラシック) API をまだ使用しています。API の「非クラシック」バージョンは見つかりませんでしたが、探す時間もあまりありませんでした。Web ジョブは Web アプリの一部として実行されるため、Microsoft.WindowsAzure.Management.Monitoring.Metrics 名前空間で提供されるツールを使用して Web アプリを監視する必要があります。

API が多少わかりにくいと感じましたが、正しく理解するために PG との作業に時間を費やしました。MSPFE github ページ ( https://github.com/mspfe/AzureMetricsAPISampleKit ) でいくつかのサンプル コードを提供しました。このソリューションで「テスト」を実行すると、lib の使用方法が表示されます。

最初に、それらのリストを取得して Web アプリを特定する必要があります。

var webSpaceList = _webSiteClient.WebSpaces.List(); 次に、利用可能な指標を収集します。

foreach (var website in websiteList) { MetricDefinitionListResponse wsMetricListResponse = _metricsClient.MetricDefinitions.List(website.WebsiteResourceId, null, null); website.MetricDefinitionsList = wsMetricListResponse.MetricDefinitionCollection; website.MetricNamesList = new List();

        foreach (var metric in website.MetricDefinitionsList.Value)
        {
            website.MetricNamesList.Add(metric.Name);
        }

        MetricValueListResponse wsValueResponse = _metricsClient.MetricValues.List(website.WebsiteResourceId, website.MetricNamesList, "",
            _timeGrain, _startDateTime, _endDateTime);
        website.MetricValueList = wsValueResponse.MetricValueSetCollection;
    }

そこから、メトリックの定義と値を取得する必要があります。このコードが少し古い場合は申し訳ありませんが...動作するはずです。

于 2016-01-04T16:31:31.507 に答える
0

Devians の回答に追加すると、私の Web サイトには、Azure ストレージ アカウントを指す Web サーバー ログの診断ログがあることがわかりました。これにより、「WADMetrics....」という名前のテーブルが生成されました。ここで、応答の最大、最小、平均などの取得などのメトリックを含む期間 (1 分、1 時間など) を見つけました。

必要なすべてのデータは、これらの Azure テーブルにあります。したがって、古い API が機能しない場合は、これから直接読み取るようにします。

于 2016-01-04T17:33:38.723 に答える