Kosten mit Looker Studio visualisieren


Kombination des Cloud Billing-Datenexports nach BigQuery mit Looker Studio, um über die Google Cloud-Kosten auf dem neuesten Stand zu bleiben.

Auf dieser Seite wird gezeigt, wie Sie das Dashboard „Abrechnungsnutzung und Kosteneinblicke” mit Ihren Cloud Billing-Daten einrichten. Sie können über das Dashboard Fragen zu Ihren Google Cloud-Ausgaben beantworten, z. B. Wie viel gebe ich für Compute Engine-Ressourcen aus?

Beispielvisualisierung in Looker Studio

Sie können das Dashboard mithilfe dieser Anleitung oder dem folgenden Video einrichten:

Lernziele

In dieser Anleitung erfahren Sie, wie Sie diese Aufgaben ausführen:

  • Richten Sie mit Cloud Shell eine eigene Kopie des Dashboards „Abrechnungsnutzung und Kosteneinblicke” ein.

  • Erfahren Sie, wie Sie die Ansichten des Dashboards für komplexere Fälle ändern, z. B. wenn Sie mehrere Cloud-Rechnungskonten oder ein Cloud-Rechnungskonto in einer anderen Währung als US-Dollar haben.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Die Kosten für die Speicherung Ihrer Cloud Billing-Daten in BigQuery sind in der Regel kostenlos oder minimal. Je nach Größe des BigQuery-Datasets können Kosten für die Abfrage der Daten für die Analyse anfallen.

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Vorbereitung

  1. Cloud Billing-Datenexport nach BigQuery einrichten

    Damit Sie das Dashboard verwenden können, müssen Sie BigQuery-Exporte für die Standard und Detaillierten Cloud Billing-Nutzungsdaten aktivieren.

    Nachdem Sie den Datenexport aktiviert haben, dauert es etwa einen Tag, bis das Dataset mit Cloud Billing-Daten gefüllt wird. Oft wird zuerst eine Netzwerkdatenübertragung angezeigt, gefolgt von VM-Gebühren, der Cloud Pub/Sub-Nutzung usw. Sobald das Dataset Daten enthält, können Sie Abfragen vornehmen.

  2. Wenn Ihre Organisation bereits BigQuery-Exporte eingerichtet hat, benötigen Sie Berechtigungen zum Erstellen von BigQuery-Ansichten in dem Projekt, in dem die Datasets gehostet werden.

    Wenn Sie ein neues Dataset für die BigQuery-Ansichten erstellen möchten, benötigen Sie Berechtigungen zum Erstellen von BigQuery-Datasets.

  3. Rufen Sie die folgenden Informationen zu Ihrer Google Cloud-Umgebung ab:

    • Die Projekt-ID, in der Ihr BigQuery-Dataset in Cloud Billing gehostet wird.
    • Die Dataset-Namen für Ihre standardmäßigen und detaillierten Kostendatenexporte. Normalerweise befinden sich die Kostendatenexporte im selben Dataset.

Kopie des Dashboards erstellen

Zum Erstellen einer eigenen Kopie des Dashboards klonen Sie zuerst das GitHub-Repository, das den Prozess automatisiert. In diesem Schritt wird Cloud Shell verwendet. Dies ist eine interaktive Shell-Umgebung für Google Cloud, die Sie in Ihrem Browser verwenden können.

Auf übergeordneter Ebene führt das Einrichtungsskript im Repository die folgenden Aufgaben aus:

  • Erstellt ein neues BigQuery-Dataset mit Ansichten, die Daten aus Ihren standardmäßigen und detaillierten Kostendatenexporten abrufen.
  • Kopiert die Dashboard-Vorlage und verbindet die Kopie mit den BigQuery-Ansichten Ihrer Daten.
  • Stellt einen Looker Studio-Link zu Ihrer Kopie bereit, den Sie in Ihren Looker Studio-Dashboards speichern können.

