Chapter 22 GUI-Based Advisor Reference

Table of Contents

22.1 Agent Health Advisor
22.2 MySQL Enterprise Backup Health Advisor
22.3 MySQL Process Discovery Advisor
22.4 Duplicate MySQL Server UUID
22.5 HTTP Server KeyStore's Certificate About to Expire
22.6 sys Schema Install Advisor
22.7 CPU Utilization Advisor
22.8 Filesystem Free Space Advisor
22.9 MySQL Process
22.10 Query Analysis Advisors
22.11 Security Advisors

This chapter describes the MySQL Enterprise Monitor GUI-based Advisors. That is, the advisors which are configured using a dialog rather than an expression.

22.1 Agent Health Advisor

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:

General

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.

Figure 22.1 Agent Health - General

Agent Health General

  • 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

Communication

The Communication section defines the thresholds for latency and HTTP errors between agent and MySQL Enterprise Service Manager.

Figure 22.2 Agent Health - General

Agent Health Communication

  • 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

    Important

    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

Backlog

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.

Figure 22.3 Agent Health - Backlog

Agent Health Backlog

  • 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.

22.2 MySQL Enterprise Backup Health Advisor

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

22.3 MySQL Process Discovery Advisor

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.

Important

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

NameDescription
Attempt ConnectionWhether 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 LevelLevel 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 mysql schema by default.

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 PasswordThe password for the Admin User.
Auto-Create Less Privileged UsersWhen monitoring an instance, multiple levels of user can be employed to ensure that a Process connection is not held open indefinitely.

  • General User: used for general monitoring tasks that do not require SUPER level privileges, and is always connected.

  • Limited User: used for potentially long running statements running with SELECT only privileges.

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 UserThis 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 PasswordThe password for the user with general privileges.
Limited UserThis 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 PasswordThe password for the user with limited privileges.
MySQL Instance Identity SourceChoose the mechanism used to generate a unique identity for the MySQL instance if one does not already exist.
  • Default: uses either the server_uuid variable, if present, or generates a random new identity.

  • Host plus Data Directory: uses a hash of the host identity and the path to the MySQL instances data directory to create a unique identity. The host_and_datadir option can only be used when the agent is running on the same host as the MySQL instance for this connection.


Default auto-close enabled yes

22.4 Duplicate MySQL Server UUID

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

22.5 HTTP Server KeyStore's Certificate About to Expire

Alerts if the certificate expiration date falls within one of the defined thresholds. The thresholds are defined in numbers of days.

22.6 sys Schema Install Advisor

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.

Note

sys schema is supported on MySQL 5.6 and higher.

22.7 CPU Utilization Advisor

Monitors and graphs CPU usage on the monitored server or groups of servers.

CPU Usage

Figure 22.4 CPU Usage

CPU Usage

  • 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

CPU Outliers

Enables detection of CPU outliers. A CPU is considered an outlier if the conditions defined here are met.

Note

It is not recommended to enable this for all Operating Systems, but for specific groups.

Figure 22.5 CPU Outliers

CPU Outliers

  • 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.

22.8 Filesystem Free Space Advisor

Monitors and graphs the filesystem disk space usage.

Default auto-close enabled yes

General

Figure 22.6 Filesystem - General

Filesystem General

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.

Estimated Full Capacity

Figure 22.7 Filesystem - Estimated Full Capacity

Filesystem Estimated Full Capacity

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.

Percentage of Space

Figure 22.8 Filesystem - Percentage of Space

Filesystem Percentage of Space

The Percentage of Space section generates events based on the percentage of free space available, relative to the total space on the monitored device.

Percentage Used in Time Range

Figure 22.9 Filesystem - Percentage Used in Time Range

Filesystem Percentage Used in Time Range

Monitors the percentage of disk space consumed per unit of time.

22.9 MySQL Process

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.

22.10 Query Analysis Advisors

This section describes the Query Analysis advisors.

Average Statement Execution Time Advisor

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.

Query Pileup Advisor

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.

SQL Statement Generates Warnings or Errors

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.

Query Analysis Reporting

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.

    Important

    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.

Important

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.

22.11 Security Advisors

This section describes the following Security advisors:

MySQL Enterprise Audit Plugin

Note

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.

MySQL Enterprise Firewall

Note

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.