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.
An example report showing all your network equipment sorted by type:
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:
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:
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:
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.
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”.
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) |