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:
This section describes the main Advisors page.
To display the Advisors page, select Advisors from the Configuration drop-down menu.
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. |
|
Expands or collapses the Advisor filter. The Advisor filter enables you to filter the Advisors, groups and assets. |
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.
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. |
To open the Advisor menu, click the drop-down icon next to the Advisor’s name.
The Advisor menu is displayed:
Table 19.3 Advisor Edit Menu Controls
| Name | Description |
|---|---|
Copy Advisor |
Opens the Create New Advisor page
and appends
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. |
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.
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.
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:
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:
|
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. |
There are two types of Advisor:
Expression-based
GUI-based
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.
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:
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.
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:
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.
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 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.
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.