Intermedio 2 min de lectura

Resource Monitors y Presupuestos

Configura Resource Monitors para recibir alertas y suspender warehouses automáticamente cuando alcancen un límite de créditos.

¿Qué es un Resource Monitor?

Un Resource Monitor vigila el consumo de créditos y puede:

  • Enviar notificaciones cuando se alcanza un porcentaje del presupuesto
  • Suspender warehouses automáticamente para evitar gastos excesivos

Es la herramienta principal para implementar gobernanza de costos en Snowflake.

Crear un Resource Monitor

-- Monitor mensual con alertas y suspensión automática
CREATE RESOURCE MONITOR mi_monitor
  WITH CREDIT_QUOTA = 100          -- límite en créditos por período
  FREQUENCY = MONTHLY              -- MONTHLY | WEEKLY | DAILY | YEARLY | NEVER
  START_TIMESTAMP = IMMEDIATELY
  TRIGGERS
    ON 50 PERCENT DO NOTIFY        -- alerta al 50%
    ON 75 PERCENT DO NOTIFY        -- alerta al 75%
    ON 90 PERCENT DO NOTIFY        -- alerta al 90%
    ON 100 PERCENT DO SUSPEND      -- suspende al 100%
    ON 110 PERCENT DO SUSPEND_IMMEDIATE;  -- suspensión forzada al 110%

Asignar a un Warehouse

-- Asignar el monitor a un warehouse específico
ALTER WAREHOUSE analytics_wh
  SET RESOURCE_MONITOR = mi_monitor;

-- Ver qué monitor tiene un warehouse
SHOW WAREHOUSES;

Niveles de Resource Monitor

NivelAlcanceCaso de uso
AccountTodo el consumo de la cuentaLímite global mensual
WarehouseSolo ese warehouseControl por equipo o proyecto
-- Monitor a nivel de cuenta (afecta TODA la cuenta)
CREATE RESOURCE MONITOR cuenta_monitor
  WITH CREDIT_QUOTA = 5000
  FREQUENCY = MONTHLY
  TRIGGERS
    ON 80 PERCENT DO NOTIFY
    ON 100 PERCENT DO SUSPEND;

-- Asignar a la cuenta
ALTER ACCOUNT SET RESOURCE_MONITOR = cuenta_monitor;

Ver estado de los Resource Monitors

-- Ver todos los resource monitors y su consumo actual
SHOW RESOURCE MONITORS;

-- Consumo detallado
SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.RESOURCE_MONITORS
ORDER BY created_on DESC;

Configurar notificaciones por email

Las alertas van al email del administrador configurado en la cuenta. Para configurar:

  1. Ve a Admin > Cost Management en Snowsight
  2. Selecciona Notification Integration (opcional, para Slack/PagerDuty)
  3. O crea un monitor desde la UI con el botón “Create Resource Monitor”

Buenas prácticas

  • Crea un monitor por equipo o proyecto, no solo uno global
  • Establece el límite mensual basado en el presupuesto acordado
  • El SUSPEND_IMMEDIATE detiene las queries en ejecución — úsalo solo en último recurso
  • Revisa el consumo semanalmente en Account Usage

Próximos pasos

En la siguiente lección veremos cómo analizar el gasto histórico con ACCOUNT_USAGE.

#finops #resource-monitor #alertas #presupuestos