DS as $KEY => $VAL) { $warning = ($VAL['WARN'] != "") ? $VAL['WARN'] : ""; $warnmin = ($VAL['WARN_MIN'] != "") ? $VAL['WARN_MIN'] : ""; $warnmax = ($VAL['WARN_MAX'] != "") ? $VAL['WARN_MAX'] : ""; $critical = ($VAL['CRIT'] != "") ? $VAL['CRIT'] : ""; $critmin = ($VAL['CRIT_MIN'] != "") ? $VAL['CRIT_MIN'] : ""; $critmax = ($VAL['CRIT_MAX'] != "") ? $VAL['CRIT_MAX'] : ""; $minimum = ($VAL['MIN'] != "") ? $VAL['MIN'] : ""; $maximum = ($VAL['MAX'] != "") ? $VAL['MAX'] : ""; if (preg_match('/^connection_time$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Time to connect"; $opt[$defcnt] = "--vertical-label \"Seconds\" --title \"Time to establish a connection to $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("connectiontime", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST") ; $def[$defcnt] .= rrd::area("connectiontime", "#111111"); $def[$defcnt] .= rrd::gprint("connectiontime", array("LAST", "MAX", "AVERAGE"), "%3.2lf Seconds") ; $defcnt++; } if (preg_match('/^cpu_busy$/', $VAL['NAME'])) { $ds_name[$defcnt] = "CPU Busy Time"; $opt[$defcnt] = "--vertical-label \"%\" --title \"CPU busy time on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("cpubusy", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST") ; $def[$defcnt] .= rrd::cdef("ag", "cpubusy," . $VAL['WARN'] . ",LE,cpubusy,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,cpubusy,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "cpubusy," . $VAL['CRIT'] . ",LE,cpubusy," . $VAL['WARN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,cpubusy,0,IF"); $def[$defcnt] .= rrd::cdef("ar", "cpubusy,100,LE,cpubusy," . $VAL['CRIT'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,cpubusy,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green"); $def[$defcnt] .= rrd::area("ay", "#$yellow"); $def[$defcnt] .= rrd::area("ar", "#$red"); $def[$defcnt] .= rrd::line1("cpubusy", "#111111"); $def[$defcnt] .= rrd::gprint("cpubusy", "LAST", "CPU is busy for %3.2lf percent of the time\\n"); $defcnt++; } if (preg_match('/^io_busy$/', $VAL['NAME'])) { $ds_name[$defcnt] = "IO Busy Time"; $opt[$defcnt] = "--vertical-label \"%\" --title \"IO busy time on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("iobusy", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST") ; $def[$defcnt] .= rrd::cdef("ag", "iobusy," . $VAL['WARN'] . ",LE,iobusy,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,iobusy,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "iobusy," . $VAL['CRIT'] . ",LE,iobusy," . $VAL['WARN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,iobusy,0,IF"); $def[$defcnt] .= rrd::cdef("ar", "iobusy,100,LE,iobusy," . $VAL['CRIT'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,iobusy,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green"); $def[$defcnt] .= rrd::area("ay", "#$yellow"); $def[$defcnt] .= rrd::area("ar", "#$red"); $def[$defcnt] .= rrd::line1("iobusy", "#111111"); $def[$defcnt] .= rrd::gprint("iobusy", "LAST", "IO is busy for %3.2lf percent of the time\\n"); $defcnt++; } if (preg_match('/^full_scans_per_sec$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Full Table Scans / Sec"; $opt[$defcnt] = "--vertical-label \"scans / sec\" --title \"Full table scans / sec on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("fullscans", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::cdef("ag", "fullscans," . $VAL['WARN'] . ",LE,fullscans,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,fullscans,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "fullscans," . $VAL['CRIT'] . ",LE,fullscans," . $VAL['WARN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,fullscans,0,IF"); $def[$defcnt] .= rrd::cdef("ar", "fullscans,INF,LE,fullscans," . $VAL['CRIT'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,fullscans,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green"); $def[$defcnt] .= rrd::area("ay", "#$yellow"); $def[$defcnt] .= rrd::area("ar", "#$red"); $def[$defcnt] .= rrd::line1("fullscans", "#000000", "Full table scans"); $def[$defcnt] .= rrd::gprint("fullscans", array("MAX", "AVERAGE", "LAST"), "%3.2lf"); $defcnt++; } if (preg_match('/^connected_users$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Connected Users"; $opt[$defcnt] = "--vertical-label \"Users\" --title \"Users connected to $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("users", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::cdef("ag", "users," . $VAL['WARN'] . ",LE,users,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,users,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "users," . $VAL['CRIT'] . ",LE,users," . $VAL['WARN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,users,0,IF"); $def[$defcnt] .= rrd::cdef("ar", "users,INF,LE,users," . $VAL['CRIT'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,users,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green") ; $def[$defcnt] .= rrd::area("ay", "#$yellow") ; $def[$defcnt] .= rrd::area("ar", "#$red") ; $def[$defcnt] .= rrd::line1("users", "#000000", "connected users"); $def[$defcnt] .= rrd::gprint("users", array("LAST","MAX","AVERAGE"), "%.0lf"); $defcnt++; } if (preg_match('/^(.*)_transactions_per_sec/', $VAL['NAME'], $match)) { $dsname = $match[1]; if (empty($opt[1])) { $opt[1] = "--vertical-label \"Transactions/s\" -l0 --title \"Database transactions / sec\" "; } if (empty($def[1])) { $def[1] = ""; } $ds_name[1] = "Transactions Per Seconds "; $def[1] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE") ; $def[1] .= rrd::line1("var" . $KEY, rrd::color($KEY), rrd::cut($dsname, 12)) ; $def[1] .= rrd::gprint("var" . $KEY, array("LAST","MAX","AVERAGE"), "%3.6lf %S"); } if (preg_match('/^latch_waits_per_sec$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Latch Waits / Sec"; $opt[$defcnt] = "--vertical-label \"waits / sec\" --title \"Latch waits / sec on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("waits", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::cdef("ag", "waits," . $VAL['WARN'] . ",LE,waits,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,waits,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "waits," . $VAL['CRIT'] . ",LE,waits," . $VAL['WARN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,waits,0,IF"); $def[$defcnt] .= rrd::cdef("ar", "waits,INF,LE,waits," . $VAL['CRIT'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,waits,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green"); $def[$defcnt] .= rrd::area("ay", "#$yellow"); $def[$defcnt] .= rrd::area("ar", "#$red"); $def[$defcnt] .= rrd::line1("waits", "#000000", "waits/s"); $def[$defcnt] .= rrd::gprint("waits", array("MAX","AVERAGE","LAST"), "%3.2lf"); $defcnt++; } if (preg_match('/^latch_avg_wait_time$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Latch Wait Time"; $opt[$defcnt] = "--vertical-label \"msec\" --title \"Latch avg wait time on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("waittime", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::cdef("ag", "waittime," . $VAL['WARN'] . ",LE,waittime,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,waittime,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "waittime," . $VAL['CRIT'] . ",LE,waittime," . $VAL['WARN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,waittime,0,IF"); $def[$defcnt] .= rrd::cdef("ar", "waittime,INF,LE,waittime," . $VAL['CRIT'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,waittime,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green") ; $def[$defcnt] .= rrd::area("ay", "#$yellow") ; $def[$defcnt] .= rrd::area("ar", "#$red") ; $def[$defcnt] .= rrd::line1("waittime", "#000000"); $def[$defcnt] .= rrd::gprint("waittime", array("MAX", "AVERAGE", "LAST"), "%3.2lf"); $defcnt++; } if (preg_match('/^sql_initcompilations_per_sec$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Initial Compilations"; $opt[$defcnt] = "--vertical-label \"initcomps/s\" --title \"Initial compilations / sec on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("comps", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::cdef("ag", "comps," . $VAL['WARN'] . ",LE,comps,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,comps,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "comps," . $VAL['CRIT'] . ",LE,comps," . $VAL['WARN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,comps,0,IF"); $def[$defcnt] .= rrd::cdef("ar", "comps,INF,LE,comps," . $VAL['CRIT'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,comps,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green") ; $def[$defcnt] .= rrd::area("ay", "#$yellow") ; $def[$defcnt] .= rrd::area("ar", "#$red") ; $def[$defcnt] .= rrd::line1("comps", "#000000", "Compilations"); $def[$defcnt] .= rrd::gprint("comps", array("MAX", "AVERAGE", "LAST"), "%3.2lf/s"); $defcnt++; } if (preg_match('/^sql_recompilations_per_sec$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Re-Compilations"; $opt[$defcnt] = "--vertical-label \"re-comps/s\" --title \"Re-Compilations / sec on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("comps", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::cdef("ag", "comps," . $VAL['WARN'] . ",LE,comps,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,comps,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "comps," . $VAL['CRIT'] . ",LE,comps," . $VAL['WARN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,comps,0,IF"); $def[$defcnt] .= rrd::cdef("ar", "comps,INF,LE,comps," . $VAL['CRIT'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,comps,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green"); $def[$defcnt] .= rrd::area("ay", "#$yellow"); $def[$defcnt] .= rrd::area("ar", "#$red"); $def[$defcnt] .= rrd::line1("comps", "#000000", "Re-Compilations"); $def[$defcnt] .= rrd::gprint("comps", array("MAX", "AVERAGE", "LAST"), "%3.2lf/s"); $defcnt++; } if (preg_match('/^batch_requests_per_sec$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Batch Requests"; $opt[$defcnt] = "--vertical-label \"batchreqs/s\" --title \"Batch requests / sec on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("breqs", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::cdef("ag", "breqs," . $VAL['WARN'] . ",LE,breqs,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,breqs,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "breqs," . $VAL['CRIT'] . ",LE,breqs," . $VAL['WARN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,breqs,0,IF"); $def[$defcnt] .= rrd::cdef("ar", "breqs,INF,LE,breqs," . $VAL['CRIT'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,breqs,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green") ; $def[$defcnt] .= rrd::area("ay", "#$yellow") ; $def[$defcnt] .= rrd::area("ar", "#$red") ; $def[$defcnt] .= rrd::line1("breqs", "#000000", "Batch Requests"); $def[$defcnt] .= rrd::gprint("breqs", array("LAST","AVERAGE","MAX"), "%3.2lf"); $defcnt++; } if (preg_match('/^checkpoint_pages_per_sec$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Checkpoint Pages"; $opt[$defcnt] = "--vertical-label \"pages/s\" --title \"Flushed pages / sec on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("pages", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::cdef("ag", "pages," . $VAL['WARN'] . ",LE,pages,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,pages,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "pages," . $VAL['CRIT'] . ",LE,pages," . $VAL['WARN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,pages,0,IF"); $def[$defcnt] .= rrd::cdef("ar", "pages,INF,LE,pages," . $VAL['CRIT'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,pages,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green") ; $def[$defcnt] .= rrd::area("ay", "#$yellow") ; $def[$defcnt] .= rrd::area("ar", "#$red") ; $def[$defcnt] .= rrd::line1("pages", "#000000", "pages flushed"); $def[$defcnt] .= rrd::gprint("pages", array("LAST","AVERAGE","MAX"), "%3.2lf"); $defcnt++; } if (preg_match('/^free_list_stalls_per_sec$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Free List Stalls"; $opt[$defcnt] = "--vertical-label \"stalls/s\" --title \"Free list stalls / sec on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("stalls", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::cdef("ag", "stalls," . $VAL['WARN'] . ",LE,stalls,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,stalls,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "stalls," . $VAL['CRIT'] . ",LE,stalls," . $VAL['WARN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,stalls,0,IF"); $def[$defcnt] .= rrd::cdef("ar", "stalls,INF,LE,stalls," . $VAL['CRIT'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,stalls,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green"); $def[$defcnt] .= rrd::area("ay", "#$yellow"); $def[$defcnt] .= rrd::area("ar", "#$red"); $def[$defcnt] .= rrd::line1("stalls", "#000000", "free list stalls"); $def[$defcnt] .= rrd::gprint("stalls", array("LAST", "AVERAGE","MAX"), "%3.2lf"); $defcnt++; } if (preg_match('/^lazy_writes_per_sec$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Lazy Writes"; $opt[$defcnt] = "--vertical-label \"lazyw/s\" --title \"Lazy writes / sec on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("lazyw", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::cdef("ag", "lazyw," . $VAL['WARN'] . ",LE,lazyw,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,lazyw,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "lazyw," . $VAL['CRIT'] . ",LE,lazyw," . $VAL['WARN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,lazyw,0,IF"); $def[$defcnt] .= rrd::cdef("ar", "lazyw,INF,LE,lazyw," . $VAL['CRIT'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,lazyw,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green") ; $def[$defcnt] .= rrd::area("ay", "#$yellow") ; $def[$defcnt] .= rrd::area("ar", "#$red"); $def[$defcnt] .= rrd::line1("lazyw", "#000000"); $def[$defcnt] .= rrd::gprint("lazyw", array("LAST", "AVERAGE","MAX"), "%3.4lf"); $defcnt++; } if (preg_match('/^page_life_expectancy$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Page Life Expectancy"; $opt[$defcnt] = "--vertical-label \"s\" --title \"Page life expectancy on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("lifeexp", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST") ; $def[$defcnt] .= rrd::cdef("ar", "lifeexp," . $VAL['CRIT_MIN'] . ",LE,lifeexp,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,lifeexp,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "lifeexp," . $VAL['WARN_MIN'] . ",LE,lifeexp," . $VAL['CRIT_MIN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,lifeexp,0,IF"); $def[$defcnt] .= rrd::cdef("ag", "lifeexp,INF,LE,lifeexp," . $VAL['WARN_MIN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,lifeexp,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green") ; $def[$defcnt] .= rrd::area("ay", "#$yellow") ; $def[$defcnt] .= rrd::area("ar", "#$red") ; $def[$defcnt] .= rrd::line1("lifeexp", "#000000", "Page Live"); $def[$defcnt] .= rrd::gprint("lifeexp", array("LAST", "AVERAGE", "MIN"), "%3.2lf") ; $defcnt++; } if (preg_match('/^total_server_memory$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Total Server memory"; $opt[$defcnt] = "--vertical-label \"Bytes\" --title \"Total sql server memory on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("mem", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::area("mem", "#c3c3c3", "Memory"); $def[$defcnt] .= rrd::line1("mem", "#111111"); $def[$defcnt] .= rrd::gprint("mem", array("MAX","AVERAGE", "LAST"), "%.1lf %SB") ; $defcnt++; } if (preg_match('/^buffer_cache_hit_ratio$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Buffer Cache Hit Ratio"; $opt[$defcnt] = "--vertical-label \"%\" --title \"Buffer cache hit ratio on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("bufcahitrat", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST") ; $def[$defcnt] .= rrd::cdef("ar", "bufcahitrat," . $VAL['CRIT_MIN'] . ",LE,bufcahitrat,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,bufcahitrat,0,IF"); $def[$defcnt] .= rrd::cdef("ay", "bufcahitrat," . $VAL['WARN_MIN'] . ",LE,bufcahitrat," . $VAL['CRIT_MIN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,bufcahitrat,0,IF"); $def[$defcnt] .= rrd::cdef("ag", "bufcahitrat,100,LE,bufcahitrat," . $VAL['WARN_MIN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,bufcahitrat,0,IF"); $def[$defcnt] .= rrd::area("ag", "#$green") ; $def[$defcnt] .= rrd::area("ay", "#$yellow") ; $def[$defcnt] .= rrd::area("ar", "#$red") ; $def[$defcnt] .= rrd::line1("bufcahitrat", "#000000:"); $def[$defcnt] .= rrd::gprint("bufcahitrat", "LAST", "Hit ratio is %3.2lf percent\\n") ; $defcnt++; } if (preg_match('/^(.*)_lock_timeouts_per_sec/', $VAL['NAME'], $match)) { $dsname = $match[1]; if (empty($opt[1])) { $opt[1] = "--vertical-label \"Lock timeouts/s\" -l0 --title \"Locks timeouts / sec\" "; } if (empty($def[1])) { $def[1] = ""; } $ds_name[1] = "Lock Timeouts Per Second "; $def[1] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE") ; $def[1] .= rrd::line1("var" . $KEY, rrd::color($KEY), rrd::cut($dsname, 12)) ; $def[1] .= rrd::gprint("var" . $KEY, array("LAST","MAX","AVERAGE"), "%3.6lf"); } if (preg_match('/^(.*)_lock_waits_per_sec/', $VAL['NAME'], $match)) { $dsname = $match[1]; if (!defined($opt[1])) { $opt[1] = "--vertical-label \"Lockwaity/s\" -l0 --title \"Lockwaits / sec\" "; } if (empty($def[1])) { $def[1] = ""; } $ds_name[1] = "Lockwaits / sec "; $def[1] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE") ; $def[1] .= rrd::line1("var" . $KEY, rrd::color($KEY), rrd::cut($dsname, 12)) ; $def[1] .= rrd::gprint("var" . $KEY, array("LAST","MAX","AVERAGE"), "%3.6lf"); } if (preg_match('/^(.*)_deadlocks_per_sec/', $VAL['NAME'], $match)) { $dsname = $match[1]; if (!defined($opt[1])) { $opt[1] = "--vertical-label \"Deadlocks/s\" -l0 --title \"Deadlocks / sec\" "; } if (empty($def[1])) { $def[1] = ""; } $ds_name[1] = "Deadlocks / sec "; $def[1] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE") ; $def[1] .= rrd::line1("var" . $KEY, rrd::color($KEY), rrd::cut($dsname, 12)) ; $def[1] .= rrd::gprint("var" . $KEY, array("LAST","MAX","AVERAGE"), "%3.6lf"); } if (preg_match('/^db_(.*)_free_pct/', $VAL['NAME'], $match)) { $dsname = $match[1]; if (!defined($opt[1])) { $opt[1] = "--vertical-label \"%\" -l0 --title \"DB Freespace %\" "; } if (empty($def[1])) { $def[1] = ""; } $ds_name[1] = "DB Freespace %"; $def[1] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE") ; $def[1] .= rrd::line1("var" . $KEY, rrd::color($KEY), rrd::cut($dsname, 12)) ; $def[1] .= rrd::gprint("var" . $KEY, array("LAST","MAX","AVERAGE"), "%3.2lf%%"); } if (preg_match('/^db_(.*)_free$/', $VAL['NAME'], $match)) { $dsname = $match[1]; if (empty($opt[2])) { $opt[2] = "--vertical-label \"MB\" --title \"DB Freespace MB\" "; } if (empty($def[2])) { $def[2] = ""; } $ds_name[2] = "DB Freespace MB"; $def[2] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE") ; $def[2] .= rrd::line1("var" . $KEY, rrd::color($KEY), rrd::cut($dsname, 12)) ; $def[2] .= rrd::gprint("var" . $KEY, array("LAST","MAX","AVERAGE"), "%3.2lf %SM"); } if (preg_match('/^select$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Output from sql-query for $servicedesc"; $opt[$defcnt] = "--vertical-label \"Counts\" --title \"Output from sql-query for $servicedesc on $hostname\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST") ; $def[$defcnt] .= rrd::area("var" . $KEY, "#111111"); $def[$defcnt] .= rrd::gprint("var" . $KEY, array("LAST", "MAX", "AVERAGE"), "%3.2lf Counts") ; $defcnt++; } if (preg_match('/^(.*)bck_age$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Last DB Backup"; $opt[$defcnt] = "--vertical-label \"Hours\" --title \"Last DB Backup\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST") ; $def[$defcnt] .= rrd::area("var" . $KEY, "#111111"); $def[$defcnt] .= rrd::gprint("var" . $KEY, array("LAST", "MAX", "AVERAGE"), "%3.2lf Counts") ; $defcnt++; } if (preg_match('/^sql_runtime$/', $VAL['NAME'])) { $ds_name[$defcnt] = "SQL runtime"; $opt[$defcnt] = "--vertical-label \"Seconds\" --title \"Execution time of the SQL statement\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("runtime", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST") ; $def[$defcnt] .= rrd::area("runtime", "#111111"); $def[$defcnt] .= rrd::gprint("runtime", array("LAST", "MAX", "AVERAGE"), "%3.2lf Seconds") ; $defcnt++; } }