¿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
| Nivel | Alcance | Caso de uso |
|---|---|---|
| Account | Todo el consumo de la cuenta | Límite global mensual |
| Warehouse | Solo ese warehouse | Control 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:
- Ve a Admin > Cost Management en Snowsight
- Selecciona Notification Integration (opcional, para Slack/PagerDuty)
- 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_IMMEDIATEdetiene 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.