GCloudCLI icon
If icon
SlackIncomingWebhook icon
Schedule icon

Google Cloud Spanner High Priority CPU Utilization Sentinel

Monitors Google Cloud Spanner instance high-priority CPU utilization to prevent transactional latency spikes and query queuing.

Categories
CloudData

How it works

This workflow connects to Google Cloud Monitoring via the official Kestra GCloudCLI plugin to query spanner.googleapis.com/instance/cpu/utilization_by_priority for high-priority operational workloads. Google Cloud Spanner enforces recommended maximum high-priority CPU utilization thresholds (65% for regional instances, 45% for multi-region instances) to provide headroom for automatic node failover and sudden traffic bursts. Crossing these thresholds forces incoming transactional read/write operations to queue, degrading application response times. This workflow evaluates CPU metrics and alerts platform teams before latency degradation occurs.

What you get

  • Real-time detection of CPU capacity saturation on Google Cloud Spanner instances.
  • Prevents transactional latency spikes and read/write SLA violations.
  • Quantitative metrics on high-priority workload pressure.

Who it's for

  • Cloud Database Administrators and Backend Systems Architects.
  • SREs maintaining globally distributed databases on Google Cloud Platform.

Why orchestrate this with Kestra

  • Native GCloud CLI Automation: Direct integration using Kestra service account secrets.
  • Proactive Headroom Guard: Catches resource pressure before failover capacity is compromised.
  • Direct Team Alerts: Delivers notifications with CPU percentages directly to Slack.

Prerequisites

  • Google Cloud Project with Cloud Monitoring API enabled and Spanner instance.
  • Secrets GCP_SERVICE_ACCOUNT and SLACK_WEBHOOK configured in Kestra.

Quick start

  1. Import the blueprint.
  2. Input GCP project ID and Spanner instance ID.
  3. Run the workflow to inspect current high-priority CPU utilization.

How to extend

  • Automatically scale up Spanner processing units (nodes) via gcloud spanner instances update when sustained saturation occurs.
  • Query SPANNER_SYS.QUERY_STATS_TOP_MINUTE to isolate expensive SQL queries.

Links

See How

New to Kestra?

Use blueprints to kickstart your first workflows.