Visualizar los costes con Looker Studio


Puedes combinar la exportación de datos de Facturación de Cloud a BigQuery con Looker Studio para estar al día de tus Google Cloud costes.

En este documento se explica cómo configurar el panel de control Estadísticas de uso y costes de facturación con tus datos de Facturación de Cloud. Puedes usar el panel de control para responder a preguntas sobre tu Google Cloud gasto, como ¿Cuánto estoy gastando en recursos de Compute Engine? y ¿Qué entornos me cuestan más?.

Visualización de ejemplo en Looker Studio

Para configurar tu panel de control, sigue este tutorial o ve el siguiente vídeo:

Objetivos

En este tutorial se explica cómo completar las siguientes tareas:

  • Configura tu propia copia del panel de control Estadísticas de uso y costes de facturación con Cloud Shell.

    Puedes usar Terraform o Python para seguir los pasos de este tutorial.

  • Configure los filtros del panel de control para que usen las etiquetas que utiliza en suGoogle Cloud entorno.

  • Consulta cómo modificar la fuente de datos del panel de control en casos avanzados, como si tienes varias cuentas de Facturación de Cloud o una cuenta de Facturación de Cloud en una moneda distinta del dólar estadounidense (USD).

Costes

En este documento, se utilizan los siguientes componentes facturables de Google Cloud:

The cost of storing your Cloud Billing data in BigQuery is typically free or minimal. Depending on the size of the BigQuery dataset, you might incur costs for querying the data for analysis.

Para generar una estimación de costes basada en el uso previsto, utiliza la calculadora de precios.

Los usuarios nuevos Google Cloud pueden disfrutar de una prueba gratuita.

Antes de empezar

  1. Asegúrate de que puedes acceder al panel de control de estadísticas de uso y costes de facturación de ejemplo. Si no puedes acceder a la muestra, es posible que tu organización tenga habilitadas restricciones de dominio. Tu administrador puede desactivar temporalmente la restricción de dominio en tu cuenta.

    Más información sobre las restricciones de dominio

  2. Comprueba que tu organización haya habilitado la exportación de Facturación de Cloud a BigQuery para los datos de costes de uso estándar.

    Si la exportación de datos de Facturación de Cloud no está habilitada, consulta cómo habilitarla en BigQuery.

  3. Debes tener permisos para crear vistas de BigQuery en el proyecto que aloja los conjuntos de datos para la exportación de datos de Facturación de Cloud.

    Si quieres crear un conjunto de datos para las vistas de BigQuery, debes tener permisos para crear conjuntos de datos de BigQuery.

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

    • El ID del proyecto en el que se aloja tu conjunto de datos de facturación de Cloud en BigQuery.
    • Los nombres de los conjuntos de datos de las exportaciones de datos de costes estándar y detallados. Normalmente, las exportaciones de datos de costes se encuentran en el mismo conjunto de datos.
  5. Si vas a compartir el panel de control con otros usuarios de tu organización, te recomendamos que sigas estos pasos adicionales. Estas guías te ayudan a configurar una Google Cloud cuenta de servicio, que puede autenticarse en los datos de BigQuery sin que otros usuarios tengan que usar tus credenciales o las suyas para acceder a los datos.

    1. Obtén la dirección de correo del agente de servicio de Looker Studio en la página de ayuda del agente de servicio de Looker Studio.

    2. Si vas a usar la secuencia de comandos de Python para crear el panel de control, crea una cuenta de servicio para el agente de servicio de Looker Studio.

      Si usas Terraform, no tienes que crear la cuenta de servicio manualmente. La configuración de Terraform crea la cuenta de servicio cuando aplicas la configuración.

  6. Si usas la secuencia de comandos de Python, asegúrate de que tu entorno de Cloud Shell tenga una versión reciente de Python 3. Para comprobar la versión de Python, escribe python --version en el terminal de Cloud Shell y pulsa Intro.

Crea tu copia del panel de control

Terraform

Para crear tu propia copia del panel de control con Terraform, primero debes clonar el repositorio de GitHub que automatiza el proceso. En este paso se usa Cloud Shell, un entorno de shell interactivo Google Cloud que puedes usar desde tu navegador. Cloud Shell tiene Terraform preinstalado.

A grandes rasgos, la configuración de Terraform del repositorio realiza estas tareas:

  • Crea una vista de BigQuery que obtiene datos de tu exportación de datos de costes estándar.
  • Copia la plantilla del panel de control y conecta la copia a la vista de BigQuery de tus datos.
  • Se te proporcionará un enlace de Looker Studio a tu copia, que podrás guardar en tus paneles de control de Looker Studio.
  • Te proporciona un Google Cloud ID de cuenta de servicio, que usas como método de autenticación del panel de control.

