Currently, we have a total of 10 unhealthy hosts under a specific ELB, hosts are in different AZs.
aws_elb_un_healthy_host_count_average metric returns 10 unhealthy hosts for each AZ:
aws_elb_un_healthy_host_count_average{load_balancer_name="foo",availability_zone="us-west-2c",} 10.0 aws_elb_un_healthy_host_count_average{load_balancer_name="foo",availability_zone="us-west-2b",} 10.0 aws_elb_un_healthy_host_count_average{load_balancer_name="foo",availability_zone="us-west-2a",} 10.0
therefore, sum by (load_balancer_name) (aws_elb_un_healthy_host_count_average{load_balancer_name="foo"}) returns 30 unhealthy hosts, which is incorrect (should be 10)
On the other hand, aws_elb_healthy_host_count_average returns just one value, without availability_zone label, and therefore returns a correct number.
Using cloudwatch_exporter-0.8.0 image