AWS Required Metric Dimensions

Kloudfuse enriches incoming CloudWatch metrics with AWS resource metadata by looking up the resource that produced each metric. The lookup key is built from the metric’s account ID, region, namespace, and one identifying dimension — for example, InstanceId for AWS/EC2.

If a metric arrives in a namespace listed on this page but carries none of that namespace’s identifying dimensions, Kloudfuse cannot resolve which resource it belongs to, and the metric is dropped.

For how enrichment fits into the wider AWS integration, see AWS CloudWatch Metrics Integration.

Overview

Every CloudWatch metric Kloudfuse receives goes through the same check before it is forwarded to storage:

  1. Look up the metric’s namespace in the required-dimensions list.

  2. If the namespace is not listed, keep the metric. No enrichment is attempted.

  3. If the namespace is listed, look for any one of its required dimensions on the metric.

  4. If one is found, build the enrichment key, attach the resource metadata, and keep the metric.

  5. If none is found, drop the metric.

The requirement is satisfied by any one of the dimensions listed for a namespace, not all of them. A metric with DBInstanceIdentifier alone is enough for AWS/RDS, for example.

Required Dimensions by Namespace

Send at least one of the listed dimensions with every metric in these namespaces.

Namespace AWS Service Required dimension (any one)

AWS/AmazonMQ

Amazon MQ

Broker

AWS/ApiGateway

API Gateway

ApiName, ApiId

AWS/ApplicationELB

Application Load Balancer

LoadBalancer

AWS/Athena

Athena

WorkGroup

AWS/AutoScaling

EC2 Auto Scaling

AutoScalingGroupName

AWS/Bedrock

Bedrock

ModelId

AWS/CertificateManager

Certificate Manager

CertificateArn

AWS/CloudFront

CloudFront

DistributionId

AWS/DynamoDB

DynamoDB

TableName

AWS/EBS

EBS

VolumeId

AWS/EC2

EC2

InstanceId

AWS/EC2CapacityReservations

EC2 Capacity Reservations

CapacityReservationId

AWS/ECS

ECS

ClusterName

AWS/EFS

EFS

FileSystemId

AWS/ELB

Classic Load Balancer

LoadBalancerName

AWS/ES

OpenSearch Service

DomainName

AWS/ElastiCache

ElastiCache

CacheClusterId, clusterId

AWS/Events

EventBridge

EventBusName, RuleName

AWS/FSx

FSx

FileSystemId

AWS/Firehose

Data Firehose

DeliveryStreamName

AWS/GatewayELB

Gateway Load Balancer

LoadBalancer

AWS/Glue

Glue

JobName

AWS/Kafka

MSK

Cluster Name

AWS/Kinesis

Kinesis Data Streams

StreamName

AWS/Lambda

Lambda

FunctionName

AWS/Logs

CloudWatch Logs

LogGroupName

AWS/MediaConvert

MediaConvert

Queue

AWS/NATGateway

NAT Gateway

NatGatewayId

AWS/NetworkELB

Network Load Balancer

LoadBalancer

AWS/QBusiness

Amazon Q Business

ApplicationId

AWS/RDS

RDS

DBClusterIdentifier, DBInstanceIdentifier

AWS/Redshift

Redshift

ClusterIdentifier

AWS/Route53

Route 53

HealthCheckId

AWS/S3

S3

BucketName

AWS/SES

SES

ses:configuration-set

AWS/SNS

SNS

TopicName

AWS/SQS

SQS

QueueName

AWS/States

Step Functions

StateMachineArn, ActivityArn

AWS/Timestream

Timestream

DatabaseName, TableName

AWS/WAFV2

WAF

WebACL, RuleGroup

ECS/ContainerInsights

ECS Container Insights

ClusterName

LambdaInsights

Lambda Insights

function_name

Dimension names are matched exactly, as AWS emits them. Several are easy to mistype: Cluster Name for MSK contains a literal space, ses:configuration-set contains a colon, and LambdaInsights uses lowercase function_name rather than FunctionName.

Service-Level ECS Metrics

AWS/ECS and ECS/ContainerInsights support a second, finer-grained enrichment key. When a metric carries both ClusterName and ServiceName, Kloudfuse enriches it at the service level in addition to the cluster level.

ClusterName alone is still enough to keep the metric. Adding ServiceName gains service-level metadata; omitting it does not cause a drop.

Exceptions

Unlisted namespaces

Namespaces absent from the table above are never dropped for missing dimensions. Their metrics pass through unenriched.

AWS/SES

AWS/SES is exempt from the drop rule. SES publishes account-level metrics that legitimately carry no ses:configuration-set dimension, so Kloudfuse keeps them.

Why Metrics Get Dropped

If metrics are missing from Kloudfuse for a namespace listed above, check the following.

Namespace-level rollup series

A CloudWatch Metrics Stream publishes both per-resource series and aggregate rollup series. The rollup series carry no identifying dimension, so they match no enrichment key and are dropped. This is expected: the per-resource series covering the same data are retained and enriched.

Metric stream filters

Confirm that the namespace is included in your metrics stream’s --include-filters. A namespace excluded at the stream level never reaches Kloudfuse at all, which looks identical to a drop. See Create a CloudWatch Metrics Stream.

Per-metric dimension sets

Some namespaces apply an additional rule on top of the single-dimension requirement: individual metrics must carry a specific set of dimensions to be retained. This applies to AWS/ApplicationELB, AWS/NetworkELB, AWS/ELB, AWS/RDS, and AWS/FSx.

For example, an AWS/ApplicationELB RequestCount metric is retained when it carries LoadBalancer, AvailabilityZone, and TargetGroup together. Series published at a coarser grouping are dropped in favor of the most detailed variant.

For AWS/FSx, the required set additionally varies by file system type and generation — ONTAP, OpenZFS, Lustre, and Windows file systems each expect different dimensions for the same metric name.

Enrichment scope

Enrichment only resolves resources in the accounts and regions the scraper is configured to scrape. A metric whose dimension is present but whose resource falls outside that scope is still kept — it is simply not enriched. See Namespaces.

Next steps