Freigeben über


Konfigurieren der Protokollierung für BlobFuse

In diesem Artikel erfahren Sie, wie Sie das Protokollierungsverhalten für BlobFuse konfigurieren. BlobFuse protokolliert standardmäßig Warnungen im Systemprotokoll. Sie können Protokolle jedoch an ein lokales Verzeichnis weiterleiten, ändern, welche Informationstypen in Protokollen angezeigt werden, oder Protokolle vollständig deaktivieren, indem Sie die Standardkonfiguration ändern.

Konfigurationsparameter

In der folgenden Tabelle werden die einzelnen Parameter und ihre Standardeinstellung beschrieben.

Parameter Description Standardwert
Protokolltyp Der vom System verwendete Loggertyp Syslog
Protokolliergrad Der Schweregrad der Protokolldaten Nur Warnungen
Dateipfad Der Pfad zum Speichern von Protokolldateien $HOME/.blobfuse2/blobfuse2.log

Parametereinstellungen auf Protokollebene

In der folgenden Tabelle werden die einzelnen Protokollschweregrade beschrieben. Wählen Sie die für Ihre Workloadanforderungen am besten geeignete Stufe aus.

Protokolliergrad Description
log_off Deaktiviert die Protokollierung.
log_crit Protokolliert wichtige Probleme, die verhindern, dass BlobFuse gestartet wird.
log_err Protokolliert Probleme, die dazu führen, dass Fehler an den Aufrufer zurückgegeben werden. Wenn Sie beispielsweise Daten schreiben und dann versuchen, das Dateihandle zu schließen, aber BlobFuse es aus irgendeinem Grund nicht schafft, eine ordnungsgemäße Verbindung mit Azure Storage herzustellen, um die Daten zu committen, wird dieses Ereignis auf der log_err Ebene protokolliert (und eine Fehlermeldung an den Prozess zurückgegeben wird, der versucht, das Dateihandle zu schließen).
log-warning Protokolliert Probleme, auf die BlobFuse stößt, die möglicherweise keine tatsächlichen Fehler sind, aber dennoch hilfreich sind, um zu protokollieren. Wenn z. B. ein Netzwerkvorgang fehlschlägt, aber es kann wiederholt werden, wird eine Warnung protokolliert, bevor die automatischen Wiederholungen beginnen.
log_info Protokolliert alle Vorgänge im Zusammenhang mit dem Hochladen oder Herunterladen von BLOB-Daten in Azure Storage. Einige andere Vorgänge werden auch auf dieser Ebene protokolliert, was möglicherweise informativ ist, wenn Probleme auftreten.
log-trace Protokolliert Überwachungsanweisungen für alle Aufrufe in BlobFuse. Diese Ebene ist sehr ausführlich und enthält hilfreiche Debugginginformationen wie Zeilennummern, Methodennamen, Methodeneingaben und Rückgabewerte. Diese Stufe ist wahrscheinlich nur hilfreich, wenn Sie auch den Quellcode betrachten.
log-debug Protokolliert zusätzliche hilfreiche Debuginformationen.

Konfigurieren von Protokolleinstellungen

Im folgenden Beispiel werden diese Werte als Parameter auf den mount Befehl festgelegt.

sudo blobfuse2 mount ~/mycontainer --log-level=log_err --file-path=$HOME/.mycustomdirectory/blobfuse2.log

Das folgende Beispiel zeigt, wie diese Einstellungen in der BlobFuse-Konfigurationsdatei angezeigt werden:

logging:
  type: base
  level: log_err
  file-path: $HOME/.mycustomdirectory/blobfuse2.log

Hinweis

Sie können das Protokollierungsverhalten ändern, nachdem Sie einen Container bereitgestellt haben, indem Sie die Einstellungen in der Konfigurationsdatei ändern und die Datei speichern. Wenn Sie nur Befehlszeilenparameter zum Festlegen des Verhaltens verwenden, müssen Sie zuerst die Bereitstellung des Containers aufheben und dann erneut bereitstellen, indem Sie den mount Befehl zusammen mit den richtigen Parametern verwenden.

Suchen von Protokollen in Syslog

Standardmäßig schreibt das System Protokolle in die /var/log/syslog Datei. Wenn Sie syslog als Ausgabespeicherort verwenden, können Sie Protokolle mithilfe des grep Befehls finden und die Zeichenfolge blobfuse als Parameter übergeben. Das folgende Beispiel zeigt, wie BlobFuse-Protokolle im Syslog gefunden werden.

grep blobfuse /var/log/syslog

Weiterleiten von Protokollen an ein lokales Verzeichnis

Die einfachste Möglichkeit zum Weiterleiten von Protokollen an einen anderen Speicherort als die /var/log/syslog Datei besteht darin, den Ausgabespeicherort base in Ihrer Konfigurationsdatei festzulegen.

Wenn Sie den Ausgabespeicherort syslogjedoch beibehalten möchten, können Sie stattdessen Protokolle aus der /var/log/syslog Datei an einen separaten Dateispeicherort umleiten. Das folgende Beispiel zeigt, wie Sie dies tun können:

Hinweis

Die für diese Befehle erforderlichen Dateien sind Teil des BlobFuse-Pakets. Sie finden sie auch im Quellcode unter dem systemd Verzeichnis.

copy setup/11-blobfuse2.conf to /etc/rsyslog.d/
copy setup/blobfuse2-logrotate to /etc/logrotate.d/
service rsyslog restart

LibFuse-Protokollierung aktivieren

Die LibFuse-Bibliothek bietet eine Option -d im mount-Befehl, um die ausführliche Protokollierung auf der Konsole zu aktivieren. Diese Option ermöglicht Debugprotokolle in der Bibliothek und druckt alle Systemaufrufe, die zusammen mit ihren Rückgabewerten auf der Konsole ausgeführt werden. Alternativ können Sie die LibFuse-Protokollierung aktivieren, indem Sie den Konfigurationsdateiparameter libfuse.fuse-trace: trueangeben.

Aktivieren der SDK-Protokollierung

Wenn die Protokolle angeben, dass das Problem aus dem Speicher-SDK stammt, aktivieren Sie die SDK-Protokollierung, um detaillierte Protokolle der REST-Aufrufe zu erhalten. Anhand dieser Informationen können Sie diagnostizieren, ob sich ein Problem in BlobFuse, im SDK oder im Dienst befindet. Um die SDK-Protokollierung zu aktivieren, geben Sie den Konfigurationsdateiparameter azstorage.sdk-trace: truean.

Nächste Schritte

Siehe auch