Configura notificaciones programáticas

En este documento, se explica cómo configurar notificaciones de anomalías de presupuesto y costo programáticos (versión preliminar) con Pub/Sub.

Por lo general, los presupuestos y las anomalías de costos se configuran para enviar notificaciones por correo electrónico. Si usas presupuestos o la detección de anomalías de costos como una herramienta de control de costos, es posible que las notificaciones por correo electrónico no sean el mejor método para garantizar que se tomen medidas oportunas para controlar tus costos. Puedes configurar y usar notificaciones programáticas para automatizar las respuestas de control de costos. Estos son algunos ejemplos de respuestas automatizadas de control de costos:

Limitaciones

Permisos necesarios para esta tarea

Para configurar notificaciones de presupuesto programáticas, necesitas permisos para crear o modificar presupuestos y temas de Pub/Sub. Necesitas un conjunto diferente de permisos según tu nivel de acceso.

Usuarios con permisos de cuenta de Facturación de Cloud Usuarios solo con permisos a nivel del proyecto (versión preliminar)

Si tu organización usa roles personalizados para la autenticación, necesitas los siguientes permisos en los roles personalizados:

Para que los roles personalizados modifiquen un presupuesto de Facturación de Cloud existente para conectarlo a un tema de Pub/Sub existente, necesitas los siguientes permisos:

Para obtener los permisos necesarios con roles predefinidos, pídele a tu administrador que te otorgue uno de los siguientes roles predefinidos de IAM de Facturación de Cloud en tu cuenta de Facturación de Cloud:

Además, pídele a tu administrador que te otorgue el siguiente rol en el proyecto de destino que contiene los temas de Pub/Sub:

Si tu organización usa roles personalizados para la autenticación, necesitas los siguientes permisos en los roles personalizados:

Para obtener los permisos necesarios con roles predefinidos, pídele a tu administrador que te otorgue uno de los siguientes roles predefinidos de IAM de Facturación de Cloud en el proyecto:

Además, pídele a tu administrador que te otorgue el siguiente rol en el proyecto de destino que contiene los temas de Pub/Sub:

Para configurar notificaciones de anomalías programáticas, necesitas permisos para crear o modificar anomalías y temas de Pub/Sub. Debes tener permisos de la cuenta de Facturación de Cloud.

Usuarios con permisos de cuenta de Facturación de Cloud (Versión preliminar)

Para obtener los permisos necesarios con roles predefinidos, pídele a tu administrador que te otorgue uno de los siguientes roles predefinidos de IAM de Facturación de Cloud en tu cuenta de Facturación de Cloud:

Además, pídele a tu administrador que te otorgue el siguiente rol en el proyecto de destino que contiene los temas de Pub/Sub:

Crea un tema de Pub/Sub

Para configurar notificaciones de anomalías o de presupuesto programático, primero debes crear un tema de Pub/Sub. Si ya configuraste un tema de Pub/Sub para presupuestos o anomalías de costos, puedes omitir este paso.

  1. Ve a la página Pub/Sub de la consola de Google Cloud.

    Accede a Pub/Sub de la consola de Google Cloud

  2. Selecciona un proyecto para que contenga el tema de Pub/Sub.

    Cuando configures temas de Pub/Sub para las notificaciones de facturación, te recomendamos que uses un proyecto de administración de FinOps para contener tus temas de Pub/Sub relacionados con la facturación.

  3. Haz clic en Crear tema.

  4. En el campo ID de tema, proporciona un nombre de tema.

  5. Conserva la configuración predeterminada de suscripción y encriptación, y haz clic en Crear.

Conecta tu tema de Pub/Sub

Para habilitar las notificaciones programáticas para recibir mensajes de Pub/Sub con el estado actual de tu presupuesto o anomalía, debes conectar tu presupuesto o anomalía a tu tema de Pub/Sub.

Para conectar un tema de Pub/Sub a un presupuesto de Facturación de Cloud, completa los siguientes pasos:

