# Resource Monitor

> Resource monitors are the only hard spending ceiling Snowflake offers: a credit quota whose triggers can notify, suspend after running queries finish, or suspend immediately and cancel them mid-flight. A warehouse with no monitor attached has 0 ceiling on runaway spend, so ZopNight flags every active warehouse running unguarded.

Source: https://zop.dev/integrations/snowflake/resource-monitor
Updated: 2026-08-19

---

A resource monitor is the one mechanism Snowflake provides that can put a hard ceiling on spend. Everything else in the cost toolbox (auto-suspend, right-sizing, schedules) reduces waste; a monitor is the thing that can force compute off when a credit quota is reached. That is why its absence is a finding in its own right.

## A quota with a trigger ladder

A monitor defines a credit quota over an interval and fires triggers at percentages of it. Notify triggers send warnings; suspend triggers act. One monitor can govern the entire account or a named set of warehouses, and the quota resets each interval, making it a ceiling rather than a one-time fuse.

## Suspend versus suspend immediate

The two enforcement actions differ in what they interrupt. A SUSPEND trigger lets running queries finish before the warehouse stops, so spend can overshoot the quota by whatever those queries burn on the way out. SUSPEND_IMMEDIATE cancels in-flight queries and stops compute now: the true hard stop, at the price of killed work. Choosing between them is deciding what a blown budget is allowed to interrupt: the money or the queries.

## What discovery records

ZopNight inventories monitors with `SHOW RESOURCE MONITORS`, which is account-scoped with no database parent, capturing the credit-quota configuration alongside the warehouses each monitor governs, and cross-references the warehouse inventory for compute running with no monitor attached.

## The unguarded-warehouse finding

An active warehouse without a monitor has no ceiling of any kind. A runaway query, a stuck job retrying in a loop, or a fat-fingered resize simply bills until a human notices. The RC-2100 cost series recommends attaching a monitor wherever active warehouses run unguarded, insurance that itself consumes 0 credits.

## List the ceilings you have

```sql
SHOW RESOURCE MONITORS;
```

Then compare against `SHOW WAREHOUSES`: any warehouse whose `resource_monitor` column reads `null` is running without a ceiling. If the first statement returns no rows at all while warehouses are active, that is not a clean bill of health; it is the finding.
