Monitor Overview
In Sifflet, a Monitor is a check that evaluates the quality of one or more data assets.
Monitors can be set both on a table or a field level in order to control specific Data Quality criteria. They can be run manually or automatically based on a Schedule, and they can alert users in case of a breach (see: Notifications Setup).
Here is the list of Sifflet Monitor Templates:
Monitor template | Category | Application | Description |
---|---|---|---|
Volume | Table-level Health | Table | Counts newly ingested rows and alerts on anomalous behaviour |
Row-level Duplicates | Table-level Health | Table | Computes the duplication rate [%] on a row-level and compares it to the expected value based on past behavior. |
Freshness | Table-level Health | Table | Verifies whether new rows have been ingested into your table following the expected pattern. |
Freshness (Update time gap) | Table-level Health | Table | The monitor fails when the duration since the last update deviates from historical norms. |
Schema Change | Table-level Health | Table | Detects any change to the schema: new field(s), removed field(s), existing field(s) with updated types or names. |
Metrics | Metrics | Fields: Numeric | The monitor detects changes in an aggregated metric of a field (i.e. Sum) |
Custom Metrics | Metrics | Table | The rule fails if the time series returned by the query behave differently than they did in the past |
Correlated Metrics | Metrics | Fields: Numeric | The monitor fails if defined metrics diverge significantly from each other. |
Distribution Change | Field profiling | Fields: All | The monitor fails if the distribution of a given field has changed abnormally compared to a former given run. |
Duplicates | Field profiling | Fields: All | The monitor detects anomalies regarding the count of duplicates for a column or a set of columns |
Unique | Field profiling | Fields: All | A simplified version of the duplicates monitor that fails if a column or set of columns is not unique |
Nulls | Field profiling | Fields: All | The monitor detects anomalies regarding the count of nulls/empties in a column or a set of columns |
Value List Validation | Field profiling | Fields: String | The monitor fails if the chosen field has values that are not present in the given list. |
Value Range | Field Profiling | Fields: Numeric | The monitor fails if the chosen field has any values outside of a given range. |
Referential Integrity | Field profiling | Fields: All | The monitor fails if values in one table are not present in the other table |
Is an email | Format validation | Fields: String | The monitor fails if the chosen field contains at least one row that does not have an email format. |
Is a phone number | Format validation | Fields: String | The monitor fails if the chosen field contains at least one row that does not have a phone number format. I.e. checking for 6 to 16 digits and will accept the field to contain the following characters +, -, (, ) |
Is UUID | Format validation | Fields: String | The monitor fails if the chosen field contains at least one row that does not have a UUID format. |
Matches regex | Format validation | Fields: String | The rule fails if the selected field contains at least one row that does not match the format specified by the given regular expression. |
SQL | Custom | Table | Advanced template to write custom monitors based on business specifics. The SQL query must describe a quality breach on one or more tables within the same data source. |
Conditional monitors | Custom | Tables | As for SQL, this template allows to write custom monitors based on business use cases. With conditional statements, no SQL syntax is needed. The rule fails if values are found inside the filtering criteria set by conditional rules |
Updated 11 days ago