Visualiza tus costos con Looker Studio


Puedes combinar la exportación de datos de la Facturación de Cloud a BigQuery con Looker Studio para mantenerte al tanto de los costos de Google Cloud.

En esta página, se muestra cómo configurar el panel de estadísticas de costos y uso de facturación con tus datos de Facturación de Cloud. Puedes usar el panel para responder preguntas sobre tu gasto de Google Cloud, como ¿Cuánto gasto en recursos de Compute Engine?

Ejemplo de visualización en Looker Studio

Para configurar tu panel, sigue este instructivo o mira el siguiente video:

Objetivos

En este instructivo, se muestra cómo completar estas tareas:

  • Configura tu propia copia del panel de estadísticas de costos y uso de facturación con Cloud Shell.

  • Obtén información sobre cómo modificar las vistas del panel para casos avanzados, como si tienes varias cuentas de Facturación de Cloud o una cuenta en una moneda distinta del dólar estadounidense.

Costos

En este documento, usarás los siguientes componentes facturables de Google Cloud:

El costo de almacenar los datos de la Facturación de Cloud en BigQuery suele ser gratuito o mínimo. Según el tamaño del conjunto de datos de BigQuery, es posible que se generen costos por consultar los datos para su análisis.

Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios. Es posible que los usuarios nuevos de Google Cloud califiquen para obtener una prueba gratuita.

Antes de comenzar

  1. Configura la exportación de datos de la Facturación de Cloud a BigQuery.

    Para usar el panel, debes habilitar las exportaciones de BigQuery para los datos de uso de la Facturación de Cloud estándar y detallados.

    Después de habilitar la exportación de datos, el conjunto de datos tarda alrededor de un día en propagarse con los datos de Facturación de Cloud. Es posible que primero veas una salida de red; luego, algunos cargos de VM; luego, el uso de Pub/Sub, etc. Una vez que tienes los datos en el conjunto de datos, puedes ejecutar consultas.

  2. Si tu organización ya tiene configuradas las exportaciones de BigQuery, debes tener permisos para crear vistas de BigQuery en el proyecto que aloja los conjuntos de datos.

    De manera opcional, si deseas crear un conjunto de datos nuevo para las vistas de BigQuery, debes tener permisos a fin de crear conjuntos de datos de BigQuery.

  3. Obtén la siguiente información sobre tu entorno de Google Cloud:

    • ID del proyecto en el que se aloja tu conjunto de datos de BigQuery de la Facturación de Cloud.
    • Los nombres de conjuntos de datos para tus exportaciones de datos de costos estándar y detallados. Por lo general, las exportaciones de datos de costos se encuentran en el mismo conjunto de datos.

Crea tu copia del panel

Si deseas crear tu propia copia del panel, primero debes clonar el repositorio de GitHub que automatiza el proceso. En este paso, se usa Cloud Shell, que es un entorno de shell interactivo para Google Cloud que puedes usar desde el navegador.

En términos generales, la secuencia de comandos de configuración en el repositorio realiza estas tareas:

  • Crea un nuevo conjunto de datos de BigQuery, con vistas que recuperan datos de tus exportaciones de datos de costos estándar y detallados.
  • Copia la plantilla del panel y conecta la copia a las vistas de BigQuery de tus datos.
  • Te da un vínculo de Looker Studio a tu copia, que puedes guardar en tus paneles de Looker Studio.

Para crear tu copia, haz lo siguiente:

  1. Abre el repositorio de GitHub en Cloud Shell:

    Abrir en Cloud Shell

  2. Navega al directorio billboard:

    cd examples/billboard
    
  3. Ejecuta los siguientes comandos a fin de configurar el entorno de Python para la secuencia de comandos:

    rm -rf bill-env
    pip install virtualenv
    virtualenv bill-env
    source bill-env/bin/activate
    pip install -r requirements.txt
    
  4. Ejecuta la secuencia de comandos que crea tu panel. Es posible que debas autorizar a Cloud Shell para que realice llamadas a la API en tu nombre:

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

    En el ejemplo anterior, las variables son las siguientes:

    • PROJECT_ID: el ID del proyecto que aloja los conjuntos de datos de la Facturación de Cloud.
    • STANDARD_BILLING_EXPORT_DATASET: el conjunto de datos de BigQuery que contiene tu exportación de datos de costos estándar.
    • DETAILED_BILLING_EXPORT_DATASET: el conjunto de datos de BigQuery que contiene la exportación de datos de costos de uso detallados.
    • BILLBOARD_DATASET: el nombre del conjunto de datos de BigQuery en el que se crean las vistas de BigQuery del panel, por ejemplo, example_dashboard_views. Si aún no tienes un conjunto de datos para las vistas, la secuencia de comandos crea uno nueva con este nombre.

    Cuando la secuencia de comandos termine de ejecutarse, obtendrás un vínculo de Looker Studio al panel.

  5. Haz clic en el vínculo de Looker Studio para abrir el panel.

  6. En Looker Studio, haz clic en Editar y compartir para guardar el panel. Cuando se te solicite que agregues fuentes de datos al informe, haz clic en Agregar al informe.

