• # script de stockage + utilisation de RRDTool

    Posté par . En réponse au message Script de surveillance des ressources d'un PC. Évalué à 4.

    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

    iter=$(( $iter + 1 ))
    done


    Si ça peut donner des idées à certains.