Skip to content

ALB Target Group CloudWatch Metrics Not Publishing Despite Healthy Targets and Active Traffic

0

I have an Application Load Balancer with multiple target groups that are receiving active user traffic and passing health checks, but ALL target group CloudWatch metrics (RequestCount, TargetResponseTime, etc.) show zero datapoints for months.

Environment:

  • Region: us-west-2
  • ALB: my-app-alb-1234567890.us-west-2.elb.amazonaws.com (redacted)
  • Target Groups: 5 attached target groups, all healthy
  • Traffic: 2000+ requests/day confirmed via ALB-level RequestCount metrics

Evidence Traffic is Flowing:

  1. ALB-level RequestCount metrics show active traffic (2000+ requests/day)
  2. Users successfully access application endpoints like /deals/*, /registration/*
  3. All target groups show "healthy" status via describe-target-health
  4. DNS correctly resolves to ALB IPs and responses show nginx from EC2 instances

Evidence Metrics Are Missing:

  1. ALL target group RequestCount metrics return empty datapoints (tested 24+ hour ranges)
  2. ALL target group TargetResponseTime metrics return empty datapoints
  3. CloudWatch list-metrics shows target groups exist but get-metric-statistics returns []
  4. Issue persists across all 5 target groups for months

What I've Verified:

  • Target groups are attached to ALB ✓
  • Health checks are passing ✓
  • ALB listener rules are correctly routing traffic ✓
  • Traffic successfully reaches EC2 instances ✓
  • ALB-level metrics work perfectly ✓
  • Target group-level metrics completely empty ✓

This appears to be a CloudWatch metrics publishing issue where ALB target group metrics aren't being recorded despite healthy targets and confirmed traffic flow.

Example commands used for testing:

# Shows ALB traffic exists
aws cloudwatch get-metric-statistics --namespace "AWS/ApplicationELB" --metric-name "RequestCount" --dimensions
Name=LoadBalancer,Value=app/my-alb/1234567890abcdef --start-time [timestamp] --end-time [timestamp] --period 300 --statistics Sum
# Result: Shows datapoints with 100s of requests

# Shows target group metrics missing
aws cloudwatch get-metric-statistics --namespace "AWS/ApplicationELB" --metric-name "RequestCount" --dimensions
Name=TargetGroup,Value=targetgroup/my-tg-deals/1234567890abcdef --start-time [timestamp] --end-time [timestamp] --period 3600 --statistics Sum
# Result: Empty datapoints array```

Is this a known issue with CloudWatch ALB target group metrics publishing? How can this be resolved?
1 Answer
0
Accepted Answer

This appears to be an issue with how you're querying the CloudWatch metrics for your target groups. When retrieving metrics for Application Load Balancer target groups, you need to specify both the LoadBalancer and TargetGroup dimensions together, not just the TargetGroup dimension alone.

CloudWatch treats each unique combination of dimensions as a separate metric, and you must specify the exact same dimensions that were used when the metrics were created. For ALB target group metrics, both dimensions are required:

  1. Name=LoadBalancer,Value=app/my-alb/1234567890abcdef
  2. Name=TargetGroup,Value=targetgroup/my-tg-deals/1234567890abcdef

Try modifying your CloudWatch query to include both dimensions:

aws cloudwatch get-metric-statistics --namespace "AWS/ApplicationELB" \
--metric-name "RequestCount" \
--dimensions Name=LoadBalancer,Value=app/my-alb/1234567890abcdef \
Name=TargetGroup,Value=targetgroup/my-tg-deals/1234567890abcdef \
--start-time [timestamp] --end-time [timestamp] --period 3600 --statistics Sum

This should return the target group metrics you're looking for. The issue isn't that the metrics aren't being published, but rather that you're not querying them with the complete set of required dimensions.
Sources
CloudWatch metrics for your Gateway Load Balancer - Elastic Load Balancing
CloudWatch metrics for your Network Load Balancer - Elastic Load Balancing

answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.