library
turbot/azure_thrifty

Detect & correct Compute disks unattached

Overview

Managing unattached disks is crucial for cost efficiency, as they continue to incur charges while not actively contributing to operational workloads. Regularly identifying and managing these resources can help optimize storage costs and organizational efficiency in Azure.

This query trigger detects unattached compute disks 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_disks_if_unattached_trigger_enabled should be set to true as the default is false.
  • compute_disks_if_unattached_trigger_schedule should be set to your desired running schedule
  • compute_disks_if_unattached_default_action should be set to your desired action (i.e. "notify" for notifications or "delete_disk" to delete the disk).

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(
d.id,
' [',
d.resource_group,
'/',
d.subscription_id,
']'
) as title,
d.name,
d.resource_group,
d.subscription_id,
d.name || to_char(current_date, 'YYYYMMDD') as snapshot_name,
d._ctx ->> 'connection_name' as cred
from
azure_compute_disk as d,
azure_subscription as sub
where
d.disk_state = 'Unattached'
and sub.subscription_id = d.subscription_id;

Schedule

15m