Data Boost-Nutzung überwachen

Auf dieser Seite wird beschrieben, wie Sie Cloud Monitoring und Spanner-Audit-Logs verwenden, um die Nutzung von Spanner Data Boost zu überwachen und zu analysieren.

Mit Monitoring können Sie die Gesamtnutzung im Zeitverlauf verfolgen und nach Nutzer aufschlüsseln. Spanner-Audit-Logs ermöglichen eine flexiblere Nutzungsanalyse, einschließlich der Bereitstellung von Messwerten nach Nutzer oder BigQuery-Job-ID.

Monitoring verwenden, um die Data Boost-Nutzung zu verfolgen

So können Sie die Gesamtnutzung von Data Boost im Blick behalten:

  1. Rufen Sie in der Google Cloud Console Monitoring auf.
    Zu Monitoring
  2. Wenn der Metrics Explorer im Navigationsmenü angezeigt wird, wählen Sie ihn aus. Klicken Sie andernfalls auf Ressourcen und wählen Sie dann Metrics Explorer aus.
  3. Wählen Sie oben auf der Seite ein Zeitintervall aus.
  4. Geben Sie in der Drop-down-Liste Messwert im Feld Nach Ressourcen- oder Messwertname filtern den Wert spanner ein und drücken Sie Enter, um die Suche einzugrenzen.
  5. Wählen Sie in der Liste Messwert die Option Cloud Spanner-Instanz > Instanz > Verarbeitungseinheit pro Sekunde aus und klicken Sie dann auf Anwenden.

    Dadurch wird ein Liniendiagramm der aggregierten Data Boost-Nutzung für alle Spanner-Instanzen erstellt.

  6. So rufen Sie die Nutzung für eine bestimmte Instanz auf:

    1. Verwenden Sie das Feld Filter, um Filter wie die Instanz-ID hinzuzufügen.
    2. Klicken Sie auf +, um weitere Attribute hinzuzufügen.
  7. So rufen Sie eine Aufschlüsselung der Nutzung nach allen Instanzen auf:

    1. Klicken Sie auf das X neben den Filterfeldern, um alle Filter zu löschen.
    2. Wählen Sie in der Drop-down-Liste Aggregation die Option Summe und dann instance_id aus.
  8. Wenn Sie die Nutzung nach Hauptkonto aufschlüsseln möchten, wählen Sie im Drop-down-Menü des Operators Aggregation die Option Summe und dann credential_id aus.

Audit-Logs zur Analyse der Data Boost-Nutzung verwenden

Spanner-Audit-Logs ermöglichen eine flexiblere Analyse der Data Boost-Nutzung. Zusätzlich zur Möglichkeit, die Nutzung im Zeitverlauf nach Instanz oder Hauptkonto aufzuschlüsseln, wie es mit Monitoring möglich ist, können Sie mit Spanner-Audit-Logs, sofern aktiviert und verfügbar, die Nutzung im Zeitverlauf nach Datenbank oder BigQuery-Job-ID aufschlüsseln.

Durch das Aktivieren von Audit-Logs können zusätzliche Kosten anfallen. Informationen zu den Preisen für Cloud Logging finden Sie unter Preise für Google Cloud Observability: Logging.

Audit-Logs zur Nutzung von Data Boost aktivieren

Sie müssen Audit-Logs zum Datenzugriff für Spanner aktivieren, bevor Sie Nutzungsdaten für Data Boost erfassen können. Führen Sie dazu die folgenden Schritte aus:

  1. Folgen Sie der Anleitung unter Audit-Logs zum Datenzugriff mit der Google Cloud Console konfigurieren.
  2. Aktivieren Sie den Logtyp Datenlesevorgänge für den Dienst Spanner API.
  3. Wenn Sie die Data Boost-Nutzung nach SQL-Text des BigQuery-Jobs abrufen möchten, müssen die Audit-Logs für BigQuery ebenfalls aktiviert sein.

Nutzung nach Hauptkonto ansehen

So fragen Sie die Audit-Logs ab, um die Data Boost-Nutzung nach Nutzer aufzurufen:

  1. Rufen Sie in der Google Cloud Console den Log-Explorer auf.

    Zum Log-Explorer

  2. Klicken Sie im Navigationsmenü auf Loganalysen.

  3. Führen Sie die folgende Abfrage aus, um die Nutzung nach Nutzer und Datenbank in den letzten 7 Tagen anzuzeigen. Wenn Sie die Zeitspanne ändern möchten, für die die Nutzung angezeigt wird, ändern Sie den Ausdruck timestamp in der WHERE-Anweisung.

    SELECT
      SUM(CAST(JSON_VALUE(labels.data_boost_usage) AS INT64)) AS usage,
      REGEXP_EXTRACT(
        proto_payload.audit_log.resource_name,
        'projects/[^/]+/instances/[^/]+/databases/[^/]+') AS database,
      proto_payload.audit_log.authentication_info.principal_email AS principal_email
    FROM `PROJECT_NAME.global._Default._AllLogs`
    WHERE
      timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      AND resource.type = 'spanner_instance' AND operation.last IS NULL
      AND JSON_VALUE(labels.data_boost_usage) != ''
    GROUP BY database, principal_email;
    

    Ersetzen Sie PROJECT_NAME durch Ihren Projektnamen.

