media="all">
"; for ($i = 0; $i < count($nav); $i++){ if ($dirMax >= $pthSize){ if(($nav[$i][2] != 1) && (getfilepath($nav[$i][1]) == $parsedpath)) echo "Help : ".$nav[$i][0]; if (parsefilepath($nav[$i][1]) == $dirs[$pthSize]){ if ((getfilepath($nav[$i][1]) != $pth) || getfilepath($nav[$i][1]) != $pth."index.php") echo "Help : "; if (getfilepath($nav[$i][1]) == $parsedpath) echo $nav[$i][0]; else { echo "".$nav[$i][0]." : "; for ($j = 0; $j < count($nav[$i][3]); $j++){ if(getfilepath($nav[$i][3][$j][1]) == $parsedpath) echo $nav[$i][3][$j][0]; if(parsefilepath($nav[$i][3][$j][1]) == $dirs[$pthSize + 1]) { if ((getfilepath($nav[$i][3][$j][1]) == $parsedpath));// echo $nav[$i][3][$j][0]; else { echo "".$nav[$i][3][$j][0]." : "; for($k = 0; $k < count($nav[$i][3][$j][3]); $k++) { if(getfilepath($nav[$i][3][$j][3][$k][1]) == $parsedpath) echo $nav[$i][3][$j][3][$k][0]; if (parsefilepath($nav[$i][3][$j][3][$k][1]) == $dirs[$pthSize+2] && getfilebase($nav[$i][3][$j][3][$k][1]) == $path_parts["basename"]) { if (getfilepath($nav[$i][3][$j][3][$k][1]) == $parsedpath) ; //echo $nav[$i][3][$j][3][$k][0]; else if (parsefilepath($nav[$i][3][$j][3][$k][1]) == $dirs[$pthSize+3] && $nav[$i][3][$j][3][$k][2] == 1) { for ($l = 0; $l < count($nav[$i][3][$j][3][$k][3]); $l++){ if (getfilepath($nav[$i][3][$j][3][$k][3][$l][1]) == $parsedpath) echo "".$nav[$i][3][$j][3][$k][0]." : "; echo $nav[$i][3][$j][3][$k][3][$l][0]; } } } } } } } } } } } echo ""; ?>

Reports are specified using template files. Installing a new template file will cause a new report to be generated.

Template files contain standard html along with additional reporting directives contained in <inmon></inmon> tag pairs. For example, the following tags insert a chart showing the top SMTP servers:

<inmon>
action=report;
reportName=TopN;
reportFormat=chart;
tableType=TCP;
serverPort=25;
categoryColumn=serverAddress;
valueColumn=bytes
</inmon>


An <inmon> block always contains at least one <key>=<value> pair. The action key is mandatory and determines the action performed by the block. Additional arguments may be provided, depending on the action requested. Key value, value pairs are separated using a semicolon (;) as a delimiter.

The following examples demonstrate complete templates:

  • Server Example A template for a report profiling the traffic to a server.
  • Link Example A template for trending the utilization on a link.

In the Server Example, a specific server is coded in the template. It would be useful to be able to parameterize this report so that it could easily be instantiated for any server. This can be accomplished through the creation of an Interactive Report Template (one that can prompt for information). The following example demonstrates the use of interactive templates:

In addition to providing an ad-hoc reporting capability, Interactive Report Templates can also be used to schedule periodic reports.

A complete list of template parameters is provided for reference.