MySQL Checks
About MySQL Checks
The MySQL check allows you to monitor MySQL database services. You can verify that the database server is accepting connections, or optionally login and run a query, and verify that the query results match or are within user-defined limits.
If you chose to verify query results, the check connects to the MySQL service and makes a user-defined database query. It then verifies the results of the query with user-defined fields. The results can be either numeric or strings.
For numeric query results, the MySQL check will verify that the number is within the user-defined minimum and maximum range. If the result is outside that range, the check will fail and notifications will be sent.
For string query results, the MySQL check will try an exact match against the user-defined 'match' field. The 'match' field also support regular expressions (regex) matching.
When to use MySQL Checks
NodePing's MySQL checks can be used to test the availability of a MySQL database service. It can also be used to verify the results of a query. It is often required to whitelist connections from our probes in the service firewall for the monitoring to function. A list of our probe IPs can be found in the FAQ.
If your MySQL service requires authentication please remember that by providing a username/password to someone that is not you, you are creating a new risk. This decision should be weighed very carefully. Please keep our Terms of Service in mind when you are configuring your MySQL checks. It is best practice when you are creating a user for monitoring that you have a separate user for monitoring that is restricted to read-only as discussed in the MySQL documentation.
Using MySQL Checks
To set up a MySQL check,
- Select MySQL from the Check type drop down.
- Give it a friendly label to identify this check in lists and notifications.
- Enable Automated Diagnostics if you'd like detailed technical info about the failure that may help you troubleshoot.
- Set how often you want the check to run on the Check Frequency field. Sub-minute intervals may have additional costs.
- Set the FQDN or IP address of the MySQL service in the 'Host name or IP' field.
- If your MySQL service is running on a port other than the default, 3306, specify that port number in the 'Port' field
- If you're using a FQDN and want to monitor the IPv6 IP, choose "Force IPv6 resolution" in the the next dropdown field.
- Optionally set the name of the database to use in the 'Database' field. A database is required if you want to send a query and verify query results.
- Set a username and password if required in the appropriate fields.
- If the MySQL service is set to require secure connection, choose "Use SSL/TLS" in the SSL/TLS dropdown.
- Set your optional database query in the 'Query' field. If left blank, the default query of 'SELECT NOW();' will be sent.
- If you've set a query, you can verify the results using the 'Query Results' section. Enter the field name. If the results are expected to be numeric, set the 'Min' and 'Max' fields to your desired range. If the results are expected to be a string, set the 'Match' field to either the exact match expected or a regular expression (regex). You can monitor multiple query results fields in a single check. Use the "Add another field" button to add more.
- Set a time out. The default 5 seconds works fine for most situations.
- Set the Sensitivity. High is usually appropriate.
- Set the notifications for this check. More information about notifications.
Common usage:
To monitor availability of MySQL database services.
Other considerations
SSLv3/TLS1.0 are not supported.