30.1.5阈值

每个表达式都有一个触发警报的阈值。的阈值关键字将该值与警报级别关联:或请注意警告,或至关重要的警报。

例如,性能建议器的表达式,线程缓存大小可能不是最佳的是:

100-((%Threads_created% / %Connections%) * 100) < THRESHOLD

阈值提示告警为95%,警告告警为85%,严重告警为75%,产生三种不同级别的告警。

表达可以直截了当。的表达式没有启用二进制日志记录(其中一项行政提醒)是:

% log_bin % = =阈值

当结果是时,只会触发一个告警:Warning级别的告警。你不能只用这个表达% log_bin % = =“关闭”,因为这不会测试针对阈值的二进制日志记录,因此不会导致警报。

为每个表达式的求值指定精确的条件,以避免错误警报。例如,的表达式MyISAM密钥缓存命中率低于最佳顾问:

(%Uptime% > 10800) && (%Key_read_requests% > 10000) && (100-((%Key_reads% / %Key_read_requests%) * 100) < THRESHOLD)

表达式的第一部分,(%正常运行时间% > 10800),延迟计算该表达式,直到系统运行10800秒(3小时)。当服务器启动时,可能需要一段时间才能达到代表正常操作的状态。例如,InnoDB缓冲池,MyISAM键缓存,SQL查询缓存可能需要一些时间来填充应用程序数据,之后缓存的数据将提高性能。

此外,如果系统的某些部分没有被大量使用,则可能会根据有限的数据触发警报。例如,如果应用程序不使用MyISAM存储引擎,则MyISAM密钥缓存命中率低于最佳advisor工具可以基于对其他MyISAM表的非常有限的使用而被触发,例如mysql.user表格因此,这个advisor有第二部分:(% Key_read_requests % > 10000).除非有大量的活动与键缓存相关联,否则advisor工具不会被评估。