Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AlbericoAnobile/Prove0"
Differenze tra le versioni 7 e 104 (in 97 versioni)
Versione 7 del 20/09/2007 10.35.19
Dimensione: 5335
Commento:
Versione 104 del 10/10/2007 12.43.18
Dimensione: 4241
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 8: Linea 8:
'''Monit''' è una applicazione utile a monitorare lo stato di file, directory, processi e periferiche. È in grado di intraprendere particolari misure di manutenzione nel caso in cui riscontri particolari anomalie. '''Autofs''' monta automaticamente directory condivise quando gli utenti o i processi richiedono accesso ad esse; le smonta automaticamente se restano inattive per un periodo di tempo specificato. Viene utilizzato principalmente per la condivisione di directory accessibili in rete via [:Server/Nfs:Nfs] o [:Server/Samba:Samba]. Il montaggio automatico di dispositivi removibili è infatti già fornito da [http://it.wikipedia.org/wiki/Hardware_abstraction_layer Hal] nel sistema base.
Linea 12: Linea 13:
Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Una volta abilitato tale componente è sufficiente [:InstallareProgrammi:installare] il pacchetto ''monit''. Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Una volta abilitato tale componente è sufficiente [:InstallareProgrammi:installare] il pacchetto ''autofs''.
Linea 16: Linea 17:
Per configurare l'applicazione è sufficiente modificare con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] il file di configurazione `/etc/monit/monitrc`. Modificare il file di configurazione `/etc/auto.master` aggiungendo le due righe come nell'esempio:
Linea 18: Linea 19:
Prima di tutto è necessario specificare quali [:Server/Mail:server di posta] verranno utilizzati per l'invio dei messaggi di notifica. È possibile aggiungere diversi server di posta con le relative porte. Supponendo di voler utilizzare per l'invio della posta i server `mx1.example.com` con porta standard 25 e `mx2.example.com`, con porta 10025, occorre aggiungere al file di configurazione la seguente direttiva:
Linea 20: Linea 20:
set mailserver mx1.example.com,
               mx2.example.com port 10025
/smb /etc/auto.smb
/net /etc/auto.net
Linea 24: Linea 24:
Specificare poi l'indirizzo mittente da cui l'applicazione invierà la posta, ad esempio `monit@example.com`: = Montare una directory Samba pubblica =

Supponendo di voler montare una cartelle condivisa con nome `condivisionesmb` da un server avente nome DNS `server.dominio.it`, sarà sufficiente portarsi nella directory `/smb/server.dominio.it/condivisionesmb`.
Linea 26: Linea 29:
set mail-format { from: monit@example.com } cd /smb/server.dominio.it/condivisionesmb
Linea 29: Linea 32:
Specificare l'indirizzo a cui le mail di notifica dovranno essere consegnate (es. `sysadmin@example.com`) = Montare una directory Samba con autenticazione =

Qualora sia necessario fornire delle credenziali per montare una directory Samba, occorre sostituire il file `/etc/autofs.smb` con il seguente:
Linea 31: Linea 37:
set alert sysadmin@example.com #!/bin/bash
# $Id$
# This file must be executable to work! chmod 755!
key="$1"
# Note: create a cred file for each windows/Samba-Server in your network
# which requires password authentification. The file should contain
# exactly two lines:
# username=user
# password=*****
# Please don't use blank spaces to separate the equal sign from the
# user account name or password.
credfile="/etc/auto.smb.$key"
# Note: Use cifs instead of smbfs:
mountopts="-fstype=cifs"
smbclientopts=""
for P in /bin /sbin /usr/bin /usr/sbin
do
        if [ -x $P/smbclient ]
        then
                SMBCLIENT=$P/smbclient
                break
        fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "$credfile" ]
then
        mountopts=$mountopts",credentials=$credfile"
        smbclientopts="-A "$credfile
else
        smbclientopts="-N"
fi
$SMBCLIENT $smbclientopts -gL $key 2>/dev/null \
   | awk -v key="$key" -v opts="$mountopts" -F'|' -- '
        BEGIN { ORS=""; first=1 }
        /Disk/ { if (first) { print opts; first=0 };
             sub(/ /, "\\ ", $2);
        print " \\\n\t /" $2, "://" key "/" $2 }
        END { if (!first) print "\n"; else exit 1 }