Sigue estos pasos para crear tu panel de control:

  1. Abre el repositorio de GitHub en Cloud Shell:

    Abrir en
Cloud Shell

  2. Crea un archivo de definiciones de variables de Terraform con la información sobre tu proyecto y tu conjunto de datos de BigQuery. Usa el siguiente comando para crear el archivo, llamado variables.tfvars:

    cat << EOF > variables.tfvars
     project-id  = "PROJECT_ID"
     bq-dashboard-dataset-name = "DATASET_NAME"
     bq-billing-export-table-id = "PROJECT_ID.DATASET_NAME.TABLE_ID"
     looker-studio-service-agent-name = "LOOKER_STUDIO_AGENT_NAME"
    EOF
    

    Las variables son las siguientes:

    • PROJECT_ID: el ID del proyecto que aloja tu conjunto de datos de facturación de Cloud.
    • DATASET_NAME: el conjunto de datos de BigQuery que contiene los datos de exportación de costes estándar.
    • TABLE_ID: nombre de la tabla de BigQuery que contiene los datos de facturación estándar exportados.
    • LOOKER_STUDIO_AGENT_NAME: La dirección de correo del agente del servicio de Looker Studio, que puedes obtener en la página de ayuda del agente del servicio de Looker Studio
  3. Para inicializar el repositorio de GitHub como directorio de trabajo de Terraform, ejecuta el siguiente comando:

    terraform init
    
  4. Si quieres previsualizar los cambios que realiza la configuración de Terraform, ejecuta el siguiente comando terraform plan:

    terraform plan -var-file=variables.tfvars
    

    Es posible que se te pida que autorices a Cloud Shell para que haga llamadas a la API en tu nombre.

  5. Revisa los cambios de Terraform y edita variables.tfvars si necesitas cambiar algún valor de variable. Cuando lo tengas todo listo para crear los recursos, ejecuta el siguiente comando terraform apply:

    terraform apply -var-file=variables.tfvars
    

    Una vez que se ejecute el comando, obtendrás la cuenta de servicio que se ha creado para la autenticación y el enlace a tu panel de control de Looker Studio.

  6. Copia el nombre de la cuenta de servicio. Necesitará esta información cuando configure la autenticación de la fuente de datos de Looker Studio.

  7. Haga clic en el enlace de Looker Studio para abrir el panel de control.

  8. En Looker Studio, haz clic en Editar y compartir para guardar el panel de control. Cuando se te pida que revises la configuración de acceso a los datos, haz clic en Aceptar y guardar.

  9. Si se te pregunta si quieres añadir datos al informe, haz clic en Añadir al informe.

Ahora puedes acceder a tu panel de control desde la página principal de Looker Studio.

Python

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

A grandes rasgos, la secuencia de comandos de configuración del repositorio realiza estas tareas:

  • Crea una vista de BigQuery en el conjunto de datos que tiene su exportación de datos de costes estándar.
  • Copia la plantilla del panel de control y conecta la copia a la vista de BigQuery de tus datos.
  • Se te proporcionará un enlace de Looker Studio a tu copia, que podrás guardar en tus paneles de control de Looker Studio.

Sigue estos pasos para crear tu panel de control:

  1. Abre el repositorio de GitHub en Cloud Shell:

    Abrir en
Cloud Shell

  2. Ve al directorio billboard:

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

    rm -rf bill-env
    python3 -m venv bill-env
    source bill-env/bin/activate
    pip install -r requirements.txt
    
  4. Ejecuta la secuencia de comandos que crea el panel de control. Es posible que tengas que autorizar a Cloud Shell para que haga llamadas a la API en tu nombre:

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

    Las variables son las siguientes:

    • PROJECT_ID: el ID del proyecto que aloja tus conjuntos de datos de Facturación de Cloud.
    • STANDARD_BILLING_EXPORT_DATASET: el conjunto de datos de BigQuery que contiene la exportación de datos de costes de uso estándar.
    • BILLBOARD_DATASET: nombre del conjunto de datos de BigQuery en el que se crea la vista de BigQuery del panel de control. Por ejemplo, example_dashboard_view. Si aún no tiene un conjunto de datos para las vistas, la secuencia de comandos creará uno con este nombre.

    Cuando termine de ejecutarse la secuencia de comandos, recibirás un enlace de Looker Studio a tu panel de control.

  5. Haga clic en el enlace de Looker Studio para abrir el panel de control.

  6. En Looker Studio, haz clic en Editar y compartir para guardar el panel de control. Cuando se te pida que añadas fuentes de datos al informe, haz clic en Añadir al informe.

Ahora puedes acceder a tu panel de control desde la página principal de Looker Studio.

(Opcional) Configurar las credenciales de la fuente de datos

