Развертывание в облаке Azure — мониторинг журналов

Я развернул свою облачную службу Azure, но некоторые из моих экземпляров остаются неработоспособными и продолжают перезагружаться. В столбце состояния для неработоспособных экземпляров отображается сообщение "Переработка (роль обнаружила ошибку и была остановлена. Сайты развернуты").

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

Спасибо,


person anilca    schedule 06.06.2013    source источник


Ответы (2)


Поскольку это очень популярная проблема, я хотел бы предложить здесь подробное объяснение, поэтому некоторые из этих вещей вы, возможно, уже знаете:

Существует несколько популярных сценариев повторного использования экземпляров:

1) В вашем приложении отсутствуют зависимые библиотеки DLL, которые не позволяют IIS запускать приложение.

2) Ваша WorkerRole.cs или WebRole.cs содержит необработанное исключение.

3) Ваш сценарий запуска содержит ошибки

Чтобы правильно отладить это, вам нужно убедиться, что:

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

2) Ваши файлы WebRole.cs и/или WorkerRole.cs содержат правильную команду try/catch с ведением журнала во внешнее хранилище. Регистрация в Trace кажется самой простой, поскольку служба диагностики Azure поддерживает передачу данных во внешнее хранилище.

3) Вы настроили службу диагностики Azure для фактической передачи нужных данных в учетную запись хранения диагностики. Лучший способ — добавить diagnostics.wadcfg вместе с вашим решением, которое содержит необходимую конфигурацию для передачи журналов EventViewer, Infrastructure и Trace.

4) Наконец, вам необходимо настроить мониторинг журналов трассировки в app.config приложения, чтобы инфраструктура трассировки действительно прослушивала ваши вызовы трассировки.

Эта ссылка содержит более подробную информацию обо всех информации выше.

Наконец, проделав все это, вы можете проверить данные в диагностической учетной записи хранения, чтобы увидеть, что не так. Есть инструменты, которые помогут:

1) RedGate/Cerebrata's Management Studio @ http://www.cerebrata.com/products/azure-management-studio/introduction (коммерческий продукт)

2) Встроенные в Visual Studio инструменты, помогающие исследовать содержимое любой учетной записи хранения. (Вам нужно искать и запрашивать необходимые таблицы и контейнеры WAD вручную, но это бесплатно)

3) AzureWatch @ http://www.paraleap.com (коммерческий продукт, ориентированный на активный мониторинг, но позволяющий проверять большинство журналов по запросу, отказ от ответственности: я связан с этим продуктом)

Надеюсь это поможет

person Igorek    schedule 06.06.2013

Попробуйте использовать Azure Explorer или аналогичный инструмент для изучения содержимого хранилища BLOB-объектов. Если диагностика включена, как вы сказали, Azure сохранит конфигурацию в большом двоичном объекте Azure с именем wad-control-container.

person olatunjee    schedule 06.06.2013