Documentation forSolarWinds Observability

MySQL system requirements

Privileges required for MySQL database monitoring

The following privileges are required to monitor your MySQL database in SolarWinds Observability.

GRANT SELECT, PROCESS, SHOW VIEW, REPLICATION CLIENT ON *.* TO dbo@'%';

Privilege Explanation
SELECT ON *.* This portion of the script is necessary for running EXPLAIN to capture execution plans for query samples. In the case of off-host monitoring, we also need SELECT privileges to retrieve query information from the PERFORMANCE_SCHEMA.
PROCESS ON *.* This portion of the script is necessary for running SHOW PROCESSLIST, SHOW ENGINE INNODB STATUS, and equivalent statements against INFORMATION_SCHEMA and PERFORMANCE_SCHEMA tables.
SHOW VIEW This portion of the script is necessary for running EXPLAIN on queries which use a view.
REPLICATION CLIENT ON *.* This portion of the script is necessary to see replication failures and failure errors.

If you have SELECT ... INTO OUTFILE statements, the FILE privilege is required in order to EXPLAIN those queries.

You can optionally give the SolarWinds Observability user INSERT, UPDATE, and DELETE privileges, which will allow SolarWinds Observability to run EXPLAIN on those kinds of queries.

These privileges are only used to run EXPLAIN.

If you are monitoring an Amazon Aurora cluster use only the instance endpoints and not the cluster endpoints. You must have PERFORMANCE_SCHEMA enabled for your MySQL connection.

Enabling PERFORMANCE_SCHEMA on MySQL

Enable the PERFORMANCE_SCHEMA in a self-hosted MySQL server. Add the following line to your my.cnf configuration file under the [mysqld] section:

performance_schema

The statements_digest and events_statements_history_long consumers need to be enabled:

UPDATE performance_schema.setup_consumers SET enabled = 'YES' WHERE name in ('statements_digest',
'events_statements_history_long');

If you enable the consumers and restart your server they may no longer be enabled upon restart. To ensure this setting persists, add the following to your my.cnf file:

performance-schema-consumer-statements-digest=ON performance-schema-consumer-events-statements-history-long=ON

Amazon RDS or Aurora

If you are monitoring an Amazon RDS or Aurora MySQL instance complete the following steps:

  1. Create a new custom DB Parameter Group in the RDS Dashboard, or modify an existing one.

  2. Set option performance_schema = 1

  3. Apply the parameter group.

  4. Restart the server instance.

The SolarWinds Observability Agent can automatically enable consumers if it detects that they are not enabled. To enable this setting, you can select “Force Off Host Samples” in an Environment’s Query Data Settings page.

Alternatively, you can add the following options to your SolarWinds Observability global.conf configuration file and restart your agents:

{
"force-offhost-digests": "true",
"force-offhost-samples": "true"
}

The SolarWinds Observability user will need permission to update the performance_schema.setup_consumers table:

GRANT UPDATE ON performance_schema.setup_consumers TO dbo@'%';

The scripts are not supported under any SolarWinds support program or service. The scripts are provided AS IS without warranty of any kind. SolarWinds further disclaims all warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The risk arising out of the use or performance of the scripts and documentation stays with you. In no event shall SolarWinds or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the scripts or documentation.