NOM  

Lemonldap::Cluster::Status - extension Perl pour les server-status de cluster d'apache

SYNOPSIS  

    use Lemonldap::Cluster::Status ;
    my $serverstatus = Lemonldap::Cluster::Status->new (
                  'ADMIN' => 'title on top of page' ,
                  'node1' => '10.ip.ip.ip',
                  'node2' => 'server1.net',
                  'foo' => 'server2.net',
                  'bar' => '10.ip.ip.ip',
                );
   $serverstatus->analyze;
   my $a=$serverstatus->PrintHtml;

DESCRIPTION 

Ce module agrge plusieurs pages de server-status en une seule.

C'est trs prtique pour surveiller un cluster ou pour l'utiliser avec nagios ou cacti
Cette verison comprend le parmetre refresh=nb_seconde comme mod_status

Vos serveurs (noeud )  doivent permettre le mode extendu de server-status (voir la doc d'apache) .

Ce module s'utilise de differentes facons :
1 Comme un package perl
2 Dans un CGI
3 Comme un handler avec mod_perl
4 Comme un composant lemonldap websso

Seule cette derniere facon necessite installer lemonldap . Ainsi ce module est independant
La page server-status  ressemble  celle d'un vritable serveur apache.

Le serveur apache qui sert la la page server-status consolide peut ne pas faire parti du cluster. 


METHODES

new ('ADMIN' => 'name' , 'foo' => 'bar.fr' );

    Le mot cl ADMIN est obligatoire . Cette methode ralise un  
 GET http://bar.fr/server-status (ceci pour chaque noeud).

analize () ;

ralise les calculs et les statistiques.

printHtml()

    return tout le html de la page

StatusCGI.pl

tout d'abord copier StatusCGI.pm dans votre repertoire cgi-bin. Puis , vous devez modifier ce script pour ajouer l'adresse de vos noeuds . Enfin essayer l'url http://myserver.net/cgi-bin/StatusCGI.pl.

(vous pouvez ajouer '?refresh=5    la fin de l'url )

StatusPM.pm (sous mod_perl)

Ajouter ces lignes dans  httpd.conf

 <Location /clusterstatus >
    SetHandler perl-script
    PerlHandler Lemonldap::Cluster::StatusMP
    perlsetvar ADMIN name_of_group
    perlsetvar node1 10.ip.ip.ip
    perlsetvar foo   server1.net
    perlsetvar bar   sever2.net
 </Location>

Relancez le serveur apache et pointez sur la location /clusterstatus

Statuslemonldap.pm (avec lemonldap::Config::Parameters) 

 Ajoutez ces lignes   lemonldap_config.xml 

  <cluster  id ="ADMIN" >
        <node id="node"
              address="10.ip.ip.ip" />
        <node id="other"
              address="10.ip.ip.ip" />
        <node id="last"
              address="server.net" />
  </cluster>

 et ceci dans  httpd.conf 

 <Location /statuslemon >
  SetHandler perl-script
  PerlHandler Lemonldap::Cluster::Statuslemonldap
  perlsetvar LemonldapConfig /etc/apache-perl/lemonldap_config.xml
  perlsetvar LemonldapConfigipckey /var/cache/lemondb/CONF
 </Location>

Relancez le serveur apache et pointez sur la location /statuslemon


INSTALLATION

Pour installer ce module suivre:

   perl Makefile.PL
   make
   make test
   make install

EXPORT

Rien par defaut

SEE ALSO

 Lemonldap websso
 server-status of apache
 LWP

 Lemonldap::Cluster::StatusMP  (under mod_perl)
 Lemonldap::Cluster::StatusCGI (under CGI) 
 Lemonldap::Cluster::Statuslemonldap (embeded in lemonldap config) 
 (tous les fichiers sont dans l'archive ) 

AUTHOR

Eric German, <germanlinux@yahoo.fr>

COPYRIGHT AND LICENCE

Copyright (C) 2005 by Eric German, <germanlinux@yahoo.fr>


