Exporte konfigurieren

Auf dieser Seite wird erläutert, wie Sie Traces mithilfe der Cloud Trace API und des gcloud-Befehlszeilentools exportieren. Sie müssen Cloud SDK-Version 274.0.0 oder höher verwenden. Informationen zum Aktualisieren von Cloud SDK finden Sie unter gcloud components update .

Einige Beispiele auf dieser Seite wurden mit curl generiert. Informationen zum Konfigurieren dieses Tools finden Sie unter curl verwenden.

Terminologie

Um die Beispiele auf dieser Seite zu vereinfachen, wurden Umgebungsvariablen verwendet.

In den Beispielen des gcloud-Befehlszeilentools 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 dem gcloud-Befehlszeilentool bereitstellen, da er 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 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 Senkenziel. 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 nach BigQuery:

  1. Erstellen Sie das Ziel-Dataset.

  2. Erstellen Sie die Senke mithilfe der Cloud Trace API oder des gcloud-Befehlszeilentools. 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 Identität des Autors für eine Senke ist in den Antwortdaten für den Befehl "create" enthalten. Er 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 dem gcloud-Befehlszeilentool 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 Identitäten des Autors aufzulisten.

Protokoll

Wenn Sie Senken mithilfe von curl auflisten möchten, senden Sie eine GET-Anfrage an:

https://staging-cloudtrace.sandbox.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks

Die folgende Anfrage ruft beispielsweise alle Senken ab:

curl  --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}"  https://staging-cloudtrace.sandbox.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks

gcloud-Befehl

Führen Sie den folgenden Befehl aus, um die mit dem Standardprojekt definierten Senken mit dem gcloud-Befehlszeilentool aufzulisten:

gcloud alpha trace sinks list

Details zu einer bestimmten Senke anzeigen

Wenn Sie die Details einer bestimmten Senke in Ihrem Google Cloud-Projekt anzeigen lassen möchten, rufen Sie die Methode traceSinks.get auf.

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://staging-cloudtrace.sandbox.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://staging-cloudtrace.sandbox.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}

gcloud-Befehl

Führen Sie den folgenden Befehl aus, um mithilfe des gcloud-Befehlszeilentools die Details der Senke anzuzeigen, deren ID in SINK_ID gespeichert ist:

gcloud alpha trace sinks describe ${SINK_ID}

Senke erstellen

Rufen Sie die Methode traceSinks.create auf, um eine Senke in Ihrem Google Cloud-Projekt zu erstellen. 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.

Protokoll

Um eine Senke mit curl zu erstellen, senden Sie eine POST-Anfrage an:

https://staging-cloudtrace.sandbox.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://staging-cloudtrace.sandbox.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks

gcloud-Befehl

Führen Sie den folgenden Befehl aus, um eine Senke mit dem gcloud-Befehlszeilentool zu erstellen:

gcloud alpha trace sinks create ${SINK_ID} ${DESTINATION}

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.

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://staging-cloudtrace.sandbox.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}

Die folgende Anfrage löscht beispielsweise eine Senke:

curl  --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}"  -X DELETE https://staging-cloudtrace.sandbox.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}

gcloud-Befehl

Führen Sie den folgenden Befehl aus, um die Senke, deren ID in SINK_ID gespeichert ist, mit dem gcloud-Befehlszeilentool zu löschen:

gcloud alpha trace sinks delete ${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.

Protokoll

Um das Ziel der Senke zu aktualisieren, deren ID in SINK_ID mit curl gespeichert ist, senden Sie eine PATCH-Anfrage an:

https://staging-cloudtrace.sandbox.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://staging-cloudtrace.sandbox.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}?update_mask=output_config.destination

Ein Beispiel für SINK_BODY finden Sie im Beispiel zum Erstellen einer Senke.

gcloud-Befehl

Führen Sie den folgenden Befehl aus, um die Senke zu aktualisieren, deren ID in SINK_ID mit dem gcloud-Befehlszeilentool gespeichert ist:

gcloud alpha trace sinks update ${SINK_ID} ${DESTINATION}

Die Umgebungsvariable DESTINATION speichert das neue Ziel für die Senke.

Nach dem Aktualisieren einer Senke kann es einige Minuten dauern, bis Trace-Spans an das neue Ziel exportiert werden.

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

  1. Erstellen Sie eine Umgebungsvariable für Ihre Google Cloud-Projekt-ID:

    PROJECT_ID=my-project
    
  2. Erstellen Sie eine Umgebungsvariable für Ihre Google Cloud-Projektnummer.

    PROJECT_NUMBER=12345
    
  3. Authentifizieren Sie das Cloud SDK:

    gcloud auth login
    
  4. Legen Sie die standardmäßige Google Cloud-Projekt-ID fest:

    gcloud config set project ${PROJECT_ID}
    
  5. Erstellen Sie ein Autorisierungstoken und speichern Sie es in einer Umgebungsvariablen:

    ACCESS_TOKEN=`gcloud auth print-access-token`
    
  6. 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 aus, wenn Sie eine GET-Anfrage senden. Bei anderen Arten von HTTP-Anfragen ersetzen Sie diesen Platzhalter durch den Anfragetyp und alle zusätzlichen 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

Beispiel

In diesem Abschnitt wird gezeigt, wie Sie mit den Befehlen des gcloud-Befehlszeilentools 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 sind. 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

  1. 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]
    
  2. Prüfen Sie, ob das gcloud-Befehlszeilentool mindestens 274.0.0 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
    
  3. Identifizieren 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

  1. Legen Sie die Umgebungsvariablen fest, die vom Befehl des gcloud-Befehlszeilentools 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 Ziel und Senke im selben Projekt. Dies ist nicht zwingend erforderlich, Die Senke und das Ziel können sich in verschiedenen Google Cloud-Projekten befinden.

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

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

    Beachten Sie, dass der Name des Dienstkontos export-0000001cbe991a08-3434 enthält. Die Zahl 0000001cbe991a08 ist die Hexadezimaldarstellung von PROJECT_NUMBER. Der Wert 3434 ist ein zufälliger Wert.

    Bevor Sie das gcloud-Befehlszeilentool in der obigen Antwort ausführen, müssen Sie bigquery-project durch Ihre Projekt-ID ersetzen.

  2. 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
    
  3. 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
    
  4. Erteilen Sie der Schreibidentität der Senke die Berechtigung bigquery.dataEditor. Mit dem Befehl zum Erstellen einer Senke wird der Befehl des gcloud-Befehlszeilentools 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-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 Identität des Autors 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@gcp-sa-computescanning.iam.gserviceaccount.com
      role: roles/computescanning.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:123456789000-compute@developer.gserviceaccount.com
      - serviceAccount:123456789000@cloudservices.gserviceaccount.com
      - serviceAccount:service-123456789000@containerregistry.iam.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:

  1. Aktualisieren Sie die Umgebungsvariablen DATA_SET_NAME und DESTINATION:

    $ 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 nach der Änderung von DATA_SET_NAME oder PROJECT_NUMBER.

  2. Senkenziel ändern:

    $ gcloud alpha trace sinks update ${SINK_ID} ${DESTINATION}
    

    Eine Beispielausgabe sieht so aus:

    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 anzeigt, wenn Trace-Daten nach BigQuery exportiert werden. Sie können auch eine Benachrichtigungsrichtlinie erstellen, um Sie über Exportfehler zu informieren.

