> For the complete documentation index, see [llms.txt](https://docs.decube.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decube.io/data-quality/available-monitor-types.md).

# Available Monitor Types

{% embed url="<https://youtu.be/k9fM4a8KICE>" %}

Decube provides six monitor types, each designed to detect a different category of data quality issue. Schema Drift and Job Failure monitors are enabled automatically when you connect a data source. All other types are created manually from the Config module.

***

## Table-level monitors

### Schema Drift

Schema Drift monitors detect structural changes to your tables — column additions, deletions, data type changes, and other schema modifications. They are enabled automatically on all tables when you connect a data source and require no additional setup.

{% content-ref url="/pages/BK77u7wZMk210T4bia4f" %}
[Modify Schema Drift Monitors](/data-quality/how-to-set-up-monitors/set-up-schema-drift-monitors.md)
{% endcontent-ref %}

### Freshness

Freshness monitors detect when data stops arriving on its expected schedule. The scheduled Freshness monitor uses an ML model trained on historical arrival patterns — it learns when data normally shows up and raises an incident when the probability of arrival drops below 50%. This means it accounts for expected quiet periods (weekends, off-hours) without alerting unnecessarily.

{% content-ref url="/pages/YpzBR4Fms5X6aZfHSJXj" %}
[Set Up Freshness Monitors](/data-quality/how-to-set-up-monitors/set-up-freshness-monitors.md)
{% endcontent-ref %}

### Volume

Volume monitors detect when the row-count increment added to a table per scan window falls outside the expected range. The monitor tracks the number of new rows added since the last scan — not the total row count — so it catches both missing data loads and unexpected data spikes.

{% content-ref url="/pages/K9nwiEHp0zGa6BN2j0kl" %}
[Set Up Volume Monitors](/data-quality/how-to-set-up-monitors/set-up-volume-monitors.md)
{% endcontent-ref %}

***

## Column-level monitors

### Field Health

Field Health monitors run tests against individual columns — null rates, uniqueness, value ranges, string patterns, and more. Available test types include:

* **Null** — monitors null values (Absolute, Percentage, or Auto threshold)
* **Unique** — monitors duplicate values (Absolute, Percentage, or Auto threshold)
* **Average / Min / Max** — monitors statistical metrics (Range or Auto threshold)
* **Cardinality** — tracks distinct value counts using a 5-period rolling window (Scheduled only; no training period required)
* **String Length** — validates string lengths (Range or Auto threshold)
* **Email / UUID / Regex Match** — validates format compliance (Absolute, Percentage, or Auto threshold)

{% hint style="info" %}
Available test types depend on the column's data type. For example, Average, Min, and Max apply to numeric columns only.
{% endhint %}

{% content-ref url="/pages/Dtvx04oJ0XpeTvHOkQQD" %}
[Set Up Field Health Monitors](/data-quality/how-to-set-up-monitors/set-up-field-tests.md)
{% endcontent-ref %}

***

## Advanced monitors

### Custom SQL

Custom SQL monitors let you define validation logic in SQL. You write a query that returns the failing rows; Decube counts those rows and opens an incident when the count is greater than zero. Custom SQL monitors attach to a data source connection rather than a specific table, so your query can reference any table in that source.

Custom SQL monitors do not support Smart Training. All thresholds are set manually.

{% content-ref url="/pages/PWGhO7SkX4GtJu3jfRBX" %}
[Set Up Custom SQL Monitors](/data-quality/how-to-set-up-monitors/custom-sql-monitors.md)
{% endcontent-ref %}

### Job Failure

Job Failure monitors detect failed runs in connected ETL tools (dbt, Airflow, and others). They are auto-created when you connect an ETL-type data source and require no additional configuration.

{% content-ref url="/pages/QRC6dLfH1ui8linyrJWK" %}
[Modify Job Failure Monitors (Data Job)](/data-quality/how-to-set-up-monitors/set-up-data-job-job-failure-monitors.md)
{% endcontent-ref %}

***

## Grouped-By monitors

Any monitor type (except Volume and Freshness) can be configured with a Group By column, creating one sub-monitor per distinct value in that column. Each sub-monitor tracks its own metric and opens incidents independently, giving you per-segment visibility without creating monitors manually for each value.

{% content-ref url="/pages/6W2WRDo4OLRfQIOt0QLk" %}
[Grouped-by Monitors](/data-quality/how-to-set-up-monitors/set-up-grouped-by-monitors.md)
{% endcontent-ref %}
