MySQL

Sensor (Data Collection)

Tracked Configuration

  • Port
  • Version
  • Started At
  • Role

Metrics

  • Queries

    • by type
    • slow
    • error
  • Latency
  • Clients
  • Wait Events
  • Key Access
  • Statistics per Schema

Health Signatures

Health Description
Connection Usage Available server connections are at limit

Configuration

In order to enable in depth metric monitoring, you need to inform the Agent about the credentials to access monitoring information. You can configure it in the agent <agent_install_dir>/etc/instana/configuration.yaml:

com.instana.plugin.mysql:
  user: ''
  password: ''
  schema_excludes: ['INFORMATION_SCHEMA', 'PERFORMANCE_SCHEMA']

Schema names inserted in schema_excludes field will be excluded from gathering statistics per schema and from monitoring in Schemas graph.

Required DB Permissions

For the sensor to be able to collect performance information about the DBMS, read-only access to the schema performance_schema is required.

This is an example how to create an account with the required rights: GRANT SELECT ON performance_schema.* TO '<instana_mon_user>'@'localhost' IDENTIFIED BY 'instana_mon_pwd';

For MySQL version 8.0.0 and above: GRANT SELECT ON performance_schema.* TO '<instana_mon_user>'@'localhost';

MySQL version 8.0.0 and above support

Instana can not provide automatic MySQL monitoring for MySQL, version 8.0.0 and above, for licensing reasons.

Therefore, the MySQL driver jar file needs to be manually obtained from https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.16 and added to the Instana agent deploy folder: <agent_install_dir>/deploy/

Troubleshooting

Performance Schema disabled by default

If error message, similar to:

java.sql.SQLSyntaxErrorException: (conn=2) Table 'performance_schema.global_status' doesn't exist

appears in Instana agent log, it is most likely, that your MySql server copy is compiled with performance schema disabled by default. This is a known bug https://bugs.mysql.com/bug.php?id=78159.

To fix this, you could try to enable it from MySql CLI:

mysql> set @@global.show_compatibility_56=ON;
Query OK, 0 rows affected (0.00 sec)

and to check it’s enabled:

mysql>select @@show_compatibility_56;
+-------------------------+
| @@show_compatibility_56 |
+-------------------------+
|                       1 |
+-------------------------+
1 row in set (0.00 sec)

Once enabled, mysql>show status; should now work. Please restart Instana agent.

Timezone setup

If error message, similar to:

The server time zone value 'CEST' is unrecognized or represents more than one time zone. 
You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

appears in Instana agent log, the server timezone needs to be configured.

This is a well-known bug since MySQL is not reading the host time-zone appropriately: https://bugs.mysql.com/bug.php?id=90813.

The error can be fixed when the MySQL server is configured following: https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html.