Auf dieser Seite wird erläutert, wie Sie Traces mithilfe der Cloud Trace API und der Google Cloud CLI exportieren. Sie müssen die Google Cloud CLI-Version 274.0.0 oder höher 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 Google Cloud CLI-Beispielen werden die folgenden Umgebungsvariablen verwendet:
SINK_ID: Der Name oder die ID der Senke. Beispiel:my-sinkSie müssen den vollständig qualifizierten Befehl nicht der Google Cloud CLI bereitstellen, 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_NUMBERdieGoogle Cloud Projektnummer des Ziels undDATASET_IDdie BigQuery-Dataset-ID.
In den curl-Beispielen werden die folgenden Umgebungsvariablen verwendet:
ACCESS_TOKEN: Speichert das Autorisierungstoken. Weitere Informationen finden Sie untercurlverwenden.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-sinkSINK_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
dataEditorfür Ihr BigQuery-Dataset zu:Rufen Sie die Identität des Autors von 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.
Um die Berechtigungen mit der Google Cloud CLI hinzuzufügen, verwenden Sie den Befehl
add-iam-policy-bindingund geben Ihre Google Cloud-Projekt-ID und die Autorenidentität der Senke an:gcloud projects add-iam-policy-binding ${DESTINATION_PROJECT_ID} \ --member serviceAccount:${WRITER_IDENTITY} \ --role roles/bigquery.dataEditorIm vorherigen Befehl ist
WRITER_IDENTITYeine Umgebungsvariable, die die Identität des Autors der Senke speichert, undDESTINATION_PROJECT_IDdie 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 mit dem Standardprojekt definierten Senken mit der 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 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
Führen Sie den folgenden Befehl aus, um die Senke, deren ID in SINK_ID gespeichert ist, mit 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
Rufen Sie den Befehl traceSinks.patch auf, um eine Senke im Projekt Google Cloud 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 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 verschiedenenGoogle Cloud -Projekten befinden.
Konfigurationsschritte
Prüfen Sie die Standardprojekteinstellung:
$ gcloud config listBeispielantwort:
[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 274.0.0 ist:
$ gcloud --versionBeispielantwort:
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 lsBeispielantwort:
datasetId --------------- dataset_1 dataset_otherBeachten 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 verschiedenenGoogle 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 Wert3434ist ein zufälliger Wert.Bevor Sie die Google Cloud CLI in der vorherigen Antwort ausführen, müssen Sie
bigquery-projectdurch Ihre Projekt-ID ersetzen.Prüfen Sie, ob die Senke erstellt wurde:
$ gcloud alpha trace sinks listBeispielantwort:
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. Mit dem Befehl zum Erstellen einer Senke wird ein Google Cloud CLI-Befehl zurückgegeben, 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-projectdurch 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.dataEditorBeachten 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_NAMEundDESTINATION:$ 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_otherAktualisieren Sie den Wert von
DESTINATION, nachdem SieDATA_SET_NAMEoderPROJECT_NUMBERgeä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.comWenn 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.
- Wählen Sie in der Symbolleiste der Google Cloud Console Ihr Google Cloud -Projekt aus. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
- Maximieren Sie im Element Messwert das Menü Messwert auswählen, geben Sie
Spans Exported to BigQueryin 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 Übernehmen.
Verwenden Sie das Element Filter, um Filter hinzuzufügen, mit denen Zeitreihen aus den Abfrageergebnissen entfernt werden.
- 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 Mittelwert 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 okDie Datenübertragung war erfolgreich. bigquery_permission_deniedDer 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_exceededDas BigQuery-Streamingkontingent hat das BigQuery-Projekt überschritten. Siehe Kontingent aufgebraucht. invalid_span
internal_errors
invalid_destinationUnbekannter 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:
Authentifizierung
Erstellen Sie eine Umgebungsvariable für die ID Ihres Google Cloud -Projekts:
PROJECT_ID=my-project
Erstellen Sie eine Umgebungsvariable für die Projektnummer Ihres Google Cloud -Projekts:
PROJECT_NUMBER=12345
Google Cloud CLI authentifizieren:
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. 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
Dieser Abschnitt enthält Informationen zur Fehlerbehebung, die Ihnen helfen können, Fehler bei der Konfiguration eines Exports zu beheben.
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 lsaus.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_otherDa
DESTINATIONvom Wert vonPROJECT_NUMBERundDATA_SET_NAMEabhängt, müssen diese beiden Variablen zuerst festgelegt werden. Wenn Sie eine dieser beiden Variablen ändern, müssen Sie auch den inDESTINATIONgespeicherten 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_NUMBERprogrammatisch 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.