Troubleshooting
This page contains troubleshooting information for common issues we see when setting up and running OtterTune.

Why does OtterTune show that MySQL's throughput is always 0?

OtterTune uses the transaction counters from MySQL to calculate the throughput. To collect them, you need to add module_trx to the list of modules specified by the innodb_monitor_enable knob. After updating this knob, you should start seeing throughput measurements after a few minutes. Please see the documentation for more information.

Why does OtterTune show that P99QueryLatency is always 0?

  1. 1.
    Please check if your agent version >= 0.3.0. If not, you should upgrade your agent.
  2. 2.
    Please make sure you configure the database correctly. Postgres requires loading the module pg_stat_statements, and MySQL requires enabling Performance Schema (you need to enable Performance Insights if it's available).
  3. 3.
    Please make sure the database user has permissions to collect query latencies.
  4. 4.
    (Postgres only) Please make sure the installed version of pg_stat_statements is not lower than the default version. You can check it by running this query in your target database:
    SELECT
    *
    FROM
    pg_available_extensions
    WHERE
    name = 'pg_stat_statements'
    AND
    installed_version is not null;
    If installed_version < default_version, please run this command to update it:
    ALTER EXTENSION pg_stat_statements UPDATE;
  5. 5.
    (Postgres only) Please make sure pg_stat_statements.track is TOP (or ALL)in the AWS parameter group of your RDS instance.

How to enable Performance Insights in AWS?

Several of OtterTune's features need to have your Amazon RDS Performance Insights enabled. For example, it must be enabled for OtterTune to collect query latency data that is used to compute the P99 query latency as a target objective for MySQL databases.
Firstly, you should check whether Performance Insights is available for your instance type and engine version. You can refer to this AWS documentation for Amazon RDS and this documentation for Amazon Aurora. The supported versions are as follows.
MySQL
Postgres
Aurora MySQL
Aurora Postgres
  • 8.0.17 and higher 8 versions
  • 5.7.22 and higher 5.7 versions
  • 5.6.41 and higher 5.6 versions
(micro and small instance types are not supported)
versions 14, 13, 12, 11, and 10.
  • 3.0 and higher 3 versions (compatible with MySQL 8.0)
  • 2.04.2 and higher 2 versions (compatible with MySQL 5.7)
  • 1.17.3 and higher 1 versions (compatible with MySQL 5.6)
(db.t2 and db.t3 instance types are not supported)
all versions.
Secondly, you can follow this documentation to enable Performance Insights if it's available. Note that you don't need to reboot your instance to enable it.

My OtterTune Agent created with CloudFormation is not working. How do I see what is going wrong?

  1. 1.
    Navigate to the CloudFormation AWS Console
  2. 2.
    Look for an OtterTune Agent stack. If CloudFormation was able to create the stack successfully the status will be CREATE_COMPLETE.
  3. 3.
    If something has gone wrong, select the stack and click on the events tab to see more details. Fixing the stack will require you to delete the existing stack and then restart the Agent creation process on the OtterTune website. Select the database you are connecting, go to settings -> View Agent Setup info.
  4. 4.
    If the stack was created successfully but you are still seeing issues, navigate to the ECS Cluster AWS Console. Select the OtterTune agent cluster, select the OtterTune agent service, and select logs to see Agent output. If you would like help interpreting any failures there please reach out to Support.

Why does OtterTune show that Database Health is not available for this instance?

  1. 1.
    Please check whether RDS Performance Insights is enabled. If not, please follow this instruction to enable your AWS RDS Performance Insights.
  2. 2.
    Please check whether OtterTune has AWS permissions to collect Performance Insights and CloudWatch data.

Why does OtterTune show that not all of the Database Health checks are available?

For some checks, Database Health needs data collected by our agent. Please follow the instructions to connect your database to OtterTune.
For Postgres, some checks need table and index data from a database. Users need to specify a database whose tables or indexes are not empty to see the check results.

Why do I not see my database's best configuration?

OtterTune is not able to determine your database's best configuration in some cases. Please see the documentation for more information.

Why do I not see my index-level statistics and checks in the Index Health tab?

To enable index health, please make sure:
  1. 1.
    the agent version is >= 0.3.10
  2. 2.
    (MySQL only) the database user used to connect the database has the following permissions:
GRANT SELECT ON mysql.innodb_index_stats TO 'ottertune';
GRANT SELECT ON performance_schema.table_io_waits_summary_by_index_usage TO 'ottertune';
Copy link
On this page
Why does OtterTune show that MySQL's throughput is always 0?
Why does OtterTune show that P99QueryLatency is always 0?
How to enable Performance Insights in AWS?
My OtterTune Agent created with CloudFormation is not working. How do I see what is going wrong?
Why does OtterTune show that Database Health is not available for this instance?
Why does OtterTune show that not all of the Database Health checks are available?
Why do I not see my database's best configuration?
Why do I not see my index-level statistics and checks in the Index Health tab?