Auf dieser Seite wird erläutert, wie Sie Traces mit der Cloud Trace API und der Google Cloud CLI exportieren. Sie müssen Version 274.0.0 oder höher der Google Cloud CLI verwenden.
Informationen zum Aktualisieren der Google Cloud CLI finden Sie unter gcloud components update
.
Einige Proben auf dieser Seite wurden mit curl
generiert. Informationen zum Konfigurieren dieses Tools finden Sie unter curl
verwenden.
Ein Beispiel für die Verwendung der Google Cloud CLI-Befehle zum Auflisten, Erstellen, Beschreiben, Aktualisieren und Löschen einer Senke finden Sie unter End-to-End-Beispiel.
Terminologie
Um die Beispiele auf dieser Seite zu vereinfachen, wurden Umgebungsvariablen verwendet.
In den Beispielen der Google Cloud CLI werden die folgenden Umgebungsvariablen verwendet:
SINK_ID
: Der Name oder die ID der Senke. Beispiel:my-sink
Sie müssen den voll qualifizierten Befehl nicht an die Google Cloud CLI übergeben, da er Ihr Google Cloud-Projekt ermitteln kann.DESTINATION
: Speichert den vollständig qualifizierten Namen des Ziels. Dies muss ein BigQuery-Dataset sein. Ein gültiges Ziel ist beispielsweise:bigquery.googleapis.com/projects/DESTINATION_PROJECT_NUMBER/datasets/DATASET_ID
Dabei ist
DESTINATION_PROJECT_NUMBER
die Google Cloud-Projektnummer des Ziels undDATASET_ID
die BigQuery-Dataset-ID.
In den curl
-Beispielen werden die folgenden Umgebungsvariablen verwendet:
ACCESS_TOKEN
: Speichert das Autorisierungstoken. Weitere Informationen finden Sie untercurl
verwenden.PROJECT_ID
: Speichert die Google Cloud-Projekt-ID oder -Projektnummer.PROJECT_NUMBER
: Speichert die Google Cloud-Projektnummer.SINK_ID
: Der Name oder die ID der Senke. Beispiel:my-sink
SINK_BODY
: Speichert die Beschreibung einerTraceSink
-Ressource. Die TraceSink-Ressource enthält einen Namen und das Ziel der Senke. Der Name muss die Nummer des Google Cloud-Projekts angeben.DESTINATION
: Speichert den vollständig qualifizierten Namen des Ziels. Dies muss ein BigQuery-Dataset sein.
Ziel konfigurieren
So exportieren Sie Traces in BigQuery:
Erstellen Sie das Ziel-Dataset.
Erstellen Sie die Senke mit der Cloud Trace API oder der Google Cloud CLI. Weitere Informationen finden Sie unter Senke erstellen.
Weisen Sie der Senke die Rolle
dataEditor
für Ihr BigQuery-Dataset zu:Rufen Sie die Autorenidentität aus der Senke ab. Informationen zur Identität des Autors finden Sie unter Senkenattribute und Terminologie.
Die Autorenidentität für eine Senke ist in den Antwortdaten für den Befehl "create" enthalten. Sie ist auch in den Antwortdaten des Listenbefehls enthalten.
Fügen Sie die Identität des Autors der Senke als Dienstkonto dem BigQuery-Dataset hinzu und weisen Sie die Rolle des BigQuery-Dateneditors zu.
Informationen zum Hinzufügen der Berechtigungen mithilfe der Google Cloud Console finden Sie unter Zugriff auf ein Dataset steuern.
Verwenden Sie zum Hinzufügen der Berechtigungen über die Google Cloud CLI den Befehl
add-iam-policy-binding
und geben Sie die Google Cloud-Projekt-ID sowie die Identität des Autors der Senke an:gcloud projects add-iam-policy-binding ${DESTINATION_PROJECT_ID} \ --member serviceAccount:${WRITER_IDENTITY} \ --role roles/bigquery.dataEditor
Im vorherigen Befehl ist
WRITER_IDENTITY
eine Umgebungsvariable, die die Identität des Autors der Senke speichert, undDESTINATION_PROJECT_ID
die Google Cloud-Projekt-ID des BigQuery-Datasets.
Senken auflisten
Rufen Sie die Methode traceSinks.list
auf, um alle Senken in Ihrem Google Cloud-Projekt einschließlich ihrer Autorenidentitäten aufzulisten.
gcloud
Führen Sie den folgenden Befehl aus, um die im Standardprojekt definierten Senken über die Google Cloud CLI aufzulisten:
gcloud alpha trace sinks list
Protokoll
Wenn Sie Senken mithilfe von curl
auflisten möchten, senden Sie eine GET
-Anfrage an:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Die folgende Anfrage ruft beispielsweise alle Senken ab:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Details einer bestimmten Senke anzeigen
Rufen Sie die Methode traceSinks.get
auf, um die Details einer bestimmten Senke in Ihrem Google Cloud-Projekt anzuzeigen.
gcloud
Führen Sie den folgenden Befehl aus, um über die Google Cloud CLI die Details der Senke anzuzeigen, deren ID in SINK_ID
gespeichert ist:
gcloud alpha trace sinks describe ${SINK_ID}
Protokoll
Wenn Sie die Details der Senke anzeigen möchten, deren Kennung mit curl
in SINK_ID
gespeichert wird, senden Sie eine GET
-Anfrage an:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/%{SINK_ID}
Die folgende Anfrage ruft beispielsweise die Details der angegebenen Senke ab:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Senke erstellen
Rufen Sie zum Erstellen einer Senke in Ihrem Google Cloud-Projekt die Methode traceSinks.create
auf.
Das Ziel einer Senke muss ein BigQuery-Dataset sein.
Dieses Dataset muss vorhanden sein, bevor Sie die Senke erstellen. Trace prüft nicht, ob das Ziel vorhanden ist. Informationen zum Erstellen von BigQuery-Datasets finden Sie unter Datasets erstellen.
gcloud
Führen Sie den folgenden Befehl aus, um eine Senke mithilfe der Google Cloud CLI zu erstellen:
gcloud alpha trace sinks create ${SINK_ID} ${DESTINATION}
Protokoll
Um eine Senke mit curl zu erstellen, senden Sie eine POST
-Anfrage an:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Wenn Sie beispielsweise eine Senke mit dem Namen test_sink
erstellen möchten, um Trace-Spans nach test_dataset
im Projekt mit ${PROJECT_NUMBER}
zu exportieren, definieren Sie die Umgebungsvariable SINK_BODY
so:
SINK_BODY='{"name":"projects/12345/traceSinks/test_sink","output_config":{"destination":"bigquery.googleapis.com/projects/12345/datasets/test_dataset"}}'
Führen Sie den folgenden Befehl aus, um die Senke zu erstellen:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" --header "Content-Type: application/json" -X POST -d ${SINK_BODY} https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks
Nach dem Erstellen einer Senke kann es einige Minuten dauern, bis Trace-Spans an das Ziel exportiert werden.
Senke löschen
Rufen Sie den Befehl traceSinks.delete
auf, um eine Senke in Ihrem Google Cloud-Projekt zu löschen.
gcloud
Führen Sie den folgenden Befehl aus, um die Senke, deren ID in SINK_ID
gespeichert ist, mithilfe der Google Cloud CLI zu löschen:
gcloud alpha trace sinks delete ${SINK_ID}
Protokoll
Wenn Sie die Senke löschen möchten, deren ID in SINK_ID
mit curl
gespeichert ist, senden Sie eine DELETE
-Anfrage an:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Mit der folgenden Anfrage wird beispielsweise eine Senke gelöscht:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" -X DELETE https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Senke aktualisieren
Führen Sie den Befehl traceSinks.patch
aus, um eine Senke in Ihrem Google Cloud-Projekt zu aktualisieren.
Dieses Dataset muss vorhanden sein, bevor Sie die Senke erstellen. Trace prüft nicht, ob das Ziel vorhanden ist.
gcloud
Führen Sie den folgenden Befehl aus, um mit der Google Cloud CLI die Senke zu aktualisieren, deren ID in SINK_ID
gespeichert ist:
gcloud alpha trace sinks update ${SINK_ID} ${DESTINATION}
Die Umgebungsvariable DESTINATION
speichert das neue Ziel für die Senke.
Protokoll
Um das Ziel der Senke zu aktualisieren, deren ID in SINK_ID
mit curl
gespeichert ist, senden Sie eine PATCH
-Anfrage an:
https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}
Mit der folgenden Anfrage wird beispielsweise das Ziel einer Senke aktualisiert:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" --header "Content-Type: application/json" -X PATCH -d ${SINK_BODY} https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}?update_mask=output_config.destination
Das Beispiel SINK_BODY
zeigt, wie Sie eine Senke erstellen.
Nach dem Aktualisieren einer Senke kann es einige Minuten dauern, bis Trace-Spans an das neue Ziel exportiert werden.
End-to-End-Beispiel
In diesem Abschnitt wird beschrieben, wie Sie mit den Google Cloud CLI-Befehlen eine Senke auflisten, erstellen, beschreiben, aktualisieren und löschen. Die Befehle wurden für ein Projekt mit der Projekt-ID a-sample-project
ausgeführt. Dieses Projekt wurde vorkonfiguriert, sodass zwei BigQuery-Datasets enthalten. In diesen Beispielen befinden sich schließlich die Senke und das Ziel im selben Projekt. Dies ist nicht zwingend erforderlich. Die Senke und das Ziel können sich in verschiedenen Google Cloud-Projekten befinden.
Konfigurationsschritte
Prüfen Sie die Standardprojekteinstellung:
$ gcloud config list
Beispielantwort:
[compute] zone = us-east1-b [core] account = user@example.com disable_usage_reporting = True project = a-sample-project Your active configuration is: [default]
Prüfen Sie, ob für die Google Cloud CLI mindestens Version 274.0.0 installiert ist:
$ gcloud --version
Beispielantwort:
Google Cloud SDK 275.0.0 alpha 2020.01.03 beta 2020.01.03 bq 2.0.51 core 2020.01.03 gsutil 4.46 kubectl 2020.01.03
Ermitteln Sie die verfügbaren Datasets im Standardprojekt:
$ bq ls
Beispielantwort:
datasetId --------------- dataset_1 dataset_other
Beachten Sie, dass Sie bei der ersten Verwendung von
bq
-Befehlen möglicherweise das Projekt auswählen müssen.
Umgebungsvariablen einrichten
Legen Sie die vom Google Cloud CLI-Befehl verwendeten Umgebungsvariablen fest:
$ PROJECT_ID=a-sample-project $ PROJECT_NUMBER=123456789000 $ SINK_ID=a-sample-sink $ DATA_SET_NAME=dataset_1 $ DESTINATION=bigquery.googleapis.com/projects/${PROJECT_NUMBER}/datasets/${DATA_SET_NAME}
In diesem Beispiel befinden sich das Ziel und die Senke im selben Projekt. Dies ist nicht zwingend erforderlich. Die Senke und das Ziel können sich in verschiedenen Google Cloud-Projekten befinden.
Prüfen Sie die Einstellungen:
$ echo $SINK_ID a-sample-sink $ echo $DATA_SET_NAME dataset_1 $ echo $DESTINATION bigquery.googleapis.com/projects/123456789000/datasets/dataset_1
Senken auflisten
Führen Sie den folgenden Befehl aus, um alle Senken aufzulisten:
$ gcloud alpha trace sinks list
Da dieses Projekt keine Senken enthält, lautet die Antwort:
Listed 0 items.
Senke erstellen
Führen Sie den folgenden Befehl aus, um eine Senke zu erstellen:
$ gcloud alpha trace sinks create ${SINK_ID} ${DESTINATION}
Beispielantwort:
You can give permission to the service account by running the following command. gcloud projects add-iam-policy-binding bigquery-project \ --member serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com \ --role roles/bigquery.dataEditor
Der Name des Dienstkontos enthält
export-0000001cbe991a08-3434
. Die Zahl 0000001cpe991a08 ist die hexadezimale Darstellung vonPROJECT_NUMBER
. Der Wert3434
ist ein zufälliger Wert.Bevor Sie die Google Cloud CLI in der obigen Antwort ausführen, müssen Sie
bigquery-project
durch Ihre Projekt-ID ersetzen.Prüfen Sie, ob die Senke erstellt wurde:
$ gcloud alpha trace sinks list
Beispielantwort:
NAME DESTINATION WRITER_IDENTITY a-sample-sink bigquery.googleapis.com/projects/123456789000/datasets/dataset_1 export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
Beschreiben Sie die Senke im Detail:
$ gcloud alpha trace sinks describe ${SINK_ID}
Beispielantwort:
destination: bigquery.googleapis.com/projects/123456789000/datasets/dataset_1 name: a-sample-sink writer_identity: export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
Erteilen Sie der Schreibidentität der Senke die Berechtigung
bigquery.dataEditor
. Der Befehl zum Erstellen einer Senke gibt einen Google Cloud CLI-Befehl zurück, mit dem Sie die Berechtigung aktualisieren können.Damit dieser Befehl erfolgreich ist, gehen Sie so vor:
- Gewährleisten Sie, dass Sie die Berechtigung zum Ändern der Zielberechtigungen haben.
- Ersetzen Sie
bigquery-project
durch Ihre Projekt-ID.
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com --role roles/bigquery.dataEditor
Beachten Sie, dass der erste Eintrag in dieser Beispielantwort die Autorenidentität der Senke ist:
Updated IAM policy for project [a-sample-project]. bindings: - members: - serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com role: roles/bigquery.dataEditor - members: - user:user@example.com role: roles/cloudtrace.admin - members: - serviceAccount:service-123456789000@compute-system.iam.gserviceaccount.com role: roles/compute.serviceAgent - members: - serviceAccount:service-123456789000@container-engine-robot.iam.gserviceaccount.com role: roles/container.serviceAgent - members: - serviceAccount:service-123456789000@container-analysis.iam.gserviceaccount.com role: roles/containeranalysis.ServiceAgent - members: - serviceAccount:service-123456789000@containerregistry.iam.gserviceaccount.com role: roles/containerregistry.ServiceAgent - members: - serviceAccount:123456789000-compute@developer.gserviceaccount.com - serviceAccount:123456789000@cloudservices.gserviceaccount.com role: roles/editor - members: - user:user@example.com role: roles/owner etag: BwWbqGVnShQ= version: 1
Senkenziel ändern
In diesem Beispiel wird das Ziel von dataset_1
in dataset_other
geändert:
Aktualisieren Sie die Umgebungsvariablen
DATA_SET_NAME
undDESTINATION
:$ DATA_SET_NAME=dataset_other $ DESTINATION=bigquery.googleapis.com/projects/${PROJECT_NUMBER}/datasets/${DATA_SET_NAME} $ echo ${DESTINATION} bigquery.googleapis.com/projects/123456789000/datasets/dataset_other
Aktualisieren Sie den Wert von
DESTINATION
, nachdem SieDATA_SET_NAME
oderPROJECT_NUMBER
geändert haben.Senkenziel ändern:
$ gcloud alpha trace sinks update ${SINK_ID} ${DESTINATION}
Eine Beispielausgabe ist:
Updated [https://cloudtrace.googleapis.com/v2beta1/projects/123456789000/traceSinks/a-sample-sink]. destination: bigquery.googleapis.com/projects/123456789000/datasets/dataset_other name: a-sample-sink writer_identity: export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
Führen Sie den Befehl "describe" aus, um die Details der Senke anzusehen:
$ gcloud alpha trace sinks describe ${SINK_ID} destination: bigquery.googleapis.com/projects/123456789000/datasets/dataset_other name: a-sample-sink writer_identity: export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
Wenn Sie das Ziel einer Senke aktualisieren, ändern Sie nicht die Identität des Senkenautors. Daher müssen Sie die Berechtigungen für die Senke nicht aktualisieren.
Senke löschen
Führen Sie den folgenden Befehl aus, um eine Senke zu löschen:
$ gcloud alpha trace sinks delete ${SINK_ID}
Beispielausgabe:
Really delete sink [a-sample-sink]? Do you want to continue (y/N)? y Deleted [https://cloudtrace.googleapis.com/v2beta1/projects/123456789000/traceSinks/a-sample-sink].
Sie können das Ergebnis prüfen, indem Sie den Befehl list
ausführen:
$ gcloud alpha trace sinks list Listed 0 items.
Validation
Sie können den Cloud Monitoring-Messwert exported_span_count
als Grundlage für ein Diagramm verwenden, das die Fehler beim Export von Trace-Daten nach BigQuery anzeigt. Sie können auch eine Benachrichtigungsrichtlinie erstellen, damit Sie benachrichtigt werden, wenn Exportfehler auftreten.
Diagramm erstellen
So rufen Sie die Messwerte für eine überwachte Ressource mit dem Metrics Explorer auf:
-
Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und anschließend leaderboard Metrics Explorer aus:
- Maximieren Sie im Element Messwert das Menü Messwert auswählen, geben Sie
Spans Exported to BigQuery
in die Filterleiste ein und wählen Sie dann über die Untermenüs einen bestimmten Ressourcentyp und Messwert aus:- Wählen Sie im Menü Aktive Ressourcen die Option Cloud Trace aus.
- Wählen Sie im Menü Aktive Messwertkategorien die Option Bigquery_explort aus.
- Wählen Sie im Menü Aktive Messwerte die Option In BigQuery exportierte Spans aus.
- Klicken Sie auf Anwenden.
- Konfigurieren Sie, wie die Daten angezeigt werden.
- Lassen Sie das Element Filter leer. Wenn Sie diese Option auswählen, werden im Diagramm alle Statusdaten angezeigt.
Legen Sie im Element Aggregation das erste Menü auf Mean und das zweite Menü auf status fest.
Diese Auswahl führt zu einer einzelnen Zeitachse für jeden eindeutigen Statuswert. In der folgenden Tabelle sind die möglichen Statuswerte aufgeführt:
Wert Status Bedeutung und Korrekturmaßnahmen ok
Die Datenübertragung war erfolgreich. bigquery_permission_denied
Der Datenexport an das Ziel ist fehlgeschlagen. Der Export kann aus einem der folgenden Gründe fehlschlagen:
- Das Dienstkonto in der Trace-Senke hat keine Berechtigung zum Schreiben in das Ziel-Dataset. Siehe Berechtigung verweigert.
- Das Ziel des Datasets in der Senke ist nicht vorhanden. Siehe Ungültiges Ziel.
- Interne BigQuery-Fehler. Dies ist ein unerwarteter und vorübergehender Fehler.
bigquery_quota_exceeded
Das BigQuery-Streamingkontingent hat das BigQuery-Projekt überschritten. Siehe Kontingent aufgebraucht. invalid_span
internal_errors
invalid_destination
Unbekannter Fehler, der den Export von Daten nach BigQuery verhindert. Wenden Sie sich an den technischen Support oder stellen Sie eine Frage auf Stack Overflow, um dieses Problem zu beheben. Weitere Informationen finden Sie unter Support.
Weitere Informationen zum Konfigurieren eines Diagramms finden Sie unter Messwerte bei Verwendung von Metrics Explorer auswählen.
Wenn die Trace-Senke Daten erfolgreich exportiert, zeigt das mit den vorherigen Einstellungen erstellte Diagramm eine einzelne Zeitachse mit dem Statuswert ok
an. Wenn während des Exports Fehler auftreten, werden im Diagramm zusätzliche Zeitachsen angezeigt.
Benachrichtigungsrichtlinie erstellen
Verwenden Sie die folgenden Einstellungen, um eine Benachrichtigungsrichtlinie zu erstellen, die ausgelöst wird, wenn beim Exportieren von Cloud Trace-Daten nach BigQuery Fehler auftreten.
Neue Bedingung Feld |
Wert |
---|---|
Ressource und Messwert | Wählen Sie im Menü Ressourcen die Option Cloud Trace aus. Wählen Sie im Menü Messwertkategorien die Option Bigquery_export aus. Wählen Sie im Menü Messwerte die Option Nach BigQuert exportierte Spans aus. |
Filter | status != ok |
Über Zeitreihen Zeitreihen gruppieren nach |
status |
Über Zeitreihen hinweg Zeitreihenaggregation |
sum |
Rollierendes Zeitfenster | 1 m |
Funktion für rollierendes Zeitfenster | rate |
Benachrichtigungstrigger konfigurieren Feld |
Wert |
---|---|
Bedingungstyp | Threshold |
Benachrichtigungstrigger | Any time series violates |
Grenzwertposition | Above threshold |
Grenzwert | 0 |
Zeitfenster noch einmal testen | 1 minute |
cURL verwenden
In diesem Abschnitt werden die Konventionen und die Einrichtung beschrieben, die beim Aufrufen der Cloud Trace API mit dem curl
-Tool verwendet werden:
Authentifizierung
Erstellen Sie eine Umgebungsvariable für Ihre Google Cloud-Projekt-ID:
PROJECT_ID=my-project
Erstellen Sie eine Umgebungsvariable für Ihre Google Cloud-Projektnummer:
PROJECT_NUMBER=12345
Authentifizieren Sie die Google Cloud CLI:
gcloud auth login
Legen Sie die standardmäßige Google Cloud-Projekt-ID fest:
gcloud config set project ${PROJECT_ID}
Erstellen Sie ein Autorisierungstoken und speichern Sie es in einer Umgebungsvariablen:
ACCESS_TOKEN=`gcloud auth print-access-token`
Prüfen Sie das Zugriffstoken:
echo ${ACCESS_TOKEN}
Die Antwort auf den Befehl sollte ein langer String sein. Auf einem System beginnt die Antwort beispielsweise so:
y29.GluiBjo....
curl
aufrufen
Jeder curl
-Befehl enthält eine Reihe von Argumenten, gefolgt von der URL einer Cloud Trace API-Ressource. Zu den häufig verwendeten Argumenten gehören Werte, die durch die Umgebungsvariablen PROJECT_ID
und ACCESS_TOKEN
angegeben werden.
Jeder curl
-Aufruf hat die folgende allgemeine Form:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" [OTHER_ARGS] https://cloudtrace.googleapis.com/[API_VERSION]/projects/${PROJECT_ID}/[RESOURCE]
Dabei gilt:
[OTHER_ARGS]
(Optional): Lassen Sie dieses Feld weg, wenn Sie eineGET
-Anfrage stellen. Bei anderen HTTP-Anfragen ersetzen Sie diesen Platzhalter durch den Anfragetyp und alle weiteren Daten, die zur Erfüllung der Anfrage erforderlich sind.[API_VERSION]
: Geben Sie die Version der API an.[RESOURCE]
: Geben Sie den Namen der Cloud Trace API-Ressource an.
Führen Sie beispielsweise folgenden Befehl aus, um die letzten 1.000 Traces in Ihrem Projekt aufzulisten:
curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v1/projects/${PROJECT_ID}/traces
Fehlerbehebung
Fehlermeldung "Ungültiges Argument" für Dataset
Die folgende Fehlermeldung gibt an, dass der Dataset-Name ungültig ist:
ERROR: (gcloud.alpha.trace.sinks.create) INVALID_ARGUMENT: Request contains an invalid argument. - '@type': type.googleapis.com/google.rpc.DebugInfo detail: '[ORIGINAL ERROR] generic::invalid_argument: sink destination is malformed: bigquery.googleapis.com/projects/123456789000/datasets/a-sample-project:dataset_1.
Der Fehler wird vom Ziel verursacht, einschließlich der Google Cloud-Projekt-ID a-sample-project
als Qualifizierer für den Dataset-Namen.
Zum Beheben dieses Fehlers, ersetzen Sie a-sample-project:dataset_1
durch dataset_1
und geben dann den Befehl "create" aus.
Beachten Sie, dass Sie Ihre Datasets mit dem Befehl bq ls
auflisten können.
Es werden keine Trace-Daten empfangen
Es gibt mehrere Gründe, warum Sie in BigQuery keine Trace-Daten empfangen können.
Ungültiges Ziel
Prüfen Sie den Dataset-Namen und die Projektnummer.
Prüfen Sie den Namen des Datasets. Zum Auflisten der Datasets in Ihrem aktuellen Projekt führen Sie
bq ls
aus.Wenn Sie sich für die Verwendung von Umgebungsvariablen entschieden haben, prüfen Sie mit einem echo-Befehl, ob der Wert der einzelnen Variablen korrekt ist. Prüfen Sie beispielsweise, ob Ihr Ziel korrekt ist:
$ echo ${DESTINATION} bigquery.googleapis.com/projects/123456789000/datasets/dataset_other
Da
DESTINATION
vom Wert vonPROJECT_NUMBER
undDATA_SET_NAME
abhängt, müssen diese beiden Variablen zuerst festgelegt werden. Wenn Sie eine dieser beiden Variablen ändern, müssen Sie auch den inDESTINATION
gespeicherten Wert aktualisieren.Führen Sie den folgenden Befehl aus, um die aktuelle Projektnummer zu ermitteln:
gcloud projects list --filter="${PROJECT_ID}"
Mit dem folgenden Befehl können Sie
PROJECT_NUMBER
programmatisch festlegen:$ PROJECT_NUMBER=`gcloud projects list --filter="${PROJECT_ID}" --format="value(PROJECT_NUMBER)"`
Ungültige Berechtigungen
Prüfen Sie, ob dem Dienstkonto die Rolle DataEditor
für BigQuery zugewiesen wurde. Sie können die Berechtigungen mit dem folgenden Befehl prüfen:
$ gcloud projects get-iam-policy ${PROJECT_ID}
In der Antwort dieses Befehls werden alle IAM-Bindungen beschrieben. Das Ergebnis wird in diesem Fall so dargestellt: Beachten Sie, dass die Identität des Senkenautors die Rolle dataEditor
hat:
bindings: - members: - serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com role: roles/bigquery.dataEditor - members: [Note, content truncated]
Kontingent erschöpft
Wenn Sie Daten empfangen und diese plötzlich stoppen oder Ihre Daten unvollständig sind, ist Ihr BigQuery-Streaming-Kontingent möglicherweise erschöpft. Wenn Sie Ihr Kontingent aufrufen möchten, gehen Sie zur Seite IAM & Verwaltung und wählen Sie Kontingente aus. Suchen Sie nach der BigQuery API. Es gibt zwei relevante Einträge: Streaming-Zeilen pro Minute und Ressource, Streaming-Byte pro Minute und Ressource.
Nächste Schritte
Informationen zum BigQuery-Schema finden Sie unter Nach BigQuery exportieren.