Docs » Integrations Guide » Integrations Reference » Amazon Relational Database Service (RDS)

../../_images/integration_awsrds.png Amazon Relational Database Service (RDS) ๐Ÿ”—

DESCRIPTION ๐Ÿ”—

Use SignalFx to monitor Amazon Relational Database Service (RDS) via Amazon Web Services.

FEATURES ๐Ÿ”—

Built-in dashboards ๐Ÿ”—

  • RDS Instances: Overview of all data from RDS.

    ../../_images/dashboard_rds_instances.png

  • RDS Instance: Focus on a single RDS instance.

    ../../_images/dashboard_rds_instance.png

INSTALLATION ๐Ÿ”—

Step 1: Connect to CloudWatch ๐Ÿ”—

By default, SignalFx will import all CloudWatch metrics that are available in your account. To retrieve metrics for a subset of available services or regions, modify the connection on the Integrations page.

RDS ENHANCED MONITORING ๐Ÿ”—

SignalFx supports an integration with RDS Enhanced Monitoring using an AWS Lambda function, described below. This integration also includes built-in dashboards designed specifically for the metrics from Enhanced Monitoring. This Enhanced Monitoring integration complements the CloudWatch-based integration described above.

You can choose to deploy the function either from the Serverless Application Repository (recommended) or from source. Choose a deployment method and follow the steps below to encrypt your SignalFx access token, customize the metrics that will be sent to SignalFx, and create and deploy the new function.

Before you begin, you must enable the Enhanced Monitoring option for the RDS instances you want to monitor using this integration. Click here for instructions on enabling Enhanced Monitoring.

Note: Encryption of your SignalFx access token ๐Ÿ”—

This Lambda function uses your SignalFx access token to send metrics to SignalFx, as an environment variable to the function. While Lambda encrypts all environment variables at rest and decrypts them upon invocation, AWS recommends that all sensitive information such as access tokens be encrypted using a KMS key before function deployment, and decrypted at runtime within the code.

Both procedures below include instructions for using either an encrypted or non-encrypted access token.

Deploying through the Serverless Application Repository ๐Ÿ”—

1. Set up an encryption key and encrypt your access token (if desired) ๐Ÿ”—

Only follow this step if you chose to manually encrypt your access token. Either create a new KMS encryption key or select a preexisting one. The key must be in the same availability zone as the RDS instances you are monitoring. You can create and manage encryption keys from IAM in the AWS management console. Documentation on KMS encryption from the CLI can be found here. Make sure you have access to the cipher text output by the encryption as well as the key id of the encryption key you used.

2. Create the Lambda function ๐Ÿ”—

Click Create Function from the list of Lambda functions in your AWS console. Make sure you are in the intended availability zone. Select the Serverless Application Repository option in the upper right hand corner. Search for signalfx rds and choose the appropriate entry based on whether you encrypted your access token.

To access the templates directly, find the template for encrypted access tokens here. The template for non-encrypted access tokens is here.

3. Fill out application parameters ๐Ÿ”—

Under Configure application parameters, choose a name for your function, and fill out the fields accordingly.

Parameters for template using encrypted access tokens

  • EncryptedSignalFxAuthToken: The Ciphertext blob output from your encryption of your SignalFx organizationโ€™s access token
  • KeyId: The key id of your KMS encryption key; it is the last section of the keyโ€™s ARN.
  • SelectedMetricGroups: The metric groups you wish to send. Enter All if you want all available metrics. Otherwise, list the names of desired metric groups, spelled exactly as they are in Metrics collected by this integration, separated by single spaces.
  • Realm: Your SignalFx Realm: YOUR_SIGNALFX_REALM. To determine what realm you are in, check your profile page in the SignalFx web application. Default: us0.

Parameters for template using non-encrypted access tokens

  • SignalFxAuthToken: Your SignalFx organizationโ€™s access token (YOUR_SIGNALFX_API_TOKEN)
  • SelectedMetricGroups: The metric groups you wish to send. Enter All if you want all available metrics. Otherwise, list the names of desired metric groups, spelled exactly as they are in Metrics collected by this integration, separated by single spaces.
  • Realm: Your SignalFx Realm: YOUR_SIGNALFX_REALM. To determine what realm you are in, check your profile page in the SignalFx web application. Default: us0.

A note on SignalFx realms: ๐Ÿ”—

A realm is a self-contained deployment of SignalFx in which your organization is hosted. Different realms have different API endpoints. For example, the endpoint for sending data in the us1 realm is ingest.us1.signalfx.com, and ingest.eu0.signalfx.com for the eu0 realm. If you try to send data to the incorrect realm, your access token will be denied.

4. Deploy function and configure trigger ๐Ÿ”—

Click Deploy. Once the function has finished deploying, navigate to the functionโ€™s main page.

By default, SignalFx will import all CloudWatch metrics that are available in your account. To retrieve metrics for a subset of available services or regions, modify the connection on the Integrations page.

To complete this task, access the AWS tile, and review the listed instructions to connect to CloudWatch.

Step 2: Deploy the Lambda function for Enhanced Monitoring ๐Ÿ”—

SignalFx supports an integration with RDS Enhanced Monitoring using an AWS Lambda function.

There are two ways to deploy the Lambda function:

  • Option 1: Deploy from the Serverless Application Repository
    • SignalFx recommends this option.
  • Option 2: Deploy (building) from the source

To learn how to deploy the Lambda function for Enhanced Monitoring, see SignalFx Enhanced RDS Monitoring Integration.

USAGE ๐Ÿ”—

SignalFx provides built-in dashboards for this service. Examples are shown below.

../../_images/dashboard_rds_instances.png

../../_images/dashboard_rds_instance.png