Ich versuche, ein einfaches ETW- und EventFlow-Beispiel einzurichten, mit dem bestimmte ETW-Anbieter überwacht werden können. In diesem Fall muss der Service Control Manager-ETW-Provider überwachen, wann Dienststart- und -stopp-Meldungen ausgegeben werden.Verwenden von EventFlow zum Überwachen des ETW-Ereignisses auf dem lokalen Computer
Ich habe die folgende Eingangskonfiguration für Tracing und ETW.
"inputs": [
{
"type": "Trace",
"traceLevel": "Warning"
},
{
"type": "ETW",
"providers": [
{
"providerName": "Service Control Manager"
}
]
}]
Ich habe den folgenden Code, die Überwachung EventFlow mit der Inbetriebnahme wird.
static void Main(string[] args)
{
using (var pipeline = DiagnosticPipelineFactory.CreatePipeline("eventFlowConfig.json"))
{
System.Diagnostics.Trace.TraceWarning("EventFlow is working!");
Console.ReadLine();
}
}
Die Trace-Ereignis wird in der Konsole erscheinen, aber wenn ich starten und einen Dienst keine ETW Ereignisse erscheinen stoppen.
Ist EventFlow für dieses Szenario auf einem lokalen Computer entwickelt? Wenn ja, was fehlt mir in meiner Konfiguration oder meinem Code?
Die Konsole Prozess wird als Administrator ausgeführt wird und das Konto hat Zugriff auf die Gruppe Log Monitore Leistungsprotokollbenutzer und Leistung
Endlich um zu versuchen, dies funktioniert, arbeitete wie ein Charme. Es war sehr hilfreich, den Diagnoseereignis-Viewer als Plausibilitätsprüfung zu nennen. –