Table of Contents
This chapter describes the MySQL Enterprise Monitor GUI-based Advisors. That is, the advisors which are configured using a dialog rather than an expression.
The Agent Health Advisor monitors the monitoring agent's resource usage, communication status, backlog and memory usage.
The Agent Health Advisor configuration dialog is divided into the following functional areas:
The General section defines the CPU and RAM usage thresholds. These thresholds generate events if the defined threshold value is broken by either CPU or RAM usage. Both threshold definitions use a moving average window. Although it is possible to use very small values for a moving average window, large values, larger than seconds, are recommended.
Agent CPU Threshold: enables you to define thresholds for percentage CPU usage. The default value is Critical at 10% usage.
Memory Usage Thresholds (% of max allowed): enables you to define thresholds for RAM usage as a percentage of the maximum heap size allocated to the monitoring agent. The default values are:
Notice = 70
Warning = 85
Critical = 90
The Communication section defines the thresholds for latency and HTTP errors between agent and MySQL Enterprise Service Manager.
Agent Latency Thresholds: enables you to define thresholds for time difference between the time the data was collected and the time the MySQL Enterprise Service Manager received the collected data. This can be caused by clocks that are not synchronized, network problems, and so on. The default values are:
Warning = 1 minute
Critical = 10 minutes
Under certain circumstances, such as MySQL Enterprise Service Manager experiencing heavy load, events can be raised for Agent host time out of sync relative to dashboard. These can occur even though both MySQL Enterprise Service Manager and the monitored host are synchronized with the same time server and no time-synchronization problems exist.
The Agent Health Advisor compares the time on the MySQL Enterprise Service Manager against the time on the monitored host. If no time-synchronization issues exists, these false positive events are auto-closed.
HTTP Error Thresholds (% of total requests): enables you to define thresholds for number of HTTP errors as a percentage of the total number of HTTP requests. The default values are:
Notice = 10
Warning = 20
Critical = 30
If the monitoring agent is unable to communicate with the MySQL Enterprise Service Manager, it stores the collected data in memory up to a limit of 10MB, then on the filesystem, up to a limit of 10MB, giving a total limit of backlog storage of 20MB. If the limit is reached, backlog data is dropped.
Backlog Memory Usage Thresholds (% of max allowed): enables you to define a threshold for the amount of RAM used by the backlog, as a percentage of the maximum RAM allowed, 10MB. The default value is Warning = 80, which corresponds to 8MB of RAM used.
Backlog Disk Usage Thresholds (% of max allowed): enables you to define a threshold for the amount of disk space used by the backlog, as a percentage of the maximum disk space allowed, 10MB. The default value is Warning = 80, which corresponds to 8MB of disk space used.
This section describes the MySQL Enterprise Backup Health Advisor which checks the status of backups, and alerts according to whether they succeeded or failed.
Notify on succeeded or failed backups: enables you to generate an event for the success or failure of a backup. The default values are:
Notice = Success
Emergency = Failure
There are no other return types.
Notify when incremental backups are not being used: enables you to generate an event if the monitoring agent detects that incremental backups are not used. Select Yes to generate an event.
Notify when backup lock time is excessive: enables you to generate an event if the backup lock time exceeds the defined thresholds. The default values are:
Notice = 10 seconds
Warning = 1 minute
Notify when the age of the last backup is too old: enables you to generate an event if the last backup is older than the defined threshold. The default value is:
Warning = 7 days
The MySQL Process Discovery Advisor enables you to find and, optionally, establish a connection with unmonitored MySQL instances. If you choose not to attempt a connection with the discovered instances, they are listed in the Unmonitored MySQL Instances list on the MySQL Instances dashboard.
If you disable this advisor, notifications for unmonitored instances, and the associated events, are not displayed in the user interface.
Table 22.1 MySQL Process Discovery Controls
| Name | Description |
|---|---|
| Attempt Connection | Whether or not to attempt a connection. If this is set to No, the
advisor continues to raise events related to unmonitored
instances.
If set to Yes, a connection is attempted using the credentials supplied. |
| Alert Level | Level of alert generated if an unmonitored instance is discovered. |
| Admin User |
The root user of the instance, or a user that has the
SUPER, CREATE and INSERT privileges on the schema in
which the inventory table is created. The inventory
table stores unique identifiers for the instance, and
is created in the The SUPER privilege is required to temporarily switch off replication when creating and populating the inventory table. If you choose to enable the Auto-Create Less Privileged Users option, this user is used to create those with the required privileges to monitor this instance. In this case, it also requires the PROCESS, REPLICATION CLIENT, SELECT and SHOW DATABASES privileges globally WITH GRANT OPTION. |
| Admin Password | The password for the Admin User. |
| Auto-Create Less Privileged Users | When monitoring an instance, multiple levels of user can be employed to
ensure that a Process connection is not held open
indefinitely.
If you do not have appropriate users already, they are automatically created if this option is selected. Using these lower privileged users is recommended. |
| General User | This user handles general monitoring tasks that do not require SUPER level privileges. Lower privileged users will be used in favor of a SUPER user, unless higher privileges are required. In which case we temporarily log in as the SUPER privileged user, and then fall back to the general user. If you are manually managing this user, it should have at least the PROCESS, REPLICATION CLIENT, SELECT and SHOW DATABASES privileges globally. |
| General Password | The password for the user with general privileges. |
| Limited User | This user is used for statements that are limited to a single connection, and can be run with global SELECT privileges. Examples of these kinds of statements include retrieving database metadata from INFORMATION_SCHEMA tables, or any custom SQL that is used to monitor application specific statistics. If you are manually managing this user, it should have at least the SELECT and SHOW DATABASES privileges globally. |
| Limited Password | The password for the user with limited privileges. |
| MySQL Instance Identity Source | Choose the mechanism used to generate a unique identity for the MySQL
instance if one does not already exist.
|
Default auto-close enabled yes
Tracks instances whose UUID is duplicated or becomes associated with multiple, different host names, or connections, over a specific time period. These changes are measured by rate, that is, by a defined number of changes over the defined time period.
Change Rate: number of changes per time frame.
Every: time frame in which the changes are tracked.
For example, if the Change Rate is set to 5, and Every set to 10 minutes, and the UUID of the instance changed hostname 5 times in 8 minutes, a Critical event is generated.
Default auto-close enabled yes
Alerts if the certificate expiration date falls within one of the defined thresholds. The thresholds are defined in numbers of days.
Alerts if sys schema is not installed on a
monitored MySQL instance. This advisor also enables you to
automatically install the sys schema. To
install sys schema automatically on monitored
instances, set Install By Default to
Yes.
sys schema is supported on MySQL 5.6 and
higher.
Monitors and graphs CPU usage on the monitored server or groups of servers.
Moving Average Window: duration of the moving average window.
CPU Usage Thresholds: configure the thresholds for percentage of total CPU usage.
CPI I/O Wait Thresholds: configure the thresholds for CPU I/O Wait as a percentage of total CPU time.
Default auto-close enabled yes
Enables detection of CPU outliers. A CPU is considered an outlier if the conditions defined here are met.
It is not recommended to enable this for all Operating Systems, but for specific groups.
Enable CPU Outlier Detection: Whether or not to enable the CPU outlier detection.
Minimum Server Count for Outlier Detection: Minimum required sample size before outlier detection is enabled.
Small Group Notification: Whether or not to generate an event if the sample size is too small to enable outlier detection.
Outlier Percentile: percentage, relative to the other CPUs in the group, at which a CPU is considered an outlier.
Monitors and graphs the filesystem disk space usage.
Default auto-close enabled yes
The General section enables you to choose the filesystem to monitor. The following types are available:
Local Disk: enables monitoring of the local hard disks.
Network Mount: enables monitoring of mounted network filesystems on the monitored server.
RAM Disk: enables monitoring of RAM disks configured on the server.
CDROM: enables monitoring of CD-ROM drives on the server
Swap: enables monitoring of the system's swap file.
Select the filesystem types, as required, from the drop-down list.
To remove a filesystem type, click the x on the filesystem label.
The Estimated Full Capacity section monitors and graphs the time remaining to full capacity based on existing load.
Extrapolate Free Space to Zero in Graphs: enables graphing of the projected time to full capacity, based on existing load.
Free Space Running Out Thresholds: generate events based on when the free space is projected to run out.
The Percentage of Space section generates events based on the percentage of free space available, relative to the total space on the monitored device.
The MySQL Process Advisor monitors and graphs MySQL CPU and memory utilization.
It is possible to edit the Moving Average Window size and change the schedule of this Advisor.
This section describes the Query Analysis advisors.
Monitors the average execution time of a normalized SQL statement and generates events if the execution time exceeds the defined thresholds.
This advisor has the following parameters:
Average Execution Time Thresholds: Generates events if the average execution time exceeds the defined thresholds.
Minimum Execution Count: Minimum number of times a normalized statement must be executed before it can generate an event.
One Alert per Query: Specify how events are generated. The possible values are:
Yes: generate an event for each normalized query that exceeds a threshold
No: generate a single event per MySQL Server summarizing all queries that exceed the thresholds. This is the default behavior.
DML Statements Only: Specify for which statements events are generated. The possible values are:
Yes: generate events for DML statements only.
No: generate events for all SQL statements.
Alerts when query pileups occur, when the number of threads running increase rapidly over a short period of time. For example, based on the defaults for this advisor, if the exponential moving average of Threads_running has increased by 50% or more, but less than 80%, over the last 1 minute, it raises a Warning alert.
Window Size: duration of the moving average window over which monitoring is done.
Growth Rate Thresholds: percentage growth rate of the running statements during the defined moving average window.
Minimum Running Threads: the minimum number of running threads before an event is generated.
Generates events when a normalized SQL statement generates errors or warnings over a period of time.
One Alert Per Query: generate events for queries which return errors or warnings. Possible values are:
Yes: generate an event for each normalized query which returns an error or warning.
No: generate a single event, per MySQL server, summarizing all queries which generated errors or warnings.
Enables capturing and reporting of query analysis data.
Enable Example Query: provides detailed data about the queries and their parameters. Enabling this parameter increases the RAM used by the monitoring agent.
This feature requires
events_statement_history_long be
enabled in
performance_schema.setup_consumers.
This is disabled by default in MySQL 5.6.
Enable Example Explain: executes EXPLAIN on the selected statement. This is executed for statements whose runtime exceeds the value defined in Auto-Explain Threshold.
Auto-Explain Threshold: Explains are executed for statements whose runtime is longer than the value defined here.
Explains are generated for query data supplied by the MySQL Enterprise Monitor Proxy and Aggregator, Connector/J plugin, and Performance Schema sources.
Explain is supported for all DML statements on MySQL 5.6.3 or
higher. On earlier versions, only SELECT is
supported.
This section describes the following Security advisors:
For more information on the MySQL Enterprise Audit Plugin, see MySQL Enterprise Audit.
This advisor enables you to configure event generation for the audit log plugin. This advisor has the following parameters:
Events Lost Threshold: generates events
for audit events which are lost due to setting the server's
audit_log_strategy to
PERFORMANCE. Enter a number of lost
messages per threshold.
Write Wait Percent Thresholds: generates events for the number of audit log write waits. The percentage is calculated as write waits versus writes.
Events Filtered Threshold: generates events for the number of audit events which are filtered out by the audit log configuration
Detect Filtering Configurations: if set to Yes, generates events for any configuration which filters audit log events. If set to No, such configurations are ignored.
For more information on the MySQL Enterprise Firewall, see MySQL Enterprise Firewall.
This advisor enables you to configure event generation for the MySQL Enterprise Firewall. This advisor has the following parameters:
Firewall Enabled Threshold: generates events if the firewall is installed, but not enabled. To change the level of the alert, move the value 0 (representing "OFF") to the required threshold.
Access Denied Threshold: generates events for the number of times statements were denied by the firewall. Enter the number of denials in the required thresholds.
Access Suspicious Threshold: generates events for the number of times statements were deemed suspicious by the firewall.