#!/usr/bin/perl # mrtgidx - generate html index page based on mrtg.cfg # # Syntax: mrtgidx <pathname-of-mrtg.cfg> # # v0.1 1996-11 by Axel Dunkel (ad@Dunkel.de) # # --- start of configuration section --- $include_inactive = 1; # include interfaces that are commented out # --- eof of configuration section --- if ($#ARGV < 0) { print "mrtgidx: generate HTML index page based on MRTG config file\n"; print "\nUsage: mrtgidx <pathname-of-mrtg.cfg-file>\n"; exit 2; } while ($line = <>) { chop $line; if ($line =~ /^(#*).*Title\[(\S+)\]:\s*([^:]*):\s*(.*)$/) { $cmt = $1; $itf = $2; $title = $3; $title_if = $4; if ($cmt ne "#" || $include_inactive) { if ($itf =~ /(.*)\.([0-9]+)/) { $router{$1,$2} = $title_if; $router_f{$1,$2} = $itf; $router_n{$1} = $title; $active{$1,$2} = $cmt; } else { print STDERR "Warning: can not interpret : $itf\n"; } } } } # print HTML header print "<HTML><HEAD><TITLE>MRTG Index</TITLE></HEAD>\n"; print "<BODY>\n"; print "<H1>MRTG - Index</H1>\n"; print "<FONT SIZE=-2>generated by mrtgidx by <A HREF=\"mailto:ad\@dunkel.de\">Axel Dunkel</A></FONT>\n"; print "<UL>\n"; foreach $r (sort keys %router_n) { print "<P><LI><H2>$r</H2><UL>\n"; foreach $i (0..200) { if (defined $router{$r,$i}) { print "<LI>"; if ($active{$r,$i} ne "#") { print "<A HREF=\"$router_f{$r,$i}.html\">"; } print "$router{$r,$i}"; if ($active{$r,$i} ne "#") { print "</a>\n"; } } } print "</UL>\n"; } print "</UL></BODY></HTML>\n";