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