Interface: MonitoringRule
Defined in: src/types.ts:90
Monitoring rule configuration
Pass a MonitoringRule to checkFreshness, checkVolumeAnomaly, or
checkSchemaChanges to define what to monitor and the alert thresholds.
Example
const rule: MonitoringRule = {
id: 'orders-freshness',
sourceId: 'prod_pg',
name: 'Orders Freshness',
tableName: 'orders',
ruleType: 'freshness',
toleranceMinutes: 60,
timestampColumn: 'updated_at',
checkIntervalMinutes: 5,
isActive: true,
createdAt: new Date(),
updatedAt: new Date(),
};
Properties
baselineConfig?
optionalbaselineConfig:object
Defined in: src/types.ts:109
calculationMethod?
optionalcalculationMethod:"mean"|"median"|"trimmed_mean"
excludeWeekends?
optionalexcludeWeekends:boolean
minimumDataPoints?
optionalminimumDataPoints:number
seasonalAdjustment?
optionalseasonalAdjustment:boolean
timeoutSeconds?
optionaltimeoutSeconds:number
trimmedMeanPercentile?
optionaltrimmedMeanPercentile:number
windowDays?
optionalwindowDays:number
baselineWindowDays?
optionalbaselineWindowDays:number
Defined in: src/types.ts:104
checkIntervalMinutes
checkIntervalMinutes:
number
Defined in: src/types.ts:141
consecutiveFailures?
optionalconsecutiveFailures:number
Defined in: src/types.ts:148
createdAt
createdAt:
Date
Defined in: src/types.ts:150
customSql?
optionalcustomSql:string
Defined in: src/types.ts:137
description?
optionaldescription:string
Defined in: src/types.ts:94
deviationThresholdPercent?
optionaldeviationThresholdPercent:number
Defined in: src/types.ts:105
expectedFrequency?
optionalexpectedFrequency:string
Defined in: src/types.ts:99
expectedResult?
optionalexpectedResult:unknown
Defined in: src/types.ts:138
id
id:
string
Defined in: src/types.ts:91
isActive
isActive:
boolean
Defined in: src/types.ts:145
lastCheckAt?
optionallastCheckAt:Date
Defined in: src/types.ts:146
lastStatus?
optionallastStatus:CheckStatus
Defined in: src/types.ts:147
minimumRowCount?
optionalminimumRowCount:number
Defined in: src/types.ts:106
name
name:
string
Defined in: src/types.ts:93
ruleType
ruleType:
RuleType
Defined in: src/types.ts:96
schemaChangeConfig?
optionalschemaChangeConfig:object
Defined in: src/types.ts:124
adaptationMode?
optionaladaptationMode:"auto"|"manual"|"alert_only"
baselineRefreshDays?
optionalbaselineRefreshDays:number
monitoringMode?
optionalmonitoringMode:"full"|"partial"
trackedColumns?
optionaltrackedColumns:object
trackedColumns.alertLevel?
optionalalertLevel:"low"|"medium"|"high"
trackedColumns.columns?
optionalcolumns:string[]
trackedColumns.trackNullability?
optionaltrackNullability:boolean
trackedColumns.trackTypes?
optionaltrackTypes:boolean
sourceId
sourceId:
string
Defined in: src/types.ts:92
tableName
tableName:
string
Defined in: src/types.ts:95
timestampColumn?
optionaltimestampColumn:string
Defined in: src/types.ts:101
timezone?
optionaltimezone:string
Defined in: src/types.ts:142
toleranceMinutes?
optionaltoleranceMinutes:number
Defined in: src/types.ts:100
trackColumnChanges?
optionaltrackColumnChanges:boolean
Defined in: src/types.ts:120
trackTableChanges?
optionaltrackTableChanges:boolean
Defined in: src/types.ts:121
updatedAt
updatedAt:
Date
Defined in: src/types.ts:151