|
|
Riga 1: |
Riga 1: |
| Nagios ([http://www.nagios.org Home Page]) è uno strumento molto usato ed utilissimo per il monitoraggio di server e servizi. All'inizio, per molti utenti, è un po' complicato da configurare, ma dopo aver capito il funzionamento risulterà semplice, potente e versatile, attributi necessari per questo genere di strumenti.
| | = Introduzione = |
| | In questa guida vedremo come installare e configurare al meglio un touchpad compatibile coi driver synaptics, utilizzato nella maggioranza dei notebook. |
|
| |
|
| = Installazione = | | = Installazione = |
| La macchina su cui verrà installato Nagios è un Debian Stable (Etch). Installeremo la versione 2 di Nagios, con i relativi pacchetti per avere un maggior numero di plugin e immagini (vedremo dopo come usarle).
| | I driver synaptic sono scaricabili direttamente dal repository Debian: |
| | |
| Per installare nagios è sufficiente un:
| |
| <pre>
| |
| # apt-get install nagios2 nagios2-common nagios-plugins nagios-images nagios-plugins-basic nagios-plugins-standard
| |
| </pre>
| |
| | |
| Dopo aver scaricato (sono circa 3.5Mb) ed installato nagios provvediamo all'installazione di un web server (necessario per consultare la comoda [[web-interface]]); la mia scelta è ricaduta su apache2, anche perchè il server in questione ospiterà applicazioni scritte in php. Procediamo ad installare apache2 con:
| |
| <pre> | | <pre> |
| # apt-get install apache2 libapache2-mod-php5 | | # apt-get install xorg-driver-synaptics</pre> |
| </pre> | | (xfree86-driver-synaptics se si ha Xfree). |
|
| |
|
| | Sono presenti, inoltre, degli utili tools di configurazione: |
| | * gsynaptics: Per Gnome (librerie gtk) |
| | * ksynaptics: Per kde (librerie qt) |
| | * qsynaptics: Per tutti (librerie qt) |
|
| |
|
| = Configurazione = | | = Configurazione = |
| == Apache ==
| | La configurazione � semplice: � sufficiente apportare alcune modifiche al file /etc/X11/xorg.conf (o /etx/X11/XF86Config(-4) per gli utenti di Xfree). |
| Al momento dell'installazione viene creato in modo automatico il file <tt>/etc/apache2/conf.d/nagios2.conf</tt> (il file è, a tutti gli effetti, un link simbolico al file <tt>/etc/nagios2/apache2.conf</tt>) con il seguente contenuto:
| |
| <pre>
| |
| # apache configuration for nagios 2.x
| |
| # note to users of nagios 1.x:
| |
| # throughout this file are commented out sections which preserve
| |
| # backwards compatibility with bookmarks/config for nagios 1.x. simply
| |
| # look for lines following "nagios 1.x:" comments.
| |
| | |
| ScriptAlias /cgi-bin/nagios2 /usr/lib/cgi-bin/nagios2
| |
| ScriptAlias /nagios2/cgi-bin /usr/lib/cgi-bin/nagios2
| |
| # nagios 1.x:
| |
| #ScriptAlias /cgi-bin/nagios /usr/lib/cgi-bin/nagios2
| |
| #ScriptAlias /nagios/cgi-bin /usr/lib/cgi-bin/nagios2
| |
| | |
| # Where the HTML pages live
| |
| Alias /nagios2 /usr/share/nagios2/htdocs
| |
| # nagios 1.x:
| |
| #Alias /nagios /usr/share/nagios2/htdocs
| |
| | |
| <DirectoryMatch (/usr/share/nagios2/htdocs|/usr/lib/cgi-bin/nagios2)>
| |
| Options FollowSymLinks
| |
| | |
| DirectoryIndex index.html
| |
| | |
| AllowOverride AuthConfig
| |
| Order Allow,Deny
| |
| Allow From All
| |
| | |
| AuthName "Nagios Access"
| |
| AuthType Basic
| |
| AuthUserFile /etc/nagios2/htpasswd.users
| |
| # nagios 1.x:
| |
| #AuthUserFile /etc/nagios/htpasswd.users
| |
| require valid-user
| |
| </DirectoryMatch>
| |
| | |
| # Where the stylesheets (config files) reside
| |
| #Alias /nagios2/stylesheets /etc/nagios2/stylesheets
| |
| # nagios 1.x:
| |
| #Alias /nagios/stylesheets /etc/nagios2/stylesheets
| |
| | |
| # Enable this ScriptAlias if you want to enable the grouplist patch.
| |
| # See http://apan.sourceforge.net/download.html for more info
| |
| # It allows you to see a clickable list of all hostgroups in the
| |
| # left pane of the Nagios web interface
| |
| # XXX This is not tested for nagios 2.x use at your own peril
| |
| #ScriptAlias /nagios2/side.html /usr/lib/cgi-bin/nagios2/grouplist.cgi
| |
| # nagios 1.x:
| |
| #ScriptAlias /nagios/side.html /usr/lib/cgi-bin/nagios2/grouplist.cgi
| |
| </pre>
| |
| Il file contiene una bozza di configurazione per nagios che permette di raggiungere il servizio digitando, semplicemente <nowiki>http://IP/nagios2/</nowiki>. Questo sistema a me, personalmente, non piace, in quanto nagios sarebbe accessibile da qualsiasi sito ospitato sulla macchina, semplicemente digitando <nowiki>http://www.sito.it/nagios2/</nowiki>, non molto sicuro e pulito.
| |
| | |
| Creeremo, quindi, un sottodominio dedicato a nagios, modificando il file nel seguente modo:
| |
| <pre>
| |
| | |
| <VirtualHost *:80>
| |
| ServerAdmin root@knio.it
| |
| # DocumentRoot /var/www/nagios/
| |
| ServerName nagios.knio.it
| |
| | |
| ErrorLog /var/log/apache2/nagios.knio.it_error.log
| |
| CustomLog /var/log/apache2/nagios.knio.it_access.log combined
| |
| | |
| <Directory />
| |
| AllowOverride All
| |
| Options +Multiviews
| |
| Options Indexes Includes FollowSymLinks MultiViews
| |
| DirectoryIndex index index.html
| |
| </Directory>
| |
| | |
| ScriptAlias /cgi-bin/nagios2 /usr/lib/cgi-bin/nagios2
| |
| ScriptAlias /nagios2/cgi-bin /usr/lib/cgi-bin/nagios2
| |
| | |
|
| |
| #Alias /nagios2/stylesheets /etc/nagios2/stylesheets
| |
| Alias /nagios2 /usr/share/nagios2/htdocs
| |
| # Enable this ScriptAlias if you want to enable the grouplist patch.
| |
| # See http://apan.sourceforge.net/download.html for more info
| |
| # It allows you to see a clickable list of all hostgroups in the
| |
| # left pane of the Nagios web interface
| |
| # XXX This is not tested for nagios 2.x use at your own peril
| |
| #ScriptAlias /nagios2/side.html /usr/lib/cgi-bin/nagios2/grouplist.cgi
| |
| <DirectoryMatch (/usr/share/nagios2/htdocs|/usr/lib/cgi-bin/nagios2)>
| |
| Options FollowSymLinks
| |
| DirectoryIndex index.html
| |
| AllowOverride AuthConfig
| |
| Order Allow,Deny
| |
| Allow From All
| |
| AuthName "Nagios Access"
| |
| AuthType Basic
| |
| AuthUserFile /etc/nagios2/htpasswd.users
| |
| require valid-user
| |
| </DirectoryMatch>
| |
| </VirtualHost>
| |
| </pre>
| |
| | |
| Creiamo la Root Directory per questo sito con:
| |
| <pre>
| |
| # mkdir /var/www/nagios
| |
| # chown -R www-data:www-data /var/www/nagios/
| |
| # touch /var/www/nagios/index.html
| |
| </pre>
| |
| la directory conterrà un file <tt>index.html</tt> vuoto, in questo file potremmo mettere o una pagina di benvenuto oppure un redirect alla directory contenente l'applicativo, a piacere.
| |
|
| |
|
| Ora manca solo una cosa da fare: aggiungere l'utente per l'accesso a nagios (operazione obbligatoria, pena un errore di tipo 500 quando si tenta di accedere all'applicazione).
| | == Caricamento del Modulo == |
| | Nella sezione ''Modules'' bisogna aggiungere la seguente riga: |
| | <pre>Load "synaptics"</pre> |
| | che consente il caricamento del modulo all'avvio del server X |
|
| |
|
| Per aggiungere l'utente usiamo il comando <tt>htpasswd</tt>:
| | == Impostazioni del dispositivo == |
| <pre> | | Nella sezione "InputDevice" � necessario aggiungere la seguente parte: |
| # htpasswd -c /etc/nagios2/htpasswd.users nagiosadmin | | <pre>Section "InputDevice" |
| | Driver "synaptics" |
| | Identifier "Synaptics Touchpad" |
| | # se /dev/psaux non funziona, bisogna inserire /dev/input/mice |
| | Option "Device" "/dev/psaux" |
| | Option "Protocol" "auto-dev" |
| | Option "LeftEdge" "1700" |
| | Option "RightEdge" "5300" |
| | Option "TopEdge" "1700" |
| | Option "BottomEdge" "4200" |
| | Option "FingerLow" "25" |
| | Option "FingerHigh" "30" |
| | Option "MaxTapTime" "180" |
| | Option "MaxTapMove" "220" |
| | Option "VertScrollDelta" "100" |
| | Option "MinSpeed" "0.06" |
| | Option "MaxSpeed" "0.12" |
| | Option "AccelFactor" "0.0010" |
| | # Questa riga deve essere decommentata per utilizzare i programmi |
| | # di configurazione del touchpad |
| | # Option "SHMConfig" "on" |
| | # Option "Repeater" "/dev/ps2mouse" |
| | EndSection |
| </pre> | | </pre> |
| alla richiesta di password, inseriamo una password a nostro piacimento.
| |
|
| |
| Ora possiamo testare la configurazione, ma prima è necessario riavviare apache per rendere effettive le modifiche che abbiamo effettuato:
| |
| <pre>
| |
| # /etc/init.d/apache2 restart
| |
| </pre>
| |
|
| |
| Collegandosi alla pagina <nowiki>http://nagios.knio.it/nagios2/</nowiki> ci verrà chiesto username/password per accedere a nagios, dopodichè ci verrà mostrata la schermata di default.
| |
|
| |
| == Nagios ==
| |
| === Introduzione alla configurazione ===
| |
| La configurazione di nagios è situato, come da [[FHS]] in <tt>/etc/nagios2/</tt>. All'interno di questa directory sono presenti i seguenti file (e directory):
| |
| ; cgi.cfg : il file contiene la configurazione dell'interfaccia web di nagios (quindi i percorsi dove trovare i file di configurazione ed alcuni comportamenti base; la configurazione dei permessi degli utenti e perfino i suoni da riprodurre in caso di problemi)
| |
| ; commands.cfg : contiene la configurazione dei comandi eseguibili da nagios: check, notifiche ed altri
| |
| ; conf.d : una directory che ha lo scopo di raccogliere i file di configurazione di tutti i vari host monitorati da nagios
| |
| ; htpasswd.users : contiene (come abbiamo visto prima) le chiavi di accesso di tutti gli utenti che possono accedere all'interfaccia web di nagios (i permessi, per questi utenti, sono definiti in <tt>cgi.cfg</tt>)
| |
| ; nagios.cfg : contiene la configurazione vera e propria del demone di nagios, la configurazione di default è corretta nella maggior parte dei casi
| |
| ; resource.cfg : in questa guida non lo modificheremo
| |
| ; stylesheets : directory per inserire i fogli di stile personalizzati (in questa guida non li useremo)
| |
|
| |
| === Come gestire al meglio i file di configurazione ===
| |
| Anche se la struttura dei file di configurazione è semplice, ci vuole molto poco a renderla una vera e propria accozzaglia di file. Ci sono varie scuole di pensiero su come gestire i file.
| |
|
| |
| La prima è quella di inserire, all'interno della directory <tt>conf.d/</tt> un file per ogni host, raggruppando, poi, gli host tramite gli hostgroup. La tecnica è valida e funzionale, a meno che non ci si trovi a gestire un numero eccessivo di host.
| |
|
| |
| La seconda tecnica, è quella di creare tante directory quante sono i segmenti della rete, così da racchiudere i file di configurazione in directory meno popolate, così da rendere più facilmente individuabile un file. Sfruttando questa seconda tecnica, però, è necessario modificare il file di configurazione <tt>nagios.conf</tt> aggiungendo, come directory contenente i file di configurazione, anche quelle rappresentanti le sottoreti.
| |
|
| |
| Personalmente trovo più comodo gestire la prima, con la seguente convenzione:
| |
| * ogni file ha la forma <tt>'''type'''-'''name'''.cfg</tt> dove '''type''' rappresenta la tipologia del file di configurazione (''host'' per un server, ''switch'' per uno switch di rete, ''router'' per un router, e così via...) e dove '''name''' è il nome univoco associato alla macchina (e usato anche all'interno di Nagios).
| |
| * i file contenenti i gruppi, le definizioni dei periodi e simili hanno una struttura <tt>'''type'''.cfg</tt> dove ''type'' può essere:
| |
| ** '''contacts''': per le definizioni dei contatti
| |
| ** '''timeperiods''': per le definizioni dei periodi
| |
| ** '''extinfo''': per le definizioni delle informazioni aggiuntive
| |
| ** '''hostgroups''': per la definizione dei gruppi di host
| |
| ** '''services''': per la definizione dei gruppi di servizi
| |
|
| |
|
| === Gli Host ===
| | Ovviamente � necessario "propagare" questa modifica nel resto del file di configurazione, per l'esattezza nella sezione ''ServerLayout'': basta aggiungere la seguente riga (oppure modificare quella del mouse "generico") |
| === I Servizi ===
| | <pre>InputDevice "Synaptics Touchpad"</pre> |
| === I Comandi ===
| |
| ==== Utilizzare quelli esistenti ====
| |
| ==== Creare nuovi comandi ====
| |
| === I Gruppi ===
| |
| === I Gruppi di Servizi ===
| |
| === I Contatti ===
| |
| === I Timeperiod ===
| |
| === Le notifiche ===
| |
| ==== Notifiche via e-mail ====
| |
| ==== Notifiche via SMS (vodafone) ====
| |
| ==== Notifiche via SMS (gateway) ====
| |
|
| |
|
| = Varie =
| | Ora � sufficiente riavviare il server X (facendo un logout e, dal Login manager, selezionare l'opzione "riavvia server X") ed il gioco � fatto |
| == Nagios Checker ==
| |
| Nagios Checker ([https://addons.mozilla.org/it/firefox/addon/3607 Home Page]) è una comoda estensione per Firefox che permette di monitorare, direttamente dal browser, lo stato delle nostre macchine. In caso di problemi verrà mostrato un avviso (in rosso) e verrà riprodotto un suono di allarme. Tramite l'estensione sarà possibile, inoltre, accedere direttamente alla pagina dell'host (o del servizio) che danno problemi per approfondire. Un must!
| |
|
| |
|
| = FAQ =
| |
| == Come posso aggiungere un altro utente a Nagios? ==
| |
| Per aggiungere un nuovo utente è necessario effettuare due passi:
| |
|
| |
|
| 1) creazione dell'account all'interno del file <tt>/etc/nagios2/htpasswd.users</tt>
| | [[Utente:MaXeR|MaXeR]] 05:02, Mar 9, 2006 (EST) |
| <pre>
| | [[Categoria:Laptop]] |
| # htpasswd /etc/nagios2/htpasswd.users nomeutente
| |
| </pre>
| |
| | |
| 2) Inserire l'utente appena creato all'interno della configurazione di Nagios. Per fare questo bisogna modificare il file <tt>/etc/nagios2/cgi.cfg</tt> aggiungendo l'utente appena creato alle seguenti direttive (in base ai permessi che si vogliono dare al nuovo utente):
| |
| <pre>
| |
| authorized_for_system_information=nagiosadmin
| |
| authorized_for_configuration_information=nagiosadmin
| |
| authorized_for_system_commands=nagiosadmin
| |
| authorized_for_all_services=nagiosadmin
| |
| authorized_for_all_hosts=nagiosadmin
| |
| #authorized_for_all_services=nagiosadmin,guest
| |
| #authorized_for_all_hosts=nagiosadmin,guest
| |
| authorized_for_all_service_commands=nagiosadmin
| |
| authorized_for_all_host_commands=nagiosadmin
| |
| </pre>
| |
| | |
| Dopo le varie modifiche è necessario ricaricare la configurazione di nagios con un
| |
| <pre>
| |
| # /etc/init.d/nagios2 reload
| |
| </pre>
| |