Skip to content

CloudWatch Exporter Configuration Examples

This section contains ready-to-use CloudWatch Exporter configurations for various AWS services.

Available Configurations

Service Configuration File Description
EBS EBS.yaml Elastic Block Store volume metrics
S3 S3.yaml Simple Storage Service bucket and request metrics
ELB ELB.yaml Classic Load Balancer metrics
Application ELB ApplicationELB.yaml Application Load Balancer metrics
Network ELB NetworkELB.yaml Network Load Balancer metrics
EFS EFS.yaml Elastic File System metrics
Route53 Route53.yaml DNS service metrics
Route53 Resolver Route53Resolver.yaml DNS resolver metrics
RabbitMQ RabbitMQ.yaml Amazon MQ RabbitMQ metrics
Cassandra Cassandra.yaml Amazon Keyspaces (Cassandra) metrics

EBS Configuration

Monitor Amazon Elastic Block Store volumes for performance and utilization metrics.

EBS.yaml
region: us-east-1
period_seconds: 120
delay_seconds: 60
metrics:
  - aws_dimensions:
      - VolumeId
    aws_metric_name: VolumeReadBytes
    aws_namespace: AWS/EBS
    aws_statistics:
      - Minimum
      - Maximum
      - Sum
      - Average
      - SampleCount
  - aws_dimensions:
      - VolumeId
    aws_metric_name: VolumeWriteBytes
    aws_namespace: AWS/EBS
    aws_statistics:
      - Minimum
      - Maximum
      - Sum
      - Average
      - SampleCount
  - aws_dimensions:
      - VolumeId
    aws_metric_name: VolumeReadOps
    aws_namespace: AWS/EBS
    aws_statistics:
      - Minimum
      - Maximum
      - Sum
      - Average
  - aws_dimensions:
      - VolumeId
    aws_metric_name: VolumeWriteOps
    aws_namespace: AWS/EBS
    aws_statistics:
      - Minimum
      - Maximum
      - Sum
      - Average
  - aws_dimensions:
      - VolumeId
    aws_metric_name: VolumeTotalReadTime
    aws_namespace: AWS/EBS
    aws_statistics:
      - Minimum
      - Maximum
      - Average
      - Sum
  - aws_dimensions:
      - VolumeId
    aws_metric_name: VolumeTotalWriteTime
    aws_namespace: AWS/EBS
    aws_statistics:
      - Minimum
      - Maximum
      - Average
      - Sum
  - aws_dimensions:
      - VolumeId
    aws_metric_name: VolumeIdleTime
    aws_namespace: AWS/EBS
    aws_statistics:
      - Minimum
      - Maximum
      - Average
      - Sum
  - aws_dimensions:
      - VolumeId
    aws_metric_name: VolumeQueueLength
    aws_namespace: AWS/EBS
    aws_statistics:
      - Minimum
      - Maximum
      - Sum
      - Average
  - aws_dimensions:
      - VolumeId
    aws_metric_name: VolumeThroughputPercentage
    aws_namespace: AWS/EBS
    aws_statistics:
      - Minimum
      - Maximum
      - Sum
      - Average
  - aws_dimensions:
      - VolumeId
    aws_metric_name: VolumeConsumedReadWriteOps
    aws_namespace: AWS/EBS
    aws_statistics:
      - Minimum
      - Maximum
      - Sum
      - Average
  - aws_dimensions:
      - VolumeId
    aws_metric_name: BurstBalance
    aws_namespace: AWS/EBS
    aws_statistics:
      - Minimum
      - Maximum
      - Sum
      - Average

Key Metrics:

  • Volume I/O: Read/Write bytes and operations
  • Performance: Latency, throughput, queue length
  • Burst Credits: For burstable volumes (gp2, st1, sc1)

S3 Configuration

Monitor Amazon S3 buckets for storage usage and request metrics.

S3.yaml
region: us-east-1
period_seconds: 120
delay_seconds: 60
metrics:
  - aws_dimensions:
      - StorageType
      - BucketName
    aws_metric_name: BucketSizeBytes
    aws_namespace: AWS/S3
    aws_statistics:
      - Average
  - aws_dimensions:
      - StorageType
      - BucketName
    aws_metric_name: NumberOfObjects
    aws_namespace: AWS/S3
    aws_statistics:
      - Average
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: AllRequests
    aws_namespace: AWS/S3
    aws_statistics:
      - Sum
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: GetRequests
    aws_namespace: AWS/S3
    aws_statistics:
      - Sum
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: PutRequests
    aws_namespace: AWS/S3
    aws_statistics:
      - Sum
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: DeleteRequests
    aws_namespace: AWS/S3
    aws_statistics:
      - Sum
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: HeadRequests
    aws_namespace: AWS/S3
    aws_statistics:
      - Sum
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: PostRequests
    aws_namespace: AWS/S3
    aws_statistics:
      - Sum
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: SelectRequests
    aws_namespace: AWS/S3
    aws_statistics:
      - Sum
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: SelectBytesScanned
    aws_namespace: AWS/S3
    aws_statistics:
      - Average
      - Maximum
      - Minimum
      - Sum
      - SampleCount
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: SelectBytesReturned
    aws_namespace: AWS/S3
    aws_statistics:
      - Average
      - Maximum
      - Minimum
      - Sum
      - SampleCount
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: ListRequests
    aws_namespace: AWS/S3
    aws_statistics:
      - Sum
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: BytesDownloaded
    aws_namespace: AWS/S3
    aws_statistics:
      - Average
      - Maximum
      - Minimum
      - Sum
      - SampleCount
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: BytesUploaded
    aws_namespace: AWS/S3
    aws_statistics:
      - Average
      - Maximum
      - Minimum
      - Sum
      - SampleCount
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: 4xxErrors
    aws_namespace: AWS/S3
    aws_statistics:
      - Average
      - Maximum
      - Minimum
      - Sum
      - SampleCount
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: 5xxErrors
    aws_namespace: AWS/S3
    aws_statistics:
      - Average
      - Maximum
      - Minimum
      - Sum
      - SampleCount
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: FirstByteLatency
    aws_namespace: AWS/S3
    aws_statistics:
      - Average
      - Maximum
      - Minimum
      - Sum
      - SampleCount
  - aws_dimensions:
      - BucketName
      - FilterId
    aws_metric_name: TotalRequestLatency
    aws_namespace: AWS/S3
    aws_statistics:
      - Average
      - Maximum
      - Minimum
      - Sum
      - SampleCount

Key Metrics:

  • Storage: Bucket size and object count
  • Requests: GET, PUT, DELETE, HEAD operations
  • Performance: Request latency and error rates
  • Data Transfer: Bytes uploaded/downloaded

Usage

  1. Choose a configuration from the table above
  2. Download the YAML file by clicking on the link
  3. Apply the configuration to your CloudWatch Exporter:
# Download and apply locally
wget EBS.yaml
kubectl apply -f EBS.yaml
# values.yaml
cloudwatchExporter:
  config: |
    # Paste the content of chosen YAML file here
    region: us-east-1
    period_seconds: 120
    # ... rest of configuration

Configuration Parameters

All configurations use these common parameters:

Parameter Default Description
region us-east-1 AWS region to monitor
period_seconds 120 Metric collection interval
delay_seconds 60 Delay before collecting metrics
aws_dimensions - AWS resource dimensions for filtering
aws_metric_name - CloudWatch metric name
aws_namespace - AWS service namespace
aws_statistics - Aggregation functions (Average, Sum, etc.)

Customization

You can customize these configurations:

  1. Change regions: Update the region field
  2. Adjust timing: Modify period_seconds and delay_seconds
  3. Filter resources: Add dimension filters
  4. Select metrics: Remove unneeded metrics to reduce costs

Grafana Dashboards

Pre-built Grafana dashboards are available for AWS services:

Service Dashboard File
EBS ebs.json
S3 s3.json
Application ELB application-elb.json
Classic ELB classic-elb.json
Network ELB network-elb.json
EFS efs.json
RabbitMQ rabbitmq.json
Cassandra cassandra.json

Import Dashboards

  1. Download the JSON file for your service
  2. In Grafana, go to + → Import
  3. Upload the JSON file or paste its content
  4. Configure data source if needed