Usuarios con permisos de cuenta de Facturación de Cloud Usuarios solo con permisos a nivel del proyecto (versión preliminar)
  1. Accede a la página Presupuestos y alertas en la consola de Google Cloud.

    Abre Presupuestos y alertas
  2. En el mensaje, elige la cuenta de Facturación de Cloud para la que deseas administrar los presupuestos.

    Se abrirá la página Presupuestos y alertas de la cuenta de facturación seleccionada.

  3. Selecciona el presupuesto que deseas conectar o crea uno nuevo.
  4. En la sección Acciones, en Administrar notificaciones, selecciona Conectar un tema de Pub/Sub a este presupuesto.
  5. En el campo Proyecto, haz clic en Seleccionar un proyecto y elige el proyecto que contiene los temas de Pub/Sub que configuraste.
  6. En Seleccionar un tema de Pub/Sub, selecciona un tema existente o crea uno nuevo haciendo clic en Crear un tema.
    • Si creas un tema nuevo, en el campo ID de tema, proporciona un nombre de tema y haz clic en Crear tema.
    • Después de crear el tema, se seleccionará automáticamente.
  7. Haz clic en Guardar.
  1. Accede al panel de la consola de Google Cloud y selecciona un proyecto.

    Abrir la consola de Google Cloud
  2. Selecciona el proyecto para el que deseas administrar los presupuestos.
  3. Navega a la sección Facturación: Abre el menú de navegación de la consola de Google Cloud y selecciona Facturación.

    Si se te solicita que elijas qué cuenta de facturación deseas ver y administrar, haz clic en Ir a la cuenta de facturación vinculada para ver la cuenta de facturación vinculada al proyecto seleccionado.

    Se abrirá la página Descripción general de la cuenta de facturación seleccionada.

  4. En la sección Administración de costos del menú de navegación de Facturación, selecciona Presupuestos y alertas.
  5. Selecciona el presupuesto que deseas conectar o crea uno nuevo.
  6. En la sección Acciones, en Administrar notificaciones, selecciona Conectar un tema de Pub/Sub a este presupuesto.
  7. En el campo Proyecto, haz clic en Seleccionar un proyecto y elige el proyecto que contiene los temas de Pub/Sub que configuraste.
  8. En Seleccionar un tema de Pub/Sub, selecciona un tema existente o crea uno nuevo haciendo clic en Crear un tema.
    • Si creas un tema nuevo, en el campo ID de tema, proporciona un nombre de tema y haz clic en Crear tema.
    • Una vez creado, se seleccionará el tema.
  9. Haz clic en Guardar.

Para conectar un tema de Pub/Sub a una anomalía de costos, completa los siguientes pasos:

Usuarios con permisos de cuenta de Facturación de Cloud (Versión preliminar)
  1. Accede a la página Anomalies en la consola de Google Cloud.

    Abre las anomalías
  2. En el mensaje, elige la cuenta de Facturación de Cloud para la que deseas administrar las anomalías.

    Se abrirá la página Anomalies de la cuenta de facturación seleccionada.

  3. Haz clic en Administrar anomalías.
  4. Ingresa un valor de Umbral de anomalía para Impacto en los costos. Este importe es el valor del límite que activa las notificaciones. Si no proporcionas un valor, el umbral se establece en cero y se envían notificaciones para todas las anomalías.
  5. En la sección Notificaciones de Pub/Sub, selecciona Conectar un tema de Pub/Sub para recibir actualizaciones programáticas sobre anomalías.
  6. En el menú desplegable que aparece, selecciona el tema de Pub/Sub que deseas conectar para recibir notificaciones.
    • Los temas se enumeran por proyecto. Es posible que debas cambiar el proyecto que estás viendo para encontrar el tema que deseas seleccionar.
    • Si deseas crear un tema nuevo, cambia al proyecto que prefieras antes de hacer clic en Crear un tema.
  7. Haz clic en Guardar.

Formato de las notificaciones

Las notificaciones que se envían al tema de Pub/Sub constan de dos partes:

  • Atributos: Son un conjunto de pares clave-valor que describen el evento.
  • Datos: una string que contiene un objeto JSON que describe los detalles de la alerta de presupuesto.

Atributos

