![]() ![]() |
hotsanic |
Subversion Repositories: |
Compare with Previous - Blame - Download
#!/usr/bin/env perl# $Id: makeindex.pl,v 1.25 2004/05/30 23:30:41 bernisys Exp $# include PERL librariesuse warnings;use diagnostics;# include HotSaNIC librariesuse lib "../../lib";use lib "./platform";use HotSaNICparser;use HotSaNIChtml;use common;(my $VERSION = '$Revision: 1.25 $') =~ s/.*(\d+\.\d+).*/$1/;(my $IDENTIFIER = '$Id: makeindex.pl,v 1.25 2004/05/30 23:30:41 bernisys Exp $') =~ s/.*,v (.*) \$/$1/;# read global settings#$MODNAME=lc HotSaNICparser::get_module_name();%CONFIG=HotSaNICparser::get_config("../..");$IMAGEFORMAT=$CONFIG{IMAGEFORMAT};$WEBDIR=$CONFIG{WEBDIR}."/".lc $MODNAME;$VARDIR=$CONFIG{VARDIR}."/modules/".lc $MODNAME;$REFRESH=$CONFIG{REFRESH};$REFRESH=0 if !defined $REFRESH;%MODCONFIG=HotSaNICmod::common::configure();@DIAGRAMS=("hour","6h","day","week","month","year");@TIMES=("hour","week");unshift @{$MODCONFIG{HOST}},",,".$MODCONFIG{SECTIONS};# check, which of the sections are needed at all#undef my @sections;foreach my $section ("proc","cpu","load","mem","swap","users","irq","uptime") {my $use=0;foreach my $entry (@{$MODCONFIG{HOST}}) {($host,$community,$item,$dbname,$name,$file,$description,$targets)=HotSaNICmod::common::get_names($entry);if (index($targets,$section)>=0) { $use=1; }}if ($use == 1) { push @sections,$section; }}# build time-based .html files#foreach $time (@TIMES) {open (FILE,">$WEBDIR/$time.html");print FILE HotSaNIChtml::create_header($MODNAME,$REFRESH,"$time overview page")." <table>\n";foreach $target (@sections) {next if ( ($target eq "uptime") and ($time eq "hour") );foreach my $entry (@{$MODCONFIG{HOST}}) {($host,$community,$item,$dbname,$name,$file,$description,$targets)=HotSaNICmod::common::get_names($entry);next if ( ($host ne "") and ($target eq "uptime") ); # uptime via SNMP not implemented!next if ( ($host ne "") and ($target eq "irq") ); # interrupts via SNMP not implemented!my $file1=$target;if ($file ne "") { $file1=$target."_$name"; }my $name1=$target;if ($name ne "") { $name1="$target on $name"; }my $description1=$target;if ($description ne "") { $description1="$target on $description"; }print FILE HotSaNIChtml::create_table_entry($IMAGEFORMAT,$file1,$time,$name1,$description1,1);# handle multi-CPU systems#if ( ($host eq "") and ($target eq "cpu") and ($MODCONFIG{NUMCPU}>1) ) {for ($nn=0;$nn<$MODCONFIG{NUMCPU};$nn++) {print FILE HotSaNIChtml::create_table_entry($IMAGEFORMAT,"$file1$nn",$time,"$name1$nn",$description1,1);}}}}print FILE " </table>\n".HotSaNIChtml::create_footer($MODNAME);close FILE;}my $maxcols = scalar@{$MODCONFIG{HOST}};open (IDXFILE,">$VARDIR/idxdata");print IDXFILE HotSaNIChtml::create_overview_table_header($MODNAME,"hour week",$maxcols);my $num=0;foreach my $target (@sections) {$num++;foreach my $entry (@{$MODCONFIG{HOST}}) {($host,$community,$item,$dbname,$name,$file,$description,$targets)=HotSaNICmod::common::get_names($entry);if (index($targets,$target)>=0) {# uptime via SNMP not implemented!# interrupts via SNMP not implemented!#if ( ($host ne "") and ( ($target eq "uptime") or ($target eq "irq") ) ) {print IDXFILE HotSaNIChtml::create_overview_table_entry_empty($num,1);next;}my $file1=$target;if ($file ne "") { $file1=$target."_$name"; }my $description1=$target;if ($description ne "") { $description1="$target on $description"; }print IDXFILE HotSaNIChtml::create_overview_table_entry($MODNAME,$IMAGEFORMAT,$num,$file1,$description1);HotSaNIChtml::make_device_page($MODNAME,$WEBDIR,$IMAGEFORMAT,$file1,$description1,@DIAGRAMS);}else { print IDXFILE HotSaNIChtml::create_overview_table_entry_empty($num,1); }}if ( ($target eq "cpu") and ($MODCONFIG{NUMCPU}>1) ) {for ($nn=0;$nn<$MODCONFIG{NUMCPU};$nn++) {$num++;print IDXFILE HotSaNIChtml::create_overview_table_entry($MODNAME,$IMAGEFORMAT,$num,"cpu$nn","cpu$nn");print IDXFILE HotSaNIChtml::create_overview_table_entry_empty($num,scalar @{$MODCONFIG{HOST}}-1);HotSaNIChtml::make_device_page($MODNAME,$WEBDIR,$IMAGEFORMAT,"cpu$nn","cpu$nn",@DIAGRAMS);}}}close IDXFILE;