2016-06-17 9 views
8

Der Einsatz eines meines Apps in ein Service Fabric Cluster gescheitert und löste eine ungesunde Auswertung mit einem Fehlerereignis sagen: There was an error during CodePackage activation.The service host terminated with exit code:3762504530Azure Service-Fabric Aktivierungsfehler

jedoch auf dem Knoten, auf dem die Anwendung bereitgestellt wird, Integritätsstatus zeigt an: The application was activated successfully.

Gibt es eine Möglichkeit, einen detaillierteren Bericht über das Fehlerereignis zu erhalten?

Antwort

16

ich in der Regel über RDP auf den betroffenen Knoten verbinden und führen Sie die folgenden Dinge in einem solchen Fall:

  • prüfen Console-Out/Console-Fehlerprotokolle: Service-Fabric speichert Konsolenausgabe (falls aktiviert über <ConsoleRedirection> in Ihrem ServiceManifest.xml) und Fehler in einem Protokollordner. Auf Ihrem DEV-Cluster sollte dies C:\SfDevCluster\Data\_App\Node.x\<ApplicationTypeFolder>\log sein. Auf einer Standard-Installation in Azure, sollte es D:\SvcFab\_App\<ApplicationTypeFolder>\log seine

  • EventLog: manchmal in der „Application“ .NET Ausnahmen Fliegen angezeigt, aber der Service Fabric auch einen eigenen Unterordner hat, die hilfreich Ereignisse enthalten könnte.

  • PerfView: PerfView ist ein sehr leistungsfähiges Werkzeug zur Überwachung von ETW-Ereignissen (Ereignisverfolgung für Windows). Da .NET-Ausnahmen als ETW-Ereignisse protokolliert werden, zeigt PerfView möglicherweise hilfreiche Ausnahmen an. Hier ist eine kurze Anleitung:

    • herunterladen und ausführen PerfView
    • Gehen Sie zu "Sammeln -> Collect". De-Wählen Sie "Zusammenführen".
    • Klicken Sie auf "Sammlung starten".
    • Beenden Sie jetzt Ihren Service Fabric-Dienst über Process Explorer, falls er ausgeführt wird. Wenige Augenblicke später wird Service Fabric es erneut starten.
    • Wenn Ihr Dienst nicht ausgeführt wird, stellen Sie Ihren Dienst erneut bereit.
    • Nachdem der Dienst fehlgeschlagen ist, klicken Sie in PerfView auf "Sammlung stoppen".
    • Doppelklicken Sie nun auf "Ereignisse" in der linken Baumstruktur - dies öffnet alle aufgezeichneten ETW-Ereignisse.
    • Suchen Sie nach "Microsoft-Windows-DotNETRuntime/Exception/Start" und doppelklicken Sie darauf.
    • Sie sollten jetzt alle .NET-Ausnahmen angezeigt werden, die aufgetreten sind, geordnet nach Zeit.
+0

Christian, gibt es keine solche Ordner auf dem Knoten als C: \ Programdata \ Microsoft \ SF \ selbst wenn ich gesetzt ConsoleRedirection innerhalb ServiceManifest.xml –

+0

Mein Cluster immer noch auf der Preview-Version ist, aber ich bezweifle, dass sie den Ordner in GA geändert haben. Beachten Sie, dass "C: \ ProgramData" ein versteckter Ordner ist. –

+0

ProgramData \ Microsoft ist da, aber nicht SF –