Das folgende Beispiel zeigt die Nutzung in Verarbeitungseinheiten für 4 Hauptkonten.

Data Boost-Nutzung nach Nutzer aus Audit-Logs

Nutzung nach BigQuery-Job-ID ansehen

So fragen Sie die Audit-Logs ab, um die Data Boost-Nutzung nach Datenbank, Nutzer und BigQuery-Job-ID aufgeschlüsselt aufzurufen:

  1. Rufen Sie in der Google Cloud Console den Log-Explorer auf.

    Zum Log-Explorer

  2. Klicken Sie im Navigationsmenü auf Loganalysen.

  3. Führen Sie die folgende Abfrage aus:

    SELECT
      SUM(CAST(JSON_VALUE(labels.data_boost_usage) AS INT64)) AS usage,
      REGEXP_EXTRACT(
        proto_payload.audit_log.resource_name,
        'projects/[^/]+/instances/[^/]+/databases/[^/]+') AS database,
      proto_payload.audit_log.authentication_info.principal_email AS principal_email,
      IFNULL(JSON_VALUE(labels.data_boost_workload_id), 'not from BigQuery') AS job_id
    FROM `PROJECT_NAME.global._Default._AllLogs`
    WHERE
      timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      AND resource.type = 'spanner_instance' AND operation.last IS NULL
      AND JSON_VALUE(labels.data_boost_usage) != ''
    GROUP BY database, principal_email, job_id;
    

    Ersetzen Sie PROJECT_NAME durch Ihren Projektnamen.

Das folgende Beispiel zeigt die Nutzung nach BigQuery-Job-ID.

Data Boost-Nutzung nach Job-ID

Nutzung nach BigQuery-SQL-Text ansehen

So rufen Sie die Data Boost-Nutzung für mehrere BigQuery-Jobs auf, aggregiert nach dem SQL-Text dieser Jobs:

  1. Rufen Sie in der Google Cloud Console den Log-Explorer auf.

    Zum Log-Explorer

  2. Klicken Sie im Navigationsmenü auf Loganalysen.

  3. Führen Sie die folgende Abfrage aus:

    SELECT
      SUM(
        CAST(
          JSON_VALUE(db.labels.data_boost_usage)
          AS INT64)) AS usage,
      JSON_VALUE(
        bq.proto_payload.audit_log.metadata.jobInsertion.job.jobConfig.queryConfig.query)
        AS bq_query
    FROM
      `PROJECT_NAME.global._Default._AllLogs` db,
      `PROJECT_NAME.global._Default._AllLogs` bq
    WHERE
      db.timestamp > TIMESTAMP_SUB(
        CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      AND db.resource.type = 'spanner_instance'
      AND JSON_VALUE(db.labels.data_boost_usage) != ''
      AND db.operation.last IS NULL
      AND bq.timestamp > TIMESTAMP_SUB(
        CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      AND bq.proto_payload.audit_log.method_name
        = 'google.cloud.bigquery.v2.JobService.InsertJob'
      AND bq.resource.type = 'bigquery_project'
      AND JSON_VALUE(
        bq.proto_payload.audit_log.metadata.jobInsertion.job.jobConfig.queryConfig.query)
        IS NOT NULL
      AND JSON_VALUE(db.labels.data_boost_workload_id)
        = REGEXP_EXTRACT(bq.proto_payload.audit_log.resource_name, '[^/]*$')
    GROUP BY bq_query
    ORDER BY usage DESC
    

    Ersetzen Sie PROJECT_NAME durch Ihren Projektnamen.

Das folgende Beispiel zeigt die Data Boost-Nutzung nach SQL-Text.

Data Boost-Nutzung nach SQL-Text

Data Boost-Benachrichtigung erstellen

Informationen zum Erstellen einer Benachrichtigung, die ausgegeben wird, wenn die Data Boost-Nutzung einen vordefinierten Grenzwert überschreitet, finden Sie unter Benachrichtigung für die Data Boost-Nutzung festlegen.

Nächste Schritte