Chapter 19 Advisors
Prev |  | Next

## Chapter 19 Advisors

This chapter describes MySQL Enterprise Advisors.

Advisors filter and evaluate the information collected by the Monitoring Agents and present it to the Events page when defined thresholds are breached. There are more than 200 Advisors, all of which are enabled by default.

The following topics are described in this chapter:

- Section 19.1, “Advisors Page”

- Section 19.2, “Advisor Types”

- Section 19.3, “Advisor Thresholds”

- Section 19.4, “Advisor Schedules”

## 19.1 Advisors Page

This section describes the main Advisors page.

To display the Advisors page, select Advisors from the Configuration drop-down menu.

Figure 19.1 Advisors Page

The components and controls of the Advisors page are as follows:

Table 19.1 Advisor Page Controls

Name | Description
--- | ---
Edit Selected Advisors | Opens the edit dialog for the selected advisor. This control can also be used for multiple Advisors, but it is only possible to change the Schedule for multiple Advisors simultaneously. You can also edit an advisor using the drop-down menu adjacent to each advisor’s name.
Disable Selected Advisors | Disables all selected Advisors.
Create Advisor | Opens the Create Advisor page.
Import/Export | Opens the Custom Rule/Graph Export page. Note: This functionality is for custom rules and graphs only.
Select All | Selects all Advisors.
Expand All | Expands all categories.
Collapse All | Collapses all categories and clears all selections.
Filter Advisors | Expands or collapses the Advisor filter. The Advisor filter enables you to filter the Advisors, groups and assets.

### Advisor Categories

The following types of Advisor are provided:

- Administration: Checks the MySQL instance installation and configuration.

- Agent: Checks the status of each MySQL Enterprise Monitor Agent.

- Availability: Checks the availability of the MySQL process and the connection load.

- Backup: Checks whether backup jobs succeed or fail, required resources, and information about MySQL Enterprise Backup specific tasks.

- Cluster: Checks the status of the monitored MySQL Cluster.

- Graphing: Data for graphs.

- Memory Usage: Indicate how efficiently you are using various memory caches, such as the InnoDB buffer pool, MyISAM key cache, query cache, table cache, and thread cache.

- Monitoring and Support Services: Advisors related to the MySQL Enterprise Monitoring services itself.

- Operating System: Checks the Host Operating System performance.

- Performance: Identifies potential performance bottlenecks, and suggests optimizations.

- Query Analysis: Advisors related to Queries and Query Analysis.

- Replication: Identifies replication bottlenecks, and suggests replication design improvements.

- Schema: Identifies schema changes.

- Security: Checks MySQL Servers for known security issues.

It is also possible to create custom Advisors.

To display the Advisors in each category, click on the Category name. For a full description of the default advisors, see Chapter 22, GUI-Based Advisor Reference and Chapter 21, Expression-Based Advisor Reference.

Advisors configure the type of data collected by the Agent. If you do not want to monitor for a specific type of data, disabling the Advisor responsible for that data type instructs the Agents to stop collecting that data.

### Advisor Listing Table

The listing table displays all categories, Advisors, monitored instances, and displays information on the configuration of the Advisors.

The configuration information is displayed in the following columns:

Table 19.2 Advisor Information Listing

Name | Description
--- | ---
Item | Displays the Advisor name, group name, and monitored instance name. To expand the Advisor, click the expand icon.
Info | Click to display a tooltip which describes the Advisor.
Coverage | Displays the Advisor's coverage of the monitored instance. If the Advisor has been edited for a specific instance, this field is empty for that instance. If the default Advisor settings are used, this field displays (Covered).
Schedule | Displays the defined evaluation schedule. If the Advisor is disabled, this field displays Disabled for the level at which it was disabled, Advisor, Group or monitored instance.
Event Handling | Displays the event handling status icons. For more information, see Chapter 20, Events and Event Handling.
Parameters | Displays the Advisor's configuration details, thresholds, and so on.

### Advisor Menu

To open the Advisor menu, click the drop-down icon next to the Advisor’s name.

Figure 19.2 Advisor Menu Control

The Advisor menu is displayed:

Figure 19.3 Advisor Pop-up Menu

Table 19.3 Advisor Edit Menu Controls

Name | Description
--- | ---
Copy Advisor | Opens the Create New Advisor page and appends `- Copy 1` to the Advisor name. This enables you to define new Advisors based on existing ones. Note This option is only available for expression-based Advisors.
Edit Advisor Configuration | Opens the Edit Advisor dialog. This enables you to change the parameters and schedule of the selected advisor.
Remove Advisor Configuration | Disables the advisor and restores the default values. This is useful if you are experimenting with Advisor configuration, misconfigure the Advisor, and want to start again with the default Advisor configuration.
Disable Advisor | Disables the advisor and its associated graphs.
Delete Advisor | Deletes the selected advisor. Note Only available for custom Advisors. It is not possible to delete the default Advisors.

### Group and Host Menu

Each advisor contains the list of all groups defined in MySQL Enterprise Monitor. To see these groups, expand the contents of the Advisor by clicking on the Advisor’s name. This enables you to specify the Advisors you want to run for each group.

The top-level advisor contains the global configuration for all groups. That is, the configuration at the advisor-level applies to all groups and hosts it contains. Each nested group, and the monitored hosts contained in the group, have a drop-down menu enabling you to override the global configuration for each group or host, or disable the advisor for the specific group or host. Any change in advisor configuration at the group or host level, overrides the global configuration specified at the advisor level.

To open the Group menu, expand the Advisor and select the drop-down icon next to the Group name. The same menu is used for each host within the group. The menu contains the following items:

