Wir versuchen, Service ETW-Ereignisse in einem OnPrem-Cluster anzuzeigen. Der langfristige Plan besteht darin, einen ElasticSearch-Cluster zu installieren, an den die Ereignisse gesendet werden. Ich habe keine Zeit, diese Woche diese Woche aufzubauen, stattdessen muss ich verstehen, warum meine App in die Luft geht.Anzeigen/Erfassen von Service Fabric ETW-Ereignissen OnPrem
Wir haben Microsoft Message Analyzer auf einem der Knotenserver installiert und ich kann mich mit einer Live-Sitzung verbinden, um den Cluster ETW-Ereignisdienst Fabric System Provider anzuzeigen.
Ich möchte in der Lage sein, die Anwendung ETW Events anzuzeigen. Ich habe die Anweisungen in dem Artikel hier folgt:
Dieser Artikel scheint auf 3 Dateien, eventFlowConfig.json, Program.cs und ServiceEventSource.cs zu konzentrieren.
EventFlowConfig.Json hat:
"inputs": [
{
"type": "EventSource",
"sources": [
{ "providerName": "Microsoft-ServiceFabric-Services" },
{ "providerName": "Microsoft-ServiceFabric-Actors" },
{ "providerName": "TMHP-CacheApp-CacheAPI" }
]
}
],
"filters": [
{
"type": "drop",
"include": "Level == Verbose"
}
],
"outputs": [
{
"type": "StdOutput"
}
In Program.cs ich habe:
using (var diagnosticsPipeline = ServiceFabricDiagnosticPipelineFactory.CreatePipeline("CacheApp-CacheAPI-DiagnosticsPipeline"))
{
ServiceRuntime.RegisterServiceAsync("EndpointType",
context => new Endpoint(context)).GetAwaiter().GetResult();
ServiceEventSource.Current.ServiceTypeRegistered(Process.GetCurrentProcess().Id, typeof(Endpoint).Name);
// Prevents this host process from terminating so services keeps running.
Thread.Sleep(Timeout.Infinite);
}
ServiceEventSource.cs hat:
[EventSource(Name = "TMHP-CacheApp-CacheAPI")]
I-Paket und Bereitstellung in Ordnung, aber mit MSMA Ich weiß nicht, wie man an den Application Provider anfügt? Ich denke, ich würde einen "Custom Provider" hinzufügen, aber es fragt nach einer GUID. Gibt es einen Weg, diesen Guid zu finden? Ich gehe davon aus ich den Kundendienst für meine spezifischen ServiceFabric Anwendung von Art hinzufügen möchten:
"TMHP-CacheApp-CacheAPI"
Vielen Dank im Voraus, Greg
I PerfView auf dem Server installiert haben. Ich kann auf den Prozess verweisen, um eine Dump-Datei des Prozesses zu erstellen. Das macht nicht viel für mich. @yoApe mit den erweiterten Optionen war nützlich. Auf den Provider-Browser kann von dort aus zugegriffen werden, ich kann weder meinen TMHP-Provider in der Liste sehen, noch Microsoft-ServiceFabric-Services oder Microsoft-ServiceFabric-Actors. Ich frage mich, ob ich etwas in der ServiceFabric App verpasst habe? Der Provider-Typ scheint überhaupt nicht registriert zu sein. Der nächste Schritt ist, Karols Werkzeug anzuschauen, um zu sehen, ob ich es zur Arbeit bringen kann. Mein Gedanke ist, SF sollte das tun? – gperrego
FYI Ich arbeite immer noch daran. Ich habe den PerfView-Ansatz mit wenig Erfolg versucht. Ich arbeite daran und werde die Gruppe in einem Stück aktualisieren – gperrego
Ok, also konnte ich dieses spezifische Problem lösen, indem ich die unten aufgeführte Befehlszeile von PerfView benutze. Ich sehe nicht unbedingt alle Ereignisse, die ich erwarten würde, aber wir arbeiten daran, das herauszufinden. Ich stehe auf einem ElasticStack und gehe in diese Richtung. – gperrego