Auf dieser Seite wird erläutert, wie Sie Traces mithilfe 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, das zeigt, wie Sie mithilfe der Google Cloud CLI-Befehle Folgendes auflisten: Senke erstellen, beschreiben, aktualisieren und löschen, siehe Ende-zu-Ende-Beispiel.
Terminologie
Um die Beispiele auf dieser Seite zu vereinfachen, wurden Umgebungsvariablen verwendet.
In den Beispielen für die Google Cloud CLI werden die folgenden Umgebungsvariablen verwendet:
SINK_ID
: Der Name oder die ID der Senke. Beispiel:my-sink
Sie müssen nicht den voll qualifizierten Befehl die Google Cloud CLI, da sie Ihr Google Cloud-Projekt bestimmen 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 mithilfe 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 Identität des Autors 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 mit der Google Cloud Console finden Sie unter Zugriff auf ein Dataset steuern.
Fügen Sie die Berechtigungen mithilfe der Google Cloud CLI hinzu, indem Sie die Befehl
add-iam-policy-binding
und geben Sie Ihre Google Cloud an Projekt-ID und 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
So listen Sie die im Standardprojekt definierten Senken mithilfe der Google Cloud CLI auf: führen Sie den folgenden Befehl aus:
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 mithilfe der 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 mit 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
So löschen Sie die Senke, deren Kennung in SINK_ID
gespeichert ist:
Führen Sie mithilfe der Google Cloud CLI den folgenden Befehl aus:
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 die Senke zu aktualisieren, deren ID in SINK_ID
mit der Google Cloud CLI 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 gezeigt, wie Sie eine Senke mit den Befehlen der Google Cloud CLI auflisten, erstellen, beschreiben, aktualisieren und löschen. Die Befehle wurden für ein Projekt ausgeführt
durch die Projekt-ID a-sample-project
. 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 die Google Cloud CLI mindestens Version 274.0.0 hat:
$ 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 Umgebungsvariablen fest, die vom Google Cloud CLI-Befehl verwendet werden:
$ 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 vorherigen Antwort ausführen, Sie müssen
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 der Senke gibt einen Google Cloud CLI-Befehl zurück, den Sie zum Aktualisieren der Berechtigung verwenden kann.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 mit dem Metrics Explorer die Messwerte für eine überwachte Ressource auf:
-
Rufen Sie in der Google Cloud Console die Seite leaderboard Metrics Explorer auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- 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 Nach 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 fest. und setzen das zweite Menü auf Status.
Diese Auswahlen führen zu einer einzelnen Zeitachse für jeden eindeutigen Statuswert. In der folgenden Tabelle sehen Sie den möglichen Status Werte:
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, wird im Diagramm, das mit den vorherigen Einstellungen erstellt wurde, eine einzelne Zeitachse mit dem Statuswert ok
angezeigt. Wenn während des Exports Fehler auftreten, werden im Diagramm zusätzliche Zeitachsen angezeigt.
Benachrichtigungsrichtlinie erstellen
Um eine Benachrichtigungsrichtlinie zu erstellen, die ausgelöst wird, wenn beim Exportieren von Cloud Trace-Daten nach BigQuery Fehler auftreten, verwenden Sie die folgenden Einstellungen:
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 BigQuery 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:
Authentication
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]
wobei
[OTHER_ARGS]
(Optional): Lassen Sie dieses Feld weg, wenn Sie eineGET
-Anfrage stellen. Ersetzen Sie bei anderen Arten von HTTP-Anfragen diesen Platzhalter durch den Anfragetyp und alle zusätzlichen Daten, die zum Erfüllen 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
Dieser Abschnitt enthält Informationen zur Fehlerbehebung, mit denen Sie Fehler bei der Konfiguration eines Exports beheben können.
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.