Diff for /loncom/cgi/clusterstatus.pl between versions 1.18 and 1.22

version 1.18, 2003/08/13 21:41:47 version 1.22, 2003/09/14 18:24:34
Line 1 Line 1
 #!/usr/bin/perl  #!/usr/bin/perl
 $|=1;  $|=1;
 # The LearningOnline Network with CAPA  # Generates a html page showing various sataus reports about the cluster
 # Cluster Status  
 #  
 # $Id$  # $Id$
   #
   # Copyright Michigan State University Board of Trustees
   #
   # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   #
   # LON-CAPA is free software; you can redistribute it and/or modify
   # it under the terms of the GNU General Public License as published by
   # the Free Software Foundation; either version 2 of the License, or
   # (at your option) any later version.
   #
   # LON-CAPA is distributed in the hope that it will be useful,
   # but WITHOUT ANY WARRANTY; without even the implied warranty of
   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   # GNU General Public License for more details.
   #
   # You should have received a copy of the GNU General Public License
   # along with LON-CAPA; if not, write to the Free Software
   # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   #
   # /home/httpd/html/adm/gpl.txt
   #
   # http://www.lon-capa.org/
   #
   
 use lib '/home/httpd/lib/perl/';  use lib '/home/httpd/lib/perl/';
 use LONCAPA::Configuration;  use LONCAPA::Configuration;
Line 26  my $fromcache; Line 47  my $fromcache;
 my %domaindescription = ();  my %domaindescription = ();
 my %domain_auth_def = ();  my %domain_auth_def = ();
 my %domain_auth_arg_def = ();  my %domain_auth_arg_def = ();
   my %domain_lang_def=();
   my %domain_city=();
   my %domain_longi=();
   my %domain_lati=();
   
 my %hostname=();  my %hostname=();
 my %hostip=();  my %hostip=();
Line 217  sub announcement { Line 242  sub announcement {
     print &otherwindow($local,'/announcement.txt','Announcement');      print &otherwindow($local,'/announcement.txt','Announcement');
 }  }
   
   sub takeonline {
       my $local=shift;
       print &otherwindow($local,'/cgi-bin/takeonline.pl','Take online');
   }
   
 # ========================================================= Produce a green bar  # ========================================================= Produce a green bar
 sub bar {  sub bar {
     my $parm=shift;      my $parm=shift;
Line 238  sub serverstatus { Line 268  sub serverstatus {
 <tr><td bgcolor="#BBDDBB"><font color="#225522" face="arial"><b>  <tr><td bgcolor="#BBDDBB"><font color="#225522" face="arial"><b>
 $local $hostdom{$local}</b> <tt>($hostname{$local}; $hostrole{$local})</tt>  $local $hostdom{$local}</b> <tt>($hostname{$local}; $hostrole{$local})</tt>
 <br />$domaindescription{$hostdom{$local}}  <br />$domaindescription{$hostdom{$local}}
   $domain_city{$hostdom{$local}}
 </font></th></tr><tr><td bgcolor="#DDDDBB"><font color="#225522">  </font></th></tr><tr><td bgcolor="#DDDDBB"><font color="#225522">
 ENDHEADER  ENDHEADER
     &login($local);&server($local);&users($local);&versions($local);      &login($local);&server($local);&users($local);&versions($local);
Line 248  ENDHEADER Line 279  ENDHEADER
  print ("<tr><td bgcolor='#DDBBBB'><font color='#552222' size='+2'>$trouble</font></td></tr>");   print ("<tr><td bgcolor='#DDBBBB'><font color='#552222' size='+2'>$trouble</font></td></tr>");
     }      }
     print "<tr><td bgcolor='#BBBBBB'>";      print "<tr><td bgcolor='#BBBBBB'>";
   # re-routing
       if ($host{$local.'_reroute'}) {
    print "<br />Reroute: ".$host{$local.'_reroute'};
    &takeonline($local);
       }
 # version  # version
     if ($host{$local.'_version'}) {      if ($host{$local.'_version'}) {
  print "<br />Version: ".$host{$local.'_version'}   print "<br />Version: ".$host{$local.'_version'}
Line 367  foreach my $local (sort keys %hostname) Line 403  foreach my $local (sort keys %hostname)
  }   }
  $host{$local.'_load'}=$userstatus{'loadavg'};   $host{$local.'_load'}=$userstatus{'loadavg'};
     }      }
   # -- Check reroute status
       &statuslist($local,'Reroute');
       my %reroute=&replyhash($local,'/lon-status/reroute.txt',1800);
       if ($reroute{'status'} eq 'rerouting') {
    if ($reroute{'server'}) {
       $host{$local.'_reroute'}=
    'Rerouting to <tt>'.$reroute{'server'}.
                      '</tt>, domain: '.$reroute{'domain'}.
    ' (since '.localtime($reroute{'time'}).')';
    } else {
       $host{$local.'_reroute'}='offline';
    }
       }
 # -- Check mysql status  # -- Check mysql status
     &statuslist($local,'Database');      &statuslist($local,'Database');
     my %mysql=&replyhash($local,'/lon-status/mysql.txt',3600);      my %mysql=&replyhash($local,'/lon-status/mysql.txt',3600);
