Dimensione: 5171
Commento:
|
Dimensione: 4580
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 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. 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 17: |
Per configurare '''monit''' è sufficiente modificare con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] il file di configurazione `/etc/monit/monitrc` 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: |
Modificare il file di configurazione `/etc/auto.master` aggiungendo le due righe come nell'esempio: |
Linea 21: | Linea 20: |
set mailserver mx1.example.com, mx2.example.com port 10025 |
/smb /etc/auto.smb /net /etc/auto.net |
Linea 25: | Linea 24: |
Specificare poi l'indirizzo mittente da cui l'applicazione invierà la posta (es. `monit@example.com`) | = 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`. |
Linea 28: | Linea 29: |
set mail-format { from: monit@example.com } | cd /smb/server.dominio.it/condivisionesmb |
Linea 31: | Linea 32: |
Specificare l'indirizzo a cui le mail di notifica dovranno essere consegnate (es. `sysadmin@example.com`) | ||<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#head-ad3bcdcaf35a7fe36f70ad508c692bcb43587b5c:DNS] e non al nome [http://it.wikipedia.org/wiki/NetBIOS 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 34: | Linea 39: |
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 37: | Linea 79: |
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") | Il file dovrà avere come [:PermessiFile:permessi] 755 |
Linea 40: | Linea 82: |
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 46: | Linea 85: |
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 49: | Linea 88: |
set httpd port 2812 and SSL ENABLE PEMFILE /var/certs/monit.pem allow admin:monit |
username=username_samba password=password_samba |
Linea 55: | Linea 92: |
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: | 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 58: | Linea 100: |
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 67: | Linea 103: |
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 107: |
* [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] |
Linea 124: | Linea 110: |
CategoryNuoviDocumenti | 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 server.dominio.it, sarà sufficiente portarsi nella directory /smb/server.dominio.it/condivisionesmb.
cd /smb/server.dominio.it/condivisionesmb
Il nome del server si riferisce al nome [:Server/Dns#head-ad3bcdcaf35a7fe36f70ad508c692bcb43587b5c:DNS] e non al nome [http://it.wikipedia.org/wiki/NetBIOS 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
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]