Configurar notificaciones programáticas

En este documento se explica cómo configurar notificaciones programáticas de presupuesto y anomalías de costes (vista previa) mediante Pub/Sub.

Los presupuestos y las anomalías de costes suelen configurarse para enviar notificaciones por correo electrónico. Si usas los presupuestos o la detección de anomalías de costes como herramienta de control de costes, es posible que las notificaciones por correo electrónico no sean el mejor método para asegurarte de que tomas medidas a tiempo para controlar los costes. Puedes configurar y usar notificaciones programáticas para automatizar las respuestas de control de costes. Estos son algunos ejemplos de respuestas de control de costes automatizadas:

Limitaciones

Permisos que se necesitan para completar esta tarea

Notificaciones de presupuesto

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

Usuarios con permisos de cuenta de facturación de Cloud Usuarios con permisos de nivel de proyecto únicamente (vista previa)

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

Para que los roles personalizados puedan modificar un presupuesto de Facturación de Cloud ya creado y conectarlo a un tema de Pub/Sub ya creado, necesitas los siguientes permisos:

Para obtener los permisos necesarios mediante roles predefinidos, pide a tu administrador que te asigne uno de los siguientes roles predefinidos de Cloud IAM de facturación en tu cuenta de facturación de Cloud:

Pide al administrador que te conceda 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, estos roles deben tener los siguientes permisos:

Para obtener los permisos necesarios mediante roles predefinidos, pide a tu administrador que te conceda uno de los siguientes roles predefinidos de gestión de identidades y accesos de facturación de Cloud en el proyecto:

Pide al administrador que te conceda el siguiente rol en el proyecto de destino que contenga los temas de Pub/Sub:

Notificaciones de anomalías

Para configurar notificaciones de anomalías mediante programación, necesita permisos para crear o modificar anomalías y temas de Pub/Sub. Debes tener permisos de cuenta de Facturación de Cloud.

Usuarios con permisos de cuenta de facturación de Cloud (vista previa)

Para obtener los permisos necesarios mediante roles predefinidos, pide a tu administrador que te asigne uno de los siguientes roles predefinidos de Cloud Billing IAM en tu cuenta de facturación de Cloud:

Pide al administrador que te conceda el siguiente rol en el proyecto de destino que contiene los temas de Pub/Sub:

Crear un tema de Pub/Sub

Para configurar notificaciones programáticas de presupuesto o anomalías, primero debes crear un tema de Pub/Sub. Si ya ha configurado un tema de Pub/Sub para presupuestos o anomalías de costes, puede omitir este paso.

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

    Inicia sesión en la consola de Pub/Sub Google Cloud .

  2. Selecciona un proyecto 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 incluir los temas de Pub/Sub relacionados con la facturación.

  3. Haz clic en Crear tema.

  4. En el campo ID de tema, indica el nombre del tema.

  5. Mantén la configuración predeterminada de suscripción y cifrado, y haz clic en Crear.

Conectar tu tema de Pub/Sub

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

Notificaciones de presupuesto

Para conectar un tema de Pub/Sub a un presupuesto de facturación de Cloud, sigue estos pasos:

Usuarios con permisos de cuenta de facturación de Cloud Usuarios con permisos de nivel de proyecto únicamente (vista previa)
  1. Inicia sesión en la página Presupuestos y alertas de la Google Cloud consola.

    Abrir Presupuestos y alertas
  2. Cuando se te pida, elige la cuenta de facturación de Cloud cuyos presupuestos quieras gestionar.

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

  3. Selecciona el presupuesto que quieras conectar o crea uno nuevo.
  4. En la sección Acciones, en Gestionar 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 contenga los temas de Pub/Sub que hayas configurado.
  6. En Selecciona un tema de Pub/Sub, elige uno que ya tengas o crea uno haciendo clic en Crear tema.
    • Si creas un tema, en el campo ID de tema, indica el nombre del tema y haz clic en Crear tema.
    • Una vez que hayas creado el tema, se seleccionará automáticamente.
  7. Haz clic en Guardar.
  1. Inicia sesión en el Google Cloud panel de control de la consola y selecciona un proyecto.

    Abrir Google Cloud consola
  2. Selecciona el proyecto cuyos presupuestos quieras gestionar.
  3. Ve a la sección Facturación: abre el menú de navegación Google Cloud de la consola y selecciona Facturación.

    Si se te pide que elijas la cuenta de facturación que quieres ver y gestionar, 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 Vista general de la cuenta de facturación seleccionada.

  4. En la sección Gestión de costes del menú de navegación Facturación, selecciona Presupuestos y alertas.
  5. Selecciona el presupuesto que quieras conectar o crea uno nuevo.
  6. En la sección Acciones, en Gestionar 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 contenga los temas de Pub/Sub que hayas configurado.
  8. En Selecciona un tema de Pub/Sub, elige uno que ya tengas o crea uno haciendo clic en Crear tema.
    • Si creas un tema, en el campo ID de tema, indica el nombre del tema y haz clic en Crear tema.
    • Una vez creado, se seleccionará el tema.
  9. Haz clic en Guardar.

Notificaciones de anomalías

Para conectar un tema de Pub/Sub a una anomalía de costes, sigue estos pasos:

