Fehlerbehebung mit Speicherressourcenprotokollen

Abgeschlossen

Azure Storage-Ressourcenprotokolle erfassen jeden Vorgang, der in Ihrem Speicherkonto ausgeführt wird, und das Ergebnis dieser Vorgänge. Diese Protokolle enthalten Details zu jeder Anforderung, anstatt die Minuten-für-Minute-Zusammenfassung der Vorgänge bereitzustellen, die die Metriken anzeigen. Mithilfe der Protokollierungsinformationen können Sie die Art der Anforderungen an ein Speicherkonto untersuchen und ermitteln, ob diese Anforderungen erfolgreich sind.

In dieser Lektion erfahren Sie mehr über Azure Storage-Ressourcenprotokolle in Azure Monitor. Sie sehen die verschiedenen Arten von Informationen, die in Protokollen erfasst werden, und erfahren, wie Sie diese Informationen verwenden können, um Probleme zu erkennen, die auftreten können, wenn eine Anwendung Azure Storage verwendet.

Ressourcenprotokolle in Azure Monitor

Manchmal möchten Sie mehr Details zu Speichertransaktionen anzeigen als leistungsbezogene Metriken. Metriken sind nützlich, um allgemeine Trends bei Leistung oder Nachfrage zu verfolgen, aber die Überwachung der Transaktionsmetriken kann die angeforderten URLs nicht anzeigen. Außerdem können keine der verfügbaren Speichermetriken Fehlermeldungen melden, die sich auf eine bestimmte Anforderung beziehen.

Ressourcenprotokolle in Azure Monitor erfassen diese Art detaillierter Informationen und sind nützlich, um die Details hinter bestimmten Anforderungen zu untersuchen. Sie können diese Protokolle beispielsweise verwenden, wenn Sie wissen möchten, wie viele Anforderungen für eine bestimmte Ressource authentifiziert oder anonym oder erfolgreich oder fehlgeschlagen sind.

Zum Sammeln von Ressourcenprotokollen müssen Sie eine Diagnoseeinstellung erstellen. Ressourcenprotokolle listen erfolgreiche und fehlgeschlagene Anforderungen für ein Speicherkonto auf. Anforderungen werden als Lese-, Schreib- oder Löschvorgänge für den jeweiligen Speicherdienst aufgezeichnet: Azure Blob Storage, Tabellenspeicher oder Warteschlangenspeicher. Mithilfe einer Diagnoseeinstellung können Sie Protokolle an Log Analytics, ein Speicherkonto weiterleiten oder an einen Event Hub streamen oder an eine Partnerlösung senden.

Sie können Ressourcenprotokolle verwenden, um unterschiedliche Typen und Häufigkeit von Anforderungen zu überprüfen oder fehlerhafte Anforderungen zu beheben. Protokolle werden nur generiert, wenn Transaktionen auftreten, und nur für den jeweiligen Dienstendpunkt. Wenn Sie im Blob Storage- und Queue Storage-Endpunkt Speicher verwenden, aber nur im Blob Storage-Endpunkt Anforderungen oder Transaktionen erfolgen, erstellt das System daher nur für Blob Storage Protokolle.

Wenn Sie die Protokollierung aktivieren, werden diese Arten von Anforderungen protokolliert:

  • Authentifizierte Anforderungen.
  • Anonyme Anfragen.
  • Erfolgreiche Anforderungen.
  • Fehlgeschlagene Anfragen. z. B. Timeouts, Drosselung, Netzwerkfehler und Autorisierungsfehler.
  • Serverfehler.
  • Anforderungen mit einer Shared Access Signature (SAS), sowohl fehlgeschlagen als auch erfolgreich.
  • Timeoutfehler für Client und Server.
  • Anforderungen von Analysedaten.
  • Fehler bei GET-Anforderungen mit Fehlercode 304 ("Nicht geändert").

Speichern von Ressourcenprotokollen in Azure Monitor

Ressourcenprotokolle werden automatisch für Ihr Speicherkonto generiert, aber diese Protokolle sind nicht für die Anzeige verfügbar, es sei denn, Sie senden sie an ein Ziel. Sie können angeben, wo sie gesendet werden sollen, indem Sie eine Diagnoseeinstellung verwenden.

Wenn Sie eine Diagnoseeinstellung erstellen, wählen Sie den Speichertyp aus, für den Sie an Routingprotokollen interessiert sind. Beispiel: Blob Storage oder Dateispeicher. Wählen Sie dann aus, welche Arten von Vorgängen in den Protokollen angezeigt werden sollen. Beispielsweise Lese-, Schreib- oder Löschvorgänge. Schließlich wählen Sie aus, wo Protokolle gesendet werden sollen. Sie können Protokolle an einen der folgenden Speicherorte senden:

  • Protokolldatenanalyse
  • Speicherkonto
  • Ereignishub
  • Eine Partnerlösung

Sie können auf Protokolle zugreifen, die an einen Log Analytics-Arbeitsbereich gesendet werden, indem Sie Azure Monitor-Protokollabfragen verwenden.

Wenn Sie Protokolle an ein Speicherkonto weiterleiten, werden diese Protokolle als blobs angezeigt, die in einem Container gespeichert sind. Daten werden in einem einzelnen BLOB als zeilentrennte JSON-Nutzlast gesammelt und gespeichert. Der Name des Blobs folgt dieser Benennungskonvention:

https://<destination-storage-account>.blob.core.windows.net/insights-logs-<storage-operation>/resourceId=/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<source-storage-account>/blobServices/default/y=<year>/m=<month>/d=<day>/h=<hour>/m=<minute>/PT1H.json

Protokolle, die an einen Event Hub gesendet werden, werden nicht als Datei gespeichert, aber Sie können überprüfen, ob der Event Hub die Protokollinformationen empfangen hat. Öffnen Sie einfach Ihren Event Hub im Azure-Portal, und untersuchen Sie die Anzahl eingehender Nachrichten.

Sie können auch Plattformmetriken und Protokolle an bestimmte Azure Monitor-Partner senden. Sie müssen zuerst eine Partnerintegration in Ihr Abonnement installieren. Die Konfigurationsoptionen variieren je nach Partner.

Sie können keine Aufbewahrungsrichtlinie für Protokolldaten festlegen. Wenn Sie Protokolle an Log Analytics senden, können Sie den Datenaufbewahrungszeitraum auf Arbeitsbereichsebene verwalten oder sogar unterschiedliche Aufbewahrungseinstellungen nach Datentyp angeben. Wenn Sie Protokolle in einem Speicherkonto archivieren, können Sie die Aufbewahrungsrichtlinie eines Protokollcontainers verwalten, indem Sie eine Lifecycle-Verwaltungsrichtlinie definieren.