Exporte konfigurieren

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-sink Sie 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_NUMBER dieGoogle Cloud Projektnummer des Ziels und DATASET_ID die BigQuery-Dataset-ID.

In den curl-Beispielen werden die folgenden Umgebungsvariablen verwendet:

  • ACCESS_TOKEN: Speichert das Autorisierungstoken. Weitere Informationen finden Sie unter curl 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 einer TraceSink-Ressource. Die TraceSink-Ressource enthält einen Namen und das Ziel der Senke. Der Name muss die Google Cloud -Projektnummer angeben.
  • DESTINATION: Speichert den vollständig qualifizierten Namen des Ziels. Dies muss ein BigQuery-Dataset sein.

Ziel konfigurieren

So exportieren Sie Traces in BigQuery:

  1. Erstellen Sie das Ziel-Dataset.

  2. Erstellen Sie die Senke mit der Cloud Trace API oder der Google Cloud CLI. Weitere Informationen finden Sie unter Senke erstellen.

  3. Weisen Sie der Senke die Rolle dataEditor für Ihr BigQuery-Dataset zu:

    1. 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.

    2. 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-binding und 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.dataEditor
        

        Im vorherigen Befehl ist WRITER_IDENTITY eine Umgebungsvariable, die die Identität des Autors der Senke speichert, und DESTINATION_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 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.