Je surveille plusieurs choses sur mon PC :
- température CPU
- activité réseau (ADSL)
- occupation des partitions
- charge CPU (loadavg)
J'ai écris un script qui stocke toutes les minutes ces valeurs dans une base de données RRD (cf RRDTool avec google). Ce script est dans les run-levels de ma machine, donc lançable avec "/etc/init.d/xyz start" et stoppable avec "stop".
L'avantage de la base RRD est de pouvoir ensuite utiliser l'outil de génération de graphique de RRD, qui est assez puissant.
Voici à quoi ressemble mon script (désolé pour l'indentation) : iter=1
while sleep 60
do
# partie réseau eth0
bytes_eth0=$(grep eth0 /proc/net/dev | cut -c 8- | awk '{print 1ドル ":" 9ドル}')
rrdtool update eth0.rrd N:$bytes_eth0
# partie charge CPU
loads=$(awk '{print 1ドル ":" 2ドル ":" 3ドル}' /proc/loadavg)
rrdtool update load.rrd N:$loads
# partie occupation disque (toutes les 10 minutes)
if [ $iter -eq 10 ]; then
iter=0
disks=$(df -t ext3 | awk '/hda6/ { root=100*3ドル/(3ドル+4ドル) } /hda8/ { home=100*3ドル/(3ドル+4ドル) } END { print root ":" home }' )
rrdtool update disk.rrd N:$disks
./graphrrd.sh
fi
# script de stockage + utilisation de RRDTool
Posté par Olivier Jeannet . En réponse au message Script de surveillance des ressources d'un PC. Évalué à 4.
- température CPU
- activité réseau (ADSL)
- occupation des partitions
- charge CPU (loadavg)
J'ai écris un script qui stocke toutes les minutes ces valeurs dans une base de données RRD (cf RRDTool avec google). Ce script est dans les run-levels de ma machine, donc lançable avec "/etc/init.d/xyz start" et stoppable avec "stop".
L'avantage de la base RRD est de pouvoir ensuite utiliser l'outil de génération de graphique de RRD, qui est assez puissant.
Voici à quoi ressemble mon script (désolé pour l'indentation) :
iter=1
while sleep 60
do
# partie réseau eth0
bytes_eth0=$(grep eth0 /proc/net/dev | cut -c 8- | awk '{print 1ドル ":" 9ドル}')
rrdtool update eth0.rrd N:$bytes_eth0
# partie charge CPU
loads=$(awk '{print 1ドル ":" 2ドル ":" 3ドル}' /proc/loadavg)
rrdtool update load.rrd N:$loads
# partie occupation disque (toutes les 10 minutes)
if [ $iter -eq 10 ]; then
iter=0
disks=$(df -t ext3 | awk '/hda6/ { root=100*3ドル/(3ドル+4ドル) } /hda8/ { home=100*3ドル/(3ドル+4ドル) } END { print root ":" home }' )
rrdtool update disk.rrd N:$disks
./graphrrd.sh
fi
iter=$(( $iter + 1 ))
done
Si ça peut donner des idées à certains.