Add an AWS Aurora MySQL cluster
See the following sections to add an AWS Aurora MySQL cluster:
Overview
SolarWinds Observability SaaS can monitor an Amazon Aurora MySQL-Compatible cluster as a single entity. You point SolarWinds Observability SaaS at the cluster endpoint, and it discovers the writer and reader instances that belong to the cluster, creates a database instance entity for each one, and keeps that membership list in sync as Aurora adds and removes readers.
This replaces the previous approach for Aurora, in which every instance endpoint had to be added by hand as a separate MySQL database instance. With cluster monitoring:
-
You enter one endpoint instead of one endpoint per instance.
-
When Aurora auto-scaling adds a reader, the new instance is discovered and monitored automatically.
-
When a reader is removed, the stale endpoint no longer has to be deleted manually.
-
Cluster-wide throughput, replica lag, and active sessions are rolled up in one place, and each member instance keeps its own full database instance page.
Aurora MySQL is currently the only supported cluster type. Other database types continue to be monitored as individual database instances. See Add a database instance.
What gets created
Registering a cluster creates a Database Cluster entity, plus one Database Instance entity per discovered member. Members are linked to the cluster by a membership relationship that also records each member's role.
| Entity | Created by | Where you see it |
|---|---|---|
| Database Cluster | The onboarding wizard, from the cluster endpoint you enter | Databases > Clusters, and in Entity Explorer as entity type Database Cluster |
| Database Instance (one per writer or reader) | The cluster monitor plugin, by enumerating cluster members | Expanded under the cluster row, and under Databases > Instances like any other instance |
Member instances are labeled with a Role of Primary (writer) or Secondary (reader). All member instances are monitored by the same SolarWinds Observability Agent you select during onboarding.
Before you start
Subscription and permissions
-
Your organization must have an active Database Observability subscription. Without it, the tile in the Add Data dialog is disabled.
-
Your user must have write permission for entity management. Without it, the tile is shown as denied.
SolarWinds Observability Agent
-
A SolarWinds Observability Agent must already be installed on a monitored host that can reach the Aurora cluster endpoint and every instance endpoint in the cluster. If you do not have one yet, see Add a self-managed host.
-
The agent host is typically an EC2 instance in the same VPC as the cluster. Its security group must be allowed outbound to the cluster on the MySQL port, and the cluster security group must allow inbound from the agent host.
-
If the agent runs in a container, use persistent storage. The wizard warns you when the selected agent is a container without persistent storage.
Cluster endpoint
-
Use the cluster (writer) endpoint, fully qualified, with its port. For example:
my-cluster.cluster-abc123xyz.us-east-1.rds.amazonaws.com:3306. -
IP addresses are not supported for Aurora clusters. The endpoint must be a DNS name.
-
The default MySQL port is 3306.
Aurora configuration
Performance Schema must be enabled on the cluster. In the Amazon RDS console:
-
Create a new custom DB parameter group, or modify the existing one attached to your cluster.
-
Set
performance_schema = 1. -
Apply the parameter group to the cluster and restart the instances so the change takes effect.
Database user
The agent connects with a MySQL user that has the privileges below. The wizard generates these statements for you with your chosen user name filled in, so you can also create the user during onboarding.
CREATE USER 'dbo'@'%'
IDENTIFIED BY '<password>';
GRANT PROCESS, SELECT, SHOW VIEW, REPLICATION CLIENT
ON *.*
TO 'dbo'@'%';
GRANT DROP
ON performance_schema.events_statements_summary_by_digest
TO 'dbo'@'%';
| Privilege | Why it is needed |
|---|---|
SELECT ON *.*
|
Run EXPLAIN on captured queries. |
PROCESS ON *.*
|
Run SHOW PROCESSLIST and SHOW ENGINE INNODB STATUS. |
SHOW VIEW
|
Run EXPLAIN on queries against views. |
REPLICATION CLIENT ON *.*
|
Read replication status, including replica lag and replication failures. |
DROP on performance_schema.events_statements_summary_by_digest |
Optional. Lets the agent truncate the digest table so statement statistics do not saturate. Recommended. |
Add an AWS Aurora MySQL cluster
Do not use the MySQL tile for a cluster. The MySQL tile onboards a single database instance at one endpoint and does not discover cluster members.
-
In SolarWinds Observability SaaS, click Add Data at the top of the page.
-
On the Add Data dialog, click Monitor my database performance, or open the Databases category.
-
Click Aurora MySQL Cluster. Searching for
aurora,aurora cluster,mysql cluster, orrds auroraalso finds the tile. -
In the Agent step, select the SolarWinds Observability Agent that will monitor the cluster, and then click Next. If the agent you installed is not listed, use the refresh action to reload the list.
-
In the Credentials step, complete the fields described in the table below, and then click Next.
Field Description Cluster Endpoint (FQDN) Required. The Aurora cluster endpoint and port (for example, my-cluster.cluster-abc123xyz.us-east-1.rds.amazonaws.com:3306). Replace the pre-filledlocalhost:3306value. IP addresses are not supported.Display Name Required. A user-facing name for the cluster. A name is suggested from the agent host and the endpoint you entered. You can change it. Note that the suggested name changes if the endpoint changes. Authentication Method Fixed at Username and Password for Aurora clusters. AWS IAM authentication is not available for clusters. Database Username Required. An existing database user, or the user you will create in the next step. Database Password Required. The password for that user. Credentials are stored encrypted. Enable SSL Optional. When enabled, supply the paths on the agent host to the certificate authority file, the client certificate, and the client key. All three are optional. See Limitations below. Enable Packet Capture Not available for Aurora clusters. Query sampling uses polling. Tags Optional. Key/value tags applied to the cluster entity. -
In the Prepare step, copy each script and run it against your Aurora cluster, and then click Observe Database.
-
Create a new Database User: Skip this if the user already exists.
-
Grant Privileges: Grants the privileges listed in Database user. If the user cannot be granted these privileges directly, run the enabler script with superuser privileges instead.
-
Enable Key Performance Consumers: Activates the Performance Schema consumers the agent reads from:
UPDATE performance_schema.setup_consumers SET enabled = 'YES' WHERE name IN ('statements_digest', 'events_statements_history_long'); -
Save Consumer Settings: Persists the settings so they survive a restart. For Aurora, set these in the cluster's DB parameter group rather than in
my.cnf:performance_schema = 1 performance-schema-consumer-statements-digest = ON performance-schema-consumer-events-statements-history-long = ON performance-schema-consumer-events-statements-current = ONOptionally, expand Advanced Configuration to point the agent at a local metric configuration file on the agent host. See Database configuration files.
-
-
In the Summary step, review the cluster endpoint, display name, and other details, and watch the plugin status while the cluster monitor plugin is deployed and the connection is tested. If the status reports a failure, recheck the selected agent, the cluster endpoint, and the database credentials, and confirm the agent host can reach the cluster.
When the status is successful, use the link to open the new cluster, or click Close.
View your Aurora MySQL cluster
Clusters overview
Go to Databases > Clusters. The overview page shows organization-wide averages across all monitored cluster members — Availability, Throughput, Latency, and Wait Aggregate — above a table of clusters.
Each cluster row expands to list its member instances. Columns include:
| Column | Cluster row | Member instance row |
|---|---|---|
| Name | Cluster display name. Links to the cluster page. | Instance display name. Links to the database instance page. |
| Health | The most severe health state among the members. | The instance's own health state. |
| Database Type | Aurora MySQL. | MySQL. |
| Role | Not applicable. | Primary or Secondary. |
| Plugin Status | Not applicable. | Status of the monitoring plugin on the agent. |
| Max Replica Lag | Highest replica lag observed across the members. | Not applicable. |
| Latency | Sparkline of cluster query latency. | Sparkline of instance query latency. |
| Last Seen | When the cluster last reported. | When the instance last reported. |
A dash means no data is available for that combination. If your organization has exactly one cluster, its members are expanded automatically.
Cluster details
Click a cluster name to open its page. It contains the member instance table, with each member's endpoint, plus these widgets:
QPS (Cluster): Queries per second aggregated across all members.
Max Replica Lag: The highest replica lag across members, in milliseconds.
Active Sessions: Active sessions across all members.
Replica Lag: Replica lag over time, one line per member instance.
Query Throughput: Queries per second over time, one line per member instance.
The details panel shows the database type and version, the cluster endpoint, and the agent that monitors the cluster, including agent host name, agent status, agent version, and deployed plugins.
For per-instance detail — top queries, waits, sessions, blocking, and so on — open a member instance from the table. Member instances behave like any other monitored MySQL instance.
Entity Explorer
Clusters are also available in Entity Explorer under the Database Cluster entity type, where you can filter and search them alongside other entities. See Entities in SolarWinds Observability SaaS.
Stop monitoring a cluster
-
Go to Databases > Clusters.
-
In the Actions column for the cluster, click Remove.
-
Confirm the removal.
SolarWinds Observability SaaS stops observing the cluster and returns you to the Clusters overview. The cluster's database user is not removed from Aurora. Drop it yourself if it is no longer needed.
Limitations
| Limitation | Detail |
|---|---|
| Aurora MySQL only | Aurora MySQL-Compatible Edition is the only supported cluster type. Aurora PostgreSQL and other clustered engines are still monitored per instance. |
| No AWS IAM authentication | Cluster onboarding supports user name and password only. IAM authentication remains available for individual database instances. |
| No packet capture | Packet capture / sniff mode is not available for clusters. Query data is collected by polling. |
| No edit flow | A registered cluster cannot be edited. To change the endpoint, credentials, or agent, remove the cluster and add it again. |
| Cluster endpoint must be a DNS name | IP addresses are rejected, because the endpoint is used to enumerate cluster members. |
Compared with adding Aurora instances individually
| Aspect | Aurora MySQL Cluster tile | MySQL tile, one instance endpoint at a time |
|---|---|---|
| Endpoint to enter | Cluster endpoint, once | Every instance endpoint, separately |
| New reader after auto-scaling | Discovered and monitored automatically | Must be added manually |
| Removed reader | Membership updates automatically | Stale entity must be deleted manually |
| Writer / reader role | Shown per member | Not shown |
| Cluster-wide rollups | QPS, max replica lag, active sessions | None |
| AWS IAM authentication | Not available | Available |
| Packet capture | Not available | Available |
| Edit after onboarding | Not available | Available |
After you add a cluster endpoint, any existing Aurora instances previously added individually keep working. There is no in-place conversion. To move to cluster monitoring, register the cluster endpoint and then remove the individually added instance entities.