File: //lib/netdata/conf.d/health.d/mysql.conf
# 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
summary: MySQL slow queries
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
summary: MySQL table immediate locks
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
summary: MySQL table waited locks
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
summary: MySQL waited table locks ratio
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
summary: MySQL connections utilization
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
summary: MySQL replication status
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
summary: MySQL replication lag
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
summary: MySQL galera cluster size
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
summary: MySQL galera node state
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
summary: MySQL galera node state
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
summary: MySQL galera cluster status
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