CostMonStart free

Databricks cost monitoring

Catch a job running on the wrong Databricks cluster

CostMon reads Databricks' system.billing.usage table daily. It normalizes DBU use by SKU and workspace. A scheduled job on a pricier all-purpose cluster is visible within a few days, instead of buried in next month's two cloud bills.

Databricks billing usage, live today

Databricks bills in DBUs, but the DBU rate is not one number. Jobs compute and SQL warehouses cost well below the same size of all-purpose compute. A scheduled pipeline can end up on an all-purpose cluster just because that cluster is already on. Also, Databricks bills DBUs, and AWS or GCP bills the VM, storage and network. Two invoices cover one workload. The cost of one pipeline needs two vendors to reconcile. The usage table gives exact DBUs, but dollars are only estimates at list price.

Cost anatomy

What actually drives your Databricks bill

DBUs, priced by workload type
Databricks bills in DBUs, and the DBU rate differs materially by compute type. Jobs compute and SQL warehouses are priced well below the same size of interactive all-purpose compute.
Scheduled jobs on the wrong cluster
A scheduled job can point at an all-purpose cluster that is already running. It then pays the higher all-purpose DBU rate. A jobs cluster would do the same work for less.
Two bills, one workload
On AWS and GCP classic compute, DBU charges from Databricks arrive separately from the underlying EC2 or GCE instance, storage, and network cost. The cloud provider bills that half on its own invoice.
Serverless bundles the VM cost
Serverless SQL and serverless compute put the infrastructure cost into one DBU rate. There is no second cloud bill. The math differs from classic compute.
system.billing.usage is exact, dollars are estimated
Databricks' own usage tables report DBU consumption exactly. The dollar estimate derived from list price won't match a negotiated or discounted invoice. Usage is the number to trust for anomaly detection, ahead of the dollar figure.

Alerts

How CostMon warns you about Databricks spend

CostMon's default rule watches every service on your account from the day you connect it. An alert always shows up in your CostMon feed. Add an email, Slack, or webhook channel to send it somewhere else too.

Anomaly rulesource = databricks, service = STANDARD_ALL_PURPOSE_COMPUTE

A scheduled pipeline billing at the all-purpose rate instead of the cheaper jobs-cluster rate.

Budgetsource = databricks

A monthly budget on total DBU spend catches more pipelines shifting onto the pricier cluster type.

Sample alert, illustrative

From
alerts@costmon.com
Subject
CostMon alert: Anomaly: databricks / STANDARD_ALL_PURPOSE_COMPUTE spend spike
Anomaly: databricks / STANDARD_ALL_PURPOSE_COMPUTE spend spike

databricks / STANDARD_ALL_PURPOSE_COMPUTE was $400.00 on 2026-08-11 — 82% above its 14-day average of $220.00.

Severity: warning
Occurred on: 2026-08-11

To find what to cut, the recommendations list flags idle spend and commitment gaps to review.

Why CostMon

Built for Databricks spend, from day one

DBUs broken out by workload type

CostMon reads system.billing.usage daily, so DBU consumption breaks down by SKU (jobs, all-purpose, SQL warehouse, serverless) instead of one blended Databricks total.

Catch a job on the wrong cluster

A pipeline that bills at the all-purpose rate instead of the jobs rate lifts one SKU line in the daily view. You see it long before it hides in a monthly DBU total.

Joins DBU spend to the cloud bill it also moves

Databricks spend sits in the same daily table as the AWS or GCP account under it. The full cost of a workload, DBUs plus infrastructure, is in one place. You do not read two invoices.

Read-only, system.billing.usage-scoped credentials

CostMon connects with a token that only runs a read-only query against system.billing.usage via the Statement Execution API. It never touches your clusters, jobs, or data.

  • DBUsthe unit, priced differently for jobs, all-purpose, and SQL warehouse compute
  • 2 billsDBU charges from Databricks, cloud VM charges from AWS/GCP, for one workload
  • system.billing.usageDatabricks usage table query, daily

Getting started

From API key to first alert, for Databricks

  1. 01

    Connect a read-only token and SQL warehouse

    Add a Databricks personal access token or service-principal token and point CostMon at a SQL warehouse to run the query. CostMon only ever runs a read-only SELECT against system.billing.usage.

  2. 02

    CostMon syncs and normalizes

    CostMon joins daily DBU use to Databricks' list-price table. It rolls the result up by day, SKU and workspace. The totals land in the table that also holds your cloud bills.

  3. 03

    See the cluster, then get the alert

    Open a daily view of DBU spend by SKU. A scheduled job that lands on an all-purpose cluster lifts that SKU's line, which trips a rule.

FAQ

Common questions about the Databricks connector

How does CostMon connect to Databricks?

Through a read-only personal access token or OAuth service-principal token that runs a single SELECT-style statement against system.billing.usage via the Statement Execution API. CostMon never requests access to your clusters, jobs, or notebooks.

Are the dollar amounts CostMon shows for Databricks exact?

DBU consumption is exact, sourced directly from system.billing.usage. Dollar amounts are estimated against Databricks' list price rather than your negotiated or invoiced rate. Usage is the number to trust for anomaly detection; treat dollars as directional.

Can CostMon tell me if a job is running on the wrong cluster type?

system.billing.usage records the SKU for every row, which distinguishes jobs, all-purpose, and SQL warehouse compute. CostMon shows that breakdown, so an all-purpose SKU behind a scheduled pipeline is visible, though it doesn't move the job for you.

Does CostMon also track the cloud VM cost underneath Databricks?

On classic (non-serverless) AWS and GCP compute, the underlying VM, storage, and network cost is billed separately by the cloud provider. Connect that provider alongside Databricks to see both halves of the same workload's cost in one place.

What does the Databricks connector cost?

A flat monthly rate per plan. It's never a percentage of your Databricks spend or the savings CostMon helps you find. Free includes 2 connectors; Professional and Enterprise include unlimited connectors.

Connectors

Cloud, AI, and SaaS: all in one place

AWS, GCP, and Azure for cloud. Anthropic, OpenAI, Amazon Bedrock, Vertex AI / Gemini, and Helicone for AI and LLM spend. Snowflake and Databricks for the data cloud. Datadog, GitHub, and Vercel for the rest of the stack. Add CSV import for any tool without a native connector. That's 14 connectors, all normalized into the same unified view.

Connect it. Get the first alert.

Connect a provider and CostMon builds a daily baseline for it. From there, a spike reaches your team as an alert.

Esc