Forum Linux.debian/ubuntu Script de surveillance des ressources d'un PC

Posté par  .
Étiquettes : aucune
0
31
jan.
2005
Salut,

Je voudrais écrire un script permettant de relever toutes les X secondes les valeurs de charge de la CPU ainsi que la consommation mémoire.

Ce script, j'aimerais pouvoir le lancer et l'arrêter manuellement.

Comment dois-je m'y prendre? Puis-je m'inspirer d'un script qui a déjà été écrit? Quelles commandes utiliser?

Merci d'avance

Patrice
  • # script moisi du lundi.

    Posté par  . Évalué à 4.

    man cut

    #!/bin/sh
    #250 valeurs
    for i in `seq 1 250`; do
    uptime | cut -d ',' -f 4
    #2 sec de pause
    sleep 2
    done;

    et pour la memoire regarde le fichier /proc/meminfo :
    un truc du genre :
    cat /proc/meminfo |grep MemFree | cut -d ' ' -f 11

    regarde les fichiers dans /proc.
  • # sa et sar

    Posté par  . Évalué à 2.

    Tu peux peeut-être regarder du coté de sar.

    http://www.die.net/doc/linux/man/man1/sar.1.html(...)

    Il y a longtemps, j'utilisais ça avec beaucoup de satisfaction.
  • # script de stockage + utilisation de RRDTool

    Posté par  . É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.
  • # munin

    Posté par  . Évalué à 2.

    tu peux y jeter un coup d'oeil, c'est une série de scripts pour récupérer différents paramètres de ton (tes) système(s), et en faire de jolis récapitulatifs web/graphiques. C'est basé sur rrd, il y a un paquet debian.

    http://www.linpro.no/projects/munin/(...)
  • # BIG BROTHER

    Posté par  . Évalué à 1.

    BIG BROTHER te permet de faire tres facilement des outils de surveillances pour TOUT ce que tu veux sur la machine et tu peux le remonter par exemple sur une page HTML dynamiquement .... voir mettre des alertes en places etc......

    si tu veux etandre facilement ta surveillance actuelle à plus d'information.....n'hesite pas.....

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.