Usuarios con permisos de cuenta de facturación de Cloud (vista previa)
  1. Inicia sesión en la página Anomalías de la Google Cloud consola.

    Abrir anomalías
  2. En el mensaje que aparece, elige la cuenta de facturación de Cloud en la que quieras gestionar las anomalías.

    Se abrirá la página Anomalías de la cuenta de facturación seleccionada.

  3. Haz clic en Gestionar anomalías.
  4. Introduce un valor de Umbral de anomalía en Impacto en el coste. Este importe es el valor umbral que activa las notificaciones. Si no proporciona ningún valor, el umbral se establece en cero y se envían notificaciones de 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 al que quieras conectarte para recibir notificaciones.
    • Los temas se muestran por proyecto. Puede que tengas que cambiar de proyecto para encontrar el tema que quieres seleccionar.
    • Si quieres crear un tema, cambia al proyecto que prefieras antes de hacer clic en Crear un tema.
  7. Haz clic en Guardar.

Formato de las notificaciones

Las notificaciones enviadas al tema de Pub/Sub constan de dos partes:

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

Notificaciones de presupuesto

Atributos

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

Nombre de atributo Ejemplo Descripción
billingAccountId 01D4EE-079462-DFD6EC Identificador de la cuenta de facturación de Cloud propietaria del 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 La versión del esquema de las notificaciones.

Datos

Los detalles de las alertas de presupuesto se devuelven 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" El nombre legible asignado al presupuesto.
costAmount 140.321 El importe de los costes acumulados. El tipo de costes rastreados depende de la configuración y los filtros del presupuesto.
costIntervalStart "2021-02-01T08:00:00Z" Inicio del periodo de alerta del presupuesto. `costAmount` incluye los costes del uso a partir de esta hora. Es el primer día del periodo del presupuesto (mes, trimestre, año o un intervalo de fechas personalizado) durante el cual se ha usado el presupuesto.
budgetAmount 152.557 El importe asignado al presupuesto.
budgetAmountType "SPECIFIED_AMOUNT" El tipo de importe del presupuesto. Puede ser uno de los siguientes valores:
  • "SPECIFIED_AMOUNT": un importe fijo.
  • "LAST_MONTH_COST": costes totales incurridos durante el último mes natural.
  • "LAST_PERIODS_COST": los costes incurridos durante el último periodo natural no mensual, como un trimestre o un año.
alertThresholdExceeded 0.9 Se ha superado el umbral de alerta de coste real más alto configurado. El valor es un porcentaje en formato decimal (por ejemplo, 0,9 es el 90%). Esta clave no está presente si el coste real no supera ningún umbral.
forecastThresholdExceeded 0.2 Se ha superado el umbral de alerta de coste previsto más alto. El valor es un porcentaje en formato decimal (por ejemplo, 0,2 es 20%). Esta clave no está presente si el coste previsto no supera ningún umbral.
currencyCode "USD" Moneda de la alerta de presupuesto. Todos los costes y los importes de las alertas de presupuesto se indican en esta moneda.

Notificaciones de anomalías

Atributos

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

Nombre de atributo Ejemplo Descripción
scope scope_project El ámbito de la anomalía.
billingAccountName billingAccounts/01D4EE-079462-DFD6EC Identificador de la cuenta de facturación de Cloud en la que se ha producido la anomalía.
resourceDisplayName My project Nombre visible del recurso en el que se ha producido la anomalía.
resourceName projects/123456 Identificador del recurso en el que se ha producido la anomalía.
SchemaVersion 1.0 Versión del esquema de Pub/Sub.

Datos

Los detalles de las alertas de anomalías se devuelven 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 Nombre de recurso de la anomalía.
billingAccountName billingAccounts/01D4EE-079462-DFD6EC Identificador de la cuenta de facturación.
resourceName "projects/12345" Identificador del recurso en el que se ha producido la anomalía.
resourceDisplayName "My project" Nombre visible del recurso en el que se ha producido la anomalía.
detectionDate "2024-02-01T08:00:00Z" Fecha en la que se detectó la anomalía en los costes.
Scope SCOPE_PROJECT Indica el ámbito de la anomalía.
expectedSpendAmount {
"currencyCode": "USD",
"units": "8",
"nanos": 988106832
}
El gasto previsto del recurso.
actualSpendAmount 196.22 El gasto real del recurso.
deviationAmount 31.01 La diferencia entre el gasto real y el gasto previsto.
deviationPercentage 18.77 El porcentaje de desviación con respecto al gasto previsto.
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
    }
  }
}
}
Campo repetido que contiene información sobre la causa raíz de la anomalía.

Garantías de entrega de notificaciones a Pub/Sub

Una vez que hayas conectado tu presupuesto o anomalía a un tema de Pub/Sub, recibirás notificaciones mediante programación de la siguiente manera:

Notificaciones de presupuesto

  • 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 frecuencia es diferente de la de los correos de alerta de presupuesto, que solo se envían cuando se alcanza un umbral de presupuesto.
  • Las notificaciones de Pub/Sub se envían aunque la cuenta de facturación de Cloud no tenga uso.
  • Pueden pasar varias horas antes de que recibas la primera notificación de Pub/Sub.
  • Pub/Sub solo garantiza que los mensajes se entregan al menos una vez. Es posible que recibas un mensaje varias veces y que los mensajes lleguen en un orden incorrecto.
  • 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:

Notificaciones de anomalías

  • Las notificaciones de anomalías se envían al tema de Pub/Sub solo cuando se alcanza el umbral.
  • Pub/Sub solo garantiza que los mensajes se entregan al menos una vez. Es posible que recibas un mensaje varias veces y que los mensajes lleguen en un orden incorrecto.
  • 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 Publicar y recibir mensajes en Pub/Sub.

Siguientes pasos

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