Custom Thresholds
Adjust detection sensitivity for each resource type to match your environment's operational patterns.
Overview
Thresholds control when StackSage flags a resource as idle, oversized, or wasteful. All thresholds are optional — StackSage ships with sensible defaults that work for most AWS environments.
EBS Volumes
thresholds:
ebs:
unattached_days: 7 # Default: 7 — flag volumes unattached ≥N days
performance_utilization: 0.20 # Default: 0.20 — flag volumes at <20% of provisioned IOPSNAT Gateways
thresholds:
nat_gateway:
idle_threshold_gb_per_day: 1.0 # Default: 1.0 — flag gateways processing <1 GB/dayLambda Functions
thresholds:
lambda:
low_invocation_threshold: 10 # Default: 10 — flag functions with <10 invocations/dayRDS Instances
thresholds:
rds:
low_connection_count: 10 # Default: 10 — flag instances with <10 avg connectionsLoad Balancers
thresholds:
elb:
idle_request_threshold_per_day: 10.0 # Default: 10.0 — flag ELBs with <10 requests/day
min_days_old: 14 # Only check load balancers >14 days old
lb:
min_days_old: 7 # Default: 7Severity Thresholds
Control how findings are bucketed into severity levels:
thresholds:
severity:
high_cost_threshold: 100 # Findings ≥$100/mo → high severity
medium_cost_threshold: 25 # Findings ≥$25/mo → medium severity
# Below $25/mo → low severityProgressive tuning
Start conservative and tighten thresholds as you address findings — reducing noise in early runs and increasing signal over time:
# Week 1: Focus on high-impact items only
reporting:
min_savings_usd: 50
severity_filter: [critical, high]
# Week 4: Lower threshold as environment improves
reporting:
min_savings_usd: 10
severity_filter: [critical, high, medium]
# Month 2: Full audit
reporting:
min_savings_usd: 0