Control: RDS DB instances with a low number connections per day should be reviewed
Description
These databases have had very little usage in the last 30 days and should be shut down when not in use.
Usage
Run the control in your terminal:
powerpipe control run alicloud_thrifty.control.rds_db_instance_low_connection_count
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run alicloud_thrifty.control.rds_db_instance_low_connection_count --share
Steampipe Tables
Params
Args | Name | Default | Description | Variable |
---|---|---|---|---|
$1 | rds_db_instance_avg_connections |
| The minimum number of average connections per day required for DB instances to be considered in-use. |
SQL
with rds_db_usage as ( select db_instance_id, round(sum(maximum)/count(maximum)) as avg_max, count(maximum) as days from alicloud_rds_instance_metric_connections_daily where date_part('day', now() - timestamp) <=30 group by db_instance_id)select arn as resource, case when avg_max is null then 'error' when avg_max = 0 then 'alarm' when avg_max < $1 then 'info' else 'ok' end as status, case when avg_max is null then 'Cloud monitor metrics not available for ' || title || '.' when avg_max = 0 then title || ' has not been connected to in the last ' || days || ' days.' else title || ' is averaging ' || avg_max || ' max connections/day in the last ' || days || ' days.' end as reason , account_id, regionfrom alicloud_rds_instance as i left join rds_db_usage as u on u.db_instance_id = i.db_instance_id;