# slow queries template: mysql_10s_slow_queries on: mysql.queries class: Latency type: Database component: MySQL lookup: sum -10s of slow_queries units: slow queries every: 10s warn: $this > (($status >= $WARNING) ? (5) : (10)) crit: $this > (($status == $CRITICAL) ? (10) : (20)) delay: down 5m multiplier 1.5 max 1h info: number of slow queries in the last 10 seconds to: dba # ----------------------------------------------------------------------------- # lock waits template: mysql_10s_table_locks_immediate on: mysql.table_locks class: Utilization type: Database component: MySQL lookup: sum -10s absolute of immediate units: immediate locks every: 10s info: number of table immediate locks in the last 10 seconds to: dba template: mysql_10s_table_locks_waited on: mysql.table_locks class: Latency type: Database component: MySQL lookup: sum -10s absolute of waited units: waited locks every: 10s info: number of table waited locks in the last 10 seconds to: dba template: mysql_10s_waited_locks_ratio on: mysql.table_locks class: Latency type: Database component: MySQL calc: ( ($mysql_10s_table_locks_waited + $mysql_10s_table_locks_immediate) > 0 ) ? (($mysql_10s_table_locks_waited * 100) / ($mysql_10s_table_locks_waited + $mysql_10s_table_locks_immediate)) : 0 units: % every: 10s warn: $this > (($status >= $WARNING) ? (10) : (25)) crit: $this > (($status == $CRITICAL) ? (25) : (50)) delay: down 30m multiplier 1.5 max 1h info: ratio of waited table locks over the last 10 seconds to: dba # ----------------------------------------------------------------------------- # connections template: mysql_connections on: mysql.connections_active class: Utilization type: Database component: MySQL calc: $active * 100 / $limit units: % every: 10s warn: $this > (($status >= $WARNING) ? (60) : (70)) crit: $this > (($status == $CRITICAL) ? (80) : (90)) delay: down 15m multiplier 1.5 max 1h info: client connections utilization to: dba # ----------------------------------------------------------------------------- # replication template: mysql_replication on: mysql.slave_status class: Errors type: Database component: MySQL calc: ($sql_running <= 0 OR $io_running <= 0)?0:1 units: ok/failed every: 10s crit: $this == 0 delay: down 5m multiplier 1.5 max 1h info: replication status (0: stopped, 1: working) to: dba template: mysql_replication_lag on: mysql.slave_behind class: Latency type: Database component: MySQL calc: $seconds units: seconds every: 10s warn: $this > (($status >= $WARNING) ? (5) : (10)) crit: $this > (($status == $CRITICAL) ? (10) : (30)) delay: down 15m multiplier 1.5 max 1h info: difference between the timestamp of the latest transaction processed by the SQL thread and \ the timestamp of the same transaction when it was processed on the master to: dba # ----------------------------------------------------------------------------- # galera cluster size template: mysql_galera_cluster_size_max_2m on: mysql.galera_cluster_size class: Utilization type: Database component: MySQL lookup: max -2m at -1m unaligned units: nodes every: 10s info: maximum galera cluster size in the last 2 minutes starting one minute ago to: dba template: mysql_galera_cluster_size on: mysql.galera_cluster_size class: Utilization type: Database component: MySQL calc: $nodes units: nodes every: 10s warn: $this > $mysql_galera_cluster_size_max_2m crit: $this < $mysql_galera_cluster_size_max_2m delay: up 20s down 5m multiplier 1.5 max 1h info: current galera cluster size, compared to the maximum size in the last 2 minutes to: dba # galera node state template: mysql_galera_cluster_state_warn on: mysql.galera_cluster_state class: Errors type: Database component: MySQL calc: $donor + $joined every: 10s warn: $this != nan AND $this != 0 delay: up 30s down 5m multiplier 1.5 max 1h info: galera node state is either Donor/Desynced or Joined. to: dba template: mysql_galera_cluster_state_crit on: mysql.galera_cluster_state class: Errors type: Database component: MySQL calc: $undefined + $joining + $error every: 10s crit: $this != nan AND $this != 0 delay: up 30s down 5m multiplier 1.5 max 1h info: galera node state is either Undefined or Joining or Error. to: dba # galera node status template: mysql_galera_cluster_status on: mysql.galera_cluster_status class: Errors type: Database component: MySQL calc: $primary every: 10s crit: $this != nan AND $this != 1 delay: up 30s down 5m multiplier 1.5 max 1h info: galera node is part of a nonoperational component. \ This occurs in cases of multiple membership changes that result in a loss of Quorum or in cases of split-brain situations. to: dba