To create a new Advisor, click the Copy Advisor menu item from the Advisor menu . You can edit any Advisor element during the copying process, unlike editing an existing Advisor. To delete custom Advisors, select Delete Advisor from the Advisor menu.button on the Advisors page. To create an Advisor based on an existing one, select
Unlike the expression-based advisors, it is not possible to copy one of the GUI-based advisors to use as the basis for a custom advisor.
You can change the Advisor name, change the Advisor category that an Advisor belongs to, set your own version number, and alter the threshold and frequency of an Advisor.
If you do not specify a version number for the new Advisor, the version 1.0 is automatically added.
You can also edit an Advisor's expression. For more information on Advisor expressions, see Chapter 21, Advisors. An expression can be as simple as a single server parameter or can be complex, combining multiple parameters with mathematical operations.
An expression has two main characteristics:
An expression tests whether a best practice is being violated.
The result of an expression must always be 1 or 0 (corresponding to true or false).
For example, if enabling binary logging is a best practice for a
production server (as Oracle recommends), then this best
practice is violated if
OFF. Consequently, the expression for the
“Binary Logging Not Enabled” advisor is
“%log_bin% == OFF”. If this evaluates to 1, an
event is raised because the best practice is not being followed.
An expression is made up of one or more variables and zero or more mathematical operators. The MySQL Enterprise Monitor product uses the Java Expression Parser. The operators and functions consist of:
The MySQL functions
NOW()(returns time since Unix epoch UTC in seconds),
UNIX_TIMESTAMP(technically a no-op), and
INTERVAL [n] SECOND, MINUTE, HOUR, WEEK, MONTH.
The operators functions listed on this page: http://www.singularsys.com/jep/doc/html/operators.html.
Comparisons with MySQL timestamps and datetimes collected by the agent in the standard MySQL format
IF (returns either
false_expression, depending on whether
conditionis true or false. This function uses short-circuit evaluation, so only one of the return expressions is evaluated.
type) function is not implemented. Instead, use
string) to use strings as numbers.
For a complete list of the built-in variables used to create Advisors, see Server Option, System Variable, and Status Variable Reference.
Creating an expression is dependent on variables defined in the Variable Assignment frame. This frame links variables used in the expression field with data gathered from the target MySQL server instance: server status variables, operating system status information, and table information. Variable names are associated with elements in the Data Item drop-down menu. To define more than one variable, click the button.
The remaining fields determine the information that you receive in a notification email or the informational pop-up window associated with each advisor.
When saving a new Advisor, choose a unique name not used by any existing Advisor.