So erstellen Sie Ihre Kopie:

  1. Öffnen Sie das GitHub-Repository in Cloud Shell:

    In Cloud Shell öffnen

  2. Rufen Sie das Verzeichnis billboard auf:

    cd examples/billboard
    
  3. Führen Sie die folgenden Befehle aus, um die Python-Umgebung für das Script einzurichten:

    rm -rf bill-env
    pip install virtualenv
    virtualenv bill-env
    source bill-env/bin/activate
    pip install -r requirements.txt
    
  4. Führen Sie das Script aus, mit dem Ihr Dashboard erstellt wird. Möglicherweise müssen Sie Cloud Shell autorisieren, in Ihrem Namen API-Aufrufe auszuführen:

    python billboard.py \
      -pr 'PROJECT_ID' \
      -se 'STANDARD_BILLING_EXPORT_DATASET' \
      -de 'DETAILED_BILLING_EXPORT_DATASET' \
      -bb 'BILLBOARD_DATASET'
    

    Die Variablen sind:

    • PROJECT_ID: Die Projekt-ID, die Ihre Cloud Billing-Datasets hostet.
    • STANDARD_BILLING_EXPORT_DATASET: Das BigQuery-Dataset, das Ihren Standard-Kostendatenexport enthält.
    • DETAILED_BILLING_EXPORT_DATASET: Das BigQuery-Dataset, das Ihren Kostendatenexport mit detaillierter Nutzung enthält.
    • BILLBOARD_DATASET: Der Name des BigQuery-Datasets, in dem die BigQuery-Ansichten für das Dashboard erstellt werden, z. B. example_dashboard_views. Wenn Sie noch kein Dataset für die Ansichten haben, erstellt das Script ein neues Dataset mit diesem Namen.

    Wenn das Script abgeschlossen ist, wird ein Looker Studio-Link zu Ihrem Dashboard angezeigt.

  5. Klicken Sie auf den Link Looker Studio, um das Dashboard zu öffnen.

  6. Klicken Sie in Looker Studio auf Bearbeiten und freigeben, um das Dashboard zu speichern. Wenn Sie aufgefordert werden, dem Bericht Datenquellen hinzuzufügen, klicken Sie auf Zum Bericht hinzufügen.

Sie können jetzt über die Looker Studio-Startseite auf Ihr Dashboard zugreifen.

(Erweitert) Daten für mehrere Cloud-Rechnungskonten ändern

Wenn das Dashboard Daten aus mehreren Cloud-Rechnungskonten enthalten soll, können Sie die BigQuery-Ansichten so ändern, dass die Exporte von Abrechnungsdaten für alle Cloud-Rechnungskonten eingeschlossen werden.

Vorbereitung

Führen Sie für jedes Cloud Billing-Konto, das Sie einschließen möchten, die Schritte aus, die in den Voraussetzungen für die Anleitung beschrieben sind.