Line 454  sub reports { Line 503  sub reports {
     print       print 
 '<td bgcolor="'.$cellcolor.'"><font color="#225522" face="arial"><b>ok</b></td>';  '<td bgcolor="'.$cellcolor.'"><font color="#225522" face="arial"><b>ok</b></td>';
  } else {   } else {
     my $cellcolor='#DDBBBB';      my $cellcolor='#DDCCAA';
     if ($connectionstatus{$local.'_TO_'.$remote} eq 'local_error') {      if ($connectionstatus{$local.'_TO_'.$remote} eq 'local_error') {
  if ($local eq $remote) {    if ($local eq $remote) { 
     $cellcolor='#DD88AA';       $cellcolor='#DD88AA'; 
Line 462  sub reports { Line 511  sub reports {
     $cellcolor='#DDAACC';      $cellcolor='#DDAACC';
  }   }
     } else {      } else {
  if ($local eq $remote) { $cellcolor='#DD9999'; }   if ($local eq $remote) { $cellcolor='#DDBB77'; }
     }      }
     print       print 
   '<td bgcolor="'.$cellcolor.'"><font color="#552222" size="-2">'.    '<td bgcolor="'.$cellcolor.'"><font color="#552222" size="-2">'.
Line 550  sub reports { Line 599  sub reports {
     if ($host{$local.'_checkrpms_doomed'}>100) {      if ($host{$local.'_checkrpms_doomed'}>100) {
  $trouble='RPMs outdated.<br />';   $trouble='RPMs outdated.<br />';
     }      }
       if ($host{$local.'_reroute'}) {
    $trouble='Re-Routing<br >';
       }
     if ($trouble) { $count++; &serverstatus($local,$trouble); }      if ($trouble) { $count++; &serverstatus($local,$trouble); }
  }   }
  unless ($count) { print "No mayor trouble."; }   unless ($count) { print "No mayor trouble."; }
Line 647  delete $perlvar{'lonSqlAccess'}; # remov Line 699  delete $perlvar{'lonSqlAccess'}; # remov
        while (<$fh>) {         while (<$fh>) {
            next if (/^(\#|\s*$)/);             next if (/^(\#|\s*$)/);
            chomp;             chomp;
            my ($domain, $domain_description, $def_auth, $def_auth_arg)             my ($domain, $domain_description, $def_auth, $def_auth_arg,
                = split(/:/,$_,4);         $def_lang, $city, $longi, $lati) = split(/:/,$_);
            $domain_auth_def{$domain}=$def_auth;     $domain_auth_def{$domain}=$def_auth;
            $domain_auth_arg_def{$domain}=$def_auth_arg;             $domain_auth_arg_def{$domain}=$def_auth_arg;
            $domaindescription{$domain}=$domain_description;     $domaindescription{$domain}=$domain_description;
      $domain_lang_def{$domain}=$def_lang;
      $domain_city{$domain}=$city;
      $domain_longi{$domain}=$longi;
      $domain_lati{$domain}=$lati;
        }         }
     }      }
 }  }

Removed from v.1.18  
changed lines
  Added in v.1.22


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>