standard
turbot/azure_thrifty
- Detect & correct App Service plans if unused
- Detect & correct Compute disks attached to stopped VMs
- Detect & correct Compute unattached disks
- Detect & correct Compute disks with high IOPS
- Detect & correct Compute disks with low usage
- Detect & correct Compute snapshots exceeding max age
- Detect & correct Compute snapshots with premium storage
- Detect & correct Compute virtual machines
- Detect & correct Compute virtual machine with low utilization
- Detect & correct Compute disks exceeding max size
- Detect & correct HDInsight clusters exceeding max age
- Detect & correct Kubernetes clusters exceeding max age
- Detect & correct Kusto clusters exceeding max age
- Detect & correct Kusto clusters without autoscaling
- Detect & correct Monitor log profiles without retention policy
- Detect & correct Network application gateways without autoscaling
- Detect & correct Network load balancers if unused
- Detect & correct Network NAT gateways if unused
- Detect & correct Network unattached public IPs
- Detect & correct Network virtual network gateways if unused
- Detect & correct Service Fabric clusters exceeding max age
- Detect & correct SQL databases exceeding max age
- Detect & correct Storage accounts without lifecycle policy
- Detect & correct Compute virtual machine scale sets if unused
Get Involved
Version
Detect & correct Network load balancers if unused
Overview
Azure Network load balancers with no backend service instance attached still cost money and should be deleted.
This pipeline allows you to specify a collection of Network load balancers and either sends notifications or attempts to perform predefined corrective actions upon the collection.
Getting Started
By default, this trigger is disabled, however it can be configured by setting the below variables
network_load_balancers_if_unused_trigger_enabled
should be set totrue
as the default isfalse
.network_load_balancers_if_unused_trigger_schedule
should be set to your desired running schedulenetwork_load_balancers_if_unused_default_action
should be set to your desired action (i.e."notify"
for notifications or"delete_lb"
to delete the load balancer).
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
with lb_with_backend_pool as ( select id from azure_lb, jsonb_array_elements(backend_address_pools) as p where jsonb_array_length(p -> 'properties' -> 'loadBalancerBackendAddresses') > 0)select concat( lb.id, ' [', lb.resource_group, '/', lb.subscription_id, ']' ) as title, lb.id as id, lb.name, lb.resource_group, lb.subscription_id, lb.sp_connection_name as connfrom azure_lb as lb left join lb_with_backend_pool as p on p.id = lb.id, azure_subscription as subwhere p.id is null and sub.subscription_id = lb.subscription_id;
Schedule
15m
Tags
category = Cost
class = unused
plugin = azure
service = Azure/Network