Proactive solutions for ensuring data reliability?
The thing eating most of our time lately isn't fixing data issues, it's figuring out what broke and who owns it. We're on dbt plus Snowflake, a couple years in, and our monitoring is mostly reactive: job failure alerts, Slack pings when a run takes too long, manual checks on a handful of critical tables. None of that tells you anything about root cause, so every incident turns into someone manually tracing lineage backward through a few hundred models trying to find where it actually started.
Two recent examples. We had a join key change in an upstream source that didn't break anything technically, the pipeline ran fine, row counts looked normal, but it quietly duplicated a chunk of records for about a week before anyone noticed the totals were off. Separately, a batch job that normally finished in twenty minutes started silently running closer to two hours after a dependency change, nothing alerted on it because it never actually failed, it just got slow enough that downstream consumers were working off stale data without anyone realizing.
Both of those took way longer to diagnose than they should have, not because the fix was hard, but because nothing pointed us at the source, we just had a symptom and a lot of lineage to manually walk through.
I want to move from reactive to actually proactive here. Catching this stuff at the source before it reaches anything downstream, cutting down the hours spent on manual triage, and getting alerting that's specific enough to point at a cause instead of just telling us something looks different.
We are a small team so building a custom observability platform from scratch is not an option. I need something that plugs into our existing dbt workflows without becoming its own maintenance project.
For teams that have made this shift, what actually worked for you in practice?