Статьи

Решение трех проблем в диагностике Windows Azure

Привет, друзья,

Я хочу рассмотреть три проблемы, которые могут возникнуть с диагностикой Windows Azure и рабочей ролью. Я предполагаю, что вы хотите получить доступ к журналам трассировки Windows Azure, поскольку вы используете команду Trace для записи исключений и сообщений о состоянии в коде onStart.

например, Trace.WriteLine («Запуск моей службы».)

Также у вас включен прослушиватель трассировки WAD, который включен по умолчанию.

https://gist.github.com/1757147

Сценарий — Роль не начинается очень рано

У вас может быть пользовательская рабочая роль, которая запускает какую-то фоновую службу, и, возможно, она сразу перестает работать из-за какой-то конфигурации.

симптомы

Вы замечаете, что роль продолжает перерабатываться и восстанавливаться.

Журналы передачи по требованию или по расписанию передачи диагностики не работают вообще, поэтому вы не можете получить какую-либо информацию о трассировке.

Решение

Поместите этот метод в ваш файл WorkerEntryPoint.cs и вызовите его в начале OnStart () и в любом блоке Catch Exception

https://gist.github.com/1757083

например Старт

public override bool OnStart()
{
WaitForWindowsAzureDiagnosticsInfrastructureToCatchUp();
try
{ 

например, исключение

catch (Exception ex)
           {
               TraceException(ex);
               Trace.Flush();
               WaitForWindowsAzureDiagnosticsInfrastructureToCatchUp();
               return true;
           } 

 

Сценарий — роль не запускается чуть позже

Вы можете диагностировать проблему, так как передача по требованию / запланированная передача работает, и затем вы можете перейти к журналам трассировки, чтобы просмотреть сообщения об ошибках, которые вы записали в Trace. Напомним, что в Windows Azure есть параметры, позволяющие автоматически включать прослушиватель трассировки для перенаправления трассировки в свою таблицу WAD.

 

Сценарий — роль не запускается чуть позже

симптомы

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

Передача по требованию не работает — вы пытаетесь, но он просто не завершается или зависает

Ниже приведены снимки экрана передачи по требованию с помощью Cerebrata Diagnostics Manager.

образ

образ

Решение

Если вы не можете выполнить передачу журналов трассировки по требованию, возможно, она продолжает перерабатываться и восстанавливаться быстро, чтобы произошла передача по запросу. Тогда вы временно настраиваете запланированную передачу журналов трассировки.

При использовании Cerebrata Diagnostics Manager

Нажмите Удаленная диагностика в подписках под вашими источниками данных.

образ

образ

После того, как вы настроили передачу расписаний, этот инструмент в основном ЗАГРУЗИТ файл конфигурации в ваш BLOB-контейнер: wad-control-container

Azure автоматически обнаружит изменения в этом контейнере и применит их к диспетчеру диагностики. Следовательно, конфигурация Windows Azure Diagnostics на лету

образ

Теперь, когда мы запланировали передачу на место, перезагрузите роль, которая вызывает проблему, а затем подождите, пока она попытается запустить и завершить сбоем, а затем просто загрузите журналы трассировки, и она должна быть там.

образ

Резюме

Итак, убедитесь, что у вас есть глупая команда sleep в рабочей точке входа OnStart и в тех областях, где вы ловите исключения в случае сбоя рабочей роли до диагностики Windows Azure!

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

ПРЕДУПРЕЖДЕНИЕ!

Запланированные переводы повлияют на выставление счетов за услуги хранения, УБЕДИТЕСЬ, что вы выключите его, когда закончите диагностику проблемы, в противном случае вам будет выставлен счет за это.

Обратите внимание, что на снимке экрана я ВСЕГДА использую квоту, поэтому я никогда не использую хранилище диагностики — а журналы трассировки Windows Azure хранятся в TABLE Storage:

образ

Помните, что конфигурация WAD находится в Blob, а фактические журналы трассировки находятся в таблицах.

образ

 

Источник: http://romikoderbynew.com/2012/02/07/windows-azurediagnosing-role-start-ups/