Table of Contents

The report tool

 The report tool presents a number of reports with information from your network. The report tool also links to the “IP address scope - graphical view” and the services matrix.

Each NAV report is in essence an SQL query to the database. It shown its data in a number of columns. The data is in many cases also hyperlinks to other reports or other tools in NAV. The whole report system is highly configurable, the basis for the system is the configuration file report.conf. Details on the configuration is provided below.

Reports

An example report showing all your network equipment sorted by type:

The equipment type report

From this report you can drill down on a particularly type and see the number of devices you have of this type. That will display another report (the netbox report) with more information on each device. From here you can go to other reports, i.e. a switch port report for a given switch, or a room showing equipment in a given room.

Tips:

IP address scope - graphical view

For large networks the task of maintaining the total IP address scope may be a challenge in itself. It is useful to have an overview of all the subnets in operation, and what is more, how full they are, i.e. how many machines they contain. NAV introduces a tabular view that gives an excellent overview on a single page:

The prefix matrix

A prerequisite for this tool to work is that you have seeded your database with one or more scope prefixes. The scope prefixes defines your total address room. You may have both IPv4 and IPv4 scopes. Each scope can be visualized as shown in the example.

You may also use the reserved prefix option in Seed Database. A reserved prefix is a prefix that is allocated for a purpose, but is not yet in production. For more info on registering scope and reserved prefixes see here.

A brief explanation of the functionality in the prefix matrix:

Service matrix

This tool is quite simple and only useful if you use the NAV service monitor to an extent. It displays all servers and services in a matrix showing operational status.

Configuration

As mentioned the report system is highly configurable, you can alter the configuration file “report.local.conf”, either adding new reports or overloading existing reports that exists in “report.conf”.

Report configuration

The NAV reports are made based on the report.conf configuration file. You can expand this file with new reports as you like in report.local.conf. Each report is in essence an SQL-query to the database (with some limitations). It is easy to make hyper links from data in the report to other reports or elsewhere.

An example report is given, this is the router port report:

gwport {
$description = "Extended information about router ports.";
$sql= "
 SELECT netbox.sysname, gwport.ifindex, gwport.interface, module.module,
        gwport.link, gwport.speed, prefixcount, metric, netbox.netboxid,
        gwportid, gwport.portname, n2.sysname AS otherbox, swport.interface AS remoteif
 FROM netbox
 JOIN module ON (netbox.netboxid=module.netboxid) 
 JOIN gwport ON (module.moduleid=gwport.moduleid) 
 LEFT JOIN (SELECT gwportid, COUNT(gwportid) AS prefixcount
                 FROM gwportprefix
                 GROUP BY gwportid) tempaggr1 USING (gwportid)
 LEFT JOIN netbox AS n2 ON (gwport.to_netboxid=n2.netboxid)
 LEFT JOIN swport ON (gwport.to_swportid=swport.swportid)
";
$title = "Router ports";
$hide = "netboxid,gwportid";
$name_sysname="Router";
$name_interface="Interface";
$name_gwip="IP address";
$name_speed="Mbps";
$name_portname="Description";
$name_prefixcount="#prefix";
$name_otherbox="Connected to";
$name_remoteif="Remote if";
$order_by="sysname,ifindex";
$url_sysname="netbox?sysname=$sysname";
$url_module="modules?sysname=$sysname&module=$module";
$url_prefixcount="gwip?sysname=$sysname&ifindex=$ifindex";
$url_otherbox="netbox?sysname=$otherbox";
$url_remoteif="swport?b1.sysname=$otherbox&s1.interface=$remoteif";
$explain_gwp="Router Ports";
$sum="gwport";
}

The syntax of the report configuration is:

Each report is enclosed within brackets:

      	r1{
            ...
          }

This report is seen as https://your_nav/report/r1

Further explanation of the report configuration syntax:

Command Description
$description=“…”; Textual description of what the report shows
$sql=“SELECT …”; The SQL query
$title=“…”; The report title
$name_MYCOL Changes the column header.
$explain_MYCOL Shows an explanation as popup in the browser when you hold the curser over the column header.
$order_by Defines the default ordering of the sql query. By clicking on the column headers in the report, you can sort/reverse sort on other criteria.
$url_MYCOL Makes a hyperlink to another report or elsewhere. Takes parameters from the current report
$hide Columns that must be included in the $sql because they are used in $url. $hide will not show the column in the report.
$extra Extra “static” columns at the right that can be used for hyperlinks
$sum Show the sum total of a given column (which must contain numeric values)