Skip to main content
idle · gcp

Bigtable instances that served zero requests for 30 days

resource types
1
rule IDs covered
1
severity
medium

What does ZopNight detect here?

Bigtable instances are flagged when `bigtable.googleapis.com/server/request_count` shows zero requests across every table for 30 days and cluster CPU load stays under 2%. Bigtable bills provisioned nodes every hour whether or not anything reads them, so ZopNight reports the instance's full monthly cost as the saving.

Signal and threshold

How ZopNight evaluates Bigtable instances that served zero requests for 30 days.
Field Value
Rule IDsRC-1244
Categoryidle
Severitymedium
Metricbigtable.googleapis.com/server/request_count
Thresholdzero requests and CPU load under 2%
Evaluation window30d
SourceZopNight
Permissions usedbigtable.instances.list · monitoring.timeSeries.list

Nodes bill whether or not anyone reads them

Bigtable charges for provisioned compute, not for traffic. Google’s Bigtable pricing states that you are charged each hour for the maximum number of nodes that existed in that hour, that node charges apply regardless of node usage and even when a cluster is inactive, and that each provisioned node is billed for at least one hour. Storage is billed separately, and a multi-cluster instance pays for a full copy of the data in every cluster.

An instance nobody queries is therefore billing its full node count around the clock. Leftover test instances and tables from finished migrations are the usual culprits.

Checking request traffic yourself

List instances in the project:

Terminal window
gcloud bigtable instances list

Then, in Metrics Explorer, chart bigtable.googleapis.com/server/request_count for the instance over 30 days, summed across tables, alongside bigtable.googleapis.com/cluster/cpu_load. A flat zero on requests with near-idle CPU matches this rule.

Two signals that must agree

  1. Request count summed across the instance’s tables is zero, on both the average and the peak, over the 30-day window.
  2. Cluster CPU load, taken from the busiest cluster, stays under 2% on average and at peak. CPU above that means Bigtable is still doing internal work such as replication or compaction.
  3. The metric history covers the full 30 days.
  4. The instance has a known monthly cost.

Why ZopNight might not flag an idle-looking instance

Any single request in the window clears it. If request data is missing entirely, the rule does not assume zero; it stays silent. The same applies when the history is shorter than 30 days, as for a new instance, or when the instance cannot be priced.

The full run-rate is the saving

Terminal window
saving = current monthly instance cost
cost after deletion = 0

Scaling down to fewer nodes is a partial alternative if the instance must stay.

Retiring the instance

  1. Confirm with the owning team that no application, Dataflow job or replication target uses it.
  2. Export anything worth keeping with the Bigtable to Cloud Storage Avro Dataflow template, so the data survives outside the instance.
  3. Delete it: gcloud bigtable instances delete INSTANCE_ID.
  4. For instances that stay, enable autoscaling so node count follows load.

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

472 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

472 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·