BigQuery-Ansichten so aktualisieren, dass zusätzliche Cloud Billing-Exporte eingeschlossen werden

  1. Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.

    BigQuery aufrufen

  2. Wählen Sie das Projekt aus, das das von Ihnen erstellte Dataset für das Dashboard enthält.

  3. Maximieren Sie im Bereich Explorer Ihr Projekt und erweitern Sie dann das Dataset.

  4. Klicken Sie auf die Ansicht Rechnung, um deren Details anzuzeigen. In dieser Ansicht werden die Standardexportdaten für Kosten und Nutzungsdaten abgefragt.

  5. Klicken Sie auf den Tab Details und dann auf Abfrage bearbeiten. Die Abfrage für die Ansicht sieht in etwa so aus:

    SELECT *,
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) AS credits_sum_amount,
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) + cost as net_cost,
      PARSE_DATE("%Y%m", invoice.month) AS Invoice_Month,
       _PARTITIONDATE AS date
    from `PROJECT_ID.BILLING_ACCOUNT_EXPORT` s
    WHERE _PARTITIONDATE > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
    

    Dabei ist PROJECT_ID das Projekt, das den BigQuery-Standard-Kostendatenexport für Cloud Billing enthält und BILLING_ACCOUNT_EXPORT der Name der BigQuery-Tabelle mit Ihren Standard-Kostendaten.

  6. Duplizieren Sie die vorhandene Abfrage und ersetzen Sie in der FROM-Klausel die Projekt-ID und BigQuery-Tabelle durch Informationen für das zusätzliche Cloud-Rechnungskonto.

  7. Fügen Sie den Operator UNION ALL zwischen den beiden Abfragen hinzu, um die Daten zu kombinieren. Ihre endgültige Abfrage sieht etwa so aus: Hier werden die Datenexporte für BILLING_ACCOUNT_1 und BILLING_ACCOUNT_2 kombiniert, die sich in PROJECT_ID_1 und PROJECT_ID_2 befinden. bzw.

    SELECT *, --query for BILLING_ACCOUNT_1
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) AS credits_sum_amount,
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) + cost as net_cost,
      EXTRACT(DATE FROM _PARTITIONTIME) AS date
    FROM `PROJECT_ID_1.BILLING_ACCOUNT_1_EXPORT` s
    WHERE _PARTITIONTIME >"2021-01-01"
    UNION ALL
    SELECT *, --query for BILLING_ACCOUNT_2
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) AS credits_sum_amount,
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) + cost as net_cost,
      PARSE_DATE("%Y%m", invoice.month) AS Invoice_Month,
       _PARTITIONDATE AS date
    from `PROJECT_ID_2.BILLING_ACCOUNT_2_EXPORT` s
    WHERE _PARTITIONDATE > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
    
  8. Wiederholen Sie diese Schritte für die Ansicht billboard_detail, in der die detaillierten Kosten- und Nutzungsdaten abgefragt werden.

  9. Wenn eines Ihrer Konten in einer anderen Währung als US-Dollar angegeben ist, wiederholen Sie diese Schritte und verwenden Sie die Spalte currency_conversion_rate, um in US-Dollar zu konvertieren, ähnlich dem folgenden Beispiel:

    select *,
      (COALESCE((SELECT SUM(x.amount)
      FROM UNNEST(s.credits) x),0))/currency_conversion_rate AS credits_sum_amount,
        (COALESCE((SELECT SUM(x.amount)
        FROM UNNEST(s.credits) x),0))/currency_conversion_rate + cost/currency_conversion_rate as net_cost,
        'USD' as net_cost_currency,
         PARSE_DATE("%Y%m", invoice.month) AS Invoice_Month,
          _PARTITIONDATE AS date
    from `PROJECT_ID.BILLING_ACCOUNT_DATASET` s
    WHERE _PARTITIONDATE > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
    

Bereinigen

Wenn Sie das Dashboard nicht mehr verwenden möchten, klonen Sie das GitHub-Repository und führen Sie das Dashboard-Script mit der Option -clean aus. Das Script löscht die BigQuery-Ansichten, behält Ihr BigQuery-Export-Dataset jedoch bei.

  1. Öffnen Sie das GitHub-Repository in Cloud Shell:

    In Cloud Shell öffnen

  2. Rufen Sie das Verzeichnis billboard auf:

    cd examples/billboard
    
  3. Führen Sie die folgenden Befehle aus, um die Python-Umgebung für das Script einzurichten:

    pip install virtualenv
    virtualenv bill-env
    source bill-env/bin/activate
    pip install -r requirements.txt
    
  4. Führen Sie den Bereinigungsbefehl aus:

    python billboard.py \
      -pr 'PROJECT_ID' \
      -se 'STANDARD_BILLING_EXPORT_DATASET' \
      -de 'DETAILED_BILLING_EXPORT_DATASET' \
      -bb 'BILLBOARD_DATASET' \
      -clean yes
    

    Die Variablen sind:

    • PROJECT_ID: Die Projekt-ID, die Ihre Cloud Billing-Datasets hostet.
    • STANDARD_BILLING_EXPORT_DATASET: Das BigQuery-Dataset, das Ihren Kostendatenexport mit Standardnutzung enthält.
    • DETAILED_BILLING_EXPORT_DATASET: Das BigQuery-Dataset, das Ihren Kostendatenexport mit detaillierter Nutzung enthält.
    • BILLBOARD_DATASET: Das BigQuery-Dataset, in dem Sie die BigQuery-Ansichten für das Dashboard erstellt haben.
  5. Um das Looker Studio-Dashboard zu löschen, öffnen Sie Looker Studio, suchen Sie das Dashboard und klicken Sie im -Menü auf Entfernen.

Nächste Schritte