Table: gcp_sql_database_instance_metric_cpu_utilization_hourly - Query Google Cloud SQL Database Instances using SQL
Google Cloud SQL is a fully-managed database service that makes it easy to set up, maintain, manage, and administer your relational databases on Google Cloud Platform. The service offers seamless scalability, secure connections, and the flexibility to support various SQL workloads. Google Cloud SQL Database Instances are the building blocks of this service where the databases are hosted.
Table Usage Guide
The gcp_sql_database_instance_metric_cpu_utilization_hourly
table provides insights into the CPU utilization of Google Cloud SQL Database Instances on an hourly basis. As a database administrator or DevOps engineer, you can use this table to monitor and analyze the CPU usage of your instances, helping you to identify resource-intensive operations, potential performance issues, and opportunities for optimization. This information is crucial for maintaining the efficiency and reliability of your database operations.
GCP Monitoring metrics provide data about the performance of your systems. The gcp_sql_database_instance_metric_cpu_utilization_hourly
table provides metric statistics at 1 hour intervals for the most recent 60 days.
Examples
Basic info
Explore the CPU utilization of your Google Cloud SQL database instances over the past hour. This can help you understand their performance and identify any instances that may be under or over-utilized.
select instance_id, minimum, maximum, average, sample_count, timestampfrom gcp_sql_database_instance_metric_cpu_utilization_hourlyorder by instance_id;
select instance_id, minimum, maximum, average, sample_count, timestampfrom gcp_sql_database_instance_metric_cpu_utilization_hourlyorder by instance_id;
Intervals averaging over 80%
Identify instances where the CPU utilization of your Google Cloud SQL database averages over 80% to help manage resources and optimize performance.
select instance_id, round(minimum :: numeric, 2) as min_cpu, round(maximum :: numeric, 2) as max_cpu, round(average :: numeric, 2) as avg_cpu, sample_countfrom gcp_sql_database_instance_metric_cpu_utilization_hourlywhere average > 80order by instance_id;
select instance_id, round(minimum, 2) as min_cpu, round(maximum, 2) as max_cpu, round(average, 2) as avg_cpu, sample_countfrom gcp_sql_database_instance_metric_cpu_utilization_hourlywhere average > 80order by instance_id;
Intervals averaging < 1%
Analyze the CPU utilization of your Google Cloud SQL database instances to identify those with an average CPU utilization of less than 1%. This can be particularly useful in optimizing resource allocation and reducing costs by pinpointing underutilized instances.
select instance_id, round(minimum :: numeric, 2) as min_cpu, round(maximum :: numeric, 2) as max_cpu, round(average :: numeric, 2) as avg_cpu, sample_countfrom gcp_sql_database_instance_metric_cpu_utilization_hourlywhere average < 1order by instance_id;
select instance_id, round(minimum, 2) as min_cpu, round(maximum, 2) as max_cpu, round(average, 2) as avg_cpu, sample_countfrom gcp_sql_database_instance_metric_cpu_utilization_hourlywhere average < 1order by instance_id;
Schema for gcp_sql_database_instance_metric_cpu_utilization_hourly
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form. | |
average | double precision | The average of the metric values that correspond to the data point. | |
instance_id | text | The ID of the instance. | |
location | text | The GCP multi-region, region, or zone in which the resource is located. | |
maximum | double precision | The maximum metric value for the data point. | |
metadata | jsonb | The associated monitored resource metadata. | |
metric_kind | text | The metric type. | |
metric_labels | jsonb | The set of label values that uniquely identify this metric. | |
metric_type | text | The associated metric. A fully-specified metric used to identify the time series. | |
minimum | double precision | The minimum metric value for the data point. | |
project | text | =, !=, ~~, ~~*, !~~, !~~* | The GCP Project in which the resource is located. |
resource | jsonb | The associated monitored resource. | |
sample_count | double precision | The number of metric values that contributed to the aggregate value of this data point. | |
sp_connection_name | text | =, !=, ~~, ~~*, !~~, !~~* | Steampipe connection name. |
sp_ctx | jsonb | Steampipe context in JSON form. | |
sum | double precision | The sum of the metric values for the data point. | |
timestamp | timestamp with time zone | The time stamp used for the data point. | |
unit | text | The data points of this time series. When listing time series, points are returned in reverse time order.When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be BOOL, INT64, DOUBLE, or DISTRIBUTION. |
Export
This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.
You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh
script:
/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- gcp
You can pass the configuration to the command with the --config
argument:
steampipe_export_gcp --config '<your_config>' gcp_sql_database_instance_metric_cpu_utilization_hourly