Dimensione: 5335
Commento:
|
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 |
IndiceBR TableOfContents(1) |
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
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
[http://tldp.org/HOWTO/Automount.html Automount Howto]
[https://help.ubuntu.com/community/Autofs Autofs Ubuntu wiki]