Los atributos son pares clave-valor que se encuentran en todas las notificaciones que la Facturación de Cloud envía al tema de Pub/Sub. Las notificaciones siempre contienen el siguiente conjunto de pares clave-valor, sin importar la carga útil de la notificación.

Nombre del atributo Ejemplo Descripción
billingAccountId 01D4EE-079462-DFD6EC Es el identificador de la cuenta de Facturación de Cloud a la que le pertenece el presupuesto.
budgetId de72f49d-779b-4945-a127-4d6ce8def0bb Es el identificador de la alerta de presupuesto en la cuenta de facturación de Cloud.
schemaVersion 1.0 Es la versión del esquema de notificaciones.

Datos

Los detalles de la alerta de presupuesto se muestran en una cadena UTF-8 codificada en base64 que contiene un objeto JSON con las siguientes propiedades:

Datos Ejemplo Descripción
budgetDisplayName "My Personal Budget" Es el nombre visible asignado al presupuesto.
costAmount 140.321 Es el importe de los costos acumulados. El tipo de costos a los que se les realiza seguimiento depende de los filtros y las opciones de configuración del presupuesto.
costIntervalStart "2021-02-01T08:00:00Z" Es el inicio del período de la alerta de presupuesto. “costAmount” incluye los costos de uso a partir de este momento. Este es el primer día del período del presupuesto (mes, trimestre, año o un período personalizado) durante el cual se produjo el uso del presupuesto.
budgetAmount 152.557 Es el importe asignado al presupuesto.
budgetAmountType "SPECIFIED_AMOUNT" Es el tipo de importe del presupuesto. Puede ser uno de los siguientes valores:
  • SPECIFIED_AMOUNT”: Un importe fijo.
  • LAST_MONTH_COST”: Los costos totales generados durante el último mes calendario.
  • "LAST_PERIODS_COST": Los costos generados durante el último período calendario no mensual, como un trimestre o un año.
alertThresholdExceeded 0.9 Es la alerta que indica que se superó el límite configurado del costo real. El valor es un porcentaje en formato decimal (por ejemplo, 0.9 equivale al 90%). Esta clave no está presente si el costo real no excede ningún límite.
forecastThresholdExceeded 0.2 Se excedió el límite de alertas del costo previsto más alto. El valor es un porcentaje en formato decimal (por ejemplo, 0.2 corresponde al 20%). Esta clave no está presente si el costo previsto no excede ningún límite.
currencyCode "USD" Es el tipo de moneda de la alerta de presupuesto. Todos los importes de la alerta de presupuesto y de costos están en esta moneda.

Atributos

Los atributos son pares clave-valor que se encuentran en todas las notificaciones que la Facturación de Cloud envía a tu tema de Pub/Sub. Las notificaciones siempre contienen el siguiente conjunto de pares clave-valor, sin importar la carga útil de la notificación.

Nombre del atributo Ejemplo Descripción
alcance scope_project El alcance de la anomalía.
billingAccountName billingAccounts/01D4EE-079462-DFD6EC Es el identificador de la cuenta de Facturación de Cloud en la que se produjo la anomalía.
resourceDisplayName My project Es el nombre visible del recurso en el que se produjo la anomalía.
resourceName projects/123456 Es el identificador del recurso en el que se produjo la anomalía.
SchemaVersion 1.0 La versión del esquema de Pub/Sub

Datos

Los detalles de la alerta de anomalía se muestran en una cadena UTF-8 codificada en base64 que contiene un objeto JSON con las siguientes propiedades:

