Windows Azure Diagnostotics не работает в облаке - PullRequest
0 голосов
/ 07 ноября 2011

Я использую Azure SDK 1.4 и пытаюсь настроить диагностику для моей веб-роли. Вот что я сделал в методе onstart веб-ролика:

            string wadConnectionString = "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString";

            CloudStorageAccount storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue(wadConnectionString));
            RoleInstanceDiagnosticManager roleInstanceDiagnosticManager = storageAccount.CreateRoleInstanceDiagnosticManager(RoleEnvironment.DeploymentId, 
                    RoleEnvironment.CurrentRoleInstance.Role.Name, RoleEnvironment.CurrentRoleInstance.Id);
            DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration();

            int loggingInterval = Int32.Parse(RoleEnvironment.GetConfigurationSettingValue("loggingInterval"));
            config.Logs.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(loggingInterval);
            config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Undefined;

            roleInstanceDiagnosticManager.SetCurrentConfiguration(config);

            // For information on handling configuration changes
            // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
            RoleEnvironment.Changing += RoleEnvironmentChanging;

Теперь, когда я запускаю это в облачном эмуляторе на моем компьютере разработчика - он работает нормально, я вижу журналы, идущие в таблице WADLogs. Я установил значение «Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString» в моем файле cscfg как «UseDevelopmentStorage = true». Когда я публикую свою веб-роль в облаке Azure, я задаю это значение конфигурации, чтобы правильно указать правильную учетную запись хранения:

<Имя настройки = "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value = "DefaultEndpointsProtocol = https; AccountName = acctname; AccountKey = acctKey" />

Однако мои журналы веб-ролей никогда не отображаются в лазурном облаке. Когда я запускаю облачное приложение на эмуляторе и указываю строку подключения диагностики к действующему облачному хранилищу, даже тогда я могу получить диагностику. Может кто-нибудь дать мне знать, что происходит?

Капил

1 Ответ

0 голосов
/ 08 ноября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...