Aborted clients
Job details
Name: | Aborted clients |
Platform: | Mysql |
Category: | Availability |
Description: | Checks the number of clients not closing the connection properly. |
Long description: | Checks the number of clients not closing the connection properly. |
Version: | 1.1 |
Default schedule: | 12,42 * * * |
Requires engine install: | Yes |
Compatibility tag: | .[type=‘instance’ & is_mysql_branch=‘1′]/.[hasengine=‘YES’ & use_global_variables_performance_schema = ‘1′ ] |
Parameters
Name | Default value | Description |
---|---|---|
warning threshold | 50 | The maximum value of aborted clients (over a period of time defined by the [time threshold] parameter) before a warning is triggered. |
alarm threshold | 500 | The maximum value of aborted clients (over a period of time defined by the [time threshold] parameter) before an alarm is triggered. |
threshold (time) | 120 | A period of time (in minutes) which must be passed (combined with the number of aborted clients) before an alarm or a warning is returned by the procedure. |
enable warnings and alarms | NO | If set to “NO” (default), the alert will only collect statistics without returning status warning or alarm. Value “YES“ will activate the alert. |
history threshold | 7 | The maximum number of day to kept statistics for in the historic tables. |
Job summary
- Purpose: The primary aim of this dbWatch job is to monitor and regulate the number of MySQL clients not closing the connection properly, hence known as “aborted clients.”
- Why: Regularly checking for aborted clients is essential for maintaining the health and performance of a MySQL server. Sudden increases in aborted clients can often indicate issues such as network problems, incorrect client terminations, or even attempted malicious activity. Monitoring this helps to mitigate the risk of database and application disruptions or failure.
- Manual checking: Manually monitor aborted clients by issuing these SQL commands:
select VARIABLE_VALUE from performance_schema.global_status where variable_name = 'Aborted_clients'
Job description
As labeled “mysql_aborted_clients_check,” the job falls under the group “com.dbwatch.job.” The task inspects the count of clients who haven’t correctly closed the connection to a MySQL server, otherwise known as aborted clients.
The monitoring task is scheduled to run at 12 and 42 minutes past every hour. The results of the check trigger alerts based on set thresholds and acknowledgement settings.
Dependencies
The job relies on the following procedures and tables to function accurately:
- The primary procedure “dbw_aborted_clients”
- Dependency tables “dbw_aborted_clients_histr” and “dbw_aborted_clients_last”
These dependencies gather and store data regarding aborted client connections, and are used in the subsequent analysis and alert generation process of the job.
If the job fails, cleanup operations are performed to drop these dependencies.
Implementation
The task creates two tables:
- “dbw_aborted_clients_histr” – used to hold historical data about aborted clients and periods.
- “dbw_aborted_clients_last” – stores the most recent count of aborted clients and the timestamp of the record.
A procedure called “dbw_aborted_clients” is used to gather and analyze the aborted client data, calculate averages, compare to thresholds, and subsequently update alert statuses.
Report Output
The report output titled “Aborted clients” consists of a graph presenting the number of aborted clients over time. It conveys the trend of clients not closing the connection properly. The graph is constructed using the historical data captured in “dbw_aborted_clients_histr”, each point representing how many clients were aborted per minute at a particular timestamp.
Compatibility query
The compatibility query indicates this monitor should only be installed on MySQL instances having ‘performance_schema’ as a global variable.