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 2 e 109 (in 107 versioni)
Versione 2 del 19/09/2007 22.17.28
Dimensione: 5171
Commento:
Versione 109 del 11/10/2007 08.04.13
Dimensione: 4711
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 device. E' in grado di intraprendere particolari misure di manutenzione (es. restart dei servizi, alert via mail) nel caso in cui riscontri particolari anomalie. '''Autofs''' monta automaticamente le cartelle condivise quando gli utenti o i processi richiedono l'accesso ad esse; le smonta automaticamente se restano inattive per un periodo di tempo specificato. Viene utilizzato principalmente per la condivisione di cartelle accessibili in rete tramite i protocolli [:Server/Nfs:Nfs] o [:Server/Samba:Samba]. Il montaggio automatico di dispositivi rimovibili è infatti già fornito da [http://it.wikipedia.org/wiki/Hardware_abstraction_layer Hal] nel sistema base.
Linea 12: Linea 12:
Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Può essere quindi installato mediante uno fra i vari strumenti messi a disposizione dal sistema: [:SynapticHowto:Synaptic], [:AdeptHowTo:Adept] e [:Apt:apt-get]. 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 16:
Per configurare '''monit''' è sufficiente modificare con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] il file di configurazione `/etc/monit/monitrc` Aprire il file di configurazione `/etc/auto.master` con un [:EditoriDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] aggiungendo le seguenti righe:
{{{
/smb /etc/auto.smb
/net /etc/auto.net
}}}
Linea 18: Linea 22:
Innanzitutto è necessario specificare quali mail server dovrà utilizzare per l'invio della mail di notifica. E' possibile aggiungere diversi mail server con le relative porte (se diverse da 25). Supponendo di poter utilizzare i mail server: `mx1.example.com` `mx2.example.com` (porta 10025) occorre aggiungere al file di configurazione la direttiva seguente: = Montare una directory Samba pubblica =

Supponendo di voler montare una cartelle condivisa con nome `condivisionesmb` da un server avente nome `server.dominio.it`, sarà sufficiente portarsi nella directory `/smb/server.dominio.it/condivisionesmb`. Digitare il seguente comando:
{{{
cd /smb/server.dominio.it/condivisionesmb
}}}

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Il nome del server si riferisce al nome [:Server/Dns#whatis:DNS] e non al nome !NetBIOS.'' ||

= Montare una directory Samba con autenticazione =

Qualora sia necessario fornire delle credenziali di acesso per montare una directory Samba, occorre sostituire il file `/etc/autofs.smb` con il seguente:
Linea 21: Linea 36:
set mailserver mx1.example.com,
               mx2.example.com port 10025
#!/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 25: Linea 76:
Specificare poi l'indirizzo mittente da cui l'applicazione invierà la posta (es. `monit@example.com`) Il file dovrà avere come [:PermessiFile:permessi] 755
Linea 28: Linea 79:
set mail-format { from: monit@example.com } sudo chmod 755 /etc/auto.smb
Linea 31: Linea 82:
Specificare l'indirizzo a cui le mail di notifica dovranno essere consegnate (es. `sysadmin@example.com`) 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 34: Linea 85:
set alert sysadmin@example.com username=username_samba
password=password_samba
Linea 37: Linea 89:
Abilitare il web server interno per l'interfaccia di amministrazione. E' possibile specificare a quali indirizzi permettere la visualizzazione (es. `localhost`) e quali utenti, con relative password, poter utilizzare (in questo caso l'utente sarà "admin" con password "monit") Sostituire opportunamente le stringhe `username_samba` e `password_samba` con le proprie credenziali.


= 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 40: Linea 97:
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
cd /net/server.dominio.it/condivisionenfs
Linea 46: Linea 100:
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 sul sistema, è possibile aggiungere una regola che avvisi, tramite mail, l'amministratore nel caso in cui alcune soglie vengano superate. Per esempio:

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

Supponendo di voler monitare permessi e proprietario di una particolare directory (nel nostro caso `/bin`) aggiugere una regole del tipo:
 
{{{
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 demone (es. ldap) si potrà aggiungere una direttiva del tipo:

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

In questo caso, qualora il server ldap risultasse non disponibile, '''monit''' provvederebbe a riavviarlo.

Per monitare invece un host remoto (es. `myserver` con IP `192.168.1.1`), su cui gira una istanza di mysql, occorre aggiungere una direttiva di questo tipo:

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

Altri esempi sono disponibili all'url: [http://www.tildeslash.com/monit/doc/examples.php]


 = Avviare il demone =

Abilitare monit modificando il file `/etc/defautl/monit` con un editor di testo e con i privilegi di amminstrazione. Occorre settare la variabile `startup` a 1:

{{{
startup=1
}}}

infine avviare il demone

{{{
sudo /etc/init.d/monit start
}}}

L'interfaccia di '''Monit''' sarà ora raggiungibile mediante protocollo `http` sulla porta 2812 (es. `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 118: Linea 104:
 * [http://www.tildeslash.com/monit/ Sito ufficiale del progetto]
 * [http://www.howtoforge.com/server_monitoring_with_munin_monit_debian_etch Server Monitoring With munin And monit On Debian Etch]


## da questo punto in poi non modificare!
 * [http://tldp.org/HOWTO/Automount.html Automount Howto]
 * [https://help.ubuntu.com/community/Autofs Autofs Ubuntu wiki]
 * [http://it.wikipedia.org/wiki/NetBIOS Voce enciclopedica NetBIOS]
Linea 124: Linea 108:
CategoryNuoviDocumenti CategoryHomepage

BR

Introduzione

Autofs monta automaticamente le cartelle condivise quando gli utenti o i processi richiedono l'accesso ad esse; le smonta automaticamente se restano inattive per un periodo di tempo specificato. Viene utilizzato principalmente per la condivisione di cartelle accessibili in rete tramite i protocolli [:Server/Nfs:Nfs] o [:Server/Samba:Samba]. Il montaggio automatico di dispositivi rimovibili è 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

Aprire il file di configurazione /etc/auto.master con un [:EditoriDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] aggiungendo le seguenti righe:

/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 server.dominio.it, sarà sufficiente portarsi nella directory /smb/server.dominio.it/condivisionesmb. Digitare il seguente comando:

cd /smb/server.dominio.it/condivisionesmb

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

Il nome del server si riferisce al nome [:Server/Dns#whatis:DNS] e non al nome !NetBIOS.

Montare una directory Samba con autenticazione

Qualora sia necessario fornire delle credenziali di acesso 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

Sostituire opportunamente le stringhe username_samba e password_samba con le proprie credenziali.

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