Ahora puedes acceder al panel desde la página principal de Looker Studio.

Modifica los datos para varias cuentas de Facturación de Cloud (avanzado)

Si deseas que el panel incluya datos de varias cuentas de Facturación de Cloud, puedes modificar las vistas de BigQuery para incluir las exportaciones de datos de facturación de todas las cuentas de Facturación de Cloud.

Antes de comenzar

Para cada cuenta de Facturación de Cloud que desees incluir, sigue todos los pasos de los requisitos previos del instructivo.

Actualiza las vistas de BigQuery para incluir las exportaciones adicionales de la Facturación de Cloud

  1. En la consola de Google Cloud, abre la página de BigQuery.

    Ir a BigQuery

  2. Selecciona el proyecto que contiene el conjunto de datos que creaste para el panel.

  3. En el panel Explorador, expande tu proyecto y, luego, expande el conjunto de datos.

  4. Haz clic en la vista de la valla publicitaria para ver sus detalles. En esta vista, se consulta la exportación de datos de uso y costos estándar.

  5. Haz clic en la pestaña Detalles y, luego, en Editar consulta. La consulta de la vista es similar a la siguiente:

    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)
    

    En el ejemplo anterior, PROJECT_ID es el proyecto que contiene la exportación de datos de costos estándar de BigQuery para la Facturación de Cloud, y BILLING_ACCOUNT_EXPORT es el nombre de la tabla de BigQuery con los datos de costos estándar.

  6. Duplica la consulta existente y, en la cláusula FROM, reemplaza el ID del proyecto y la tabla de BigQuery por la información de la cuenta adicional de Facturación de Cloud.

  7. Agrega el operador UNION ALL entre las dos consultas para combinar los datos. La consulta final es similar al siguiente ejemplo, que combina las exportaciones de datos para BILLING_ACCOUNT_1 y BILLING_ACCOUNT_2, que están en PROJECT_ID_1 y PROJECT_ID_2, respectivamente.

    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. Repite estos pasos para la vista billboard_detail, que consulta los datos de uso y costo detallados.

  9. Si una de tus cuentas está en una moneda diferente del dólar estadounidense, repite estos pasos y usa la columna currency_conversion_rate para convertir a USD, de forma similar al siguiente ejemplo:

    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)
    

Limpia

Si ya no deseas usar el panel, clona el repositorio de GitHub y ejecuta la secuencia de comandos del panel con la opción -clean. La secuencia de comandos borra las vistas de BigQuery, pero deja el conjunto de datos de exportación de BigQuery intacto.

  1. Abre el repositorio de GitHub en Cloud Shell:

    Abrir en Cloud Shell

  2. Navega al directorio billboard:

    cd examples/billboard
    
  3. Ejecuta los siguientes comandos a fin de configurar el entorno de Python para la secuencia de comandos:

    pip install virtualenv
    virtualenv bill-env
    source bill-env/bin/activate
    pip install -r requirements.txt
    
  4. Ejecuta el comando de limpieza:

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

    En el ejemplo anterior, las variables son las siguientes:

    • PROJECT_ID: el ID del proyecto que aloja los conjuntos de datos de la Facturación de Cloud.
    • STANDARD_BILLING_EXPORT_DATASET: el conjunto de datos de BigQuery que contiene tu exportación de datos de costos de uso estándar.
    • DETAILED_BILLING_EXPORT_DATASET: el conjunto de datos de BigQuery que contiene la exportación de datos de costos de uso detallados.
    • BILLBOARD_DATASET: el conjunto de datos de BigQuery en el que creaste las vistas de BigQuery para el panel.
  5. Para borrar el panel de Looker Studio, abre Looker Studio, ubica el panel y, en el menú , haz clic en Quitar.

¿Qué sigue?