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 6 e 101 (in 95 versioni)
Versione 6 del 20/09/2007 08.43.57
Dimensione: 5358
Commento: guida revisionata, CategoryHomepage per la pagina Prove
Versione 101 del 10/10/2007 12.34.45
Dimensione: 4014
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:

[code]
#!/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 }
[/code]

Il file dovrà avere permessi 755

[code]
sudo chmod 755 /etc/auto.smb
[/code]

Per ogni server a cui si intende accedere, occorre creare un file con nome `/etc/auto.smb.NOMESERVER` contente le credenziali nella seguente forma
[code]
username=user
password=password
[/code]

= 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 31: Linea 94:
set alert sysadmin@example.com cd /net/server.dominio.it/condivisionenfs
Linea 34: Linea 97:
Abilitare il [:Server/Web: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»:
{{{
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
}}}

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:
{{{
set httpd port 2812 and
     SSL ENABLE
     PEMFILE /var/certs/monit.pem
     allow admin:monit
}}}

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:
{{{
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
}}}

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 mediante 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 101:
 * [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 104:
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:

[code] #!/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 }

[/code]

Il file dovrà avere permessi 755

[code] sudo chmod 755 /etc/auto.smb [/code]

Per ogni server a cui si intende accedere, occorre creare un file con nome /etc/auto.smb.NOMESERVER contente le credenziali nella seguente forma [code] username=user password=password [/code]

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