Diagramm erstellen

So rufen Sie mit dem Metrics Explorer die Messwerte für eine überwachte Ressource auf:

  1. Wechseln Sie in der Google Cloud Console zu Monitoring oder verwenden Sie die folgende Schaltfläche:
    Zu Monitoring
  2. Klicken Sie im Navigationsbereich von Monitoring auf Metrics Explorer.
  3. Prüfen Sie, ob der Tab Messwert ausgewählt ist.
  4. Klicken Sie in das Feld mit der Bezeichnung Find resource type and metric und treffen Sie Ihre Auswahl über das Menü oder geben Sie den Namen für die Ressource und den Messwert ein. Verwenden Sie die folgenden Informationen, um die Felder für dieses Textfeld auszufüllen:
    1. Geben Sie Cloud Trace als Ressourcentyp ein.
    2. Wählen Sie für den Messwert Nach BigQuery exportierte Spans aus.
  5. Mit den Menüs Filter, Gruppieren nach und Aggregation können Sie die Darstellung der Daten ändern. Verwenden Sie für dieses Diagramm die folgenden Einstellungen:
    1. Lassen Sie das Feld Filter leer. Bei dieser Auswahl werden im Diagramm alle Statusdaten angezeigt.
    2. Wählen Sie status für das Feld Gruppieren nach aus. Diese Auswahl ergibt eine einzelne Zeitachse für jeden eindeutigen Statuswert. In der folgenden Tabelle sind die möglichen Statuswerte aufgeführt:
      Wert StatusBedeutung und Korrekturmaßnahmen
      ok Die Datenübertragung war erfolgreich.
      bigquery_permission_denied Der Datenexport an das Ziel ist fehlgeschlagen. Der Export kann aus folgenden Gründen 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-Projekt hat sein BigQuery-Streaming-Kontingent überschritten. Siehe Kontingent erschöpft.
      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 in Stack Overflow, um dieses Problem zu beheben. Weitere Informationen finden Sie unter Support erhalten.
    3. Belassen Sie die Felder für Aggregator auf den Standardwerten
    Weitere Informationen finden Sie unter Messwerte auswählen.

Wenn die Trace-Senke Daten erfolgreich exportiert, wird im Diagramm mit den vorherigen Einstellungen eine einzelne Zeitachse mit dem Statuswert ok angezeigt. Wenn während des Exports Fehler auftreten, werden zusätzliche Zeitachsen im Diagramm 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:

Bereich Ziel
Feld

Wert
Resource type Cloud Trace
Metric Spans Exported to BigQuery
Filter status != ok
Group by status
Aggregator sum
Advanced Aggregation Aligner: rate
Alignment Period: 1 m
Bereich Bedingungen
Feld

Wert
Condition triggers if Any time series violates
Condition is above
Threshold 0
For 1 minute

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.

Um diesen Fehler zu beheben, ersetzen Sie a-sample-project:dataset_1 durch dataset_1 und führen Sie 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 Dataset-Namen. Zum Auflisten der Datasets im 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 von PROJECT_NUMBER und DATA_SET_NAME abhängt, müssen diese beiden Variablen zuerst festgelegt werden. Wenn Sie eine dieser beiden Variablen ändern, müssen Sie auch den in DESTINATION gespeicherten Wert aktualisieren.

  • Führen Sie den folgenden Befehl aus, um Ihre 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}

Die Antwort dieses Befehls beschreibt alle IAM-Bindungen. In diesem Fall wird das Ergebnis angezeigt. Die Identität des Senkenautors hat die Rolle dataEditor:

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 anhalten oder unvollständig sind, ist Ihr BigQuery-Streamingkontingent möglicherweise erschöpft. Wenn Sie Ihr Kontingent aufrufen möchten, gehen Sie zur Seite IAM und Verwaltung und wählen Sie Kontingente aus. Suchen Sie nach der BigQuery API. Es gibt zwei relevante Einträge: Streamingzeilen pro Minute und Ressource, Streaming-Byte pro Minute und Ressource.

Kontingente aufrufen

Nächste Schritte

Informationen zum BigQuery-Schema finden Sie unter Nach BigQuery exportieren.