Мониторинг журналов ETW на удаленном компьютере

Использование библиотеки Microsoft.Diagnostics.Tracing.TraceEvent упрощает работу с журналами ETW на local machine, но есть ли способ сделать то же самое для remote server? Вот как я могу получить интересующие события на локальной машине. Действительно интересно, как можно добиться того же результата в случае, если события генерируются для другой машины.

 public LoggingEventArgs ListenForEvent(string eventName, int level, int maxWaitTimeInSec = 30)
    {
        if (!(TraceEventSession.IsElevated() ?? false))
        {                
            _logger.Error("To turn on ETW events you need to be Administrator.");
            return null;
        }

        LoggingEventArgs result = null;

        _logger.Info("Creating a '{0}' session", _sessionName);
        using (var session = new TraceEventSession(_sessionName))
        {
            _timer = ConstructTimerForSession(session, maxWaitTimeInSec);

            TargetEventReceived += delegate (object sender, LoggingEventArgs e)
            {
                //if level is not negative, check for specific level of incoming event. 
                //Otherwise track all levels
                bool condition = level > 0 ? e.Level == level : true;                    
                if (condition)
                {
                    result = e;
                    StopListeningForEvents(session);
                }
            };

            AddCallbackForProviderEvent(session, _providerName, eventName);

            StartListeningForEvents(session, _providerName, _timer);
        }
        return result;
    }

person Galina Bezobrazova    schedule 29.07.2016    source источник
comment
запустите инструмент командной строки удаленно через PsExec: technet.microsoft.com/en-us/sysinternals/ pxexec   -  person magicandre1981    schedule 29.07.2016


Ответы (1)


Вероятно, это не совсем то, что вы ищете, но лучше всего использовать Блок приложения семантического ведения журналов (SLAB) вне процесса, который устанавливает агент на удаленном компьютере. Затем процесс SLAB может записывать ваши журналы на удаленный сервер SQL или в удаленный файл.

person Mark    schedule 10.08.2016
comment
Выглядит многообещающе, спасибо, что указали на этот вариант! Определенно попробую, хотя мне кажется, что я вообще отказываюсь от этой идеи удаленного монитора машины - не похоже на 100% действительную вещь, которую можно было бы сделать - больше похоже на нарушение концепции событий - person Galina Bezobrazova; 15.08.2016