Datos Ejemplo Descripción
anomalyName billingAccounts/01D4EE-079462-DFD6EC/anomalies/aaa Es el nombre del recurso de la anomalía.
billingAccountName billingAccounts/01D4EE-079462-DFD6EC Es el identificador de la cuenta de facturación.
resourceName "projects/12345" Es el identificador del recurso en el que se produjo la anomalía.
resourceDisplayName "My project" Es el nombre visible del recurso en el que se produjo la anomalía.
detectionDate "2024-02-01T08:00:00Z" Es la fecha en la que se detectó la anomalía de costos.
Scope SCOPE_PROJECT Indica el alcance de la anomalía.
expectedSpendAmount {
"currencyCode": "USD",
"units": "8",
"nanos": 988106832
}
Es la inversión esperada para el recurso.
actualSpendAmount 196.22 Es la inversión real del recurso.
deviationAmount 31.01 Es la diferencia entre la inversión real y la esperada.
deviationPercentage 18.77 Es el porcentaje del importe de desviación de la inversión esperada.
Root cause
root_causes {
resource: "services/XXX-XXXX-XXX"
display_name: "BigQuery"
cause_type: CAUSE_TYPE_SERVICE
deviation {
  expected_spend {
    currency_code: "USD"
    units: "5000"
  }
  actual_spend {
    currency_code: "USD"
    units: "5000"
  }
  deviation_amount {
    currency_code: "USD"
    units: "5000"
  }
  deviation_percentage: "Infinity"
}
sub_causes {
  resource: "locations/us-west1",
  display_name: "us-west1",
  cause_type: CAUSE_TYPE_LOCATION,
  deviation {
    expected_spend {
      currency_code: "USD",
    }
    actual_spend {
      currency_code: "USD",
      units:"5000"
    }
    deviation_amount {
      currency_code: "USD",
      units: "5000"
    }
    deviation_percentage: "Infinity"
  }
  sub_causes {
    resource: "services/XXXX-XXXX-XXXX/skus/XXXX-XXXX-XXXX"
    display_name: "Some display name"
    cause_type: CAUSE_TYPE_SKU
    deviation {
      expected_spend {
        currency_code: "USD"
      }
      actual_spend {
        currency_code: "USD"
        units: 5000
      }
      deviation_amount {
        currency_code: "USD"
        units: 5000
      }
      deviation_percentage: "Infinity"
    }
  }
  sub_causes {
    resource: "services/XXXX-XXXX-XXXX/skus/XXXX-XXXX-XXXX"
    display_name: "Some display name"
    cause_type: CAUSE_TYPE_SKU
    deviation {
      expected_spend {
        currency_code: "USD"
        units: "1"
        nanos: 5413077
      }
      actual_spend {
        currency_code: "USD"
        units: "1",
        nanos: 122606000
      }
      deviation_amount {
        currency_code: "USD"
        nanos: 117192923
      }
      deviation_percentage:11.656196419841217
    }
  }
}
}
Es un campo repetido que contiene información sobre la causa raíz de la anomalía.

Garantías de entrega de notificaciones a Pub/Sub

Después de conectar tu presupuesto o anomalía a un tema de Pub/Sub, es posible que recibas notificaciones programáticas de la siguiente manera:

  • Las notificaciones de presupuesto se envían al tema de Pub/Sub varias veces al día con el estado actual de tu presupuesto. Esta cadencia es diferente a la de los correos electrónicos de alerta de presupuesto, que solo se envían cuando se alcanza un límite de presupuesto.
  • Las notificaciones de Pub/Sub se envían incluso si no tiene uso la cuenta de Facturación de Cloud.
  • Es posible que pasen varias horas antes de que recibas la primera notificación de Pub/Sub.
  • Pub/Sub solo garantiza una entrega al menos una vez. Es posible que recibas un mensaje varias veces y que estos lleguen de forma desordenada.
  • Si la entrega falla debido a una configuración incorrecta del tema de Pub/Sub, no recibirás ninguna notificación.

La entrega puede fallar por uno de los siguientes motivos:

  • Las notificaciones de anomalías se envían al tema de Pub/Sub solo cuando se alcanza el límite.
  • Pub/Sub solo garantiza una entrega al menos una vez. Es posible que recibas un mensaje varias veces y que estos lleguen de forma desordenada.
  • Si la entrega falla debido a una configuración incorrecta del tema de Pub/Sub, no recibirás ninguna notificación.

La entrega puede fallar por uno de los siguientes motivos:

Para obtener más información, consulta Publica y recibe mensajes en Pub/Sub.

¿Qué sigue?

Para obtener más información sobre cómo puedes usar las notificaciones programáticas, consulta los siguientes ejemplos de respuestas de control de costos programáticas: