RDS Exporter
![codecov.io Code Coverage](https://img.shields.io/codecov/c/github/percona/rds_exporter.svg?maxAge=2592000)
An AWS RDS exporter for Prometheus.
It gets metrics from both basic CloudWatch Metrics
and RDS Enhanced Monitoring via CloudWatch Logs.
Based on Technofy/cloudwatch_exporter,
but very little of the original code remained.
Quick start
Create configration file config.yml
:
---
instances:
- instance: rds-aurora1
region: us-east-1
- instance: rds-mysql57
region: us-east-1
aws_access_key: AKIAIOSFODNN7EXAMPLE
aws_secret_key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
labels:
foo: bar
baz: qux
If aws_access_key
and aws_secret_key
are present, they are used for that instance.
Otherwise, default credential provider chain
is used, which includes AWS_ACCESS_KEY_ID
/AWS_ACCESS_KEY
and AWS_SECRET_ACCESS_KEY
/AWS_SECRET_KEY
environment variables, ~/.aws/credentials
file,
and IAM role for EC2.
Returned metrics contain instance
and region
labels set. They also contain extra labels specified in the configuration file.
Start exporter by running:
rds_exporter
To see all flags run:
rds_exporter --help
Configure Prometheus:
---
scrape_configs:
- job_name: rds-basic
scrape_interval: 60s
scrape_timeout: 55s
metrics_path: /basic
honor_labels: true
static_configs:
- targets:
- 127.0.0.1:9042
- job_name: rds-enhanced
scrape_interval: 10s
scrape_timeout: 9s
metrics_path: /enhanced
honor_labels: true
static_configs:
- targets:
- 127.0.0.1:9042
honor_labels: true
is important because exporter returns metrics with instance
label set.