Как настроить учетную запись хранения Azure Diagnostics? - PullRequest
2 голосов
/ 12 июля 2011

Чтение MSDN У меня сложилось впечатление, что учетная запись, используемая для хранения диагностики Azure, настроена следующим образом:

<ConfigurationSettings>
   <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"
       value="DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=AccountKey"/>
</ConfigurationSettings>

(имя настройки является фиксированным "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString "строка).Но потом я также нашел фрагменты кода для настройки DiagnosticMonitor (от этот вопрос от пользователя Søren Randrup :

<ConfigurationSettings>
     <Setting name="DiagnosticsConnectionString"
        value="DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=AccountKey" />
</ConfigurationSettings>
var dm = DiagnosticMonitor.GetDefaultInitialConfiguration();
dm.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(5);
dm.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
DiagnosticMonitor.Start("DiagnosticsConnectionString", dm);

(имя настройки:строка, выбранная разработчиком).

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

Где указана учетная запись храненияи почему два вышеупомянутых фрагмента используются для одной и той же задачи?

Ответы [ 4 ]

4 голосов
/ 12 июля 2011

Когда DiagnosticsMonitor был впервые выпущен (1.1 или 1.2 SDK, IIRC), он был запущен из RoleEntryPoint (код пользователя). У этого были некоторые недостатки, а именно, если ваш RoleEntryPoint потерпел крах, он лишил DM его. Когда был выпущен 1.3 SDK, он изменил дизайн и запустил DM как фоновую задачу запуска. Это позволяет DM работать в отдельном процессе, нежели ваш код, и, следовательно, он больше не подвержен сбоям пользовательским кодом. «Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString» - это параметр, определенный в подключаемом модуле «Диагностика» (см. Каталог bin / plugins).

Если вы ничего не делаете, но импортируете плагин Diagnostics и устанавливаете эту строку подключения, у вас будет включена диагностика для некоторых вещей по умолчанию, но на самом деле ничего не будет перенесено в вашу учетную запись хранения для анализа.

Итак, более полное решение:

  1. Включите плагин DM и задайте правильную строку подключения для учетной записи хранения в Windows Azure.
  2. Либо удаленно (используя такие инструменты, как скрипты, ManageAxis, Windows Azure MMC, Cerebrata или другие), установите конфигурацию для мониторинга так, как вы хотите *
  3. Или, во время выполнения, в вашей RoleEntryPoint, обязательно настройте монитор с помощью кода.

Это получает ваши счетчики, журналы, что угодно, фактически переводя в вашу учетную запись хранения. На данный момент, это зависит от вас, чтобы интерпретировать это. Существуют продукты (например, ManageAxis и другие), которые выполняют анализ для вас (график, автомасштабирование и т. Д.), Но вы в значительной степени самостоятельно можете запросить данные, полученные DM, в противном случае.

* Я предпочитаю этот метод, так как мне не нравится кодировать его в моей RoleEntryPoint, и у меня есть инструментальные средства, которые могут наблюдать и поддерживать его.

1 голос
/ 09 декабря 2011

Я тоже с этим боролся, так что соберите следующий пост в блоге, когда я наконец заработал

Диагностика Windows Azure с SDK 1.6 для веб-ролей

1 голос
/ 12 июля 2011

Я полагаю, что это произошло во время разработки Azure ... В первые дни диагностика не запускалась по умолчанию, поэтому это объясняет старый вопрос и ответ.

В последнем API (1.4) я думаю, что вы должны использовать первый метод и использовать GetDefaultInitialConfiguration ... SetCurrentConfiguration для определения того, что вы хотите отслеживать.

0 голосов
/ 11 июля 2012

Для подробного ознакомления с диагностикой Azure вы можете ознакомиться с презентацией Мэтью Кернерса "Windows Azure Monitoring, Logging and Management API" на PDC09

http://www.microsoftpdc.com/2009/SVC15

...