Hello, I realize this is an old post, but it seems like a common problem without many public answers.
------------------------- The problem is that the indexmaker script only knows how to pull out the host information from a "Target" tag that an snmp call from your mrtg.cfg file. In other words, the indexmaker script only knows how to read something like this, for grabbing the host: Target[192.168.1.1_1]: 1:[email protected]: It grabs what is between the '@' and the next ':' symbols. In my indexmaker, on line 132, you will find the snippet of code that decides this : for my $targ (@routers) { if ( !defined $rcfg{host}{$targ} and !($rcfg{target}{$targ} =~ m/(?<!\\)[ \`]/) ) { $rcfg{target}{$targ} =~ m/.*[^\\]@([^:]*)/; $rcfg{host}{$targ} = ucfirst $1 if (defined $1); } } ------------------------ I am using a few custom scripts, but still want to use the indexmaker to build my index.html file, with the --perhost flag. This is my solution simple, but hacky solution. I wanted something that could easily read the host ip from any script, regardless of the parameters. So I put a comment at the end of each script call to store this value. My targets look like this. ... Target[192.168.1.1_script1]: `/usr/local/sbin/script1.sh -H 192.168.1.1 # @192.168.1.1: ` ... Target[192.168.1.1_script2]: `/usr/local/sbin/script2.sh # @192.168.1.1: ` ... The key is the "# @192.168.1.1:" in the script. Since it is commented out, it is not used by the script, but still I can store what I need to here. Next I copied indexmaker to indexmaker2, and change the following in indexmaker2 for my $targ (@routers) { if ( !defined $rcfg{host}{$targ} and !($rcfg{target}{$targ} =~ m/(?<!\\)[ \`]/) ) { $rcfg{target}{$targ} =~ m/.*[^\\]@([^:]*)/; $rcfg{host}{$targ} = ucfirst $1 if (defined $1); } elsif ( !defined $rcfg{host}{$targ} and ($rcfg{target}{$targ} =~ m/[ \`].*# @([^:]*)/) ) { $rcfg{target}{$targ} =~ m/.*# @([^:]*)/; $rcfg{host}{$targ} = ucfirst $1 if (defined $1); } } I hope this will help others make their mrtg setups more readable. Aaron _______________________________________________ mrtg mailing list [email protected] https://lists.oetiker.ch/cgi-bin/listinfo/mrtg
