blob: 3941c71cc7ef02a1441068bc61573a795f26e655 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
# 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
|