pipenv lock --keep-outdated -r > requirements.txt
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.
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
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
and AWS_SECRET_ACCESS_KEY
environment variables, ~/.aws/credentials
file,
and IAM role for EC2.
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.