Windows Azure-Plattform als Dienst (PaaS) compute diagnostic data
Wenn Sie ein Problem beheben müssen, ist einer der wichtigsten Punkte zu verstehen, welche Diagnosedaten verfügbar sind. Wenn Sie nicht wissen, wo nach Protokollen oder anderen Diagnoseinformationen gesucht werden soll, müssen Sie ggf. auf den Ansatz zur Problembehandlung zurückgreifen. Wenn Sie Zugriff auf Protokolle haben, haben Sie eine bessere Chance, Probleme zu diagnostizieren, auch wenn es nicht innerhalb Ihres Fachgebiets liegt.
In diesem Artikel werden die Daten erläutert, die in Azure-Plattform as a Service (PaaS) Computeumgebungen verfügbar sind. Es beschreibt, wie Sie diese Daten auf einfache Weise von einem virtuellen Windows PaaS-Computer (VM) erfassen können.
Die folgenden Abschnitte enthalten die am häufigsten verwendeten Datenquellen, wenn Sie Probleme in einer Windows PaaS-VM beheben. Die Abschnitte werden ungefähr nach Wichtigkeit sortiert (die Häufigkeit der Verwendung des Protokolls zur Problemdiagnose).
Windows Azure-Ereignisprotokolle
Windows Azure-Ereignisprotokolle enthalten wichtige Diagnoseausgabe aus der Azure-Runtime. Die Protokolle erfassen Informationen zu solchen Ereignissen wie den folgenden:
- Rollenstart und -stopps
- Startaufgaben
OnStart
Starten und BeendenOnRun
anfangen- Abstürze
- Recycelt
So zeigen Sie die Windows Azure-Ereignisprotokolle an:
Suchen Sie im Startmenü nach Ereignisanzeige, und wählen Sie dann diese App aus.
Erweitern Sie im Navigationsbereich Anwendungs- und Dienstprotokolle, und wählen Sie dann Windows Azure aus.
Diese Diagnosequelle hilft Ihnen, die Ursache mehrerer der häufigsten Probleme zu identifizieren, die verhindern, dass Azure-Rollen ordnungsgemäß gestartet werden. Dazu gehören Startaufgabenfehler und Absturz in OnStart
oder OnRun
. Ereignisanzeige erfasst Abstürze in den Azure-Laufzeithostprozessen, die Ihren Rolleneinstiegspunktcode ausführen (z. B. WebRole.cs oder WorkerRole.cs), und stellt Aufrufstapel bereit.
Anwendungsereignisprotokolle
Sie können Anwendungsereignisprotokolle für die standardmäßige Problembehandlung sowohl auf Azure- als auch auf lokalen Servern verwenden. Häufig finden Sie w3wp.exe fehlerbezogene Fehler in diesen Protokollen.
So zeigen Sie die Anwendungsereignisprotokolle an:
Suchen Sie im Startmenü nach Ereignisanzeige, und wählen Sie dann diese App aus.
Erweitern Sie im Navigationsbereich Windows-Protokolle, und wählen Sie dann "Anwendung" aus.
App-Agent-Laufzeitprotokolle
Das Laufzeitprotokoll des App-Agents befindet sich unter "C:\Logs\AppAgentRuntime.log " und wird von der WindowsAzureGuestAgent.exe ausführbaren Datei geschrieben. Das Protokoll enthält Informationen zu Ereignissen, die innerhalb des Gast-Agents und der VM auftreten. Diese Ereignisinformationen umfassen, aber nicht beschränkt auf die folgenden Kategorien:
- Firewallkonfiguration
- Rollenstatusänderungen
- Recycelt
- Neustarts
- Statusänderungen des Integritätsstatus
- Rollenstopps und -starts
- Certificate configuration (Zertifikatkonfiguration)
Dieses Protokoll ist nützlich, um einen schnellen Überblick über die Ereignisse zu erhalten, die im Laufe der Zeit zu einer Rolle auftreten. Dies liegt daran, dass wichtige Änderungen an der Rolle aufgezeichnet werden, ohne Takte zu protokollieren. Wenn der Gast-Agent die Rolle nicht ordnungsgemäß starten kann (z. B. wenn eine gesperrte Datei die Verzeichnisbereinigung verhindert), wird das in diesem Protokoll aufgezeichnete Ereignis angezeigt.
Taktprotokolle des App-Agents
Das Taktprotokoll des App-Agents befindet sich unter "C:\Logs\WaAppAgent.log " und wird von der WindowsAzureGuestAgent.exe ausführbaren Datei geschrieben. Sie enthält Statusinformationen zu den Integritätssonden für den Host-Bootstrapper.
Der Gast-Agent-Prozess ist für das Melden des Integritätsstatus (z. B Ready
. oder Busy
) an das Fabric verantwortlich. Daher entspricht der Integritätsstatus, den dieses Protokoll meldet, dem Status, den Sie im Verwaltungsportal sehen. Das Protokoll ist nützlich, um den aktuellen Status der Rolle innerhalb des virtuellen Computers zu ermitteln oder zu bestimmen, welcher Zustand zu einem früheren Zeitpunkt war. Sie können Problembeschreibungen wie "Meine Website war von 10:00 bis 11:30 Uhr gestern" zur Verfügung stellen, um das Taktprotokoll zu verwenden, um Den Integritätsstatus der Rolle während dieser Zeit zu ermitteln.
Host-Bootstrapperprotokolle
Das Host bootstrapper-Protokoll befindet sich unter "C:\Resources\WaHostBootstrapper.log". Sie enthält Einträge für Startaufgaben, einschließlich Plug-Ins wie Zwischenspeichern oder Remotedesktopprotokoll (RDP). Das Protokoll enthält auch Integritätssonden für den Hostprozess, der den Rolleneinstiegspunktcode ausführt (der WebRole.cs Code, der in WaIISHost.exe ausgeführt wird).
Bei jedem Neustart des Host-Bootstrappers wird eine Protokolldatei generiert. (Mit anderen Worten, es wird neu gestartet, wenn Ihre Rolle aufgrund eines Ereignisses wie Absturz, Recycling, VM-Neustart oder Upgrade wiederverwendet wird.) Diese Übung erleichtert die Verwendung des Protokolls, um zu bestimmen, wie oft oder wann Ihre Rolle wiederverwendet wurde.
Internetinformationsdienste Protokolle
Die Internetinformationsdienste (IIS)-Protokolle befinden sich unter "C:\Resources\Directory\<DeploymentID>".<RoleName>. DiagnosticStore\LogFiles\Web. Diese Protokolle werden für die Standardmäßige Problembehandlung sowohl auf Azure- als auch auf lokalen Servern verwendet.
IIS-Protokolle werden häufig in Szenarien wie "Meine Website war gestern von 10:00 bis 11:30 Uhr ausgefallen.". Es ist natürlich, Azure für den Ausfall verantwortlich zu machen. ("Meine Website funktionierte zwei Wochen lang einwandfrei, daher muss das Problem Azure sein!") Die IIS-Protokolle weisen jedoch häufig auf andere Weise hin. Möglicherweise stellen Sie fest, dass vor dem Ausfall erhöhte Reaktionszeiten aufgetreten sind. Oder Sie stellen möglicherweise fest, dass nicht erfolgreiche Statuscodes von IIS zurückgegeben wurden. Diese Codes würden auf ein Problem hinweisen, das innerhalb der Website selbst aufgetreten ist (d. h. im ASP.NET Code, der in w3wp.exe ausgeführt wird) und nicht in Azure.
Leistungsindikatoren
Um Leistungsindikatoren anzuzeigen, wählen Sie das Startmenü aus, suchen Sie perfmon, und wählen Sie dann Leistungsmonitor aus. Diese App ist ein Snap-In in der Microsoft Management Console (MMC). Alternativ können Sie die Windows Azure-Diagnoseerweiterung (WAD) installieren und konfigurieren.
Leistungsindikatoren werden für die standardmäßige Problembehandlung sowohl auf Azure- als auch auf lokalen Servern verwendet. Wenn Sie WAD vorab einrichten, haben Sie häufig wertvolle Leistungsindikatoren, um Probleme zu beheben, die in der Vergangenheit aufgetreten sind (z. B. "Meine Website war gestern von 10:00 Uhr auf 11:30 Uhr ausgefallen.").
Abgesehen von Problemen, für die Sie bestimmte Leistungsindikatoren sammeln, besteht die häufigste Verwendung für Leistungsindikatoren, die von WAD gesammelt werden, darin, in der angegebenen Reihenfolge nach den folgenden Elementen zu suchen:
Einträge für reguläre Leistungsindikatoren
Ein Zeitraum ohne Einträge
Einer der Zustände in der folgenden Tabelle.
State Beschreibung Die Fortsetzung von regulären Einträgen Ein Szenario, in dem der virtuelle Computer möglicherweise nicht ausgeführt wurde 100 Prozent CPU-Auslastung Eine endlose Schleife oder ein anderes Logikproblem im Code der Website selbst
HTTP.SYS Protokolle
Die HTTP.SYS Protokolle befinden sich unter D:\Windows\System32\LogFiles\HTTPERR. Diese Protokolle werden für die Standardmäßige Problembehandlung sowohl auf Azure- als auch auf lokalen Servern verwendet.
Wie bei IIS-Protokollen zutrifft, werden die HTTP.SYS Protokolle häufig übersehen. Sie sind jedoch wichtig, wenn Sie versuchen, ein Problem zu beheben, bei dem eine gehostete Dienstwebsite nicht reagiert. Häufig wird dieses Problem dadurch verursacht, dass IIS das Volumen der eingehenden Anforderungen nicht verarbeiten kann. Der Nachweis für diese Ursache erscheint in der Regel in den HTTP.SYS Protokollen.
IIS-Fehler bei Anforderungsprotokolldateien
Protokolldateien "IIS failed request" befinden sich unter "C:\Resources\Directory\<DeploymentID>".<RoleName>. DiagnosticStore\FailedReqLogFiles. Diese Protokolle werden für die Standardmäßige Problembehandlung sowohl auf Azure- als auch auf lokalen Servern verwendet.
Standardmäßig sind diese Protokolldateien in Windows Azure nicht aktiviert. Sie werden selten verwendet. Wenn Sie jedoch Probleme beheben, die spezifisch für IIS oder ASP.NET sind, sollten Sie die FREB-Ablaufverfolgung (Fehler beim Anfordern von Ereignispuffern) aktivieren. DIE FREB-Ablaufverfolgung kann weitere Details zu diesen Problemen bereitstellen.
Windows Azure-Diagnosetabellen und -konfiguration
Die Tabellen und Konfigurationen für die Windows Azure-Diagnoseerweiterung (WAD) befinden sich unter "C:\Resources\Directory\<DeploymentID>".<RoleName>. DiagnosticStore\Monitor. Diese Elemente stellen den lokalen Cache auf dem virtuellen Computer der WAD-Daten dar.
WAD führt die folgenden Schritte aus:
Erfasst die Daten, während Sie sie konfiguriert haben.
Speichert die Daten in benutzerdefinierten TSF-Dateien auf dem virtuellen Computer.
Überträgt die Daten basierend auf dem von Ihnen angegebenen geplanten Übertragungszeitraum an den Speicher.
Da sich die Daten leider in einem benutzerdefinierten TSF-Format befinden, sind die Inhalte der WAD-Daten eingeschränkt. Sie enthalten jedoch die Diagnosekonfigurationsdateien, die hilfreich sind, um Probleme zu beheben, wenn WAD nicht ordnungsgemäß funktioniert. Suchen Sie im Konfigurationsordner nach einer Datei mit dem Namen config.xml. Diese Datei enthält die Konfigurationsdaten für WAD. Wenn WAD nicht ordnungsgemäß funktioniert, überprüfen Sie diese Datei, um sicherzustellen, dass sie die Art und Weise widerspiegelt, wie WAD konfiguriert wird.
Windows Azure-Zwischenspeicherungsprotokolldateien
Die Windows Azure-Zwischenspeicherungsprotokolldateien befinden sich unter "C:\Resources\Directory\<DeploymentID>".<RoleName>. DiagnosticStore\AzureCaching. Diese Protokolle enthalten detaillierte Informationen zur rollenbasierten Zwischenspeicherung von Windows Azure. Die Protokolle können Ihnen dabei helfen, Probleme zu beheben, bei denen die Zwischenspeicherung nicht wie erwartet funktioniert.
WaIISHost-Protokolle
Das WaIISHost-Protokoll befindet sich unter C:\Resources\Directory\<DeploymentID>.<RoleName>. DiagnosticStore\WaIISHost.log. Sie enthält Informationen aus dem WaIISHost.exe Prozess. Bei diesem Prozess wird der Rolleneinstiegspunktcode (WebRole.cs) für WebRoles ausgeführt. Die meisten dieser Informationen sind auch in den anderen Protokollen enthalten, die in diesem Artikel behandelt werden (z. B. die Windows Azure-Ereignisprotokolle). Möglicherweise finden Sie hier jedoch gelegentlich weitere nützliche Informationen.
IISConfigurator-Protokolle
Das IISConfigurator-Protokoll befindet sich unter "C:\Resources\Directory\<DeploymentID>".<RoleName>. DiagnosticStore\IISConfigurator.log. Sie enthält Informationen zum IISConfigurator-Prozess. Dieser Prozess wird verwendet, um die tatsächliche IIS-Konfiguration Ihrer Website basierend auf dem Modell auszuführen, das Sie in den Dienstdefinitionsdateien definiert haben. Der Prozess schlägt selten fehl oder tritt auf Fehler auf. Wenn IIS oder w3wp.exe jedoch nicht ordnungsgemäß für Ihren Dienst eingerichtet werden, ist dieses Protokoll der Ort, an dem überprüft werden soll.
Rollenkonfigurationsdateien
Die Rollenkonfigurationsdatei befindet sich unter C:\Config\<DeploymentID>.<RoleName>.<Version>.xml. Sie enthält Informationen zur Konfiguration für Ihre Rolle, z. B. die folgenden Elemente:
Einstellungen, die in der Datei ServiceConfiguration.cscfg definiert sind
Lokale Ressourcenverzeichnisse
IP-Adressen und Ports für dynamische IP (DIP) und virtuelle IP (VIP)
Zertifikatfingerabdrücke
Lastenausgleichstests
Auf andere Instanzen
Die Rollenkonfigurationsdatei ähnelt der Rollenmodelldefinitionsdatei , da sie keine vom Laufzeit generierten Informationen enthält. Es kann jedoch hilfreich sein, sicherzustellen, dass Ihr Dienst wie erwartet konfiguriert ist.
Rollenmodelldefinitionsdatei
Die Rollenmodelldefinitionsdatei befindet sich unter "E:\RoleModel.xml" oder "F:\RoleModel.xml". Sie enthält Informationen dazu, wie Ihr Dienst gemäß der Azure-Laufzeit definiert wird.
Die Datei enthält Einträge für jede Startaufgabe und Informationen zur Ausführung der Aufgabe, einschließlich der folgenden Merkmale:
- Hintergrund
- Umgebungsvariablen
- Location
Sie können auch sehen, wie Ihr <Websiteelement> für eine Webrolle definiert ist.
Die Rollenmodelldefinitionsdatei enthält keine vom Laufzeit generierten Informationen, kann Ihnen jedoch helfen, zu überprüfen, ob Azure Ihren Dienst wie erwartet ausführt. Diese Überprüfung hilft häufig, wenn Sie eine bestimmte Version einer Dienstdefinition auf Ihrem Entwicklungscomputer haben, aber der Build- und Paketserver verwendet eine andere Version der Dienstdefinitionsdateien.
Informationen zu ETL-Dateien
Der Ordner "C:\Logs" enthält RuntimeEvents_<Iteration.etl>- und WaAppAgent_<Iteration.etl-Dateien>. Diese ETL-Dateien (Event Trace Log) sind Ereignisablaufverfolgungen für Windows (ETW), die eine Kompilierung der Informationen enthalten, die in den Windows Azure-Ereignisprotokollen, Gast-Agent-Protokollen und anderen Protokollen gefunden werden. Die Dateien sind eine bequeme Kompilierung der wichtigsten Protokolldaten in einer Azure-VM. Da sich die Dateien im ETL-Format befinden, müssen Sie einige zusätzliche Schritte ausführen, um die Informationen zu nutzen. Wenn Sie über ein bevorzugtes ETW-Anzeigetool verfügen, können Sie viele der erwähnten Protokolldateien ignorieren. Stattdessen können Sie einfach die Informationen in diesen beiden ETL-Dateien anzeigen.
Nächste Schritte
Weitere Informationen
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.