Linea 34: Linea 77:
Abilitare il server web interno per accedere all'interfaccia di amministrazione. È possibile specificare a quali indirizzi consentire l'accesso (es. `localhost`) e quali utenti, con le relative password. Nell'esempio che segue verrà configurato un singolo accesso di amministrazione per l'utente «admin» con password «monit»: Il file dovrà avere come [:PermessiFile:permessi] 755
Linea 36: Linea 80:
set httpd port 2812 and
     use address localhost # accetta connessioni solo da localhost
     allow localhost # permette la visualizzazione solo se la richiesta proviene da localhost
     allow admin:monit # utente admin con password monit
sudo chmod 755 /etc/auto.smb
Linea 42: Linea 83:
Una configurazione più sicura prevede l'utilizzo di SSL. Per far ciò è necessario generare un certificato '''x509''' valido. Supponendo che questo sia contenuto, insieme alla relativa chiave privata, nel file `/var/certs/monit.pem` occorre aggiungere una direttiva del seguente tipo: Per ogni server a cui si intende accedere, occorre creare un file, contenente esattamente due righe. Supponendo che il nome del server sia `server.dominio.it` il file dovrà avere nome `/etc/auto.smb.server.dominio.it` e dovrà contenere le credenziali nella seguente forma
Linea 44: Linea 86:
set httpd port 2812 and
     SSL ENABLE
     PEMFILE /var/certs/monit.pem
     allow admin:monit
username=username_samba
password=password_samba
Linea 50: Linea 90:
Qualora si vogliano monitorare le risorse utilizzate dal sistema, è possibile aggiungere una regola che avvisi l'amministratore nel caso in cui alcune soglie vengano superate. Quello che segue è un esempio generico: Sostituendo opportunamente le stringhe `username_samba` e `password_samba`.


= Montare una directory Nfs =

Supponendo di voler montare una cartella condivisa via nfs con nome `condivisionenfs` da un server avente nome DNS `server.dominio.it` sarà sufficiente portarsi nella directory `/net/server.dominio.it/condivisionenfs`
Linea 52: Linea 98:
check system server.example.com
    if loadavg (1min) > 4 then alert
    if loadavg (5min) > 2 then alert
    if memory usage > 75% then alert
    if cpu usage (user) > 70% then alert
    if cpu usage (system) > 30% then alert
    if cpu usage (wait) > 20% then alert
cd /net/server.dominio.it/condivisionenfs
Linea 61: Linea 101:
Se si desidera invece monitare i permessi e il proprietario di una particolare cartella di sistema è utile aggiungere una regola simile alla seguente:
{{{
check directory bin with path /bin
    if failed permission 755 then unmonitor
    if failed uid 0 then unmonitor
    if failed gid 0 then unmonitor
}}}

Per monitare un servizio di sismtema è utile aggiungere una direttiva simile alla seguente:
{{{
check process slapd with pidfile /var/run/slapd/slapd.pid
   start program = "/etc/init.d/slapd start"
   stop program = "/etc/init.d/slapd stop"
   if failed host 192.168.1.1 port 389 protocol ldap3 then restart
   if 5 restarts within 5 cycles then timeout
}}}

Nella configurazione dell'esempio sopra citato, qualora il server '''ldap''' risultasse non disponibile, '''monit''' provvederà a riavviarlo.

Per monitare un PC remoto su cui gira una istanza di [:Server/MySql:MySql], è utile aggiungere una direttiva simile alla seguente:
{{{
check host myserver with address 192.168.1.1
    if failed icmp type echo count 3 with timeout 3 seconds then alert
    if failed port 3306 protocol mysql with timeout 15 seconds then alert
}}}

Le diciture «myserver» e «192.168.1.1» vanno sostituite con gli indirizzi adatti ai propri scopi.

= Avvio del servizio =

Aprire il file `/etc/defautl/monit` con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione], dunque modificare la variabile «startup» come nell'esempio seguente:
{{{
startup=1
}}}

Infine avviare il servizio con il seguente comando in una finestra di terminale:
{{{
sudo /etc/init.d/monit start
}}}

L'interfaccia amministrativa di '''monit''' sarà raggiungibile all'indirizzo [http://localhost:2812].
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Le directory non saranno visibili finchè non si farà esplicito riferimento ad esse, quindi solo dopo l'esecuzione di uno dei precedenti comandi.'' ||
Linea 106: Linea 105:
 * [http://www.tildeslash.com/monit/ Sito ufficiale del progetto]
 * [http://www.tildeslash.com/monit/doc/examples.php Esempi di configurazione]
 * [http://www.howtoforge.com/server_monitoring_with_munin_monit_debian_etch Server Monitoring With munin And monit On Debian Etch]
 * [http://tldp.org/HOWTO/Automount.html Automount Howto]
 * [https://help.ubuntu.com/community/Autofs Autofs Ubuntu wiki]
Linea 111: Linea 108:
CategoryHomePage CategoryHomepage

BR

Introduzione

Autofs monta automaticamente directory condivise quando gli utenti o i processi richiedono accesso ad esse; le smonta automaticamente se restano inattive per un periodo di tempo specificato. Viene utilizzato principalmente per la condivisione di directory accessibili in rete via [:Server/Nfs:Nfs] o [:Server/Samba:Samba]. Il montaggio automatico di dispositivi removibili è infatti già fornito da [http://it.wikipedia.org/wiki/Hardware_abstraction_layer Hal] nel sistema base.

Installazione

Il programma è presente nel [:Repository/Componenti:componente] universe dei [:Repository:repository] ufficiali. Una volta abilitato tale componente è sufficiente [:InstallareProgrammi:installare] il pacchetto autofs.

Configurazione

Modificare il file di configurazione /etc/auto.master aggiungendo le due righe come nell'esempio:

/smb  /etc/auto.smb
/net  /etc/auto.net

Montare una directory Samba pubblica

Supponendo di voler montare una cartelle condivisa con nome condivisionesmb da un server avente nome DNS server.dominio.it, sarà sufficiente portarsi nella directory /smb/server.dominio.it/condivisionesmb.

cd /smb/server.dominio.it/condivisionesmb

Montare una directory Samba con autenticazione

Qualora sia necessario fornire delle credenziali per montare una directory Samba, occorre sostituire il file /etc/autofs.smb con il seguente:

# $Id$
# This file must be executable to work! chmod 755!
key="$1"
# Note: create a cred file for each windows/Samba-Server in your network
#       which requires password authentification.  The file should contain
#       exactly two lines:
#          username=user
#          password=*****
#       Please don't use blank spaces to separate the equal sign from the
#       user account name or password.
credfile="/etc/auto.smb.$key"
# Note: Use cifs instead of smbfs:
mountopts="-fstype=cifs"
smbclientopts=""
for P in /bin /sbin /usr/bin /usr/sbin
do
        if [ -x $P/smbclient ]
        then
                SMBCLIENT=$P/smbclient
                break
        fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "$credfile" ]
then
        mountopts=$mountopts",credentials=$credfile"
        smbclientopts="-A "$credfile
else
        smbclientopts="-N"
fi
$SMBCLIENT $smbclientopts -gL $key 2>/dev/null \
   | awk -v key="$key" -v opts="$mountopts" -F'|' -- '
        BEGIN   { ORS=""; first=1 }
        /Disk/  { if (first) { print opts; first=0 }; 
             sub(/ /, "\\ ", $2); 
        print " \\\n\t /" $2, "://" key "/" $2 }
        END     { if (!first) print "\n"; else exit 1 }

Il file dovrà avere come [:PermessiFile:permessi] 755

sudo chmod 755 /etc/auto.smb

Per ogni server a cui si intende accedere, occorre creare un file, contenente esattamente due righe. Supponendo che il nome del server sia server.dominio.it il file dovrà avere nome /etc/auto.smb.server.dominio.it e dovrà contenere le credenziali nella seguente forma

username=username_samba
password=password_samba

Sostituendo opportunamente le stringhe username_samba e password_samba.

Montare una directory Nfs

Supponendo di voler montare una cartella condivisa via nfs con nome condivisionenfs da un server avente nome DNS server.dominio.it sarà sufficiente portarsi nella directory /net/server.dominio.it/condivisionenfs

cd /net/server.dominio.it/condivisionenfs

Immagine(Icone/Piccole/note.png,,center)

Le directory non saranno visibili finchè non si farà esplicito riferimento ad esse, quindi solo dopo l'esecuzione di uno dei precedenti comandi.

Ulteriori risorse


CategoryHomepage