Где такие таблицы хранения диагностики / журналы?
-
09-10-2019 - |
Вопрос
У меня есть проблема, развертывающая Webrole (WCF Service) для Лазурный. Отказ Моя мысляка продолжает показывать бузи не менее 30 минут, пока я не прерванию. Я развернул через Visual Studio 2010. Я ищу информацию о трассировке, и есть несколько блогов, которые указали на меня к таблицам хранения WADInfrastructureLogsTable
и WADLogsTable
.
Я настроил настройки конфигурации с моей учетной записью хранения:
<ConfigurationSettings>
<Setting name="DiagnosticsConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=sandsofttestservice;AccountKey=HgPjkzx+mjqgoDTO8SBNB3B4hdARuibWTOHrXg4BpxRKJfRZ/s4abVIoD5lOIW0LkoD0CoMb0i0GiTXA483MDQ==" />
</ConfigurationSettings>
У меня вообще нет таблиц в моей учетной записи хранения. Даже после того, как я развернул Привет, мир Приложения успешно. Контейнер My Blob удерживает VSDeploy- и Control-Control-Control-Control, и у меня есть 4 очереди.
Как будут созданы эти таблицы?
public override bool OnStart()
{
var dm = DiagnosticMonitor.GetDefaultInitialConfiguration();
dm.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(5);
dm.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
DiagnosticMonitor.Start("DiagnosticsConnectionString", dm);
Trace.WriteLine("OnStart");
// For information on handling configuration changes
// see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
RoleEnvironment.Changing += RoleEnvironmentChanging;
return base.OnStart();
}
Решение
У меня была аналогичная проблема. У меня был период «передача», установленный на 1 минуту, и он не передал бы. Однако после того, как я обновил его до 5 минут, я начал видеть трассировку сообщений в WadLogStable. Не уверен, что это сделало разницу и не нашел никакой документации, которая говорит о минимальном периоде передачи, но для меня работал 5 минут.
Также убедитесь, что у вас есть соответствующие операторы Trace.Writeline () в вашей роли Web / работников.
Другие советы
Вы настроили расписание передачи для таблицы журналов? То есть все лесозаготовки получают кэшируются в каждом экземпляре, и вам нужно явно просить, чтобы данные были сохранены в хранилище таблиц на периодической основе. Вот тривиальный пример для WadLogStable:
var dm = DiagnosticMonitor.GetDefaultInitialConfiguration();
dm.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(5);
dm.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
DiagnosticMonitor.Start("DiagnosticsConnectionString", dm);
Как только это настроено, вы должны увидеть таблицу WadLogStable появляются через некоторое время.
Вам нужно будет настроить период передачи и фильтр для каждого из других типов, а также:
- Журнал событий
- Журнал инфраструктуры диагностики
- Каталоги
- Счетчики производительности
Сорен - если вы еще этого не сделали, вы, вероятно, должны восстановить ключ доступа к учетной записи хранилища. Он указан в вашем оригинальном посте с деталями конфигурации.
Другой вариант, чтобы помочь диагностировать вашу проблему - Intellime. Если вы используете усуждение Visual Studio 2010, вы можете включить Intellime с вашим развертыванием. Это позволит вам загрузить файлы журнала Intellitrace, и от тех, которые вы можете увидеть довольно подробную информацию, относящуюся к развертыванию и запуску вашего приложения. Могут быть некоторые исключения, или другие ошибки, которые могут быть созданы, которые могут вызвать длительное «занятое» состояние.