Как настраиваемые события ETW включаются в ролях Azure?

В своих компонентах я создал несколько источников событий ETW, производных от EventSource:

[EventSource]
public class MessagingTrace : EventSource
{
    [Event(1)]
    public void MessageReceived(string address)
    {
        this.WriteEvent(1, address);
    }
}

Я пытался следить за статьей о Включение диагностики в Windows Azure., но я не могу найти руководства по настройке службы диагностики Azure для регистрации событий из собственных источников.

Хотя я знаю, что такая возможность есть, я бы не стал направлять свои события через старую трассировку .NET, так как ее можно настроить только при развертывании.

Есть ли способ заставить Диагностику Azure получать мои события?


person Paul Turner    schedule 30.10.2013    source источник


Ответы (3)


Диагностика Azure не работает с событиями ETW!

Диагностика Azure работает с:

  • События журнала событий Windows
  • Трассировка .NET
  • Файлы журнала IIS
  • Счетчики производительности Windows
  • Пользовательские файлы журналов

Все они сильно отличаются от ETW (Отслеживание событий для Windows)! ETW встроен в саму Windows, а не в .NET Framework. А модуль диагностики Windows Azure не имеет встроенной поддержки чтения событий из ETW. Однако вы можете создать файлы журналов трассировки ETW и настроить Azure Diagnostics для передачи этих журналов в хранилище в виде обычных файлов журнала.

Дополнительные сведения об использовании файлов журнала трассировки ETW с диагностикой Windows Azure см. здесь.

Вы также можете ознакомиться с блоком приложения семантического ведения журналов из Enterprise Library 6. . Этот блок использует EventSource и имеет приемники для хранилища таблиц Windows Azure.

person astaykov    schedule 30.10.2013
comment
Учитывая, что такие статьи, как WAD, основаны на ETW (blogs.msdn.com/b/davidhardin/archive/2011/02/26/), я немного разочарован тем, что он не поддерживает ETW. - person Paul Turner; 30.10.2013
comment
Верно, но все же подумайте мудро. Он построен на ETW для поддержки высокой пропускной способности — помните, что WAD может отслеживать так много вещей, что ему определенно нужен высокоскоростной механизм ведения журнала. Что касается вопроса, почему он не поддерживает ETW напрямую. Мое предположение — это всего лишь количество данных, которые можно очень легко сгенерировать с помощью ETW. ETW может сгенерировать буквально 700 МБ файла трассировки за пару минут. И WAD должен убедиться, что все, что он регистрирует, сохраняется в хранилище. Представьте теперь мое развертывание с 10 экземплярами, каждый из которых выполняет тяжелые ETW, и ваше развертывание, и развертывание m.X... - person astaykov; 31.10.2013
comment
Мне просто нужно написать собственный приемник на основе iconstructions.be/blog/ - person Paul Turner; 31.10.2013
comment
Azure SDK 2.5 добавляет улучшенную поддержку ETW msdn.microsoft.com/library/azure/dn873976. aspx - person MichaelLake; 09.12.2014

Теперь Azure поддерживает ведение журнала ETW. Чтобы включить его, в обозревателе серверов щелкните правой кнопкой мыши роль и отредактируйте конфигурацию диагностики, должна быть вкладка для журналов ETW, где вы можете их включить.

Существует Channel9 видео, в котором это подробно объясняется. .

person MarkInFrisco    schedule 15.04.2016

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

введите здесь описание изображения

person Femi Sulu    schedule 11.02.2019