XIV. Graphiques mrtg pour le server-status Apache▲
Si le titre de cette partie n'evoque rien pour vous, consultez la documentation relative au module server-status d'Apache et la page d'accueil de l'archive à télécharger.
XIV-A. Archives▲
Téléchargez les sources : http://howto.aphroland.de/HOWTO/MRTG/ApacheWithMRTG/
cd /home/system/download/
md5sum apache.mrtg.tgz
ffa0cc1750998975f07fff8f70baeb9c apache.mrtg.tgz
tar zxvf apache.mrtg.tgz
chmod 750 apache.mrtg-v0.1/
apt-get install mrtg libgd1 libsnmp-session-perl libdigest-md5-perl\
libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl\
libmime-base64-perl libnet-perl liburi-perl libwww-perl -d
cd /var/cache/apt/archives/
/usr/bin/md5sum mrtg_2.9.17-4_i386.deb libgd1_1.8.4-17.woody2_i386.deb\
libsnmp-session-perl_0.90-1_all.deb libdigest-md5-perl_2.13-2_i386.deb\
libhtml-parser-perl_3.25-1_i386.deb libhtml-tagset-perl_3.03-1_all.deb\
libhtml-tree-perl_3.11-2_all.deb libmime-base64-perl_2.12-4_i386.deb\
libnet-perl_1%3a1.09.01-1_all.deb liburi-perl_1.18-1_all.deb\
libwww-perl_5.64-1_all.deb
b7aced31ac2bd53afb5e3a41fe09a571 mrtg_2.9.17-4_i386.deb
e47f36577bc77ca1ac1334a65a382ecd libgd1_1.8.4-17.woody2_i386.deb
09861e46c5bca03bec4f0db92f5e96a6 libsnmp-session-perl_0.90-1_all.deb
c53a87f7e5f413f09becab2d4ef568a0 libdigest-md5-perl_2.13-2_i386.deb
1292ae35b502239aa238bbf72579a074 libhtml-parser-perl_3.25-1_i386.deb
4c64c498e99144f7ebcd65a5ba301991 libhtml-tagset-perl_3.03-1_all.deb
da8da0d786b29f92254e7ed74f970515 libhtml-tree-perl_3.11-2_all.deb
f309d4b7f60e94c41e554ebe4d22aee6 libmime-base64-perl_2.12-4_i386.deb
f0947fc68a8b1ef13929c540efacdb2e libnet-perl_1%3a1.09.01-1_all.deb
c8964c82978f10ca0657013ffd037c0e liburi-perl_1.18-1_all.deb
6a3f908c2fd7654201319d2d4b83e028 libwww-perl_5.64-1_all.deb
Remontez votre système de fichier en lecture/écriture.
apt-get install mrtg libgd1 libsnmp-session-perl libdigest-md5-perl\
libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl\
libmime-base64-perl libnet-perl liburi-perl libwww-perl
=> Make mrtg owned and readable only by mrtg user ? YES
Remontez votre système de fichier en lecture.
XIV-B. Configuration▲
mkdir /var/www/apache-mrtg
cd /var/www/apache-mrtg
mkdir confs etc
cd /home/system/download/apache.mrtg-v0.1
cp apache.html apache.mrtg.cfg apache.mrtg.pl mkapachemrtg.sh\
/var/www/apache-mrtg/etc/
cd /var/www/apache-mrtg/etc/
Si le serveur Web monitore est un serveur Apache tournant sur une plate-forme Windows, appliquez le patch suivant :
--- apache.mrtg.pl.orig Thu Nov 6 13:09:33 2003
+++ apache.mrtg.pl Thu Nov 6 13:09:33 2003
@@ -78,7 +78,12 @@
alarm 30; # have 30 seconds to get the INFO ...
my $content = getcache($url); # get info status
alarm 0;
- my ($Taccess, $TkBytes, $CPULoad, $Uptime, $ReqPerSec, $BytesPerSec,\
$BytesPerReq, $BusyServers, $IdleServers, $null) = split(/\n/, $content);\
# split content
+
+ if ($content !~ /CPULoad/) {
+ $content =~ s/Uptime: /CPULoad: 0\nUptime: /;
+ }
+
+ my ($Taccess, $TkBytes, $CPULoad, $Uptime, $ReqPerSec, $BytesPerSec,\
$BytesPerReq, $BusyServers, $IdleServers, $null) = split(/\n/, $content);
# strip some info - YES, UGLY CODE!
$Taccess =~ s/Total Accesses: //;
Editez le fichier mkapachemrtg.sh pour les variables suivantes :
[...]
HTMLHOME="/var/www/htdocs/status-mrtg/" # mrtg output dir
SCRIPTHOME="/var/www/apache-mrtg/etc" # where is the apache.mrtg.pl
URLHOME="http://{WEBSERVER_MONITOR_IP}/status-mrtg" # url ...
CONFHOME="/var/www/apache-mrtg/confs" # where the apache.mrtg.cfg files go
MRTGBIN="/usr/bin/mrtg" # mrtg bin
[...]
chmod 750 /var/www/mrtg
cd /var/www/htdocs
mkdir status-mrtg
chown root:webadm status-mrtg/
chmod 3775 status-mrtg/
Créez une configuration pour un serveur :
cd /var/www/apache-mrtg/etc
./mkapachemrtg.sh {SERVER_NAME} "-url http://{SERVER_IP}/server-status?auto"
Vous avez dans /var/www/apache-mrtg/confs le fichier de configuration relatif à cette nouvelle entree.
Vous avez dans /var/www/htdocs/status-mrtg un répertoire servant de dépose pour les fichiers garphs.
cd /var/www/htdocs/status-mrtg
chmod 3775 {SERVER_NAME}
chmod 1664 {SERVER_NAME}/*
Testez maintenant la configuration :
/usr/bin/mrtg /var/www/apache-mrtg/confs/{SERVER_NAME}.apache.mrtg.cfg
Finissez en créant un script d'appel aux statistiques :
cd /var/www/apache-mrtg
cat > monitor_servers.sh
#!/bin/sh
/usr/bin/mrtg /var/www/apache-mrtg/confs/{SERVER_NAME1}.apache.mrtg.cfg
/usr/bin/mrtg /var/www/apache-mrtg/confs/{SERVER_NAMEX}.apache.mrtg.cfg
^C
chmod 1750 monitor_servers.sh
Et rajoutez une entrée dans la crontab :
*/5 * * * * root /var/www/apache-mrtg/monitor_servers.sh