Monitor Design
- Choose frequency to reduce alert fatigue: Weekly Monitors often provide enough visibility without overwhelming your team. Reserve high-frequency schedules (daily, hourly, or more) for critical use cases.
- Use Conditional Monitors or Anomaly Monitors for anything that runs daily.
- Daily alerts for cost spikes if they exist are great.
- Daily FYI will cause you to never read the alert.
- Use “once per status change” on high-frequency Monitors: For Monitors that run frequently, this setting prevents duplicate alerts and ensures you only see a notification when something meaningfully changes.
- Use Jinja filtering on SQL Monitors: Jinja allows you to parameterize filters and reuse Monitor definitions. For example, you can filter by the current date or pass in environment variables, making your Monitors flexible and easier to maintain.
- Set effective thresholds: Thresholds should be tight enough to catch meaningful changes but not so sensitive that they generate noise. Review historical data to understand normal ranges before defining your thresholds.
Troubleshooting
Common Issues
- Failed monitor runs:
- If no destination is configured, the monitor will fail. This could happen if a Slack channel was deleted, for example.
- For standard monitor types, failures are rare. Please contact us if a standard monitor is failing with a message other than “No destination is configured”.
- For Custom SQL Monitors, check the following:
- Snowflake user access, role, connection, etc.
- Check the Snowflake query history to try to replicate.
- Permission issues:
- Can’t edit a monitor: check your role or ask your Org Admin.
- Monitor result is empty: verify your role has access to the data produced by the monitor.
- Monitor did not trigger: This usually means no data was produced by the monitor, and it is configured not send when empty.
Monitor Status Types
OK: The last execution was successful.
Triggered: A conditional monitor exceeded the threshold and was triggered.
Failing: The last run of a monitor failed.
Skipped: The last run of the monitor was skipped because the result set was empty or a threshold was not met.
New: The monitor is new and has not been triggered yet.