Logo AdamantioAdamantio.netlogotoplogoright
Banner for the trouble ticket system http://otrs.org/
logobottom
 Registrati
 Forum
Ricerche Downloads Profilo Utente Argomenti
    
Sommario
Utenti e Visitatori

Server Date/Time
Date: 09 Sep 2010
Time: 23:04:20
GMT: +0200

 Hits:
Today: 1038
Overall: 8679226

Iscritti:
Ultimo: lucamanto
Iscritti oggi: 0
Iscritti ieri: 0
Complessivi: 456

Persone Online:
Visitatori: 17
Iscritti: 0
Totale: 17
Effemeridi
In questo giorno...
1737
Nasce il fisiologo italiano Luigi Galvani.
Cerca sul sito


  Computer: Playing with the nagios

Linux adminScritto da tombo :
E' così che va la vita alle volte... non era nemmeno un anno fa... ti siedi davanti alla tua linux box, attacchi il cavo di rete e ti ritrovi a navigare in una vastissima network, piena di servers, routers, firewalls e chi più ne ha più ne metta.
Cerchi di fare ordine mentale, prendi qualche appunto, ti segni quale servizio presta questo o quel server...
Ma alle volte non basta, per sapere a colpo d'occhio, se il servizio che ti interessa sia su, o se un tale server è raggiungibile, o se il tuo sistema è in generale affidabile, ti ci vuole Nagios.


Nagios è uno strumento open source, che monitorizza costantemente la rete ed i servizi in essa presenti. L'archivio con i sorgenti è disponibile su http://www.nagios.org, la versione corrente va benissimo per la compilazione su fedora; scaricate anche l'archivio dei sorgenti dei plugins.
Come accennavo, sulle distro Fedora, RedHat o Centos si installa in modo lineare (credo ci siano anche dei pacchetti rpm nei repositori, ma non offrono molto di più, anzi si hanno dei problemini con le immagini e la quantità di sample scripts.), la documentazione a corredo ti guida in questa procedura in modo semplice e preciso.
Frai prerequisiti c'è ovviamente apache (httpd), e gli "strumenti di sviluppo".

