Абсолютно первым, что запускается в веб-роли, является не ваше приложение, а метод OnStart()
в WebRole.cs в вашем проекте Azure. Это место для добавления кода для мониторинга вашего веб-сайта.
Стандартный метод заключается в копировании журналов трассировки приложения и журналов событий Windows в хранилище таблиц Azure вместе с (при необходимости) инструментарием для использования процессора, статистикой IIS и тем, что у вас есть.
Хорошее введение в это здесь: http://blog.bareweb.eu/2011/01/beginning-azure-diagnostics/
и подробное описание деталей, которые вам понадобятся в вашем приложении, можно найти здесь: http://blog.bareweb.eu/2011/03/implementing-azure-diagnostics-with-sdk-v1-4/
, который остается применимым для Azure SDK 1.5.
После того, как вы снимаете диагностику, вы можете использовать Visual Studio для непосредственного их просмотра или использовать инструмент, такой как Cerebrata Azure Diagnostics Manager , для автоматического построения и фильтрации их графиков. Этот инструмент немного грубоват (особенно для больших систем с несколькими экземплярами: графики не очень полезны), но он так же хорош, как и сейчас.
Альтернативный подход заключается в использовании удаленного рабочего стола для подключения к удаленному экземпляру и внесения некоторых изменений в журналы событий Windows и тому подобное. Вы также можете использовать браузер Internet Explorer, который находится на удаленном экземпляре, для непосредственного локального подключения к приложению и просмотра любых ошибок и т. Д., Которые в противном случае могут быть скрыты.
Лично я бы сделал это, только если механизм хранения диагностики не работает: на производственных серверах действительно должен быть отключен доступ к удаленному рабочему столу, чтобы уменьшить возможную площадь поверхности для внешней атаки.