De forma predeterminada, el panel de control de uso de facturación usa tus credenciales para acceder a la fuente de datos de BigQuery. Si quieres compartir el panel de control con otros usuarios, te recomendamos que uses una Google Cloud cuenta de servicio para autenticarte en el conjunto de datos de BigQuery, de forma que la fuente de datos no dependa de tus credenciales.

Si has usado Terraform para copiar el panel de control, obtendrás el ID de la cuenta de servicio al ejecutar el comando terraform apply. Si has usado la secuencia de comandos de Python, debes crear manualmente la cuenta de servicio siguiendo estos pasos:

  1. Obtén la dirección de correo del agente de servicio de Looker Studio en la página de ayuda del agente de servicio de Looker Studio.

  2. Crea una cuenta de servicio para el servicio Looker Studio Service Agent.

  3. Concede a la cuenta de servicio los siguientes permisos en el proyecto que tenga la vista de BigQuery del panel de control:

    • bigquery.dataViewer
    • bigquery.jobUser
    • iam.serviceAccountTokenCreator

Cuando tengas el ID de la cuenta de servicio, sigue estos pasos para usarla en la autenticación:

  1. En la página principal de Looker Studio, abre el panel de control.

  2. Haz clic en Editar para modificar el panel de control.

  3. En el menú Recurso, selecciona Gestionar las fuentes de datos añadidas. El nombre de la fuente de datos del panel empieza por billing-export-view.

  4. En la columna Acciones de la fuente de datos, haz clic en Editar.

  5. Haga clic en Credenciales de datos.

  6. En la página Actualizar credenciales de datos, selecciona Credenciales de cuenta de servicio e introduce el ID de la cuenta de servicio.

  7. Haz clic en Actualizar para usar las credenciales de la cuenta de servicio.

  8. Haz clic en Hecho para guardar los cambios en la fuente de datos.

  9. Para ver el panel de control, haz clic en Ver.

Actualizar el panel de control para que use las etiquetas de tu organización

Varios gráficos del panel de control, como los de la página Cost Reporting: Labels, se basan en las etiquetas de tus recursos. Para ver un desglose preciso de tus costes por etiquetas específicas, debes modificar los filtros predeterminados para usar tus propias etiquetas.

  1. En la página principal de Looker Studio, abre el panel de control.

  2. Haz clic en Editar para modificar el panel de control.

  3. En el menú Recurso, selecciona Gestionar filtros.

  4. Revisa los filtros basados en labels.key y project.labels.key y, si procede, haz clic en Editar para cambiar las claves de etiqueta por las que use tu organización.

    Por ejemplo, si usas la clave de etiqueta department para organizar los recursos por unidad de negocio, edita el filtro business_unit y cambia el filtro project.labels.key por department.

  5. Haz clic en Cerrar para terminar de editar el filtro.

Analizar los datos en el panel de control

Las páginas del panel de control de Looker Studio desglosan los datos de costes para que puedas ver resúmenes rápidos de tus costes y tendencias, así como información detallada sobre tu gasto.

En la mayoría de las páginas, puede filtrar los datos por proyecto y usar el calendario para elegir el periodo en el que quiere analizar los costes.

Obtener una vista general de los costes

En la página Resumen, puede consultar los costes netos de los meses de facturación actual y anterior, los costes de sus servicios principales y los costes diarios de los últimos 30 días.

Use la página Tendencias para comparar sus costes de diferentes periodos, como el mes actual y el anterior, o el trimestre actual y el anterior.

Usa la página Análisis para analizar tus costes a lo largo del tiempo e identificar anomalías, como un gasto inusualmente alto o bajo.

Identificar los factores que influyen en los costes

Consulta las siguientes páginas para saber dónde estás gastando más:

  • Coste por servicio y mes
  • Coste por proyecto y mes
  • Coste por proyecto, servicio y SKU
  • Coste por región

Para ver un análisis detallado de los costes de cada servicio, consulta las páginas específicas de cada servicio. Por ejemplo, en la página Clústeres de GKE se muestran los costes desglosados por clústeres y espacios de nombres de GKE.

Identificar oportunidades de ahorro con descuentos por uso confirmado

Los descuentos por uso confirmado (CUDs) ofrecen precios rebajados a cambio de tu compromiso de usar un nivel mínimo de recursos durante un periodo determinado.

En las páginas de DUC del panel de control se muestra el uso de Compute Engine, Cloud SQL y Memorystore que puede optar a los DUC. Si ya tiene uno o varios CUDs, estas páginas solo muestran el uso que no está cubierto por los CUDs que ya tiene.

Ver los costes del software de Cloud Marketplace y las licencias adicionales

Usa la página Marketplace para ver los costes del software que has comprado en Cloud Marketplace, como Google Cloud NetApp Volumes.

