Überwachen von dbt Projects on Snowflake¶
In diesem Thema wird erklärt, wie Sie die Überwachungsfeatures für dbt Projects on Snowflake verwenden können, um die Ausführung von dbt-Projekten – manuell oder aufgabengeplant – und die Anzeige von Protokollen und Artefakten zu überprüfen.
Abschnitt |
Beschreibung |
|---|---|
Erfassen Sie Protokollierungs- und Ablaufverfolgungsereignisse für ein dbt-Projektobjekt und für eine geplante Aufgabe, die es ausführt. Um dieses Feature zu aktivieren, müssen Sie die Protokollierung, Ablaufverfolgung und Metriken für das Schema einstellen, in dem das dbt-Projektobjekt und die Aufgabe bereitgestellt werden. |
|
Wählen Sie in Snowsight im linken Navigationsmenü Transformation » dbt Projects aus, um den Ausführungsverlauf, die Task-Graphen und die Abfragedetails für dbt-Projektobjekte anzuzeigen. Wenn ein Arbeitsbereich mit einem dbt-Projektobjekt verbunden ist, das nach einem Aufgabenzeitplan ausgeführt wird, können Sie den Verlauf der Aufgabenausführung und Task-Graphen innerhalb des Arbeitsbereichs öffnen. |
|
Programmgesteuert auf dbt-Artefakte und -Protokolle zugreifen |
Verwenden Sie die Tabellenfunktion DBT_PROJECT_EXECUTION_HISTORYund die dbt-Systemfunktionen für den programmgesteuerten Zugriff auf dbt-Artefakte und -Protokolle. |
Überwachungsfeatures für dbt-Projektobjekte aktivieren¶
Um die Überwachungsfeatures für Ihr dbt-Projektobjekt zu aktivieren, legen Sie LOG_LEVEL, TRACE_LEVEL und METRIC_LEVEL für die Datenbank und das Schema fest, in denen Ihr dbt-Projektobjekt erstellt wird, wie im folgenden SQL-Beispiel gezeigt:
Geplante Ausführung von dbt-Projektobjekten überwachen¶
Wenn Sie ein bereitgestelltes dbt-Projektobjekt nach einem Zeitplan mithilfe einer Aufgabe ausführen und sich die Aufgabe in demselben Schema wie das dbt-Projektobjekt befindet, können Sie geplante Aufgaben direkt aus dem Arbeitsbereich anzeigen, indem Sie Connect und dann View Schedules auswählen.
Bemerkung
Dieses Feature ist nur für Arbeitsbereiche verfügbar, die mit einem dbt-Projektobjekt verbunden sind.
So überwachen Sie die geplante Ausführung eines dbt-Projektobjekts von einem Arbeitsbereich aus:
Wählen Sie aus dem dbt-Projektmenü auf der rechten Seite des Projektbereichs unter Scheduled runs die Option View schedules aus.
Wählen Sie in der Liste den Zeitplan (Aufgabe) aus, den Sie überprüfen möchten, und wählen Sie dann View details.
Der Informationsbereich der Aufgabe wird geöffnet. Hier können Sie die Task details, den Task-Graph (falls zutreffend) und den Run History dieser Aufgabe anzeigen. Weitere Informationen dazu finden Sie unter View tasks and task graphs in Snowsight.
Wählen Sie unter Run History für eine beliebige geplante dbt-Projektobjektausführung in der Liste ganz rechts die Schaltfläche „Open query history“ aus, um Abfragedetails, das Abfrageprofil und die Abfragetelemetrie für die Ausführung anzuzeigen. Weitere Informationen dazu finden Sie unter Details und Profil einer bestimmten Anfrage überprüfen.
dbt-Projektobjekte in Snowsight überwachen¶
Um detaillierte Überwachungsinformationen über die Ausführung von dbt-Projektobjekten anzuzeigen, navigieren Sie zu Transformations » dbt Projects in Snowsight. Sie müssen eine Rolle mit der MONITOR-Berechtigung verwenden, um Monitoring-Informationen für das dbt-Projektobjekt anzuzeigen. Weitere Informationen dazu finden Sie unter Zugriffssteuerung für dbt-Projekte in Snowflake.
Wählen Sie im Navigationsmenü die Option Transformation » dbt Projects aus. Ein Histogramm zeigt die Häufigkeit der Ausführungen von dbt-Projektobjekten und eine Liste der ausgeführten Projekte an.
Die Liste der dbt-Projektobjekte enthält Spalten mit den folgenden Informationen: Sie können die Liste nach Datumsbereich, Befehl und Ausführungsstatus filtern.
PROJECT: Der Name des dbt-Projektobjekts und die Anzahl der Ausführungen (Läufe) im ausgewählten Zeitraum.
LAST COMMAND: Der dbt-Befehl, der bei der letzten Ausführung ausgeführt wurde.
LAST RUN STATUS: Das Ergebnis der Ausführung: Succeeded, Executing`oder :ui:`Failed.
LAST RUN: Die verstrichene Zeit seit der letzten Ausführung. Um die Sortierreihenfolge umzukehren, wählen Sie die Spaltenüberschrift aus. Die letzte Ausführung wird standardmäßig zuerst angezeigt.
PREVIOUS RUNS: Die Anzahl der Ausführungen im ausgewählten Zeitraum nach Status.
DATABASE und SCHEMA: Die Datenbank und das Schema, in denen das dbt-Projektobjekt gespeichert ist.
LAST RUN PARAMETERS: Die dbt-Befehlszeilenargumente (ARGS), die im Befehl EXECUTE DBT PROJECT für die letzte Ausführung des dbt-Projektobjekts angegeben sind.
Um einzelne Projektausführungen zu prüfen, wählen Sie ein dbt-Projektobjekt aus der Liste aus.
Die Seite mit den Details des dbt-Projektobjekts im Datenbankobjekt-Explorer wird für dieses dbt-Projektobjekt geöffnet.
Die Registerkarte Run History ist standardmäßig ausgewählt. Sie enthält für jede Jobausführung im ausgewählten Zeitraum die folgenden Informationen:
COMMAND: Der dbt-Befehl, der bei der letzten Ausführung ausgeführt wurde.
STATUS: Das Ergebnis der Ausführung: Succeeded, Executing`oder :ui:`Failed.
RUN TIME: Die verstrichene Zeit seit der letzten Ausführung. Um die Sortierreihenfolge umzukehren, wählen Sie die Spaltenüberschrift aus. Die letzte Ausführung wird standardmäßig zuerst angezeigt.
PARAMETERS: Die dbt-Befehlszeilenargumente (ARGS), die im Befehl EXECUTE DBT PROJECT für die letzte Ausführung des dbt-Projektobjekts angegeben sind.
Um die Details für eine Ausführung anzuzeigen, wählen Sie diese in der Liste aus.
Die Seite Query Details wird für die EXECUTE DBT PROJECT-Abfrage geöffnet, die ausgeführt wurde. Die Seite enthält die folgenden Registerkarten:
Query Details – Zeigt den Ausführungsstatus, Startzeit, Endzeit, Dauer, Warehouse-Größe, Abfrage-ID und denSQL-Text des Befehls EXECUTE DBT PROJECT an. Zeigt auch Ergebnisse pro Modell für den dbt-Befehl an, der ausgeführt wurde (z. B.
build), einschließlich Modellname, benötigte Zeit und Status.Query Profile – Zeigt den Abfrageausführungsplan und die Performancestatistiken an.
Query Telemetry – Zeigt Telemetriedaten für die Ausführung an.
DAG – Visualisiert die Modelle, die während der Ausführung ausgeführt wurden, und deren Ergebnisse. Weitere Informationen dazu finden Sie unter DAG-Abfrageverlauf anzeigen.
Weitere Informationen dazu finden Sie unter Details und Profil einer bestimmten Anfrage überprüfen.
DAG-Abfrageverlauf anzeigen¶
Die Query Details für eine dbt-Projektobjektausführung umfassen eine DAG-Registerkarte, die visualisiert, was während der Ausführung ausgeführt wurde und welche Ergebnisse für jedes Modell vorliegen. Dies unterscheidet sich vom DAG auf der Seite „Projektdetails“, die als Dokumentationsebene für Ihr Projekt dient, einschließlich Modelle, Tests, Quellen und deren Abhängigkeiten.
Der DAG des Abfrageverlaufs wird aus den während einer Ausführung erzeugten manifest.json- und run_results.json-Artefakten erstellt. Wählen Sie einen Knoten im DAG aus, um ein Seitenpanel mit Details zu dieser spezifischen Abfrage zu öffnen, einschließlich der Abfrage-ID sowie eventueller Fehlermeldungen, falls die Abfrage fehlgeschlagen ist.
DAG-Abfrageverlauf anzeigen:
Wählen Sie im Navigationsmenü die Option Transformations » dbt Projects aus.
Wählen Sie in der Liste der dbt-Projektobjekte ein Projekt aus.
Wählen Sie auf der Registerkarte Run History eine Ausführung aus, um die Query Details für diese Ausführung zu öffnen.
Wählen Sie die Registerkarte DAG aus.
Bemerkung
Wenn der Abfrageverlauf DAG „Keine Daten verfügbar“ anzeigt, ist der Lauf wahrscheinlich fehlgeschlagen, bevor run_results.json generiert werden konnte. Weitere Informationen dazu finden Sie unter Einschränkungen für den DAG für Abfrageverläufe.
Programmgesteuert auf dbt-Artefakte und -Protokolle zugreifen¶
Verwenden Sie die Tabellenfunktion DBT_PROJECT_EXECUTION_HISTORY und die folgenden Systemfunktionen für den programmgesteuerten Zugriff auf dbt-Artefakte und -Protokolle.
Funktion |
Was zurückgegeben wird |
Typische Verwendung |
Anmerkungen |
|---|---|---|---|
Text-Protokollausgabe (der Protokolleintrag der Ausführung) |
Schnelles Debugging in SQL. Beispiel: Fehler und Warnungen anzeigen, ohne Dateien herunterzuladen. |
Gibt den Inhalt des Protokolls zurück. Es wird nichts erstellt oder verschoben. |
|
Ordnerpfad (z. B. |
Durchsuchen oder kopieren Sie bestimmte Dateien mit LIST, GET oder COPY FILES. |
Nur ein Locator (z. B URL). Sie führen immer noch GET/COPY FILES zum Abrufen aus. |
|
Einzelne ZIP-Datei URL (z. B. |
Nützlich, wenn Sie eine Datei herunterladen möchten (z. B. mit GET). |
Verwenden Sie |
Protokolle abrufen und eine ZIP-Datei der letzten dbt-Projektabfrage herunterladen¶
Im folgenden Beispiel wird der dbt-Ausführungsverlauf von Snowflake abgefragt, um die neueste Abfrage-ID für das dbt-Projektobjekt anzuzeigen. Es ruft die Protokollausgabe für diese Ausführung ab und gibt den Speicherort der komprimierten dbt-Artefakte für diese Ausführung zurück.
Das Snowflake CLI-Beispiel lädt die Artefakte-ZIP-Datei oder bestimmte Dateien (wie manifest.json) in Ihren lokalen Ordner mit GET herunter.
Um die ZIP-Datei aus Snowsight herunterzuladen, navigieren Sie zu Transformations » dbt Projects, wählen Sie Ihr Projekt aus, wählen Sie dann eine Ausführung aus, um zu Query Details zu navigieren, und wählen Sie Download Build Artifacts unter dbt Output.
Sie müssen eine Rolle mit der Berechtigung OWNERSHIP, USAGE oder MONITOR für Ihre dbt-Projektobjekte verwenden.
Tipp
Verwenden Sie Funktionsargumente wie DATABASE, SCHEMA und OBJECT_NAME, um Ergebnisse wann immer möglich zu filtern. Diese Filter werden vor RESULT_LIMIT (Standard: 100 Zeilen) angewendet. Somit erhalten Sie die relevantesten Ergebnisse, anstatt ein möglicherweise abgeschnittenes Resultset mit einer WHERE-Klausel zu filtern.
Um den Stagingbereichspfad anzuzeigen, in dem Snowflake die Ausführungsartefakte des dbt-Projektobjekts gespeichert hat, verwenden Sie die Funktion SYSTEM$LOCATE_DBT_ARTIFACTS. Sie können diesen Pfad dann mit GET oder COPY FILES mit der Snowflake CLI verwenden, um beispielsweise manifest.json, kompilierte SQL oder Protokolle herunterzuladen.
Sie können auch einen neuen internen Stagingbereich erstellen, den von Snowflake verwalteten Pfad für die Artefakte der angegebenen dbt-Projektobjektausführung suchen und diese Artefakte zum Abrufen in Ihren Stagingbereich kopieren, wie im folgenden Beispiel gezeigt: