Data Pipeline Monitoring

Your ETL job ran. It processed zero records. Nobody knew.

NotiLens monitors ETL jobs, batch syncs, data freshness, and row count anomalies — alerting your team the moment a data pipeline fails silently or produces suspicious output.

Works with your data stack
Airflow
dbt
Fivetran
Airbyte
Prefect
Webhook

Data pipelines fail silently. Your monitoring doesn't see it.

ETL jobs report success even when they write zero rows. Batch syncs miss their window with no error. Dashboards go stale while teams make decisions on outdated data. The failure is invisible until the damage is done.

ETL job "succeeded" with zero rows

Your pipeline ran, completed without errors, and inserted nothing. A schema change upstream broke the source query silently. Standard monitoring saw a green checkmark — NotiLens would have seen zero rows where 12,000 were expected.

Batch sync missed its window

Your hourly sync didn't run. Then it missed again. After four hours, someone noticed the dashboards hadn't moved. The connector had silently paused — no error, no alert, just stale data flowing into every report downstream.

Duplicate rows wrote corrupt data

An upstream bug duplicated records before they reached your pipeline. Validation passed. Row count was high — but not flagged as anomalous. Your models ran on bad data for six hours before a data analyst spotted the totals looked wrong.

Pipeline alerting that catches what dbt tests miss

Send a webhook from your pipeline at the end of each run. NotiLens watches for silence, zero records, row count anomalies, and freshness violations — and alerts your team immediately.

Zero-record detection

Send your pipeline's output row count to NotiLens. When a run completes with zero rows where thousands are expected, you get an immediate alert — even if the job reported success.

Missed-run silence detection

Define how often your pipeline should run. If NotiLens doesn't receive an event within that window, it fires a silence alert — catching missed syncs before your data goes stale for hours.

Row count anomaly detection

NotiLens learns your pipeline's normal row count range. When a run produces 10× or 0.1× the expected volume, it fires — catching both duplicate ingestion and silent data loss before models run on bad input.

Data freshness monitoring

Send a heartbeat from your sync after each successful write. NotiLens alerts when a table hasn't been updated within its expected freshness window — so downstream consumers always know when data is stale.

Works with any pipeline tool

Airflow, dbt, Prefect, Fivetran, Airbyte, custom Python scripts — if it can fire a webhook, it works with NotiLens. No agents, no SDK required. One HTTP call at the end of each run.

Team alerting & ACK

Route data pipeline alerts to the right team members through the NotiLens mobile app. Critical alerts repeat until someone acknowledges them — so a zero-record ETL at 2am doesn't sit unnoticed until morning standup.

What NotiLens sends your data team

Every alert includes the pipeline name, expected vs. actual values, and the exact timestamp — so you can diagnose and fix faster.

NotiLens Live Feed — Data Pipelines
nightly-user-sync: 0 rows processed — expected 12,000+
Topic: etl-runs • Zero-Record Alert • 2 min ago
Critical
orders-to-warehouse: no run in 4 hours — connector may be paused
Topic: batch-syncs • Silence Alert • 38 min ago
Critical
events-ingest: 47,000 rows — 11× normal baseline (4,200)
Topic: etl-runs • Row Count Anomaly • 1 hr ago
Warning
customers table: last updated 6h ago — freshness threshold exceeded
Topic: data-freshness • Freshness Alert • 2 hr ago
Warning

A pipeline that completed successfully is not necessarily a pipeline that did anything.

Zero rows, stale tables, missed windows — these are the data failures that slip past your orchestrator's green checkmarks. NotiLens is built to catch exactly what orchestration tools can't: silent, successful-looking failures.

Common questions

Is this a replacement for dbt tests or Great Expectations? +
No — dbt tests and Great Expectations validate data quality within a run. NotiLens operates at the pipeline level: it detects when runs don't happen at all, produce zero output, or deviate significantly from their normal volume. They're complementary — your tests catch bad data inside a run; NotiLens catches the run not behaving as expected from the outside.
How does NotiLens detect zero-record ETL runs? +
At the end of each pipeline run, you send a webhook to NotiLens with the row count as a metric value. NotiLens learns your normal range over time and fires when a run reports zero rows — or any count that falls outside your expected baseline, even if the job exit code was success.
Which pipeline tools does NotiLens support? +
Any tool that can make an HTTP request works with NotiLens. This includes Airflow (via callbacks or sensors), dbt (via post-hook webhooks), Prefect (via automations), Fivetran (via connector webhooks), Airbyte, custom Python/Bash scripts, and anything else that runs as a job. No agents or proprietary SDKs required.
My orchestrator already sends failure emails. Why do I need NotiLens? +
Orchestrator failure emails only fire when a job exits with an error code. Zero-record runs, stale tables, and missed windows don't trigger errors — they look like successes. NotiLens catches the class of failure your orchestrator is blind to: the job that ran fine and did nothing useful.

Stop discovering data issues from your analysts.

No credit card required — 7-day free trial.

Start 7-Day Free Trial