2016-07-29 12 views
0

Die Nutzung von Microsoft.Diagnostics.Tracing.TraceEvent Bibliothek macht es einfach, mit ETW anmeldet local machine zu arbeiten - aber ist es wirklich eine Möglichkeit, das gleiche für remote server zu tun? So erhalte ich die interessanten Ereignisse auf dem lokalen Rechner. Wirklich interessiert, wie man das gleiche Ergebnis erzielen würde, wenn Ereignisse für verschiedene Maschinen erzeugt werden.Überwachung ETW-Protokolle auf Remote-Computer

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; 
    } 
+0

Führen Sie Ihr Cmdline-Tool über PsExec remote: https://technet.microsoft.com/en-us/sysinternals/pxexec – magicandre1981

Antwort

0

Dies ist wahrscheinlich nicht genau das, was Sie suchen, aber die beste Wahl ist, um das Semantic Logging Application Block (SLAB) zu verwenden, aus Prozess-Option, die einen Agenten auf dem Remote-Rechner installiert. Dann kann der SLAB-Prozess Ihre Protokolle auf einen Remote-SQL-Server oder eine Remote-Datei schreiben.

+0

Sieht vielversprechend aus, danke für diese Option! Ich werde es auf jeden Fall versuchen, obwohl ich diese Idee des entfernten Maschinenmonitors überhaupt nicht aufgeben möchte - sieht nicht wie die 100% gültige Sache aus, die man tun würde - eher wie das Konzept der Vielseitigkeit zu brechen –