Можно ли дистанционно регистрировать счетчики производительности для веб-или рабочей роли Azure ...? - PullRequest
1 голос
/ 11 апреля 2011

Мне известно о создании счетчиков производительности и диагностики в веб-ролях и рабочих ролях в Azure.

  • У меня вопрос, могу ли я получить Счетчик производительности в удаленном месте или в удаленном приложении, учитывая идентификатор подписки и другие сертификаты (стороннее приложение, предоставляющее Счетчик производительности).

Вопрос, другими словами, могу ли я получить данные счетчика производительности, как я использую API управления службами для любой размещенной службы ...?

Какие предварительные конфигурации необходимо выполнить вСервер ...? , чтобы получить данные процессора ... ???

Ответы [ 2 ]

6 голосов
/ 12 апреля 2011

Ниже приводится описание атрибутов для таблицы счетчиков производительности:

EventTickCount : Хранит счетчик тиков (в UTC), когда была записана запись в журнале.

DeploymentId : идентификатор вашего развертывания.

Role : имя роли

RoleInstance : имя экземпляра роли

CounterName : имя счетчика

CounterValue : значение счетчика производительности

Одним из ключевых моментов здесь является понимание того, какэффективно запросить эту таблицу (и другую таблицу диагностики).Одна из вещей, которую мы хотели бы получить из таблицы диагностики, - это выборка данных за определенный период времени.Нашим естественным инстинктом было бы запросить эту таблицу по атрибуту Timestamp.Однако это вариант BAD DESIGN , потому что вы знаете, что в таблице Azure данные индексируются в PartitionKey и RowKey.Запросы к любому другому атрибуту приведут к полному сканированию таблицы, что создаст проблему, когда ваша таблица содержит много данных.

Хорошая особенность этой таблицы журналов состоит в том, что значение PartitionKey представляет собой дату / время, когда точка данных была собрана.В основном PartitionKey создается с использованием старших битов DateTime.Ticks (в UTC).Поэтому, если вам нужно получить данные для определенного диапазона дат / времени, сначала вам нужно будет рассчитать тики для вашего диапазона (в формате UTC), а затем добавить перед ним «0» и использовать эти значения в своем запросе.

Если вы запрашиваете с помощью REST API, вы должны использовать синтаксис, такой как:

PartitionKey ge '0'and PartitionKey le' 0«.

Вы можете использовать этот синтаксис, если запрашиваете хранение таблиц в нашем инструменте Cloud Storage Studio, Visual Studio или Azure Storage Explorer.

К сожалению, у меня мало опыта работы с Storage Clientбиблиотека, но позвольте мне решить что-то.Может быть, я напишу в блоге об этом.Как только я это сделаю, я опубликую ссылку на свой блог здесь.

Гаурав

3 голосов
/ 11 апреля 2011

Поскольку данные счетчиков производительности сохраняются в хранилище таблиц Windows Azure (WADPerformanceCountersTable), вы можете запросить эту таблицу через удаленное приложение (либо с помощью клиентской библиотеки Microsoft Storage Client, либо написав собственную пользовательскую оболочку вокруг API-интерфейса REST API службы таблиц Azure для получения данные. Все, что вам нужно, это имя учетной записи хранения и ключ.

...