Monitoraggio passivo di sistemi con Nagios: Difference between revisions
No edit summary |
mNo edit summary |
||
| Line 154: | Line 154: | ||
== Monitoraggio tramite il solo client nsca == | == Monitoraggio tramite il solo client nsca == | ||
{{ | {{SecStub}} | ||
==Riferimenti== | ==Riferimenti== | ||
Revision as of 02:01, 9 December 2006
| Attenzione questo articolo è ancora incompleto. Sentiti libero di contribuire cliccando sul tasto edit. |
Si vuole monitorare una macchina che non è direttamente raggiungibile da nagios, che è solo in grado di inviare risultati.
Monitoraggio tramite un'istanza locale di nagios
Il "Server_A" è la console centrale di nagios.
Il "Server_B" è la macchina da monitorare, o quella che farà i veri controlli.
Installazione pacchetti
Installare nagios sul Server_B:
sudo apt-get install nagios-text nsca
Configurazione di nagios
Dire al Server_B che deve comunicare i suoi risultati ad un server esterno, tramite un comando che definiamo noi:
sudoedit /etc/nagios/nagios.cfg ... obsess_over_services=1 ... ocsp_command=submit_custom_check_result ...
Creazione del file di invio dei check results
Creare il file submit_custom_check_result.
Tale file è richiamato ogni volta che si ha un risultato di un check, ed il check viene inviato al Server_A (support.rvmgroup.it)
cat >> /usr/lib/nagios/plugins/eventhandlers/submit_custom_check_result <<'EOFile'' #!/bin/sh # Arguments: # $1 = <host_name> # $2 = <svc_description> # $3 = <return_code> # $4 = <plugin_output> # # pipe the service check info into the send_nsca program, which # in turn transmits the data to the nsca daemon on the central monitoring server /usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$3" "$4" | /usr/sbin/send_nsca -H support.rvmgroup.it -c /etc/send_nsca.cfg #echo $@ > /tmp/send_debug #<host_name>[tab]<svc_description>[tab]<return_code>[tab]<plugin_output>[newline] #lemserver PING OK 'Stato Servizio DOK' EOFile
Renderlo eseguibile e sistemare le permission:
sudo chmod +x /usr/lib/nagios/plugins/eventhandlers/submit_custom_check_result sudo chown root: /usr/lib/nagios/plugins/eventhandlers/submit_custom_check_result
Definizione dei servizi Attivi
Definire l'host:
define host{
use generic-host ; Name of host template to use
host_name lemserver
alias LEM Server
address 127.0.0.1
max_check_attempts 20
notification_interval 60
notification_period 24x7
notification_options d,u,r
}
Sul Server_B definire normalmente i servizi da monitorare e verificarne il corretto funzionamento, avendo cura di aggiungere per i servizi che devono essere mandati al Server_A:
passive_checks_enabled 1 obsess_over_service 1
define service{
use generic-service ; Name of service template to use
host_name lemserver
service_description PING
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups router-admins
notification_interval 240
notification_period 24x7
notification_options c,r
check_command check_ping!100.0,20%!500.0,60%
active_checks_enabled 1
passive_checks_enabled 1
obsess_over_service 1
}
Se un servizio non deve essere mandato al Server_A, metterci la direttiva:
- non è vero, li manda sempre tutti
passive_checks_enabled 0 obsess_over_service 0
Definizione dei servizi passivi
Sul Server_A definire l'host senza indirizzo:
define host{
use generic-host
host_name lemserver
alias LEMServer
parents fire.leman.it
}
Occorre solo ridefinire gli stessi servizi definiti sul Server_B, avendo cura di sostituire/aggiungere:
define service{
use generic-service
host_name lemserver
service_description PING
passive_checks_enabled 1
active_checks_enabled 1
check_freshness 1
check_command check_dummy!1
check_period none
}
In questo modo verificando la freshenss del risultato, se non lo è, si esegue il check attivo dummy, con parametro 1 che dà un errore critico. L'intervallo di freshness può essere impostato a poco più del check interval sul Server_B, usando sul Server_A l'opzione:
- verificare
freshness_theresold
(se non si mette active_checks enabled, nella tactical overview, si ha il servizio come disabilitato.)
Riavviare nagios, e verificare nagios.log.
Per i servizi non replicati sul Server_A, si avrà un warning:
[1165628960] Warning: Message queue contained results for service 'PING' on host 'lemgateway'. The service could not be found!
Pazienza.