En la página Licencias puede ver cuánto gasta en licencias adicionales, como las de Windows Server en Compute Engine y las de terceros que haya comprado en Cloud Marketplace.

Ver los costes por etiquetas

Puedes personalizar los filtros del panel de control para usar las etiquetas de tu organización. Después de actualizar los filtros, puede usar las siguientes páginas para ver sus costes en todos los proyectos y carpetas:

  • La página Por aplicación muestra los costes de todos los recursos de la clave de etiqueta application. Por ejemplo, si tiene una aplicación web y una aplicación móvil, y etiqueta sus recursos con application:web y application:mobile respectivamente, puede ver los costes de cada aplicación por separado.

  • La página Etiquetas muestra los costes de etiquetas específicas, como el centro de costes y el código de empresa. Si has personalizado los filtros del panel de control, puedes cambiar los títulos de los gráficos para que reflejen los filtros.

(Avanzado) Modificar los datos de varias cuentas de Facturación de Cloud

Si quiere que el panel de control incluya datos de varias cuentas de Facturación de Cloud, puede modificar las vistas de BigQuery para que incluyan las exportaciones de datos de facturación de todas las cuentas de Facturación de Cloud.

Antes de empezar

Para cada cuenta de facturación de Cloud que quieras incluir, sigue todos los pasos de los requisitos previos del tutorial.

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

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

    Ir a BigQuery

  2. Selecciona el proyecto que contiene el conjunto de datos que has creado para el panel de control.

  3. En el panel Explorador, expande tu proyecto y, a continuación, el conjunto de datos.

  4. Haga clic en la vista de cartelera para ver sus detalles. Esta vista consulta la exportación de datos de costes y uso estándar.

  5. Haz clic en la pestaña Detalles y, a continuación, 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,
       date(usage_end_time) AS date
    from `PROJECT_ID.BILLING_ACCOUNT_EXPORT` s
    WHERE date(usage_end_time) > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
    

    Donde PROJECT_ID es el proyecto que contiene la exportación de datos de costes estándar de BigQuery para Facturación de Cloud y BILLING_ACCOUNT_EXPORT es el nombre de la tabla de BigQuery con tus datos de costes estándar.

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

  7. Añade el operador UNION ALL entre las dos consultas para combinar los datos. La consulta final será similar al siguiente ejemplo, que combina las exportaciones de datos de 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,
    date(usage_end_time) AS date
    from `PROJECT_ID_2.BILLING_ACCOUNT_2_EXPORT` s
    WHERE date(usage_end_time) > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
    
  8. Repite estos pasos para la vista billboard_detail, que consulta los datos detallados de costes y uso.

  9. Si una de tus cuentas usa una moneda distinta al dólar estadounidense, repite estos pasos y usa la columna currency_conversion_rate para convertir los importes a dólares estadounidenses, como en el 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,
          date(usage_end_time) AS date
    from `PROJECT_ID.BILLING_ACCOUNT_DATASET` s
    WHERE date(usage_end_time) > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
    

Limpieza

Terraform

Si ya no quieres usar el panel de control, vuelve a abrir tu directorio de trabajo de Terraform y usa el comando terraform apply para eliminar los recursos que has creado.

  1. Abre tu directorio de trabajo de Terraform en Cloud Shell. Si has usado el repositorio de GitHub de este tutorial, usa el siguiente enlace para abrirlo:

    Abrir en
Cloud Shell

  2. Si quieres previsualizar los recursos que se van a eliminar, ejecuta el siguiente comando terraform plan:

    terraform plan -destroy
    
  3. Revisa los cambios de Terraform. Cuando quieras eliminar los recursos, ejecuta el siguiente comando terraform apply:

    terraform apply -destroy
    

Python

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

  1. Abre el repositorio de GitHub en Cloud Shell:

    Abrir en
Cloud Shell

  2. Ve al directorio billboard:

    cd examples/billboard
    
  3. Ejecuta los siguientes comandos para configurar el entorno de Python de 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
    

    Las variables son las siguientes:

    • PROJECT_ID: el ID del proyecto que aloja tus conjuntos de datos de Facturación de Cloud.
    • STANDARD_BILLING_EXPORT_DATASET: el conjunto de datos de BigQuery que contiene la exportación de datos de costes de uso estándar.
    • DETAILED_BILLING_EXPORT_DATASET: el conjunto de datos de BigQuery que contiene la exportación de datos de costes de uso detallados.
    • BILLBOARD_DATASET: el conjunto de datos de BigQuery en el que creó las vistas de BigQuery del panel de control.
  5. Para eliminar el panel de control de Looker Studio, abre Looker Studio, busca el panel de control y, en el menú , haz clic en Quitar.

Siguientes pasos