~ubuntu-branches/ubuntu/trusty/nagios-plugins-contrib/trusty-proposed

« back to all changes in this revision

Viewing changes to check_mysql_health/check_mysql_health-2.1.7/contrib/check_mysql_health.php

  • Committer: Package Import Robot
  • Author(s): Bernd Zeimetz
  • Date: 2013-05-21 22:11:50 UTC
  • mfrom: (5.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20130521221150-k5bda5v5euvt7wg9
Tags: 6.20130521
* [e68c82e1] check_raid: do not run hpacucli if cciss_vol_status is available.
* [4a1c57e8] Also support tw-cli as additional name for the 3ware binary.
  Thanks to Dennis Hoppe
* [eb5e1c7c] Add /run/ to the check_libs ignore file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?php
2
 
#
3
 
# Copyright (c) 2009 Gerhard Lausser (gerhard.lausser@consol.de)
4
 
# Plugin: check_mysql_health (http://www.consol.com/opensource/nagios/check-mysql-health)
5
 
# Release 1.0 2009-03-02
6
 
#
7
 
# This is a template for the visualisation addon PNP (http://www.pnp4nagios.org)
8
 
#
9
 
 
10
 
$defcnt = 1;
11
 
 
12
 
$green = "33FF00E0";
13
 
$yellow = "FFFF00E0";
14
 
$red = "F83838E0";
15
 
$now = "FF00FF";
16
 
 
17
 
foreach ($DS as $i) {
18
 
    $warning = ($WARN[$i] != "") ? $WARN[$i] : "";
19
 
    $warnmin = ($WARN_MIN[$i] != "") ? $WARN_MIN[$i] : "";
20
 
    $warnmax = ($WARN_MAX[$i] != "") ? $WARN_MAX[$i] : "";
21
 
    $critical = ($CRIT[$i] != "") ? $CRIT[$i] : "";
22
 
    $critmin = ($CRIT_MIN[$i] != "") ? $CRIT_MIN[$i] : "";
23
 
    $critmax = ($CRIT_MAX[$i] != "") ? $CRIT_MAX[$i] : "";
24
 
    $minimum = ($MIN[$i] != "") ? $MIN[$i] : "";
25
 
    $maximum = ($MAX[$i] != "") ? $MAX[$i] : "";
26
 
 
27
 
    if(preg_match('/^connection_time$/', $NAME[$i])) {
28
 
        $ds_name[$defcnt] = "Time to connect";
29
 
        $opt[$defcnt] = "--vertical-label \"Seconds\" --title \"Time to establish a connection to $hostname\" ";
30
 
        $def[$defcnt] = "";
31
 
        $def[$defcnt] .= "DEF:connectiontime=$RRDFILE[$i]:$DS[$i]:AVERAGE:reduce=LAST " ;
32
 
        $def[$defcnt] .= "AREA:connectiontime#111111 ";
33
 
        $def[$defcnt] .= "VDEF:vconnetiontime=connectiontime,LAST " ;
34
 
        $def[$defcnt] .= "GPRINT:vconnetiontime:\"is %3.2lf Seconds \" " ;
35
 
        $defcnt++;
36
 
    }
37
 
    if(preg_match('/^uptime$/', $NAME[$i])) {
38
 
        $ds_name[$defcnt] = "Uptime";
39
 
        $opt[$defcnt] = "--vertical-label \"Seconds\" --title \"Uptime of the database at $hostname\" ";
40
 
        $def[$defcnt] = "";
41
 
        $def[$defcnt] .= "DEF:uptime=$RRDFILE[$i]:$DS[$i]:AVERAGE:reduce=LAST " ;
42
 
        $def[$defcnt] .= "AREA:uptime#111111 ";
43
 
        $def[$defcnt] .= "CDEF:uptimed=uptime,86400,/ " ;
44
 
        $def[$defcnt] .= "CDEF:uptimew=uptimed,7,/ " ;
45
 
        $def[$defcnt] .= "VDEF:vuptime=uptime,LAST " ;
46
 
        $def[$defcnt] .= "VDEF:vuptimed=uptimed,LAST " ;
47
 
        $def[$defcnt] .= "VDEF:vuptimew=uptimew,LAST " ;
48
 
        $def[$defcnt] .= "GPRINT:vuptime:\"%.0lf Seconds \" " ;
49
 
        $def[$defcnt] .= "GPRINT:vuptimed:\"%.0lf Days \" " ;
50
 
        $def[$defcnt] .= "GPRINT:vuptimew:\"%.0lf Weeks \" " ;
51
 
        $defcnt++;
52
 
    }
53
 
    if(preg_match('/^index_usage_now$/', $NAME[$i])) {
54
 
        $ds_name[$defcnt] = "Index usage";
55
 
        $opt[$defcnt] = "--vertical-label \"Percent\" --title \"Index usage $hostname\" --upper-limit 100 --lower-limit 0 ";
56
 
        $def[$defcnt] = "";
57
 
        foreach ($DS as $ii) {
58
 
          if(preg_match('/^index_usage$/', $NAME[$ii])) {
59
 
            $def[$defcnt] .= "DEF:indexusage=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
60
 
            $def[$defcnt] .= "CDEF:ar=indexusage,$CRIT_MIN[$ii],LE,indexusage,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,indexusage,0,IF ";
61
 
            $def[$defcnt] .= "CDEF:ay=indexusage,$WARN_MIN[$ii],LE,indexusage,$CRIT_MIN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,indexusage,0,IF ";
62
 
            $def[$defcnt] .= "CDEF:ag=indexusage,100,LE,indexusage,$WARN_MIN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,indexusage,0,IF ";
63
 
            $def[$defcnt] .= "AREA:ag#$green: " ;
64
 
            $def[$defcnt] .= "AREA:ay#$yellow: " ;
65
 
            $def[$defcnt] .= "AREA:ar#$red: " ;
66
 
            $def[$defcnt] .= "LINE:indexusage#111111:\" \" ";
67
 
            $def[$defcnt] .= "VDEF:vindexusage=indexusage,LAST " ;
68
 
            $def[$defcnt] .= "GPRINT:vindexusage:\"Index usage (since epoch) is %3.2lf percent\\n\" " ;
69
 
          }
70
 
          if(preg_match('/^index_usage_now$/', $NAME[$ii])) {
71
 
            $def[$defcnt] .= "DEF:indexusagenow=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
72
 
            $def[$defcnt] .= "LINE1.5:indexusagenow#$now:\" \" ";
73
 
            $def[$defcnt] .= "VDEF:vindexusagenow=indexusagenow,LAST " ;
74
 
            $def[$defcnt] .= "GPRINT:vindexusagenow:\"Index usage (current) is %3.2lf percent\\n\" ";
75
 
          }
76
 
        }
77
 
        $defcnt++;
78
 
    }
79
 
    if(preg_match('/^bufferpool_hitrate_now$/', $NAME[$i])) {
80
 
        $ds_name[$defcnt] = "Innodb buffer pool hitrate";
81
 
        $opt[$defcnt] = "--vertical-label \"Percent\" --title \"Innodb buffer pool hitrate on $hostname\" --upper-limit 100 --lower-limit 0 ";
82
 
        $def[$defcnt] = "";
83
 
        foreach ($DS as $ii) {
84
 
          if(preg_match('/^bufferpool_hitrate$/', $NAME[$ii])) {
85
 
            $def[$defcnt] .= "DEF:hitrate=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
86
 
            $def[$defcnt] .= "CDEF:ar=hitrate,$CRIT_MIN[$ii],LE,hitrate,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
87
 
            $def[$defcnt] .= "CDEF:ay=hitrate,$WARN_MIN[$ii],LE,hitrate,$CRIT_MIN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
88
 
            $def[$defcnt] .= "CDEF:ag=hitrate,100,LE,hitrate,$WARN_MIN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
89
 
            $def[$defcnt] .= "AREA:ag#$green: " ;
90
 
            $def[$defcnt] .= "AREA:ay#$yellow: " ;
91
 
            $def[$defcnt] .= "AREA:ar#$red: " ;
92
 
            $def[$defcnt] .= "LINE1.5:hitrate#111111:\" \" ";
93
 
            $def[$defcnt] .= "VDEF:vhitrate=hitrate,LAST " ;
94
 
            $def[$defcnt] .= "GPRINT:vhitrate:\"Hitratio (since epoch) is %3.2lf percent \\n\" ";
95
 
          }
96
 
          if(preg_match('/^bufferpool_hitrate_now$/', $NAME[$ii])) {
97
 
            $def[$defcnt] .= "DEF:hitratenow=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
98
 
            $def[$defcnt] .= "LINE1.5:hitratenow#$now:\" \" ";
99
 
            $def[$defcnt] .= "VDEF:vhitratenow=hitratenow,LAST " ;
100
 
            $def[$defcnt] .= "GPRINT:vhitratenow:\"Hitratio (current) is %3.2lf percent \\n\" ";
101
 
          }
102
 
        }
103
 
        $defcnt++;
104
 
    }
105
 
    if(preg_match('/^bufferpool_free_waits_rate$/', $NAME[$i])) {
106
 
        $ds_name[$defcnt] = "Innodb buffer pool waits rate";
107
 
        $opt[$defcnt] = "--vertical-label \"Waits/sec\" --title \"Innodb buffer pool waits on $hostname\" ";
108
 
        $def[$defcnt] = "";
109
 
        $def[$defcnt] .= "DEF:logwait=$RRDFILE[$i]:$DS[$i]:AVERAGE:reduce=LAST " ;
110
 
        $def[$defcnt] .= "AREA:logwait#111111 ";
111
 
        $def[$defcnt] .= "VDEF:vlogwait=logwait,LAST " ;
112
 
        $def[$defcnt] .= "GPRINT:vlogwait:\"Rate is %3.2lf Waits / Second \" " ;
113
 
        $defcnt++;
114
 
    }
115
 
    if(preg_match('/^innodb_log_waits_rate$/', $NAME[$i])) {
116
 
        $ds_name[$defcnt] = "Innodb log buffer waits rate";
117
 
        $opt[$defcnt] = "--vertical-label \"Waits/sec\" --title \"Innodb waits for log buffer $hostname\" ";
118
 
        $def[$defcnt] = "";
119
 
        $def[$defcnt] .= "DEF:logwait=$RRDFILE[$i]:$DS[$i]:AVERAGE:reduce=LAST " ;
120
 
        $def[$defcnt] .= "AREA:logwait#111111 ";
121
 
        $def[$defcnt] .= "VDEF:vlogwait=logwait,LAST " ;
122
 
        $def[$defcnt] .= "GPRINT:vlogwait:\"Rate is %3.2lf Waits / Second \" " ;
123
 
        $defcnt++;
124
 
    }
125
 
    if(preg_match('/^long_running_procs$/', $NAME[$i])) {
126
 
        $ds_name[$defcnt] = "Long running processes";
127
 
        $opt[$defcnt] = "--vertical-label \"Processes\" --title \"Long running processes (>60s) on $hostname\" ";
128
 
        $def[$defcnt] = "";
129
 
        $def[$defcnt] .= "DEF:longrun=$RRDFILE[$i]:$DS[$i]:AVERAGE:reduce=LAST " ;
130
 
        $def[$defcnt] .= "AREA:longrun#111111 ";
131
 
        $def[$defcnt] .= "VDEF:vlongrun=longrun,LAST " ;
132
 
        $def[$defcnt] .= "GPRINT:vlongrun:\"%.0lf long running processes \" " ;
133
 
        $defcnt++;
134
 
    }
135
 
    if(preg_match('/^keycache_hitrate_now$/', $NAME[$i])) {
136
 
        $ds_name[$defcnt] = "MyISAM key cache hitrate";
137
 
        $opt[$defcnt] = "--vertical-label \"Percent\" --title \"MyISAM key cache hitrate on $hostname\" --upper-limit 100 --lower-limit 0 ";
138
 
        $def[$defcnt] = "";
139
 
        foreach ($DS as $ii) {
140
 
          if(preg_match('/^keycache_hitrate$/', $NAME[$ii])) {
141
 
            $def[$defcnt] .= "DEF:hitrate=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
142
 
            $def[$defcnt] .= "CDEF:ar=hitrate,$CRIT_MIN[$ii],LE,hitrate,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
143
 
            $def[$defcnt] .= "CDEF:ay=hitrate,$WARN_MIN[$ii],LE,hitrate,$CRIT_MIN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
144
 
            $def[$defcnt] .= "CDEF:ag=hitrate,100,LE,hitrate,$WARN_MIN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
145
 
            $def[$defcnt] .= "AREA:ag#$green: " ;
146
 
            $def[$defcnt] .= "AREA:ay#$yellow: " ;
147
 
            $def[$defcnt] .= "AREA:ar#$red: " ;
148
 
            $def[$defcnt] .= "LINE1.5:hitrate#111111:\" \" ";
149
 
            $def[$defcnt] .= "VDEF:vhitrate=hitrate,LAST " ;
150
 
            $def[$defcnt] .= "GPRINT:vhitrate:\"Hitratio (since epoch) is %3.2lf percent \\n\" ";
151
 
          }
152
 
          if(preg_match('/^keycache_hitrate_now$/', $NAME[$ii])) {
153
 
            $def[$defcnt] .= "DEF:hitratenow=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
154
 
            $def[$defcnt] .= "LINE1.5:hitratenow#$now:\" \" ";
155
 
            $def[$defcnt] .= "VDEF:vhitratenow=hitratenow,LAST " ;
156
 
            $def[$defcnt] .= "GPRINT:vhitratenow:\"Hitratio (current) is %3.2lf percent \\n\" ";
157
 
          }
158
 
        }
159
 
        $defcnt++;
160
 
    }
161
 
    if(preg_match('/^qcache_hitrate_now$/', $NAME[$i])) {
162
 
        $ds_name[$defcnt] = "Query cache hitrate";
163
 
        $opt[$defcnt] = "--vertical-label \"Percent\" --title \"Query cache hitrate on $hostname\" --upper-limit 100 --lower-limit 0 ";
164
 
        $def[$defcnt] = ""; 
165
 
        foreach ($DS as $ii) {
166
 
          if(preg_match('/^qcache_hitrate$/', $NAME[$ii])) {
167
 
            $def[$defcnt] .= "DEF:hitrate=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
168
 
            $def[$defcnt] .= "CDEF:ar=hitrate,$CRIT_MIN[$ii],LE,hitrate,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
169
 
            $def[$defcnt] .= "CDEF:ay=hitrate,$WARN_MIN[$ii],LE,hitrate,$CRIT_MIN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
170
 
            $def[$defcnt] .= "CDEF:ag=hitrate,100,LE,hitrate,$WARN_MIN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
171
 
            $def[$defcnt] .= "AREA:ag#$green: " ;
172
 
            $def[$defcnt] .= "AREA:ay#$yellow: " ;
173
 
            $def[$defcnt] .= "AREA:ar#$red: " ;
174
 
            $def[$defcnt] .= "LINE1.5:hitrate#111111:\" \" ";
175
 
            $def[$defcnt] .= "VDEF:vhitrate=hitrate,LAST " ;
176
 
            $def[$defcnt] .= "GPRINT:vhitrate:\"Hitratio (since epoch) is %3.2lf percent \\n\" ";
177
 
          }   
178
 
          if(preg_match('/^qcache_hitrate_now$/', $NAME[$ii])) {
179
 
            $def[$defcnt] .= "DEF:hitratenow=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
180
 
            $def[$defcnt] .= "LINE1.5:hitratenow#$now:\" \" ";
181
 
            $def[$defcnt] .= "VDEF:vhitratenow=hitratenow,LAST " ;
182
 
            $def[$defcnt] .= "GPRINT:vhitratenow:\"Hitratio (current) is %3.2lf percent \\n\" ";
183
 
          }   
184
 
        }   
185
 
        $defcnt++;
186
 
        $ds_name[$defcnt] = "Selects per second";
187
 
        $opt[$defcnt] = "--vertical-label \"Selects / sec\" --title \"Selects per second on $hostname\" ";
188
 
        $def[$defcnt] = ""; 
189
 
        foreach ($DS as $ii) {
190
 
          if(preg_match('/^selects_per_sec$/', $NAME[$ii])) {
191
 
            $def[$defcnt] .= "DEF:sps=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
192
 
            $def[$defcnt] .= "AREA:sps#$now:\" \" ";
193
 
            $def[$defcnt] .= "VDEF:vsps=sps,LAST " ;
194
 
            $def[$defcnt] .= "GPRINT:vsps:\"%3.2lf Selects per second \\n\" ";
195
 
          }   
196
 
        }
197
 
        $defcnt++;
198
 
    }   
199
 
    if(preg_match('/^qcache_lowmem_prunes_rate$/', $NAME[$i])) {
200
 
        $ds_name[$defcnt] = "Query cache low memory prunes";
201
 
        $opt[$defcnt] = "--vertical-label \"Prunes / sec\" --title \"Query cache low mem prunes on $hostname\" ";
202
 
        $def[$defcnt] = "";
203
 
        $def[$defcnt] .= "DEF:prunes=$RRDFILE[$i]:$DS[$i]:AVERAGE:reduce=LAST " ;
204
 
        $def[$defcnt] .= "AREA:prunes#111111 ";
205
 
        $def[$defcnt] .= "VDEF:vprunes=prunes,LAST " ;
206
 
        $def[$defcnt] .= "GPRINT:vprunes:\"Rate is %3.2lf Prunes / Second \" " ;
207
 
        $defcnt++;
208
 
    }
209
 
    if(preg_match('/^slow_queries_rate$/', $NAME[$i])) {
210
 
        $ds_name[$defcnt] = "Slow query rate";
211
 
        $opt[$defcnt] = "--vertical-label \"Slow queries / sec\" --title \"Slow queries on $hostname\" ";
212
 
        $def[$defcnt] = "";
213
 
        $def[$defcnt] .= "DEF:prunes=$RRDFILE[$i]:$DS[$i]:AVERAGE:reduce=LAST " ;
214
 
        $def[$defcnt] .= "AREA:prunes#111111 ";
215
 
        $def[$defcnt] .= "VDEF:vprunes=prunes,LAST " ;
216
 
        $def[$defcnt] .= "GPRINT:vprunes:\"%3.2lf Slow queries / Second \" " ;
217
 
        $defcnt++;
218
 
    }
219
 
    if(preg_match('/^tablelock_contention_now$/', $NAME[$i])) {
220
 
        $ds_name[$defcnt] = "Table lock contention";
221
 
        # set upper limit to 10, because 3 means an already dead database
222
 
        $opt[$defcnt] = "--vertical-label \"Percent\" --title \"Table lock contention on $hostname\" --upper-limit 10 --lower-limit 0 ";
223
 
        $def[$defcnt] = "";
224
 
        foreach ($DS as $ii) {
225
 
          if(preg_match('/^tablelock_contention$/', $NAME[$ii])) {
226
 
            $def[$defcnt] .= "DEF:tbllckcont=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
227
 
            $def[$defcnt] .= "CDEF:ag=tbllckcont,$WARN[$ii],LE,tbllckcont,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,tbllckcont,0,IF ";
228
 
            $def[$defcnt] .= "CDEF:ay=tbllckcont,$CRIT[$ii],LE,tbllckcont,$WARN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,tbllckcont,0,IF ";
229
 
            $def[$defcnt] .= "CDEF:ar=tbllckcont,100,LE,tbllckcont,$CRIT[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,tbllckcont,0,IF ";
230
 
            $def[$defcnt] .= "AREA:ag#$green: " ;
231
 
            $def[$defcnt] .= "AREA:ay#$yellow: " ;
232
 
            $def[$defcnt] .= "AREA:ar#$red: " ;
233
 
            $def[$defcnt] .= "LINE:tbllckcont#111111:\" \" ";
234
 
            $def[$defcnt] .= "VDEF:vtbllckcont=tbllckcont,LAST " ;
235
 
            $def[$defcnt] .= "GPRINT:vtbllckcont:\"Lock contention (since epoch) is %3.2lf%%\\n\" " ;
236
 
          }
237
 
          if(preg_match('/^tablelock_contention_now$/', $NAME[$ii])) {
238
 
            $def[$defcnt] .= "DEF:tbllckcontnow=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
239
 
            $def[$defcnt] .= "LINE1.5:tbllckcontnow#$now:\" \" ";
240
 
            $def[$defcnt] .= "VDEF:vtbllckcontnow=tbllckcontnow,LAST " ;
241
 
            $def[$defcnt] .= "GPRINT:vtbllckcontnow:\"Lock contention (current) is %3.2lf%%\" ";
242
 
          }   
243
 
        }
244
 
        $defcnt++;
245
 
    }
246
 
    if(preg_match('/^tablecache_fillrate$/', $NAME[$i])) {
247
 
        $ds_name[$defcnt] = "Table cache hitrate";
248
 
        $opt[$defcnt] = "--vertical-label \"Percent\" --title \"Table cache hitrate on $hostname\" --upper-limit 100 --lower-limit 0 ";
249
 
        $def[$defcnt] = "";
250
 
        foreach ($DS as $ii) {
251
 
          if(preg_match('/^tablecache_hitrate$/', $NAME[$ii])) {
252
 
            $def[$defcnt] .= "DEF:hitrate=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
253
 
            $def[$defcnt] .= "CDEF:ar=hitrate,$CRIT_MIN[$ii],LE,hitrate,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
254
 
            $def[$defcnt] .= "CDEF:ay=hitrate,$WARN_MIN[$ii],LE,hitrate,$CRIT_MIN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
255
 
            $def[$defcnt] .= "CDEF:ag=hitrate,100,LE,hitrate,$WARN_MIN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
256
 
            $def[$defcnt] .= "AREA:ag#$green: " ;
257
 
            $def[$defcnt] .= "AREA:ay#$yellow: " ;
258
 
            $def[$defcnt] .= "AREA:ar#$red: " ;
259
 
            $def[$defcnt] .= "LINE:hitrate#111111:\" \" ";
260
 
            $def[$defcnt] .= "VDEF:vhitrate=hitrate,LAST " ;
261
 
            $def[$defcnt] .= "GPRINT:vhitrate:\"Hitratio is %3.2lf percent \\n\" ";
262
 
          }
263
 
          if(preg_match('/^tablecache_fillrate$/', $NAME[$ii])) {
264
 
            $def[$defcnt] .= "DEF:hitratenow=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
265
 
            $def[$defcnt] .= "LINE1.5:hitratenow#$now:\" \" ";
266
 
            $def[$defcnt] .= "VDEF:vhitratenow=hitratenow,LAST " ;
267
 
            $def[$defcnt] .= "GPRINT:vhitratenow:\"%3.2lf%% of the cache is filled \\n\" ";
268
 
          }
269
 
        }
270
 
        $defcnt++;
271
 
    }
272
 
    if(preg_match('/^pct_tmp_table_on_disk_now$/', $NAME[$i])) {
273
 
        $ds_name[$defcnt] = "Temporary tables created on disk ";
274
 
        $opt[$defcnt] = "--vertical-label \"Percent\" --title \"Temporary tables created on disk on $hostname\" --upper-limit 10 --lower-limit 0 ";
275
 
        $def[$defcnt] = "";
276
 
        foreach ($DS as $ii) {
277
 
          if(preg_match('/^pct_tmp_table_on_disk$/', $NAME[$ii])) {
278
 
 
279
 
            $def[$defcnt] .= "DEF:tmptbldsk=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
280
 
            $def[$defcnt] .= "CDEF:ag=tmptbldsk,$WARN[$ii],LE,tmptbldsk,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,tmptbldsk,0,IF ";
281
 
            $def[$defcnt] .= "CDEF:ay=tmptbldsk,$CRIT[$ii],LE,tmptbldsk,$WARN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,tmptbldsk,0,IF ";
282
 
            $def[$defcnt] .= "CDEF:ar=tmptbldsk,100,LE,tmptbldsk,$CRIT[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,tmptbldsk,0,IF ";
283
 
            $def[$defcnt] .= "AREA:ag#$green: " ;
284
 
            $def[$defcnt] .= "AREA:ay#$yellow: " ;
285
 
            $def[$defcnt] .= "AREA:ar#$red: " ;
286
 
            $def[$defcnt] .= "LINE:tmptbldsk#111111:\" \" ";
287
 
            $def[$defcnt] .= "VDEF:vtmptbldsk=tmptbldsk,LAST " ;
288
 
            $def[$defcnt] .= "GPRINT:vtmptbldsk:\"%3.2lf percent of temp tables were created on disk (since epoch)\\n\" " ;
289
 
          }
290
 
          if(preg_match('/^pct_tmp_table_on_disk_now$/', $NAME[$ii])) {
291
 
            $def[$defcnt] .= "DEF:tmptbldsknow=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
292
 
            $def[$defcnt] .= "LINE1.5:tmptbldsknow#$now:\" \" ";
293
 
            $def[$defcnt] .= "VDEF:vtmptbldsknow=tmptbldsknow,LAST " ;
294
 
            $def[$defcnt] .= "GPRINT:vtmptbldsknow:\"%3.2lf percent of temp tables were created on disk (recently)\\n\" " ;
295
 
          }   
296
 
        }
297
 
        $defcnt++;
298
 
    }
299
 
    if(preg_match('/^thread_cache_hitrate_now$/', $NAME[$i])) {
300
 
        $ds_name[$defcnt] = "Thread cache hitrate";
301
 
        $opt[$defcnt] = "--vertical-label \"Percent\" --title \"Thread cache hitrate on $hostname\" --upper-limit 100 --lower-limit 0 ";
302
 
        $def[$defcnt] = ""; 
303
 
        foreach ($DS as $ii) {
304
 
          if(preg_match('/^thread_cache_hitrate$/', $NAME[$ii])) {
305
 
            $def[$defcnt] .= "DEF:hitrate=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
306
 
            $def[$defcnt] .= "CDEF:ar=hitrate,$CRIT_MIN[$ii],LE,hitrate,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
307
 
            $def[$defcnt] .= "CDEF:ay=hitrate,$WARN_MIN[$ii],LE,hitrate,$CRIT_MIN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
308
 
            $def[$defcnt] .= "CDEF:ag=hitrate,100,LE,hitrate,$WARN_MIN[$ii],GT,INF,UNKN,IF,UNKN,IF,ISINF,hitrate,0,IF ";
309
 
            $def[$defcnt] .= "AREA:ag#$green: " ;
310
 
            $def[$defcnt] .= "AREA:ay#$yellow: " ;
311
 
            $def[$defcnt] .= "AREA:ar#$red: " ;
312
 
            $def[$defcnt] .= "LINE:hitrate#111111:\" \" ";
313
 
            $def[$defcnt] .= "VDEF:vhitrate=hitrate,LAST " ;
314
 
            $def[$defcnt] .= "GPRINT:vhitrate:\"Hitratio (since epoch) is %3.2lf percent \\n\" ";
315
 
          }   
316
 
          if(preg_match('/^thread_cache_hitrate_now$/', $NAME[$ii])) {
317
 
            $def[$defcnt] .= "DEF:hitratenow=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
318
 
            $def[$defcnt] .= "LINE1.5:hitratenow#$now:\" \" ";
319
 
            $def[$defcnt] .= "VDEF:vhitratenow=hitratenow,LAST " ;
320
 
            $def[$defcnt] .= "GPRINT:vhitratenow:\"Hitratio (current) is %3.2lf percent \\n\" ";
321
 
          }   
322
 
        }   
323
 
        $defcnt++;
324
 
        $ds_name[$defcnt] = "Connects per second";
325
 
        $opt[$defcnt] = "--vertical-label \"Conects / sec\" --title \"Connects per second on $hostname\" ";
326
 
        $def[$defcnt] = ""; 
327
 
        foreach ($DS as $ii) {
328
 
          if(preg_match('/^connections_per_sec$/', $NAME[$ii])) {
329
 
            $def[$defcnt] .= "DEF:sps=$RRDFILE[$ii]:$DS[$ii]:AVERAGE:reduce=LAST " ;
330
 
            $def[$defcnt] .= "AREA:sps#$now:\" \" ";
331
 
            $def[$defcnt] .= "VDEF:vsps=sps,LAST " ;
332
 
            $def[$defcnt] .= "GPRINT:vsps:\"%3.2lf Connects per second \\n\" ";
333
 
          }   
334
 
        }
335
 
        $defcnt++;
336
 
    }   
337
 
    if(preg_match('/^threads_connected$/', $NAME[$i])) {
338
 
        $ds_name[$defcnt] = "Connection threads";
339
 
        $opt[$defcnt] = "--vertical-label \"Threads\" --title \"Connection threads on $hostname\" ";
340
 
        $def[$defcnt] = "";
341
 
        $def[$defcnt] .= "DEF:threads=$RRDFILE[$i]:$DS[$i]:AVERAGE:reduce=LAST " ;
342
 
        $def[$defcnt] .= "AREA:threads#111111 ";
343
 
        $def[$defcnt] .= "VDEF:vthreads=threads,LAST " ;
344
 
        $def[$defcnt] .= "GPRINT:vthreads:\"%.0lf Connection threads \" " ;
345
 
        $defcnt++;
346
 
    }
347
 
}
348
 
?>
349