AirV's Blog

Just another blog

Monitoring

Suivi de l’activité d’une machine

Extrait de http://bash.cyberciti.biz/

« …Shell script to get uptime, disk usage, cpu usage, RAM usage, system load, etc; from multiple Linux servers and output the information on a single server in html format… »

NB :
Execute the script as follows and copy .gif file in this dir
monitoring.sh > /var/www/html/info.htm

Source : /ftp/info/admin/monitoring/monitoring.sh

Disk usage report

Un utilitaire pour produire un rapport d’usage des disques : durep

Je n’ai pas reussi à faire fonctionner la version 0.9 (version cgi) par contre pas de soucis avec la version 0.8.1

Installation

  • téléchargement
  • décompactage
    root@toot:/usr/local/durep# ls
    durep-0.8.1.tgz
    root@toto:/usr/local/durep# tar xvfz durep-0.8.1.tgz

Paramétrage

  • Ne pas oublier de créer le répertoire ou seront stockés les fichiers html sur le serveur www
    root@toto: mkdir /var/www/htdocs/quotas/durep/profiles/auto
  • Faire un lien O.html vers index.html

Commande

voir le man
1. « durep -w ~/durepweb -td 2 »

This would print the directory tree starting from the current direc‐
tory to depth 2 to the console and also create web pages in the
directory ~/durepweb (this directory must exist).

2. « durep -f /var/spool/mail »

This might be useful for keeping a check on the mail directory. The
« -f » switch tells durep to just scan files and not descend into
directories. Since the « -w » switch is not present, no web pages are
produced.

3. « durep -x -cp « /(etc|usr/share) » -ep « /var » / »

This more complicated version does the following. It scans the root
filesystem only, hides the contents of any paths begining /etc or
/usr/share and skips the contents of the /var directory.

exemple :

durep -w /var/www/quota/durep/ -x -cp « etc|usr/share » -ep « /var » / -wd 2


Cron

Syntaxe : m h dom mon dow command
m pour minute comprise entre 0 et 59
h pour hour comprise entre 0 et 23
dom pour day of month comprise entre 1 et 31
mon pour month comprise entre 1 et 12
dow pour day of week comprise entre 0 et 7, le dimanche étant 0 ou 7, le lundi 1, etc …
command pour la commande ou la suite de commande à exécuter.

Caractères spéciaux (métacaractères) :
* si l’un des champs m h dom mon dow possède le caractère *, alors cela indique qu’il s’agit de toutes les minutes ou de toutes les heures ou tous les jours du mois ou tous les mois ou tous les jours de la semaine, cela dépend du champ o๠est placé *.
/ permet de spécifier une répétition.
permet de définir une plage.
, pour spécifier plusieurs valeurs.

Exemples :

*/5 * * * * commande permet d’exécuter une commande toutes les cinq minutes.

0 22 * * 1-5 commande permet d’exécuter une commande tous les jours de la semaine du lundi ou vendredi à 22h.

17 19 1,15 * * commande veut dire les premier et quinzième du mois à 19h17

23 0-16/2 * * * commande signifie toutes les 2 heures à la 23ième minute, entre minuit et 16 heures.

Il y a également des chaînes de caractères spéciales :

Chaîne Action
@reboot exécution une fois au démarrage
@yearly exécution une fois par an, « 0 0 1 1 *« 
@annually exécution une fois par an, « 0 0 1 1 *« 
@monthly exécution une fois par mois, « 0 0 1 * *« 
@weekly exécution une fois par semaine, « 0 0 * * 0« 
@daily exécution une fois par jour, « 0 0 * * *« 
@midnight execution une fois par jour, « 0 0 * * *« 
@hourly execution une fois par heure, « 0 * * * *« 

exemple pour durep :

*/1 * * * * durep -w /var/www/quota/durep/ -x -cp « etc|usr/share » -ep « /var » / -wd 2 1 > /dev/null 2 > /dev/null

Attention sans le /dev/null ca ne marchait pas.

Quota

Installer le service de quota

Extrait de http://www.developpez.net

  • la gestion des quotas s’active disque mounté, et doit etre mis en option dans /etc/fstab
    Par exemple :
    /dev/hda1 / ext2 defaults 1 1
    /dev/hda1 / ext2 defaults,usrquota 1
  • pour activer le quota sur /
    mount -o remount,usrquota /
  • pour créer les fichiers de configs
    touch /aquota.user
    touch /aquota.group
    chmod 600 /aquota.user /aquota.group

Autre lien :

www.linux-pour-les-nuls

Définir les quota pour les individus

Créer un quota type pour un individu toto

$> edquota toto

Créer la liste des personnes liste

$> repquota /dev/hdb1 | awk ‘{print $1}’ > liste

Appliquer le quota sur la liste liste à partir de l’exemple toto

for u in $(cat liste) ; do echo $u ; edquota -p toto $u; done

Suivi du dépassement des quota

$> repquota /dev/hdb1 | grep + | awk ‘ {print $3  » ko  » $1}’ | sort -n

1362984 ko celine
1847624 ko pberta07
1892924 ko craillar

Rapport de quota avec la commande repquota + fichier quota-report.php

*/5 * * * * root /bin/date > /tmp/quotas && /usr/sbin/repquota -au >> /tmp/quotas

Source du fichier /ftp/info/admin/quota/quota.report.php