apt-get install librrd0-dev librrd0-dev
tar xvzf rrdcollect-0.2.3.tar.gz
cd rrdcollect-0.2.3/
dpkg-buildpackage
#!/bin/bash
RRDPATH=/root/rrd
rrdtool create $RRDPATH/mem.rrd \
--start `date +%s` \
--step 60 \
DS:mem_total:GAUGE:150:0:U \
DS:mem_free:GAUGE:150:0:U \
RRA:AVERAGE:0.5:1:1440 \
RRA:AVERAGE:0.5:10:1008 \
RRA:AVERAGE:0.5:60:744
rrdtool create $RRDPATH/cpu.rrd \
--start `date +%s` \
--step 60 \
DS:cpu_user:COUNTER:150:0:100 \
DS:cpu_nice:COUNTER:150:0:100 \
DS:cpu_system:COUNTER:150:0:100 \
DS:cpu_idle:COUNTER:150:0:100 \
DS:cpu_iowait:COUNTER:150:0:100 \
DS:cpu_irq:COUNTER:150:0:100 \
DS:cpu_softirq:COUNTER:150:0:100 \
RRA:AVERAGE:0.5:1:1440 \
RRA:AVERAGE:0.5:10:1008 \
RRA:AVERAGE:0.5:60:744
#!/bin/bash
RRDPATH=/root/rrd
WEBPATH=/var/www/rrd
MEM_LIM="4.5e+09"
MEM_LBL="4Go"
MEM_HR="4.29e+09"
rrdtool graph $WEBPATH/mem-3h.png \
--title 'Memoire utilisée sur 3 heures' \
--start -3h --end now \
--base 1024 \
--upper-limit $MEM_LIM --lower-limit 0 -r \
DEF:mem_total=$RRDPATH/mem.rrd:mem_total:AVERAGE \
DEF:mem_free=$RRDPATH/mem.rrd:mem_free:AVERAGE \
CDEF:mem_used=mem_total,mem_free,-,1024,* \
'AREA:mem_used#00FF00:M\xe9moire utilis\xe9e' \
HRULE:$MEM_HR'#FF0000:Limite \: '$MEM_LBL
rrdtool graph $WEBPATH/cpu-3h.png -o \
--title 'Charge CPU sur 3 heures' \
--start -3h --end now \
DEF:cpu_user=$RRDPATH/cpu.rrd:cpu_user:AVERAGE \
DEF:cpu_nice=$RRDPATH/cpu.rrd:cpu_nice:AVERAGE \
DEF:cpu_system=$RRDPATH/cpu.rrd:cpu_system:AVERAGE \
DEF:cpu_idle=$RRDPATH/cpu.rrd:cpu_idle:AVERAGE \
DEF:cpu_iowait=$RRDPATH/cpu.rrd:cpu_iowait:AVERAGE \
DEF:cpu_irq=$RRDPATH/cpu.rrd:cpu_irq:AVERAGE \
DEF:cpu_softirq=$RRDPATH/cpu.rrd:cpu_softirq:AVERAGE \
'AREA:cpu_iowait#0000FF:IO wait' \
'STACK:cpu_system#FF9999:system' \
'STACK:cpu_nice#FF99FF:nice' \
'STACK:cpu_user#99FF99:user' \
'STACK:cpu_idle#FFFFFF:idle'
rrdtool graph $WEBPATH/mem-7d.png \
--title 'Memoire utilisée sur 7 jours' \
--start -7d --end now \
--base 1024 \
--upper-limit $MEM_LIM --lower-limit 0 -r \
DEF:mem_total=$RRDPATH/mem.rrd:mem_total:AVERAGE \
DEF:mem_free=$RRDPATH/mem.rrd:mem_free:AVERAGE \
CDEF:mem_used=mem_total,mem_free,-,1024,* \
'AREA:mem_used#00FF00:Memoire utilisée' \
HRULE:$MEM_HR'#FF0000:Limite \: '$MEM_LBL
rrdtool graph $WEBPATH/cpu-7d.png -o \
--title 'Charge CPU sur 7 jours' \
--start -7d --end now \
DEF:cpu_user=$RRDPATH/cpu.rrd:cpu_user:AVERAGE \
DEF:cpu_nice=$RRDPATH/cpu.rrd:cpu_nice:AVERAGE \
DEF:cpu_system=$RRDPATH/cpu.rrd:cpu_system:AVERAGE \
DEF:cpu_idle=$RRDPATH/cpu.rrd:cpu_idle:AVERAGE \
DEF:cpu_iowait=$RRDPATH/cpu.rrd:cpu_iowait:AVERAGE \
DEF:cpu_irq=$RRDPATH/cpu.rrd:cpu_irq:AVERAGE \
DEF:cpu_softirq=$RRDPATH/cpu.rrd:cpu_softirq:AVERAGE \
'AREA:cpu_iowait#0000FF:IO wait' \
'STACK:cpu_system#FF9999:system' \
'STACK:cpu_nice#FF99FF:nice' \
'STACK:cpu_user#99FF99:user' \
'STACK:cpu_idle#FFFFFF:idle'
#! /bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/rrdcollect
NAME=rrdcollect
DESC=rrdcollect
test -f $DAEMON || exit 0
set -e
case "$1" in
start)
echo "Starting $DESC: $NAME"
start-stop-daemon --start --quiet --make-pidfile --pidfile /var/run/$NAME.pid \
--background --exec $DAEMON -- -n
;;
stop)
echo "Stopping $DESC: $NAME"
start-stop-daemon --oknodo --stop --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
;;
restart|force-reload)
echo "Restarting $DESC: $NAME"
start-stop-daemon --oknodo --stop --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --make-pidfile --pidfile /var/run/$NAME.pid \
--background --exec $DAEMON -- -n
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
#!/bin/bash
SILENT=true
cd /root/espace-disque/
[ $SILENT = "true" ] || echo "Calcul de l'espace occupe..."
du -h -s /home/* > resume
sort -n resume > /var/www/resume-tri
apt-get install phpsysinfo
Monitoring de la machine
Monitoring de la machine
Charge système
Charge système
Charge CPU sur 3 heures

Charge mémoire sur 3 heures

Charge CPU sur 7 jours

Charge mémoire sur 7 jours

Consommation d'espace disque
Consommation d'espace disque
Liste des utilisateurs prenant plus de 500Mo d'espace disque.
";
$path = 'resume-tri';
$fichier = @file( $path );
if ( $fichier == null ) {
exit();
}
reset($fichier);
foreach ( $fichier as $line ) {
$line = rtrim( $line );
$line = ltrim( $line );
if ($line == "" || $line == "\n" || strstr( $line, "#" ) ) {
next($config);
}
else {
# recupere les compte qui ont plus d'1Go
# (taille) (unite) (chemin)
preg_match( "/(\d+\.?\d+)([G])\s*(.*)/", $line, $res );
if ( strlen( $res[0] ) != 0 ) {
list( , , ,$uid ) = explode( '/', $res[3] );
echo "- $uid consomme " . $res[1] . $res[2] . "
\n";
}
}
}
echo "