Sign inSign up

quintoandar/rds_exporter

By quintoandar

•Updated over 1 year ago

Image
0

50K+

quintoandar/rds_exporter repository overview

⁠RDS Exporter

Release Go Report Card CLA assistant codecov.io Code Coverage Discord

An AWS RDS⁠ exporter for Prometheus⁠. It gets metrics from both basic CloudWatch Metrics⁠ and RDS Enhanced Monitoring via CloudWatch Logs⁠.

⁠Quick start

Create configration file config.yml:

---
instances:
  - region: us-east-1
    instance: rds-aurora1

  - region: us-east-1
    instance: rds-mysql57
    aws_access_key: AKIAIOSFODNN7EXAMPLE
    aws_secret_key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
    aws_role_arn: arn:aws:iam::76784568345:role/my-role
    disable_basic_metrics: true
    disable_enhanced_metrics: false
    labels:
      foo: bar
      baz: qux

If aws_role_arn is present it will assume role otherwise 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.

⁠Metrics

Exporter synthesizes node_exporter⁠-like metrics where possible.

You can see a list of basic monitoring metrics there⁠ and a list of enhanced monitoring metrics in text files there⁠.

⁠Cost

Amazon charges for every CloudWatch API request, see the current charges⁠.

Every metric retrieved requires one API request, which can include multiple statistics.

If you have 100 API requests every minute, with the price of $10 per million requests (as of Aug 2018), that is around $45 per month.

Tag summary

Content type

Image

Digest

Size

12.8 MB

Last updated

over 5 years ago

docker pull quintoandar/rds_exporter