- Override Advisor Configuration: opens the Advisor edit dialog, enabling you to change the Advisor's configuration for the assets in the group. Changes made at the group level, only affect the assets within the group.

  Important

  If a host, Host1 for example, exists in multiple groups and a configuration override is applied to one of those groups, it does not affect Host1. Data is still collected and events generated for Host1 because it exists in different groups within the same advisor. To ensure the override applies to Host1, you must apply the same override to Host1 in each group which contains it.

- Disable Advisor: disables the Advisor for the selected group or host.

### Advisor Filter

The Advisor filter enables you to search for specific Advisors, groups, hosts, or assets using text or regular expressions. To open the filter, click the filter button.

The Advisor Filter is displayed:

Figure 19.4 Advisor Pop-up Menu

Table 19.4 Advisor Filter Controls

Name | Description
--- | ---
Advisors | Opens a drop-down menu listing all available Advisors. You can select multiple Advisors.
Groups | Opens a drop-down menu listing all defined groups. You can select multiple groups.
Asset Name | Opens a drop-down menu listing the available search types: Contains Doesn't Contain Regex Negative Regex
Value | Free text field for the search term or regular expression.
Filter | Filters the Advisors list based on the search terms.
Filter & Expand | Filters the Advisors list based on the search terms and expands the categories and Advisors to display the search results.
Reset | Resets all filter values.

## 19.2 Advisor Types

There are two types of Advisor:

- Expression-based

- GUI-based

### Expression-based Advisors

The majority of Advisors use a simple expression to evaluate the data collected by the monitoring Agent. These expressions use the following syntax:

            %VariableName% operator THRESHOLD

where:

- `%VariableName%` is the monitored value. The variables correspond to elements of the data collected by the Agent.

- `operator` is a mathematical operator such as <, > !, =, and so on.

- `THRESHOLD` is the Advisor-defined limit for the monitored value.

These expression-based Advisors evaluate the monitored values against the defined thresholds. Expression-based Advisors can evaluate percentage values, time/duration values, or check for the existence of specific configuration values.

More complex expressions are also used by concatenating a variety of different variables. It is also possible to perform calculations on the results returned by these variables within the expressions.

### GUI-based Advisors

The GUI-based Advisors contain more configuration options than the expression-based Advisors. These Advisors evaluate many more values than the expression-based Advisors and do not use the same expression-based evaluation system.

The following example shows the General section of the Agent Health Advisor:

Figure 19.5 Agent Health - General

## 19.3 Advisor Thresholds

Thresholds are the predefined limits for Advisors. If the monitored value breaches the defined threshold, an event is generated and displayed on the Events page for the asset.

Advisor thresholds use a variety of different value types, depending on the monitored value. Some use percentages, such as percentage of maximum number of connections. Others use timed durations, such as the average statement execution time. It is also possible to check if specific configuration elements are present or correct.

The following thresholds, listed in order of severity, can be defined for most Advisors:

- Notice: issues which do not affect the performance of the server, but can be used to indicate minor configuration problems.

- Warning: issues which do not affect the performance of the server, but may indicate a problem and require investigation.

- Critical: indicates a serious issue which is affecting or will affect the performance of the server. Such issues require immediate attention.

- Emergency: indicates a serious problem with the server. The server is unusable or unresponsive and requires immediate attention.

Note

Not all Advisors require threshold parameters, others do not have any parameters, such as the Graphing Advisors.

The following image shows an example of threshold definitions on the Parameters tab of an advisor:

Figure 19.6 Threshold Definitions Example

The values shown are taken from the Availability Advisor, Maximum Connection Limit Nearing or Reached. The values define the percentage of maximum connections at which an event is logged. For example:

- If the total number of connections is 75-84% of the maximum defined, a Notice event is displayed in the Events page.

- If the total number of connections is 85-94% of the maximum defined, a Warning event is displayed in the Events page.

- If the total number of connections is 95-99% of the maximum defined, a Critical event is displayed in the Events page.

- If the total number of connections is 100% or more of the maximum defined, an Emergency event is displayed in the Events page.

### Time-based Thresholds

The majority of the time-based thresholds use simple duration values, such as seconds, minutes and so on. These are used to monitor such values as system uptime and, if the value for uptime drops below a certain value, indicating a restart, trigger an event.

Others use an Exponential Moving Average Window, which monitors values over a predefined time period. One such advisor is the CPU Utilization Advisor. The moving average window is used because CPU utilization can spike many times a minute, for a variety of different reasons. Raising an event for each spike would not be useful. The moving average enables you to monitor CPUs for long durations and take an average CPU utilization across that duration. Thresholds are defined against that average.

### Percentage-based Thresholds

Percentage-based thresholds trigger events based on percentages of a server-defined value. Maximum number of connections, for example, raises events based on a percentage value of the total number of connections to the monitored instance or group.

### Text-based Thresholds

Text-based thresholds are used to check specific configuration values are properly defined, or to retrieve success or failure messages for system processes such as backups.

## 19.4 Advisor Schedules

Schedules define when the Advisors collect data:

- Fixed Rate: collects data according to a fixed schedule. If the schedule is set to 1 minute, and the first data collection is performed at 12:00, the subsequent data collection occurs at 12:01, even if the previous data collection is not yet complete. This is the default schedule for all Advisors.

- Fixed Delay: collects data only after the preceding collection is complete. If the schedule is set to 1 minute, the data collection is performed 1 minute after the preceding collection completed.

- Daily: collects data at the defined time. This is useful for collections with a large overhead on the monitored instance, enabling you to schedule the collection for an off-peak time.

- Disabled: deactivates the advisor for all monitored assets, or for the selected group or host.

Prev | Up | Next
Chapter 18 Reports and Graphs | Home | Chapter 20 Events and Event Handling