In questo appunto, pubblico una sorta di log d'installazione di una versione dell'applicativo (ovviamente le cose potrebbero differire leggermente con l'installazione della versione corrente), per soffermarmi tenere a mente un paio di passi che desidero ricordare.

Installazione
Diventiamo root.
$ su -
decompattiamo l'archivio e cambiamo nella dir
# tar -xzvf nagios-2.XX.tar.gz
# cd nagios-2.XX

creiamo l'utente nagios
# adduser nagios
creiamo la directory d'installazione
# mkdir /usr/local/nagios
cambiamo il proprietario della directory d'installazione
# chown nagios.nagios /usr/local/nagios
identifichiamo l'utente apache
# grep "^User" /etc/httpd/conf/httpd.conf
aggiungiamo il gruppo nagcmd
# groupadd nagcmd
quindi aggiungiamo gli utenti che vogliamo al gruppo (saranno tali utenti a dover leggere, accedere ed eseguire agli scripts, logs, cgi ed i plugins di nagios, quindi da questo punto di vista dovranno avere diritti paritetici)
# usermod -G nagcmd apache
# usermod -G nagcmd nobody
# usermod -G nagcmd nagios

(Mi pare ovvio che proprio per come è costituito il meccanismo di questo monitor, si debbano fare alcune attente valutazioni e scrupolose riserve a livello di sicurezza).
Configuriamo i sorgenti per la compilazione (tutto su una sola riga di comando)
./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagios
compiliamo ed installiamo nagios
# make all
# make install

installiamo gli init scripts
# make install-init
e per finire installiamo i files di configurazione di esempio ed usciamo dalla directory
# make install-config
# cd ..

ora decompattiamo, compiliamo ed installiamo i plugins
# tar -xzvf nagios-plugins-1.4.2.tar.gz
# cd nagios-plugins-1.4.2
# ./configure
# make
# make install

fissiamo la condizione dei permessi (se non è a posto)
# chown -R nagios.nagios /usr/local/nagios/libexec

Configuriamo Apache
A questo punto configuriamo apache per nagios come specificato in /tuo/path/nagios-2.XX/html/docs/installweb.html
In linea di massima le direttive sono le seguenti (sostituite alle parentesi quadre i segni di maggiore e minore come richiede il file di configurazione):
ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/
[Directory /usr/local/nagios/sbin/]
Options ExecCGI
order deny,allow
deny from all
# allow from 127.0.0.1
allow from all
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
AuthName "nagios"
require valid-user
[/Directory]

Alias /nagios/ /usr/local/nagios/share/
[Directory /usr/local/nagios/share/]
Options None
order deny,allow
deny from all
# allow from 127.0.0.1
allow from all
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
AuthName "nagios"
require valid-user
[/Directory]

Creiamo l'utente autorizzato all'accesso delle pagine web nagios usando l'autenticazione di base apache:
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
continuate ad aggiungere utenti (eliminare il flag -c che serve solo per la creazione del file) es.:
# htpasswd /usr/local/nagios/etc/htpasswd.users tombo
A questo punto possiamo accedere alle pagine nagios da http://myhost/nagios fornendo le credenziali specificate mediante htpasswd.

Configuriamo nagios
Proviamo ad eseguire un test di nagios utilizzando la configurazione di base. Successivamente andremo ad inserire a piacimento ulteriori hosts, servizi, gruppi etc...
# cd /usr/local/nagios/
# ls -l
drwxrwxr-x 2 nagios nagios 4096 5 gen 19:41 bin
drwxrwxr-x 2 nagios nagios 4096 5 gen 21:47 etc
drwxrwxr-x 2 nagios nagios 4096 5 gen 21:37 libexec
drwxrwxr-x 2 nagios nagios 4096 5 gen 19:41 sbin
drwxrwxr-x 9 nagios nagios 4096 5 gen 21:37 share
drwxrwxr-x 4 nagios nagios 4096 5 gen 19:45 var
In linea di massima la dir bin contiene gli eseguibili nagios, la etc i files e le directory (se specificate) di configurazione, la libexec i plugin di controllo che il demone eseguirà, la sbin i cgi e share i files web, mentre la var i files di log.
Andiamo in etc ed editiamo e rinominiamo i files di configurazione che ci occorrono:
# cd etc
# cp nagios.cfg-sample nagios.cfg

per verificare di cosa ha bisogno il nostro file di configurazione, ovvero di quali altri files necessita, eseguiamo:
# /usr/local/nagios/bin/nagios -v nagios.cfg
Questo comando lo dovremo eseguire tutte le volte che introduciamo una modifica ai files di configurazione, esso sarà l'unico nostro strumento di validazione della configurazione.
A questo punto cominciamo il debug preliminare, copiamo i files che mancano prendendoli dai samples:
# cp /usr/local/nagios/etc/resource.cfg-sample /usr/local/nagios/etc/resource.cfg
# cp /usr/local/nagios/etc/checkcommands.cfg-sample /usr/local/nagios/etc/checkcommands.cfg
# cp /usr/local/nagios/etc/misccommands.cfg-sample /usr/local/nagios/etc/misccommands.cfg
# cp /usr/local/nagios/etc/minimal.cfg-sample /usr/local/nagios/etc/minimal.cfg
# cp /usr/local/nagios/etc/cgi.cfg-sample /usr/local/nagios/etc/cgi.cfg
A questo punto riverifichiamo:
# /usr/local/nagios/bin/nagios -v nagios.cfg
quindi cerchiamo di risolvere le problematiche all'interno dei files di configurazione:
# vi /usr/local/nagios/etc/nagios.cfg
cancellate tutte le righe che definiscono comandi (dalla 48 alla 123 nel file sample di configurazione v.2.6 fornito dalla compilazione), poiche sono già definite nel file checkcommands.cfg.
A questo file prestiamo un po d'attenzione, poichè sarà qui che si dovranno definire tutti i files di configurazione figli e le definizioni di comportamento del demone principale.
Poi in cgi.cfg definiamo gli utenti autorizzati:
# vi /usr/local/nagios/etc/cg1.cfg
authorized_for_system_information=nagiosadmin
authorized_for_configuration_information=nagiosadmin
authorized_for_system_commands=nagiosadmin
authorized_for_all_host_commands=nagiosadmin
authorized_for_all_services=nagiosadmin,tombo
authorized_for_all_hosts=nagiosadmin,tombo
authorized_for_all_service_commands=nagiosadmin

Salviamo ed usciamo. Ricontrolliamo se tutto è ok con il comando di verifica, se il controllo dei files di configurazione è andato a buon fine, facciamo partire nagios:
# service nagios start
ed andiamo a vedere come si presenta il nostro "monitor" web.

Per definire hosts, servizi, gruppi etc è meglio definire files dedicati per ciascun mestiere. Si possono facilmente aggiungere oggetti semplicemente copiando le definizioni già presenti, modificandone in modo opportuno alle nostre esigente qualche campo.

Buona sperimentazione.

 
Links Correlati
· Inoltre Linux admin
· News by root


Articolo più letto relativo a Linux admin:
Udev su Fedora Core 3 in lingua italiana

Article Rating
Average Score: 0
Voti: 0

Please take a second and vote for this article:

Excellent
Very Good
Good
Regular
Bad

Opzioni
Associated Topics

fedoraGNU, Free SoftwareIrix adminRedHatWindows admin

"Playing with the nagios" | Login/Crea Account | 1 commento | Search Discussion
I commenti sono di proprietà dell'inserzionista. Noi non siamo responsabili per il loro contenuto.

Commenti NON Abilitati per gli Anonimi, registrati

Re: Playing with the nagios | Sample Plugins (Voto: 1)
di tombo (tombo at adamantio dot net) il Sabato, 19 maggio @ 22:47:42 CEST
(Info Utente | Invia un Messaggio | Journal)
Nel depositorio degli scripts, ho aggiunto alcuni plugin per nagios scriti in linguaggio shell.

check_cpu_snmp.sh : fornisce in modo indicativo l'uso della cpu nei sistemi hp-ux mediante l'snmp, utile per rilevare i processi impazziti mangia cpu o per avere un trend dell'uso del server se associato a nagiosgraph
check_pkg.sh : fornisce le condizioni di stato di un cluster hp-ux via cmviewcl
check_pkg_snmp.sh : fornisce le condizioni di un cluster hp-ux senza accedere via ssh (va usato sui singoli nodi)
check_procs_snmp_linux.sh : controlla se un determinato processo è in esecuzione su una macchina linux
check_space_snmp.sh : controlla lo spazio disponibile in un determinato filesystem (hp-ux)





All logos and trademarks in this site are property of their respective owner.
The comments are property of their posters, all the rest 2002 by me.
You can syndicate our news using the file backend.php [RSS] [Valid RSS].

PHP-Nuke Copyright © 2004 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Generazione pagina: 0.10 Secondi

Theme Design by: Lorkan Themes