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++; } } ?>