library
turbot/gcp_thrifty
- Detect & correct AlloyDB clusters exceeding max age
- Detect & correct long-running AlloyDB instances exceeding max age
- Detect & correct Compute addresses if unattached
- Detect & correct Compute disks attached to stopped instances
- Detect & correct Compute disks exceeding max size
- Detect & correct Compute disks if unattached
- Detect & correct Compute disks with low usage
- Detect & correct Compute engine instances exceeding max age
- Detect & correct Compute engine instances large
- Detect & correct Compute instances with low utilization
- Detect & correct Compute node groups without autoscaling
- Detect & correct Compute snapshots exceeding max age
- Detect & correct Dataproc clusters without autoscaling
- Detect & correct Kubernetes clusters exceeding max age
- Detect & correct GKE clusters without vertical pod autoscaling
- Detect & correct Logging Buckets with high retention period
- Detect & correct Redis instances exceeding max age
- Detect & correct SQL database instances exceeding max age
- Detect & correct SQL DB instances with low connection count
- Detect & correct SQL DB instances with low cpu utilization
- Detect & correct Storage buckets without lifecycle policies
- Detect & correct VPN gateways with no tunnels
Get Involved
Version
Detect & correct large Compute instances
Overview
Compute instances can be quite costly to retain, it is also likely that after a certain point in time they're no longer required and should be cleaned up to prevent further costs. Large Compute instances are unusual, expensive and should be reviewed.
This query trigger detects large Compute instances and then either sends a notification or attempts to perform a predefined corrective action.
Getting Started
By default, this trigger is disabled, however it can be configured by setting the below variables
compute_instances_large_trigger_enabled
should be set totrue
as the default isfalse
.compute_instances_large_trigger_schedule
should be set to your desired running schedulecompute_instances_large_default_action
should be set to your desired action (i.e."notify"
for notifications or"terminate_instance"
to delete the instance).
Then starting the server:
flowpipe server
or if you've set the variables in a .fpvars
file:
flowpipe server --var-file=/path/to/your.fpvars
Query
select concat(name, ' [', zone, '/', project, ']') as title, name as instance_name, zone, _ctx ->> 'connection_name' as cred, projectfrom gcp_compute_instancewhere status in ('RUNNING', 'PROVISIONING', 'STAGING', 'REPAIRING') and machine_type_name not like any ( array [ 'custom-1-1024', 'custom-2-2048', 'custom-4-4096', 'custom-8-8192', 'custom-16-16384', 'custom-32-32768', 'custom-64-65536', 'custom-96-98304', 'custom-128-131072', 'custom-224-229376' ] )
Schedule
15m