Получение журналов IIS из Azure - PullRequest
4 голосов
/ 22 ноября 2010

Я пытался получить журналы IIS из Azure, и я смог запустить его один раз - теперь, несмотря ни на что, я не могу заставить его передавать журналы в мою учетную запись хранения.

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

Основные шаги, которые я делаю:

  • Добавление имени хранилища и ключа в мою конфигурацию как «DiagnosticsConnectionString» *.
  • Настройка DiagnosticMonitorConfiguration на одну минуту с помощью DirectoriesBufferConfiguration.
  • Запуск передачи по требованию с новым именем очереди.

Я сделал все вышеперечисленное как программно, так и с помощью командлетов для PowerShell. Как только я начинаю перевод, он остается со статусом «Пока не опубликовано (не заканчивать / отменить)».

Я пробовал журналы, каталоги и даже удалил и заново создал мою учетную запись хранения. Кажется, ничего не работает. Это работало, когда я непосредственно добавлял информацию о своей учетной записи хранения в конфигурацию роли через портал Azure; после того как обновил развертывание я увидел логи. Но это больше не работает. У кого-нибудь есть хороший совет / материал? Я просто хочу перенести свои журналы IIS в свою учетную запись хранения - я занимаюсь этим уже несколько дней.

Обновление: * Это мой конфиг:. Мой WebRole.cs содержал следующее, когда он работал:

DiagnosticMonitor.Start("DiagnosticsConnectionString");

Я обновил его, чтобы начать переводы:

var diag = new DiagnosticMonitorConfiguration()
{
    ConfigurationChangePollInterval = TimeSpan.FromMinutes(1),
    Directories = new DirectoriesBufferConfiguration()
    {
        ScheduledTransferPeriod = TimeSpan.FromMinutes(1)
    },
    Logs = new BasicLogsBufferConfiguration()
    {
        ScheduledTransferLogLevelFilter = LogLevel.Verbose,
        ScheduledTransferPeriod = TimeSpan.FromMinutes(1)
    }
};
DiagnosticMonitor.Start("DiagnosticsConnectionString", diag);

Ответы [ 2 ]

4 голосов
/ 22 ноября 2010

Измените одну строку:

С

var diag = new DiagnosticMonitorConfiguration()

на

var diag = DiagnosticMonitor.GetDefaultInitialConfiguration()

Послесловия, используйте существующие объекты в пределах diag и не добавляйте свои собственные.Это мой старт:

            var config = DiagnosticMonitor.GetDefaultInitialConfiguration();

            config.DiagnosticInfrastructureLogs.ScheduledTransferLogLevelFilter = LogLevel.Information;
            config.DiagnosticInfrastructureLogs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
            config.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
            DiagnosticMonitor.Start("DiagnosticsConnectionString", config);
1 голос
/ 22 ноября 2010

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

Существует программа под названием AzureLogFetcher , которая может помочь, советы по получению регистрации вРаботу можно найти здесь

...